From 99b069d61169f1bfd470c2442eee0176bc329e0f Mon Sep 17 00:00:00 2001 From: ja Date: Tue, 7 Sep 2021 10:55:23 +0200 Subject: [PATCH] neue version --- ADMIN.sln | 12 +- DAKOSY_Worker/DAKOSY_Worker_lib.vbproj | 4 +- DienstplanTV/DienstplanTV.vbproj | 4 - MDM_Worker/MDM_Worker_lib.vbproj | 2 +- MailSender/MailSender.vbproj | 4 - RKSV_DE/RKSV_DE.vbproj | 2 +- SDL/SDL | 1 + .../AVISO/Form1.Designer.vb | 30 + SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb | 3 + .../AVISO/cClassesAVISO.vb | 16 + .../AVISO/cDatenbankAVISO.vb | 2958 + SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb | 55 + .../AVISO/cMeineFunktionenAVISO.vb | 258 + .../AVISO/cVermerkeCodes.vb | 187 + .../AVISO/frmGrayOut.Designer.vb | 45 + .../AVISO/frmGrayOut.resx | 120 + SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb | 23 + SDL/VERAG_PROG_ALLGEMEIN/App.config | 77 + .../Barcode/Code128Content.vb | 146 + .../Barcode/Code128Rendering.vb | 180 + .../DateTimePickerEx.Designer.vb | 17 + .../DateTimePickerEx.vb | 267 + .../FlatButton.vb | 15 + .../HTMLTextBox.designer.vb | 213 + .../HTMLTextBox.resx | 261 + .../HTMLTextBox.vb | 415 + .../KdSearchBox.Designer.vb | 30 + .../KdSearchBox.vb | 860 + .../MyCheckBoxValue.Designer.vb | 47 + .../MyCheckBoxValue.vb | 42 + .../MyCheckbox.Designer.vb | 47 + .../MyCheckbox.vb | 41 + .../MyComboBox.vb | 182 + .../MyDatagridview.Designer.vb | 51 + .../MyDatagridview.vb | 319 + .../MyFlowLayoutPanel.Designer.vb | 47 + .../MyFlowLayoutPanel.vb | 15 + .../MyLinkedVALUES.vb | 27 + .../MyListBox.vb | 39 + .../MyPanel.Designer.vb | 47 + .../MyPanel.vb | 15 + .../MyRadioButton.Designer.vb | 40 + .../MyRadioButton.vb | 34 + .../MyRichTextBox.vb | 40 + .../MyRichTextBox2.vb | 41 + .../MySearchBox.Designer.vb | 30 + .../MySearchBox.vb | 638 + .../MyTextBox.vb | 671 + .../NumericUpDownColumnRight.vb | 187 + .../RichTextBoxEx.Designer.vb | 297 + .../RichTextBoxEx.resx | 299 + .../RichTextBoxEx.vb | 139 + .../WebbrowserEx.vb | 254 + .../frmPDFScanList.Designer.vb | 222 + .../frmPDFScanList.resx | 123 + .../frmPDFScanList.vb | 64 + .../usrCntLPDFScanSimple.Designer.vb | 141 + .../usrCntLPDFScanSimple.resx | 123 + .../usrCntLPDFScanSimple.vb | 72 + .../usrCntlTestsystem.Designer.vb | 56 + .../usrCntlTestsystem.resx | 120 + .../usrCntlTestsystem.vb | 8 + .../usrcntlKdSearch.Designer.vb | 133 + .../usrcntlKdSearch.resx | 123 + .../usrcntlKdSearch.vb | 50 + .../usrcntlPDFScan.Designer.vb | 188 + .../usrcntlPDFScan.resx | 126 + .../usrcntlPDFScan.vb | 420 + .../usrcntlPDFScanList.Designer.vb | 155 + .../usrcntlPDFScanList.resx | 126 + .../usrcntlPDFScanList.vb | 361 + .../usrcntlSearch.Designer.vb | 104 + .../usrcntlSearch.resx | 123 + .../usrcntlSearch.vb | 37 + .../usrcntlUnterposEntry.Designer.vb | 67 + .../usrcntlUnterposEntry.resx | 120 + .../usrcntlUnterposEntry.vb | 15 + .../Classes/Berechtigungen/cBerechtignunen.vb | 115 + ...cBerechtigungenBenutzerGruppenZuordnung.vb | 107 + .../Berechtigungen/cBerechtigungenGruppen.vb | 104 + .../Berechtigungen/cBerechtigungsObjekte.vb | 207 + .../cBerechtigungsObjekteZuordnung.vb | 87 + SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb | 1213 + .../Classes/SendFileTo.vb | 206 + .../Classes/USTV/cUSTVAntrag.vb | 320 + SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb | 110 + .../Classes/cAbfertigungsarten.vb | 7 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb | 221 + .../Classes/cAbrechnung_NCTSBrg.vb | 149 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb | 296 + .../Classes/cAvisoAnhaenge.vb | 180 + .../Classes/cAvisoBenachrichtigungen.vb | 225 + .../Classes/cBonitaetsauskunft.vb | 182 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb | 127 + .../Classes/cCryptography.vb | 155 + .../Classes/cDEBundeslaenderPLZ.vb | 175 + .../Classes/cDHF_Anhaenge.vb | 174 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb | 168 + .../Classes/cEZB_Waehrungskurse.vb | 149 + .../Classes/cEZT_ImportCodenummern.vb | 181 + .../Classes/cEasyBinding.vb | 117 + .../Classes/cEmailBenachrichtigung.vb | 262 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb | 107 + .../Classes/cFremdSpeditionenZuordnung.vb | 139 + .../Classes/cGelangensbestaetigung.vb | 131 + .../Classes/cGestellungsgarantien.vb | 133 + .../Classes/cGestellungsmitteilung.vb | 313 + .../Classes/cHandlingssaetzeIntern.vb | 88 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb | 349 + .../Classes/cKundenAufschubkonten.vb | 245 + .../Classes/cKundenBesonderheiten.vb | 135 + .../Classes/cKundenDatenblatt.vb | 132 + .../Classes/cKundenErweitert.vb | 220 + .../Classes/cKundenKontakte.vb | 271 + .../Classes/cKundenSDL.vb | 141 + .../Classes/cKundenVermerk.vb | 280 + .../Classes/cKundenVertraege.vb | 134 + .../Classes/cLanguageText.vb | 172 + .../Classes/cLeistungen.vb | 163 + .../Classes/cLeistungenBUKonten.vb | 127 + .../Classes/cMessangerListender.vb | 482 + .../Classes/cMessenger.vb | 832 + .../Classes/cMitarbeiter.vb | 403 + .../Classes/cNCTSGestellungsadressen.vb | 151 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb | 1493 + .../Classes/cOffenePostenDVO.vb | 156 + .../Classes/cOffene_Posten_DVO.vb | 170 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb | 383 + .../Classes/cPDFWriteValues.vb | 84 + .../Classes/cParameter.vb | 105 + .../Classes/cPostversand.vb | 203 + .../Classes/cProgrammeUpdate.vb | 254 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb | 247 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb | 33 + .../Classes/cRechnungsausgang.vb | 637 + .../Classes/cRechnungsnummern.vb | 170 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb | 249 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb | 138 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb | 242 + .../Classes/cSendMailAttach.vb | 263 + .../Classes/cSendVorkosten.vb | 129 + .../Classes/cSendungen.vb | 871 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb | 204 + .../Classes/cSpeditionsbuch.vb | 876 + .../Classes/cTextkonserve.vb | 178 + .../Classes/cTranslate.vb | 166 + .../Classes/cTrdInvoice.vb | 617 + .../Classes/cUIDAbfrage.vb | 250 + .../Classes/cUIDPruefung.vb | 341 + .../Classes/cVoraskasse.vb | 144 + .../Classes/cVorauskasse.vb | 303 + .../Classes/cWarenbezeichnungBegriffe.vb | 134 + SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb | 181 + .../Classes/cZollArtikel.vb | 173 + .../Classes/cZollTarifAtlas.vb | 123 + .../DATENSERVER/cDATENSERVER.vb | 1919 + .../DATENSERVER/frmVorlagen.Designer.vb | 100 + .../DATENSERVER/frmVorlagen.resx | 980 + .../DATENSERVER/frmVorlagen.vb | 56 + .../DATENSERVER/frmVorlagenUpload.Designer.vb | 217 + .../DATENSERVER/frmVorlagenUpload.resx | 980 + .../DATENSERVER/frmVorlagenUpload.vb | 30 + .../Messenger/frmMessenger.Designer.vb | 572 + .../Messenger/frmMessenger.resx | 989 + .../Messenger/frmMessenger.vb | 870 + .../frmMessenger_Members.Designer.vb | 184 + .../Messenger/frmMessenger_Members.resx | 989 + .../Messenger/frmMessenger_Members.vb | 73 + .../frmMessenger_NeuerChat.Designer.vb | 246 + .../Messenger/frmMessenger_NeuerChat.resx | 989 + .../Messenger/frmMessenger_NeuerChat.vb | 180 + .../usrCntlMessenger_ChatAnhang.Designer.vb | 151 + .../usrCntlMessenger_ChatAnhang.resx | 120 + .../Messenger/usrCntlMessenger_ChatAnhang.vb | 66 + .../usrCntlMessenger_ChatElement.Designer.vb | 138 + .../usrCntlMessenger_ChatElement.resx | 120 + .../Messenger/usrCntlMessenger_ChatElement.vb | 51 + .../usrCntlMessenger_ChatEmoji.Designer.vb | 132 + .../Messenger/usrCntlMessenger_ChatEmoji.resx | 120 + .../Messenger/usrCntlMessenger_ChatEmoji.vb | 85 + .../frmMitarbeitersuche.Designer.vb | 611 + .../frmMitarbeitersuche.resx | 980 + .../frmMitarbeitersuche.vb | 198 + .../frmMitarbeitersucheBearbeiten.Designer.vb | 294 + .../frmMitarbeitersucheBearbeiten.resx | 980 + .../frmMitarbeitersucheBearbeiten.vb | 162 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/Resources.Designer.vb | 563 + .../My Project/Resources.resx | 271 + .../My Project/Settings.Designer.vb | 323 + .../My Project/Settings.settings | 136 + .../My Project/license.elic.xml | 24 + .../RKSV_DE/cServerClient_RKSV_DE.vb | 226 + SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg | Bin 0 -> 38784 bytes .../Resources/IMEX-LOGO_simple.png | Bin 0 -> 91437 bytes .../Resources/Logo_blue_globe_Horizontal.jpg | Bin 0 -> 46137 bytes .../Resources/Unisped_logo.jpg | Bin 0 -> 124281 bytes .../Resources/Verag-AG-Logopng.png | Bin 0 -> 33039 bytes .../Verag-Customs-Service-GMBH-Logo.png | Bin 0 -> 14380 bytes .../Resources/Verag-Spedition-GMBH-Logo.png | Bin 0 -> 14284 bytes .../Resources/ambar_simple.png | Bin 0 -> 81185 bytes .../Resources/android-note1.png | Bin 0 -> 7654 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico | Bin 0 -> 372526 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg | Bin 0 -> 43198 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png | Bin 0 -> 1470 bytes .../Resources/docAllgemein.png | Bin 0 -> 69241 bytes .../Resources/easteregg.jpg | Bin 0 -> 7322 bytes .../Resources/fremdSped.png | Bin 0 -> 14639 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png | Bin 0 -> 3971 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/house1.png | Bin 0 -> 3971 bytes .../Resources/männlich.png | Bin 0 -> 7593 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png | Bin 0 -> 17083 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png | Bin 0 -> 4300 bytes .../Resources/pdf_gray.png | Bin 0 -> 3711 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/people.png | Bin 0 -> 11392 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png | Bin 0 -> 8006 bytes .../Resources/personGray_m.jpg | Bin 0 -> 4213 bytes .../Resources/personGray_w.png | Bin 0 -> 4332 bytes .../Resources/pfeil_links.png | Bin 0 -> 1063 bytes .../Resources/pfeil_oben.png | Bin 0 -> 1012 bytes .../Resources/pfeil_rechts.png | Bin 0 -> 1056 bytes .../Resources/pfeil_unten.png | Bin 0 -> 1014 bytes .../Resources/picboxNext_Enter.png | Bin 0 -> 1274 bytes .../Resources/picboxPrevious_Enter.png | Bin 0 -> 1277 bytes .../Resources/picboxRotateLeft_Enter.png | Bin 0 -> 1555 bytes .../Resources/picboxRotateRight_Enter.png | Bin 0 -> 1553 bytes .../Resources/picboxZoomIn_Enter.png | Bin 0 -> 1876 bytes .../Resources/picboxZoomOut_Enter.png | Bin 0 -> 1807 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png | Bin 0 -> 1059 bytes .../Resources/scanner.png | Bin 0 -> 43217 bytes .../Resources/scanner1.png | Bin 0 -> 43217 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png | Bin 0 -> 174329 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png | Bin 0 -> 279304 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/seal2.png | Bin 0 -> 174329 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/seal3.png | Bin 0 -> 174329 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/search.png | Bin 0 -> 10939 bytes .../Resources/sicherheit.png | Bin 0 -> 27170 bytes .../Resources/sicherheit1.png | Bin 0 -> 27170 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/stift.png | Bin 0 -> 201703 bytes SDL/VERAG_PROG_ALLGEMEIN/Resources/today.png | Bin 0 -> 1863 bytes .../Resources/uhr_green.png | Bin 0 -> 1855 bytes .../Resources/uhr_notime.png | Bin 0 -> 2246 bytes .../Resources/uhr_red.png | Bin 0 -> 1702 bytes .../Resources/weiblich.png | Bin 0 -> 7022 bytes .../Schnittstellen/ATEZ/cATEZ_NCTS.vb | 205 + .../agsCustomsExchange.Designer.vb | 7681 ++ .../GASTON_SCHUL/agsCustomsExchange.xsd | 939 + .../MIC/MicCustExportBasicTypes.Designer.vb | 88 + .../MIC/MicCustExportBasicTypes.xsd | 1122 + .../MIC/MicCustExportComponents.Designer.vb | 9501 +++ .../MIC/MicCustExportComponents.xsd | 3721 + .../MIC/MicCustExportInvoiceTypes.Designer.vb | 4333 ++ .../MIC/MicCustExportInvoiceTypes.xsd | 3907 + .../MIC/MicCustExportShipment.Designer.vb | 2348 + .../MIC/MicCustExportShipment.xsd | 1862 + .../MIC/MicCustImportInvoiceTypes.Designer.vb | 18285 +++++ .../MIC/MicCustImportInvoiceTypes.xsd | 11393 +++ .../MIC/MicCustImportShipment.Designer.vb | 2510 + .../MIC/MicCustImportShipment.xsd | 1815 + .../MIC/MicErrorWarningMessage.Designer.vb | 1287 + .../MIC/MicErrorWarningMessage.xsd | 138 + .../MIC/MicMetaCustExportShipment.xsd | 32 + .../MIC/MicMetaCustImportShipment.xsd | 32 + .../MIC/MicMetadata.Designer.vb | 1681 + .../Schnittstellen/MIC/MicMetadata.xsd | 215 + .../Schnittstellen/MIC/cMIC.vb | 254 + .../Schnittstellen/MIC/cMICInterface.vb | 1543 + .../SGS/CC015B_TR_EXT_V4_3.Designer.vb | 9764 +++ .../Schnittstellen/SGS/CC015B_TR_EXT_V4_3.xsd | 1930 + .../Schnittstellen/SGS/Codelists.Designer.vb | 1289 + .../Schnittstellen/SGS/Codelists.xsd | 516 + .../SGS/Constraints4.Designer.vb | 33 + .../Schnittstellen/SGS/Constraints4.xsd | 182 + .../Schnittstellen/SGS/cSGSInterface.vb | 1543 + .../VERAG/ATEZ/BeyannameBilgi.Designer.vb | 8659 +++ .../VERAG/ATEZ/BeyannameBilgi.json | 1576 + .../VERAG/ATEZ/BeyannameBilgi.xsd | 375 + .../ATEZ/TR_EX/declarationJsonSchema.json | 1362 + .../ATEZ/TR_EX/declarationJsonSchema.xsd | 321 + .../VERAG/IN_AVISO/cVERAG_in_TRAviso.vb | 387 + .../VERAG/IN_EZA/cVERAG_in_eza.vb | 864 + .../IN_SHIPPMENT/cVERAG_in_shippmentWHAT.vb | 638 + .../VERAG/OUT_EZA/VERAG_out_eza.Designer.vb | 3210 + .../VERAG/OUT_EZA/VERAG_out_eza.json | 370 + .../VERAG/OUT_EZA/VERAG_out_eza.xsd | 170 + .../VERAG/OUT_NCTS/VERAG_out_ncts.Designer.vb | 2943 + .../VERAG/OUT_NCTS/VERAG_out_ncts.xsd | 158 + .../VERAG_out_ncts_V2_0_1.Designer.vb | 2976 + .../VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.json | 303 + .../VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.xsd | 84 + .../VERAG_out_ncts_V2_0_2.Designer.vb | 2987 + .../VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.xsd | 162 + .../VERAG/OUT_NCTS/cVERAG_out_ncts.vb | 361 + .../Schnittstellen/cBMD_Interface.vb | 572 + .../Schnittstellen/cDVO_Interface.vb | 404 + .../Schnittstellen/cJsonPost.vb | 43 + .../Schnittstellen/cNCTS_Helper.vb | 112 + .../Schnittstellen/cSyska_Interface.vb | 450 + .../Schnittstellen/cTherefore.vb | 158 + .../VERAG_PROG_ALLGEMEIN.vbproj | 931 + .../Web References/UIDPruefung/Reference.map | 6 + .../Web References/UIDPruefung/Reference.vb | 474 + .../UIDPruefung/checkVatService.wsdl | 161 + .../UIDPruefung/matchCode.datasource | 10 + .../Reference.map | 7 + .../Reference.vb | 235 + .../session.xsd | 83 + .../sessionService.wsdl | 56 + .../at.gv.bmf.finanzonline/Reference.map | 7 + .../at.gv.bmf.finanzonline/Reference.vb | 236 + .../at.gv.bmf.finanzonline/uidAbfrage.xsd | 69 + .../uidAbfrageService.wsdl | 37 + SDL/VERAG_PROG_ALLGEMEIN/Web.config | 52 + SDL/VERAG_PROG_ALLGEMEIN/cAllgemein.vb | 359 + SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler.vb | 76 + SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler1.vb | 59 + SDL/VERAG_PROG_ALLGEMEIN/cFMZOLL_Personal.vb | 7 + SDL/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb | 346 + SDL/VERAG_PROG_ALLGEMEIN/en-US.dic | 62361 ++++++++++++++++ .../frmKdVermerkAdd.Designer.vb | 141 + SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.resx | 980 + SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.vb | 34 + SDL/VERAG_PROG_ALLGEMEIN/frmScan.Designer.vb | 538 + SDL/VERAG_PROG_ALLGEMEIN/frmScan.resx | 983 + SDL/VERAG_PROG_ALLGEMEIN/frmScan.vb | 694 + .../frmSourceList.Designer.vb | 85 + SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.resx | 120 + SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.vb | 38 + TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj | 2 +- UID/ADMIN.vbproj | 76 +- UID/My Project/licenses.licx | 7 +- VERAGMonitoring/VERAGMonitoring.vbproj | 6 - initATLASAufschubkonten/RoutineManager.vbproj | 4 - 335 files changed, 236971 insertions(+), 59 deletions(-) create mode 160000 SDL/SDL create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/App.config create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/IMEX-LOGO_simple.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-AG-Logopng.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Customs-Service-GMBH-Logo.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Spedition-GMBH-Logo.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/ambar_simple.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/android-note1.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/easteregg.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/house1.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/männlich.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/people.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_w.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_links.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_rechts.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateLeft_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateRight_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/seal2.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/seal3.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/search.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/stift.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/today.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustExportShipment.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustImportShipment.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMIC.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMICInterface.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/cSGSInterface.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.json create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.json create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_AVISO/cVERAG_in_TRAviso.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_EZA/cVERAG_in_eza.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_SHIPPMENT/cVERAG_in_shippmentWHAT.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.json create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.json create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/cVERAG_out_ncts.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cBMD_Interface.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cDVO_Interface.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cJsonPost.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cSyska_Interface.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cTherefore.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.map create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/checkVatService.wsdl create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/matchCode.datasource create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.map create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/session.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/sessionService.wsdl create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.map create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrage.xsd create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrageService.wsdl create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/Web.config create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/cAllgemein.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler1.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/cFMZOLL_Personal.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/en-US.dic create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmScan.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmScan.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmScan.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.Designer.vb create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.resx create mode 100644 SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.vb diff --git a/ADMIN.sln b/ADMIN.sln index 5924932..36b8731 100644 --- a/ADMIN.sln +++ b/ADMIN.sln @@ -21,8 +21,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MailSender", "MailSender\Ma EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ATILLA_Speditionsbuch", "ATILLA_Speditionsbuch\ATILLA_Speditionsbuch.vbproj", "{2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}" EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VERAG_PROG_ALLGEMEIN", "..\..\SDL\SDL\VERAG_PROG_ALLGEMEIN\VERAG_PROG_ALLGEMEIN.vbproj", "{A3B497BD-842C-4A2B-B398-ED1976849DF1}" -EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DAKOSY_Worker_lib", "DAKOSY_Worker\DAKOSY_Worker_lib.vbproj", "{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}" EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TELOTEC_Worker_lib", "TELOTEK_Worker_lib\TELOTEC_Worker_lib.vbproj", "{5B947A66-009A-4BB6-B925-F84A01045095}" @@ -35,6 +33,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RKSV_DE", "RKSV_DE\RKSV_DE. EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MIC_Worker_lib", "MIC_Worker_lib\MIC_Worker_lib.vbproj", "{60833DC6-70ED-450A-B51F-4A953E67ADA0}" EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VERAG_PROG_ALLGEMEIN", "..\SDL\VERAG_PROG_ALLGEMEIN\VERAG_PROG_ALLGEMEIN.vbproj", "{A3B497BD-842C-4A2B-B398-ED1976849DF1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -77,10 +77,6 @@ Global {2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Debug|Any CPU.Build.0 = Debug|Any CPU {2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Release|Any CPU.ActiveCfg = Release|Any CPU {2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Release|Any CPU.Build.0 = Release|Any CPU - {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.Build.0 = Release|Any CPU {50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.Build.0 = Debug|Any CPU {50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -105,6 +101,10 @@ Global {60833DC6-70ED-450A-B51F-4A953E67ADA0}.Debug|Any CPU.Build.0 = Debug|Any CPU {60833DC6-70ED-450A-B51F-4A953E67ADA0}.Release|Any CPU.ActiveCfg = Release|Any CPU {60833DC6-70ED-450A-B51F-4A953E67ADA0}.Release|Any CPU.Build.0 = Release|Any CPU + {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj index 8049a6f..baf3595 100644 --- a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj +++ b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj @@ -45,7 +45,7 @@ - ..\..\..\dll\Renci.SshNet.dll + \\ylps023046.verag.ost.dmn\VB\dll\Renci.SshNet.dll @@ -322,7 +322,7 @@ - + {a3b497bd-842c-4a2b-b398-ed1976849df1} VERAG_PROG_ALLGEMEIN diff --git a/DienstplanTV/DienstplanTV.vbproj b/DienstplanTV/DienstplanTV.vbproj index 9232dad..9c4ff6c 100644 --- a/DienstplanTV/DienstplanTV.vbproj +++ b/DienstplanTV/DienstplanTV.vbproj @@ -127,10 +127,6 @@ - - {a3b497bd-842c-4a2b-b398-ed1976849df1} - VERAG_PROG_ALLGEMEIN - {6eb4d3a4-3cf2-4651-9af9-ad5f727df403} ADMIN diff --git a/MDM_Worker/MDM_Worker_lib.vbproj b/MDM_Worker/MDM_Worker_lib.vbproj index 46b84f4..472aea0 100644 --- a/MDM_Worker/MDM_Worker_lib.vbproj +++ b/MDM_Worker/MDM_Worker_lib.vbproj @@ -104,7 +104,7 @@ - + {a3b497bd-842c-4a2b-b398-ed1976849df1} VERAG_PROG_ALLGEMEIN diff --git a/MailSender/MailSender.vbproj b/MailSender/MailSender.vbproj index 9887acc..0ab484e 100644 --- a/MailSender/MailSender.vbproj +++ b/MailSender/MailSender.vbproj @@ -144,10 +144,6 @@ - - {a3b497bd-842c-4a2b-b398-ed1976849df1} - VERAG_PROG_ALLGEMEIN - {6eb4d3a4-3cf2-4651-9af9-ad5f727df403} ADMIN diff --git a/RKSV_DE/RKSV_DE.vbproj b/RKSV_DE/RKSV_DE.vbproj index d0a4757..01a84a4 100644 --- a/RKSV_DE/RKSV_DE.vbproj +++ b/RKSV_DE/RKSV_DE.vbproj @@ -49,7 +49,7 @@ - ..\..\..\..\RKSV DE\KsVCom.dll + \\ylps023046.verag.ost.dmn\VB\dll\KsVCom.dll diff --git a/SDL/SDL b/SDL/SDL new file mode 160000 index 0000000..f2f9925 --- /dev/null +++ b/SDL/SDL @@ -0,0 +1 @@ +Subproject commit f2f992547dcea0e64e47491e5100d729dcf1964c diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb new file mode 100644 index 0000000..f7a7ec8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb @@ -0,0 +1,30 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Text = "Form1" + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb new file mode 100644 index 0000000..17d6595 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb @@ -0,0 +1,3 @@ +Public Class Form1 + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb new file mode 100644 index 0000000..5b940c8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb @@ -0,0 +1,16 @@ + + +Public Class listMaAVG + Public mit_id As Integer + Public mit_name As String + Public mit_avg As Integer + Public mit_count As Integer + +End Class + +Public Class listStatAvisoProleme + Public VermerkeCode As Integer + Public Bezeichnung As String + Public AnzahlVermerke As Integer +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb new file mode 100644 index 0000000..e793065 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb @@ -0,0 +1,2958 @@ +Imports System.Data +'Imports Gemeinsames +Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO +Imports VERAG_PROG_ALLGEMEIN.cGlobal +Imports System.Data.SqlClient +Imports System.Globalization + + +Public Class cSqlDb + + Public Shared Function GetSDLConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetSDLConnectionString() + End Function + Public Shared Function GetADMINConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetADMINConnectionString + End Function + Public Shared Function GetFMZOLLConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetFMZOLLConnectionString + End Function + Public Shared Function GetATLASConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetATLASConnectionString + End Function + + Public Shared Function GetEZOLLConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetEZOLLConnectionString + End Function + Public Shared Function GetAVISOConnectionString() As String + Return VERAG_PROG_ALLGEMEIN.SQL.GetAVISOConnectionString + End Function + + + Public Shared Function GetNewOpenConnection(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + 'cn.ConnectionString = My.Resources.connStringSDL_DEV + ' IMMER DIE AKTUELLE CONNECTION IN MY.SETTINGS ÄNDERN!!! --> WG. BINDING + cn.ConnectionString = GetSDLConnectionString() & CStr(IIf(pooling, "", ";pooling=false")) + cn.Open() + Return cn + End Function + Public Shared Function GetNewOpenConnectionLogin() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetADMINConnectionString() + cn.Open() + Return cn + End Function + + Public Shared Function GetNewOpenConnectionFMZOLL(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetFMZOLLConnectionString() & CStr(If(pooling, "", ";pooling=false")) + cn.Open() + Return cn + End Function + Public Shared Function GetNewOpenConnectionATLAS() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetATLASConnectionString() + + cn.Open() + Return cn + End Function + + Public Shared Function GetNewOpenConnectionEZOLL() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetEZOLLConnectionString() + + cn.Open() + Return cn + End Function + + Public Shared Function GetNewOpenConnectionAVISO() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetAVISOConnectionString() + + cn.Open() + Return cn + End Function + + Public Shared Function GetNewOpenConnectionFMZOLLREAL() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString + cn.Open() + Return cn + End Function + + + Public Shared Function checkNullStr(ByVal o As Object) As String + If o IsNot Nothing And o IsNot DBNull.Value Then Return CStr(o) + Return "" + End Function + Public Shared Function checkNullInteger(ByVal o As Object) As Integer + If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o) + Return -1 + End Function + Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object + If o IsNot Nothing And o IsNot DBNull.Value Then Return (o) + Return returnValue + End Function + + Public Shared Function checkNullIntegerZero(ByVal o As Object) As Integer + If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o) + Return 0 + End Function + Public Shared Function checkNulDbl(ByVal o As Object) As Double + If o IsNot Nothing And o IsNot DBNull.Value Then Return CDbl(o) + Return -1 + End Function + Public Shared Function checkNullBoolCheckState(ByVal o As Object) As Integer + If o IsNot Nothing And o IsNot DBNull.Value Then Return 2 + Try + If CBool(o) = True Then Return 1 + If CBool(o) = False Then Return 0 + Catch ex As Exception + End Try + Return 2 + End Function + Public Shared Function checkNullBool(ByVal o As Object) As Boolean + If o Is Nothing Or o Is DBNull.Value Then Return False + Try + Return CBool(o) + Catch ex As Exception + End Try + Return False + End Function + Public Shared Function checkNullDate(ByVal o As Object) As Date + If o IsNot Nothing And o IsNot DBNull.Value Then Return CDate(o) + Return Now + End Function + Public Shared Function checkNullDateNothing(ByVal o As Object) As Object + If o Is DBNull.Value Then + Return Nothing + Else + Return CDate(o) + End If + End Function + Public Shared Function setNullDate(ByVal o As String) As Object + Try + If IsDate(o) Then Return CDate(o) + Catch ex As Exception + End Try + Return DBNull.Value + End Function + Public Shared Function setNullInteger(ByVal o As Integer) As Object + Try + If IsNumeric(o) AndAlso o >= 0 Then Return CInt(o) + Catch ex As Exception + End Try + Return DBNull.Value + End Function + Public Shared Function setNullBoolean(ByVal o As Integer) As Object + Try + If o = 0 Then Return False + If o = 1 Then Return True + Catch ex As Exception + End Try + Return DBNull.Value + End Function +End Class + + +Public Class cDatenbankAVISO + + + Public Shared GlobalConnection As SqlConnection = Nothing + Public Shared GlobalConnectionFMZOLL As SqlConnection = Nothing + + Public Shared Function GetNewOpenConnection(Optional newConn As Boolean = False) As SqlConnection + Try + If GlobalConnection Is Nothing Or newConn Then + GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString) + End If + If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then + GlobalConnection.Open() + End If + Return GlobalConnection + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message & ex.StackTrace) + End Try + Return Nothing + End Function + + Public Shared Function GetNewOpenConnectionFMZOLL(Optional newConn As Boolean = False) As SqlConnection + Try + If GlobalConnectionFMZOLL Is Nothing Or newConn Then + GlobalConnectionFMZOLL = New SqlConnection(cSqlDb.GetFMZOLLConnectionString) + End If + If GlobalConnectionFMZOLL.State = ConnectionState.Broken Or GlobalConnectionFMZOLL.State = ConnectionState.Closed Then + GlobalConnectionFMZOLL.Open() + End If + Return GlobalConnectionFMZOLL + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message) + End Try + Return Nothing + End Function + + + Public Shared Function GetNewOpenConnectionWithoutError(Optional newConn As Boolean = False) As SqlConnection + Try + If GlobalConnection Is Nothing Or newConn Then + GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString) + End If + If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then + GlobalConnection.Open() + End If + Return GlobalConnection + Catch ex As Exception + ' MsgBox("Problem" & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message) + End Try + Return Nothing + End Function + Public Shared Function GetNewOpenConnectionADMIN() As SqlConnection + Try + Dim conn As New SqlConnection(cSqlDb.GetADMINConnectionString) + conn.Open() + Return conn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Es konnte keine Verbindung zur ADMIN-Datenbank aufgebaut werden." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message) + End Try + Return Nothing + End Function + + + Public Shared Function GetNewOpenConnection2() As SqlConnection + 'Dim Start As Integer = My.Computer.Clock.TickCount + Const useGlobalConnection As Boolean = True + Try + If useGlobalConnection Then + If GlobalConnection Is Nothing Then + GlobalConnection = New SqlConnection + GlobalConnection.ConnectionString = cSqlDb.GetAVISOConnectionString + End If + If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then + GlobalConnection.Open() + End If + 'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start + Return GlobalConnection + Else + Dim conn As New SqlConnection + conn.ConnectionString = cSqlDb.GetAVISOConnectionString + conn.Open() + 'cGlobal.hDauerOpen += 1 + 'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start + Return (conn) + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler bei Datenbank öffnen. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler bei Datenbank öffnen." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message) + Return Nothing + End Try + End Function + +End Class + + +Public Class cMitarbeiterAVISO + Property MitarbeiterID As Integer + Property Mitarbeiter As String + Property Mitarbeitername As String + Property KW As String + ' Property Sicherheitsstufe As Integer + Property Info As String + ' Property Grenzstelle As String + ' Property Abteilung As String = "" + Property StandartFiliale As Integer = -1 + Property mit_FMZollPersID As Integer = -1 + Property mit_username As String + +End Class + +Public Class cADMIN + + ' Public USRNAME As String + 'Public USRID As String + 'Public USERBER As String + Public cMitarbeiterAVISO As cMitarbeiterAVISO + ' Private Property USERBER As Object + + + + Public Function getAktuelleVersion(Optional progname As String = "AVISO_NEW") As String + Dim sql As String = "SELECT prog_aktuelleVersion FROM tblProgramme WHERE prog_codename=@codename" + Dim dr As SqlDataReader + Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@codename", progname) + dr = cmd.ExecuteReader() + Try + If dr.Read Then Return CStr(dr.Item("prog_aktuelleVersion")) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + End Using + End Using + Return "0" + End Function + Public Function getPwdFromUsrname(ByVal user As String, ByVal firma As String) As String + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_username='" & user & "' COLLATE Latin1_General_CS_AS AND (mit_firma='" & firma & "' OR mit_firma='ALL' ) ", "ADMIN") + End Function + + Public Function getPwdFromUsrId(ByVal userId As String) As String + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN") + End Function + Public Function getUnameFromUsrId(ByVal userId As String) As String + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT mit_username FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN") + End Function + + Public Function checkLogin(ByVal user As String, ByVal pwd As String, ByVal firma As String) As Boolean + + VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = If(firma = "", "VERAG", firma) + + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + 'Dim sql As String = "SELECT mit_vname,mit_nname,mit_berechtigung FROM tblUser where mit_username=@mit_username COLLATE Latin1_General_CS_AS and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS " + Dim sql As String = "SELECT mit_id,mit_vname,mit_nname,mit_niederlassung,mit_username,mit_pwd,mit_info,mit_abteilung,mit_standartFiliale,mit_FMZollPersID,mit_firmaFMZoll,mit_TESTonly FROM " & + " tblMitarbeiter,tblBerProg where mit_username=@mit_username and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS AND (mit_firma=@mit_firma OR mit_firma='ALL' ) AND bepr_programm=@bepr_programm AND bepr_userId=mit_id " + + + Dim dr As SqlDataReader + + Try + Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand(sql, conn) + + cmd.Parameters.AddWithValue("@mit_username", user) + cmd.Parameters.AddWithValue("@mit_pwd", pwd) + cmd.Parameters.AddWithValue("@bepr_programm", "AVISO") + cmd.Parameters.AddWithValue("@mit_firma", firma) + + dr = cmd.ExecuteReader() + cMitarbeiterAVISO = New cMitarbeiterAVISO + + + If dr.Read Then + cMitarbeiterAVISO.MitarbeiterID = CInt(dr.Item("mit_id")) + ' cMitarbeiterAVISO.Grenzstelle = CStr(dr.Item("mit_niederlassung")) + ' If cMitarbeiterAVISO.Grenzstelle = "Suben" Then cMitarbeiterAVISO.Grenzstelle = "SUB" + ' If cMitarbeiterAVISO.Grenzstelle = "Waidhaus" Then cMitarbeiterAVISO.Grenzstelle = "WAI" + ' If cMitarbeiterAVISO.Grenzstelle = "Nickelsdorf" Then cMitarbeiterAVISO.Grenzstelle = "NKD" + ' If cMitarbeiterAVISO.Grenzstelle = "Salzburg" Then cMitarbeiterAVISO.Grenzstelle = "SBG" + ' If cMitarbeiterAVISO.Grenzstelle = "" Then cMitarbeiterAVISO.Grenzstelle = "???" + cMitarbeiterAVISO.Mitarbeiter = CStr(dr.Item("mit_username")) + cMitarbeiterAVISO.Mitarbeitername = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) + cMitarbeiterAVISO.KW = CStr(dr.Item("mit_pwd")) + ' cMitarbeiterAVISO.Sicherheitsstufe = CInt(dr.Item("ber_sicherheitsstufe")) + cMitarbeiterAVISO.Info = CStr(dr.Item("mit_info")) + ' If dr.Item("mit_abteilung") IsNot DBNull.Value Then cMitarbeiterAVISO.Abteilung = CStr(dr.Item("mit_abteilung")) + cMitarbeiterAVISO.StandartFiliale = VarToInt2(dr.Item("mit_standartFiliale")) + cMitarbeiterAVISO.mit_FMZollPersID = VarToInt2(dr.Item("mit_FMZollPersID")) + cMitarbeiterAVISO.mit_username = VarToStr(dr.Item("mit_username")) + + ' VERAG_PROG_ALLGEMEIN.cAllgemein.USRBER = CInt(dr.Item("ber_sicherheitsstufe")) + VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = CStr(dr.Item("mit_niederlassung")) + VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = CStr(dr.Item("mit_abteilung")) + VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = CInt(dr.Item("mit_id")) + ' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_VNAME = CStr(dr.Item("mit_vname")) + ' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_NNAME = CStr(dr.Item("mit_nname")) + 'VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) + VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = CStr(dr.Item("mit_username")) + If dr.Item("mit_firmaFMZoll") Is DBNull.Value Then + MsgBox("Benutzer muss einer Firma zugeordnet sein!") + Return False + End If + + If dr.Item("mit_TESTonly") And Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + MsgBox("Benutzer ist nur für das Testsystem freigeschaltet!") + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True 'umschalten auf das TESTSYSTEM + End If + + + VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID = CInt(dr.Item("mit_firmaFMZoll")) + VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_NAME = getValueTxtBySql("SELECT Firma_Bez FROM tblFirma WHERE Firma_ID= " & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID, "FMZOLL") + + VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_BER() + VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_DATA() + + cGlobal.AktiverMitarbeiter = cMitarbeiterAVISO + + Return True + End If + 'USERBER = CStr(dr.Item("ber_sicherheitsstufe")) : USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) : USRID = CStr(dr.Item("mit_id")) : Return True + + End Using + End Using + dr.Close() + Catch ex As Exception + MsgBox("Fehler mit der Datenbankverbindung.", "Datenbankfehler") + Return False + End Try + + Return False + End Function + + + + + Public Function getUstName_ByAD(Domain As String, User As String) As String + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_username] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN") + End Function + + Public Function getUstId_ByAD(Domain As String, User As String) As Integer + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_id] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN",,, "-1") + End Function + + Public Function getBezById(id As Integer) As String + + Dim sql As String = "SELECT Firma_Bez FROM tblFirma WHERE Firma_ID=@id " + Dim dr As SqlDataReader + Try + Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@id", id) + dr = cmd.ExecuteReader() + If dr.HasRows AndAlso dr.Read Then + Return CStr(dr.Item(0)) + End If + End Using + End Using + dr.Close() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + End Try + Return "" + End Function + + + Public Function loadCboBySql(ByVal sql As String, Optional conn_art As String = "AVISO", Optional newConn As Boolean = False, Optional conn As SqlConnection = Nothing) As List(Of Object) + + + Dim o As New List(Of Object) + Try + If conn Is Nothing Then + Select Case conn_art + Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection(newConn) + Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL(newConn) + End Select + End If + ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read + o.Add(dr.Item(0)) + End While + dr.Close() + End Using + conn.Close() + ' End Using + Return o 'While Schleife wird hier verlassen + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + + Return Nothing + End Function + + Public Function loadCboBySqlWithListItem(ByVal sql As String, Optional showValueInText As Boolean = True, Optional conn_art As String = "AVISO") As List(Of MyListItem) + Dim o As New List(Of MyListItem) + Try + Dim conn As New SqlConnection + Select Case conn_art + Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection() + Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL + End Select + + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read + If showValueInText Then + o.Add(New MyListItem(CStr(dr.Item(0)) & vbTab & " - " & CStr(dr.Item(1)), CStr(dr.Item(0)))) + Else + Try + o.Add(New MyListItem(CStr(dr.Item(1)), CStr(dr.Item(0)))) + Catch ex As Exception + o.Add(New MyListItem(CStr(dr.Item(0)), CStr(dr.Item(0)))) + End Try + End If + + End While + dr.Close() + End Using + conn.Close() + + Return o 'While Schleife wird hier verlassen + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + + Return Nothing + End Function + + Public Function getValueTxtBySql(ByVal sql As String, Optional conn_art As String = "AVISO") As String + Dim s As String = "" + Try + 'MsgBox("1") + Dim conn As New SqlConnection + Select Case conn_art + Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection() + Case "ADMIN" : conn = cDatenbankAVISO.GetNewOpenConnectionADMIN() + Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL + + End Select + + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If Not dr.Item(0) Is DBNull.Value Then + s = CStr(dr.Item(0)) + End If + End If + dr.Close() + End Using + conn.Close() + + Return s + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + 'MsgBox("3") + Return "" + End Function + + Public Function doSQL(ByVal sql As String, Optional conn_art As String = "AVISO", Optional conn As SqlConnection = Nothing) As Boolean + If conn Is Nothing Then + Select Case conn_art + Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection() + Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL + End Select + End If + Try + ' MsgBox(sql) + Using cmd As New SqlCommand(sql, conn) + cmd.ExecuteNonQuery() + End Using + conn.Close() + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return False + End Function + +End Class + +Public Class cMitarbeiterAVISODAL + + Public Function LesenMitarbeiter(hID As Integer, hKürzel As String) As cMitarbeiterAVISO + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID) + Else + sql = String.Format("SELECT * FROM Mitarbeiter WHERE Mitarbeiter = '" & hKürzel.Trim & "'") + End If + Dim daten As cMitarbeiterAVISO = Nothing + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cMitarbeiterAVISO + daten.MitarbeiterID = VarToInt(dr.Item("MitarbeiterID")) + daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter")) + daten.Mitarbeitername = VarToStr(dr.Item("Mitarbeitername")) + daten.KW = VarToStr(dr.Item("KW")) + ' daten.Sicherheitsstufe = VarToInt(dr.Item("Sicherheitsstufe")) + daten.Info = VarToStr(dr.Item("Info")) + ' daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle")) + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + Public Function Anzeigen_Mitarbeiter(hSQL As String) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Mitarbeiter'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + Return Nothing + End Function + + Public Function Anzeigen_cboMitarbeiter() As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + Dim sql = "SELECT MitarbeiterID, Mitarbeiter FROM Mitarbeiter ORDER BY Mitarbeiter" + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_cboMitarbeiter'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + + Public Sub SpeichernMitarbeiter(ByVal d As cMitarbeiterAVISO) + Dim hAuswahl As String + If d.MitarbeiterID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Mitarbeiter " & + "(Mitarbeiter, Mitarbeitername, KW, Sicherheitsstufe, Info, Grenzstelle) VALUES (" & + "@Mitarbeiter, @Mitarbeitername, @KW, @Sicherheitsstufe, @Info, @Grenzstelle)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE Mitarbeiter SET Mitarbeiter = @Mitarbeiter, Mitarbeitername = @Mitarbeitername, KW=@KW, Sicherheitsstufe=@Sicherheitsstufe, Info=@Info, Grenzstelle=@Grenzstelle " & + "WHERE MitarbeiterID = @MitarbeiterID") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter) + cmd.Parameters.AddWithValue("@Mitarbeitername", d.Mitarbeitername) + cmd.Parameters.AddWithValue("@KW", d.KW) + ' cmd.Parameters.AddWithValue("@Sicherheitsstufe", d.Sicherheitsstufe) + cmd.Parameters.AddWithValue("@Info", d.Info) + ' cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle) + cmd.Parameters.AddWithValue("@MitarbeiterID", d.MitarbeiterID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden!" & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Mitarbeiterstamm") + End Try + End Using + conn.Close() + End Sub + + Public Sub LöschenMitarbeiter(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Mitarbeiter-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + +End Class + + +Public Class cFirma + Property FirmaID As Integer + Property Firma As String + Property eMail As String + Property eMail2 As String + Property Info As String + Property Frächter As Boolean + Property Auftraggeber As Boolean + Property FMZollKdnr As String = "" + + 'Property Adresse As String + 'Property Telefon As String + 'Property Fax As String + 'Property Ansprechpersonen As String +End Class + +Public Class cFirmenDAL + + Public Function LesenFirma(hID As Integer, hFirma As String, hSQL As String) As cFirma + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Firmen WHERE FirmaID = {0}", hID) + ElseIf hFirma <> "" Then + sql = String.Format("SELECT * FROM Firmen WHERE Firma = '" & hFirma.Trim & "'") + Else + sql = hSQL + End If + Dim daten As cFirma = Nothing + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cFirma() + daten.FirmaID = VarToInt(dr.Item("FirmaID")) + daten.Firma = VarToStr(dr.Item("Firma")) + daten.eMail = VarToStr(dr.Item("eMail")) + daten.eMail2 = VarToStr(dr.Item("eMail2")) + daten.Info = VarToStr(dr.Item("Info")) + daten.Frächter = VarToBool(dr.Item("Frächter")) + daten.Auftraggeber = VarToBool(dr.Item("Auftraggeber")) + 'daten.FMZollKdnr = VarToStr(dr.Item("KundenNr")) + If Not dr.Item("KundenNr") Is DBNull.Value Then daten.FMZollKdnr = CStr(dr.Item("KundenNr")) + 'daten.Ansprechpersonen = VarToStr(dr.Item("Ansprechpersonen")) + 'daten.Adresse = VarToStr(dr.Item("Adresse")) + 'daten.Telefon = VarToStr(dr.Item("Telefon")) + 'daten.Fax = VarToStr(dr.Item("Fax")) + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + Public Function Anzeigen_Firmen(hSQL As String) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Firmen'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + Return Nothing + End Function + + Public Function Anzeigen_cboFirmen(hSQL As String) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + If hSQL = "" Then hSQL = "SELECT FirmaID, Firma FROM Firmen ORDER BY Firma" + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_cboFirma'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + Public Sub SpeichernFirma(ByVal d As cFirma) + Dim hAuswahl As String + If d.FirmaID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Firmen " & + "(Firma, eMail, eMail2, Info, Frächter, Auftraggeber, KundenNr) VALUES (" & + "@Firma, @eMail, @eMail2, @Info, @Frächter, @Auftraggeber, @KundenNr)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE Firmen SET Firma = @Firma, eMail=@eMail, eMail2=@eMail2, Info=@Info, Frächter=@Frächter, Auftraggeber=@Auftraggeber, KundenNr=@KundenNr " & + "WHERE FirmaID = @FirmaID") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Firma", d.Firma) + cmd.Parameters.AddWithValue("@eMail", d.eMail) + cmd.Parameters.AddWithValue("@eMail2", d.eMail2) + cmd.Parameters.AddWithValue("@Info", d.Info) + cmd.Parameters.AddWithValue("@Frächter", d.Frächter) + cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber) + cmd.Parameters.AddWithValue("@FirmaID", d.FirmaID) + If d.FMZollKdnr = "" Then + cmd.Parameters.AddWithValue("@KundenNr", DBNull.Value) + Else + cmd.Parameters.AddWithValue("@KundenNr", d.FMZollKdnr) + End If + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma") + End Try + End Using + conn.Close() + End Sub + + Public Sub LöschenFirma(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Firmen WHERE FirmaID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Firma-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + +End Class + + + +Public Class cQSAufträge + Property QS_auftragpos_id As Integer = -1 + Property AvisoID As Integer = -1 + Property QS_Abfertigungsart_ID As Integer = -1 + Property QS_Abfertigungsart_Anzahl As Integer = 0 +End Class + + + +Public Class cAvisoVorpapier + Property vp_AvisoId As Integer + Property vp_Art As String = "T1" + Property vp_Nr As String = "" +End Class + + +Public Class cAviso + Property AvisoID As Integer + Property Datum As Date + Property LKW_Nr As String + Property Telefonisch As String + Property Änderungen As String + Property Info As String + Property Status As Integer + Property Auftraggeber As String + Property Auftraggeber_KdNr As String = "" + Property Frächter As String + Property Frächter_KdNr As String = "" + Property letzterMitarbeiter As String + Property LetzterMitarbeiterId As Object = Nothing + Property Ankunft As Date + Property Freigabe As Date + Property Vorbereitet As Date + Property Vorgeschrieben As Date + Property Dauer As Integer + Property AvisoEingang As Date + Property Grenzstelle As String + Property LKW_fertig As Boolean + Property Handling As Boolean = False + Property AvisoTVHinweis As String = "" + Property Sendungen_Gesamtanzahl As Integer = 0 + Property Sammelakt As Boolean = False + Property Buero As String = "" + Property ImEx As String = "" + Property Abgeschlossen As Boolean = False + Property FIRMA As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + Property Durchgangszollstelle1 As Object = Nothing + Property Durchgangszollstelle2 As Object = Nothing + Property Durchgangszollstelle3 As Object = Nothing + Property Durchgangszollstelle4 As Object = Nothing + Property Durchgangszollstelle5 As Object = Nothing + Property Durchgangszollstelle6 As Object = Nothing + Property Ausgangszollstelle As Object = Nothing + Property Zollstelle As Object = Nothing + + + Property TransportTemperatur As Object = Nothing + Property Zugmaschine As Object = Nothing + Property FahrerHandy As Object = Nothing + Property LKW_Nationalitaet As Object = Nothing + Property DakosyRef As Object = Nothing + Property TeamId As Object = Nothing + Property Cluster As Object = Nothing + Property Freigabe_Info As String = "" + + + Property KdAuftragsNr_Avisierer As Object = Nothing + Property KdAuftragsNr_Frachtfuehrer As Object = Nothing + Property FreigabeFiliale As Object = Nothing + Property VoraussichtlichesEintreffen As Object = Nothing + Property VORSYSTEM As Object = Nothing + Property Warenort As Boolean = False + Property ZOLLDigitalEingereicht As Boolean = False + + + Public VORPAPIERE As New List(Of cAvisoVorpapier) + + Shared Function getAvisoById(hID, Optional hSQL = "") As cAviso + Dim AVISODAL As New cAvisoDAL + Return AVISODAL.LesenAviso(hID, hSQL) + End Function + + Shared Function getFirmaByAvisoId(AvisoId) As String + Dim SQL As New SQL + Return SQL.getValueTxtBySql("SELECT TOP 1 Firma FROM AVISO WHERE AvisoId=" & AvisoId, "AVISO") + End Function + + Shared Function getAVISO_List(Optional Standort = "SUB") As DataTable 'Optional FIRMA = "VERAG") As DataTable + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim sqlWhere = "" + Select Case Standort + Case "SUB" : sqlWhere = " AND ( FIRMA='VERAG' OR CLUSTER='FRONTOFFICE' ) AND ImEx IN ('IMPORT','') AND Grenzstelle = '" & Standort & "' " + Case "ATILLA" : sqlWhere = " AND ( FIRMA='ATILLA') " + Case "IMEX" : sqlWhere = " AND ( FIRMA='IMEX') " + Case "UNISPED" : sqlWhere = " AND ( FIRMA='UNISPED') " + Case Else : sqlWhere = " AND FIRMA='VERAG' AND ( Grenzstelle='" & Standort & "') " + End Select + + ' Standort = "" + + Dim dt = SQL.loadDgvBySql("SELECT TOP 1000 AvisoID, Status, LKW_Nr, Auftraggeber, Frächter,VoraussichtlichesEintreffen, AvisoEingang, Ankunft, Dauer, Grenzstelle,letzterMitarbeiter, CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig], Datum, Vorbereitet, Vorgeschrieben, Freigabe, Telefonisch, Info,Handling,AvisoTVHinweis,DATEDIFF(DAY,getdate(),[VoraussichtlichesEintreffen]) TageBisEintreffen + FROM Aviso + WHERE 1=1 " & sqlWhere & " AND Status = 3 ORDER BY Ankunft ASC, AvisoEingang ASC, Datum ASC", "AVISO") + Return dt + End Function + + Sub UPDATE_FahrerHandy(FahrerHandy As String) + If AvisoID <= 0 Then Exit Sub + If If(FahrerHandy, "") = "" Then Exit Sub + Me.FahrerHandy = FahrerHandy + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + SQL.doSQL("UPDATE AVISO SET FahrerHandy='" & FahrerHandy & "' WHERE AvisoId=" & AvisoID, "AVISO") + End Sub + + + Sub UPDATE_FreigabeInfo(Freigabe_Info As String) + If AvisoID <= 0 Then Exit Sub + Me.Freigabe_Info = Freigabe_Info + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + SQL.doSQL("UPDATE AVISO SET Freigabe_Info='" & Freigabe_Info & "' WHERE AvisoId=" & AvisoID, "AVISO") + End Sub + + + Sub LOAD_Vorpapiere() + If AvisoID <= 0 Then Exit Sub + VORPAPIERE.Clear() + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim dt = SQL.loadDgvBySql("SELECT * FROM tblAvisoVorpapier WHERE vp_AvisoId='" & AvisoID & "'", "AVISO") + If dt IsNot Nothing Then + For Each r In dt.Rows + Dim VP As New cAvisoVorpapier + VP.vp_AvisoId = AvisoID + VP.vp_Nr = r("vp_Nr") + VP.vp_Art = r("vp_Art") + VORPAPIERE.Add(VP) + Next + End If + End Sub + + + +End Class + +Public Class cDruckAviso + Property Datum As String + Property Status As String + Property LetzterMitarbeiter As String + Property LKW_Nr As String + Property Fraechter As String + Property Auftraggeber As String + Property Ankunft As String + Property Freigabe As String + Property Dauer As String + Property Info As String + Property Aenderungen As String + Property Telefonisch As String + Property AvisoEingang As String + Property Grenzstelle As String +End Class + +Public Class cAvisoDAL + + Public Function LesenAviso(hID As Integer, hSQL As String) As cAviso + 'Dim FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID) + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "" Then + ' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ", hID) + 'Else + ' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID) + 'End If + Else + sql = hSQL + End If + + Dim daten As cAviso = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cAviso() + daten.AvisoID = VarToInt(dr.Item("AvisoID")) + daten.Datum = CDate(VarToDate(dr.Item("Datum"))) + daten.LKW_Nr = VarToStr(dr.Item("LKW_Nr")) + daten.Telefonisch = VarToStr(dr.Item("Telefonisch")) + daten.Änderungen = VarToStr(dr.Item("Änderungen")) + daten.Info = VarToStr(dr.Item("Info")) + daten.Status = VarToInt(dr.Item("Status")) + daten.Auftraggeber = VarToStr(dr.Item("Auftraggeber")) + daten.Auftraggeber_KdNr = CStr(VarToInt(dr.Item("Auftraggeber_KdNr"))) + daten.Frächter_KdNr = CStr(VarToInt(dr.Item("Frächter_KdNr"))) + daten.Frächter = VarToStr(dr.Item("Frächter")) + daten.letzterMitarbeiter = VarToStr(dr.Item("letzterMitarbeiter")) + daten.Ankunft = CDate(VarToDate(dr.Item("Ankunft"))) + daten.Freigabe = CDate(VarToDate(dr.Item("Freigabe"))) + daten.Vorbereitet = CDate(VarToDate(dr.Item("Vorbereitet"))) + daten.Vorgeschrieben = CDate(VarToDate(dr.Item("Vorgeschrieben"))) + daten.AvisoEingang = CDate(VarToDate(dr.Item("AvisoEingang"))) + daten.Dauer = VarToInt(dr.Item("Dauer")) + daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle")) + daten.LKW_fertig = VarToBool(dr.Item("LKW_fertig")) + daten.Handling = VarToBool(dr.Item("Handling")) + daten.AvisoTVHinweis = VarToStr(dr.Item("AvisoTVHinweis")) + daten.Sammelakt = VarToBool(dr.Item("Sammelakt")) + daten.Buero = VarToStr(dr.Item("Buero")) + daten.ImEx = VarToStr(dr.Item("ImEx")) + daten.Abgeschlossen = VarToBool(dr.Item("Abgeschlossen")) + daten.FIRMA = VarToStr(dr.Item("FIRMA")) + daten.Durchgangszollstelle1 = VarToStr(dr.Item("Durchgangszollstelle1")) + daten.Durchgangszollstelle2 = VarToStr(dr.Item("Durchgangszollstelle2")) + daten.Durchgangszollstelle3 = VarToStr(dr.Item("Durchgangszollstelle3")) + daten.Durchgangszollstelle4 = VarToStr(dr.Item("Durchgangszollstelle4")) + daten.Durchgangszollstelle5 = VarToStr(dr.Item("Durchgangszollstelle5")) + daten.Durchgangszollstelle6 = VarToStr(dr.Item("Durchgangszollstelle6")) + daten.Ausgangszollstelle = VarToStr(dr.Item("Ausgangszollstelle")) + daten.Zollstelle = VarToStr(dr.Item("Zollstelle")) + daten.TransportTemperatur = VarToStr(dr.Item("TransportTemperatur")) + daten.Zugmaschine = VarToStr(dr.Item("Zugmaschine")) + daten.FahrerHandy = VarToStr(dr.Item("FahrerHandy")) + daten.LKW_Nationalitaet = VarToStr(dr.Item("LKW_Nationalitaet")) + daten.DakosyRef = VarToStr(dr.Item("DakosyRef")) + daten.LetzterMitarbeiterId = If(dr.Item("letzterMitarbeiterid") Is DBNull.Value, Nothing, dr.Item("letzterMitarbeiterid")) + daten.TeamId = If(dr.Item("TeamId") Is DBNull.Value, Nothing, dr.Item("TeamId")) + daten.Cluster = If(dr.Item("Cluster") Is DBNull.Value, Nothing, dr.Item("Cluster")) + daten.Freigabe_Info = VarToStr(dr.Item("Freigabe_Info")) + daten.KdAuftragsNr_Frachtfuehrer = If(dr.Item("KdAuftragsNr_Frachtfuehrer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Frachtfuehrer")) + daten.KdAuftragsNr_Avisierer = If(dr.Item("KdAuftragsNr_Avisierer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Avisierer")) + daten.FreigabeFiliale = If(dr.Item("FreigabeFiliale") Is DBNull.Value, Nothing, dr.Item("FreigabeFiliale")) + daten.VoraussichtlichesEintreffen = If(dr.Item("VoraussichtlichesEintreffen") Is DBNull.Value, Nothing, dr.Item("VoraussichtlichesEintreffen")) + daten.VORSYSTEM = If(dr.Item("VORSYSTEM") Is DBNull.Value, Nothing, dr.Item("VORSYSTEM")) + daten.Warenort = If(dr.Item("Warenort") Is DBNull.Value, Nothing, dr.Item("Warenort")) + daten.ZOLLDigitalEingereicht = If(dr.Item("ZOLLDigitalEingereicht") Is DBNull.Value, Nothing, dr.Item("ZOLLDigitalEingereicht")) + + + + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + Public Function Suche_LKW(LKW_Nr As String) As String + 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war + Suche_LKW = "" + Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ORDER BY Datum DESC" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + 'Hinweis erfolgt nur, wenn LKW in den letzten 4 Tagen gefahren ist + If CDate(VarToDate(dr.Item("Datum"))) > Now.AddDays(-4) Then + Suche_LKW = "Achtung: der LKW mit der Nr. " & LKW_Nr & " wurde bereits vor kurzem eingetragen - und zwar am " & + Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm") + End If + End If + dr.Close() + End Using + End Using + conn.Close() + Return Suche_LKW + End Function + + Public Function Suche_LKWStatus(LKW_Nr As String) As String + 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war + Suche_LKWStatus = "" + + Dim firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + If firma = "" Then firma = "VERAG" + + If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then + firma = " AND ( FIRMA='" & firma & "' OR CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' ) " + Else + firma = " AND FIRMA='" & firma & "' " + End If + + + + Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND [Status] Not in (1,2) " & firma & " ORDER BY Datum DESC" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + Suche_LKWStatus = "Achtung: der LKW mit der Nr. " & LKW_Nr & " existiert bereits mit dem Status '" & cGlobal.getStatusText(VarToInt2(dr.Item("Status"))) & "', Eingetragen, am " & + Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm") + End If + dr.Close() + End Using + End Using + conn.Close() + Return Suche_LKWStatus + End Function + + Public Function getAvisoInfo(AvisoID As Integer) As String + Dim Info As String = "" + Dim sql As String = "SELECT Info FROM Aviso WHERE AvisoID = '" & AvisoID & "' " + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If Not dr.Item("Info") Is DBNull.Value Then + Info = dr.Item("Info").ToString + End If + End If + dr.Close() + End Using + End Using + conn.Close() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), "Problem in Function 'Suche_LKW'") + End Try + Return Info + End Function + + Public Function VermerkExistsInAvisoByID(AvisoID As Integer, VermerkeCode As Integer) As Boolean + 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war + Dim b As Boolean = False + Dim sql As String = "SELECT top 1 VermerkID FROM Vermerke WHERE AvisoID = '" & AvisoID & "' AND VermerkeCode = '" & VermerkeCode & "' " + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + b = True + End If + dr.Close() + End Using + End Using + conn.Close() + Return b + End Function + + + + Public Function loadDataTableBySQL(hSQL As String, Optional timeout As Integer = 0) As DataTable + Try + Dim myTable = New DataTable() + Dim conn As SqlConnection = cSqlDb.GetNewOpenConnectionAVISO() + + ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection() + Using cmd As New SqlCommand(hSQL, conn) + If timeout > 0 Then cmd.CommandTimeout = timeout + Dim dr As SqlDataReader = cmd.ExecuteReader() + + myTable.Load(dr) + dr.Close() + End Using + conn.Close() + ' End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + + Return Nothing + End Function + + Public Function loadDataTableBySQL_OLD(hSQL As String) As DataTable + ' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection() + SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf. + + Try + conn.Open() + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + conn.Close() + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Aviso'") + conn.Close() + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + ' Environment.Exit(0) + End If + End Try + End Using + 'End While + + Return Nothing + End Function + + + Public Function getStandzeitInfo(maId As Integer, von As Integer, bis As Integer, Warnstufe As Integer) As DataTable + Dim hSQL As String = "SELECT AvisoID,[LKW_Nr], [Ankunft], StandzeitWarnstufe " & + " FROM Aviso INNERJOIN" & + " WHERE [Status] = 3 AND LetzterMitarbeiterId = " & maId & " " & + " AND DATEDIFF(MINUTE, Ankunft, getdate()) between " & von & " AND " & bis & " " & + " AND (StandzeitWarnstufe is null OR StandzeitWarnstufe < " & Warnstufe & ")" + + Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection() + SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf. + conn.Open() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + conn.Close() + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Aviso'") + conn.Close() + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + End Using + + + Return Nothing + End Function + + Public Sub UpdateWarnstufe(ByVal avisoID As Integer, ByVal Warnstufe As Integer) + + Dim sql = "UPDATE Aviso SET [StandzeitWarnstufe]= @Warnstufe WHERE AvisoID = @AvisoID" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Warnstufe", Warnstufe) + cmd.Parameters.AddWithValue("@AvisoID", avisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe") + End Try + End Using + conn.Close() + End Sub + + Public Sub UpdateAvisoTVHinweis(ByVal avisoID As Integer, ByVal AvisoTVHinweis As String) + + Dim sql = "UPDATE Aviso SET [AvisoTVHinweis]= @AvisoTVHinweis WHERE AvisoID = @AvisoID" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoTVHinweis", AvisoTVHinweis) + cmd.Parameters.AddWithValue("@AvisoID", avisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe") + End Try + End Using + conn.Close() + End Sub + + Public Sub addAenderung(AvisoID As Integer, Aenderung_Art As String, Aenderung_Text As String) + Dim hAuswahl As String = " INSERT INTO Aenderungen " & + " ([AvisoID], [Datum], [Mitarbeiter], [MitarbeiterId], [Aenderung_Art], [Aenderung_Text]) " & + " VALUES (@AvisoID, @Datum, @Mitarbeiter, @MitarbeiterId, @Aenderung_Art, @Aenderung_Text)" + + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + + cmd.Parameters.AddWithValue("@AvisoID", AvisoID) + cmd.Parameters.AddWithValue("@Datum", Now) + cmd.Parameters.AddWithValue("@Mitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter) + cmd.Parameters.AddWithValue("@MitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID) + cmd.Parameters.AddWithValue("@Aenderung_Art", Aenderung_Art) + cmd.Parameters.AddWithValue("@Aenderung_Text", Aenderung_Text) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aenderungen") + End Try + End Using + conn.Close() + End Sub + + Public Function SpeichernAviso(ByVal d As cAviso, Optional letzerMaIdAuto As Boolean = True) As Integer + Dim hAuswahl As String + Dim id As Integer = -1 + If d.AvisoID <= 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Aviso " & + "(Datum, LKW_Nr, Telefonisch, Änderungen, Info, Status, Auftraggeber, Frächter, letzterMitarbeiter, " & + "Vorbereitet,Vorgeschrieben, Ankunft, Freigabe, Dauer, AvisoEingang, Grenzstelle, LKW_fertig,letzterMitarbeiterId,Handling,Sendungen_Gesamtanzahl,Sammelakt,Frächter_KdNr,Auftraggeber_KdNr,AvisoTVHinweis,Buero,Imex,Abgeschlossen,FIRMA, " & + " Durchgangszollstelle1,Durchgangszollstelle2,Durchgangszollstelle3,Durchgangszollstelle4,Durchgangszollstelle5,Durchgangszollstelle6,Ausgangszollstelle,Zollstelle,TransportTemperatur,Zugmaschine,FahrerHandy,LKW_Nationalitaet,DakosyRef,TeamId,Cluster,Freigabe_Info,KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer,FreigabeFiliale,VoraussichtlichesEintreffen,Warenort,ZOLLDigitalEingereicht) VALUES (" & + "@Datum, @LKW_Nr, @Telefonisch, @Änderungen, @Info, @Status, @Auftraggeber, @Frächter, @letzterMitarbeiter, " & + "@Vorbereitet, @Vorgeschrieben, @Ankunft, @Freigabe, @Dauer, @AvisoEingang, @Grenzstelle, @LKW_fertig,@letzterMitarbeiterId,@Handling,@Sendungen_Gesamtanzahl,@Sammelakt,@Frächter_KdNr,@Auftraggeber_KdNr,@AvisoTVHinweis,@Buero,@Imex,@Abgeschlossen,@FIRMA," & + "@Durchgangszollstelle1,@Durchgangszollstelle2,@Durchgangszollstelle3,@Durchgangszollstelle4,@Durchgangszollstelle5,@Durchgangszollstelle6,@Ausgangszollstelle,@Zollstelle,@TransportTemperatur,@Zugmaschine,@FahrerHandy,@LKW_Nationalitaet,@DakosyRef,@TeamId,@Cluster,@Freigabe_Info,@KdAuftragsNr_Frachtfuehrer,@KdAuftragsNr_Avisierer,@FreigabeFiliale,@VoraussichtlichesEintreffen,@Warenort,@ZOLLDigitalEingereicht); SELECT CAST(scope_identity() AS int);" + Else + id = d.AvisoID + 'Änderung + hAuswahl = String.Format( + "UPDATE Aviso SET Datum = @Datum, LKW_Nr = @LKW_Nr, Telefonisch=@Telefonisch, Änderungen=@Änderungen, Info=@Info, Status=@Status, Auftraggeber=@Auftraggeber, Frächter=@Frächter, " & + " letzterMitarbeiter = @letzterMitarbeiter, Vorbereitet=@Vorbereitet,Vorgeschrieben=@Vorgeschrieben, Ankunft = @Ankunft, Freigabe = @Freigabe, Dauer = @Dauer, AvisoEingang = @AvisoEingang, Grenzstelle=@Grenzstelle, LKW_fertig=@LKW_fertig, letzterMitarbeiterId=@letzterMitarbeiterId, Handling=@Handling,Sendungen_Gesamtanzahl=@Sendungen_Gesamtanzahl,Sammelakt=@Sammelakt,Frächter_KdNr=@Frächter_KdNr,Auftraggeber_KdNr=@Auftraggeber_KdNr,AvisoTVHinweis=@AvisoTVHinweis,Buero=@Buero,Imex=@Imex,Abgeschlossen=@Abgeschlossen, " & + " Durchgangszollstelle1=@Durchgangszollstelle1,Durchgangszollstelle2=@Durchgangszollstelle2,Durchgangszollstelle3=@Durchgangszollstelle3,Durchgangszollstelle4=@Durchgangszollstelle4,Durchgangszollstelle5=@Durchgangszollstelle5,Durchgangszollstelle6=@Durchgangszollstelle6,Ausgangszollstelle=@Ausgangszollstelle,Zollstelle=@Zollstelle,TransportTemperatur=@TransportTemperatur,Zugmaschine=@Zugmaschine,FahrerHandy=@FahrerHandy, LKW_Nationalitaet=@LKW_Nationalitaet, DakosyRef=@DakosyRef,TeamId=@TeamId,Cluster=@Cluster,Freigabe_Info=@Freigabe_Info,KdAuftragsNr_Frachtfuehrer =@KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer=@KdAuftragsNr_Avisierer , FreigabeFiliale=@FreigabeFiliale,VoraussichtlichesEintreffen=@VoraussichtlichesEintreffen,Warenort=@Warenort,ZOLLDigitalEingereicht=@ZOLLDigitalEingereicht,FIRMA=@FIRMA" & + " WHERE AvisoID = @AvisoID") + End If + + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + + cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum) + ' cmd.Parameters.AddWithValue("@Datum", SQLNullDate(d.Datum)) + cmd.Parameters.AddWithValue("@LKW_Nr", d.LKW_Nr) + cmd.Parameters.AddWithValue("@Telefonisch", d.Telefonisch) + cmd.Parameters.AddWithValue("@Änderungen", d.Änderungen) + cmd.Parameters.AddWithValue("@Info", d.Info) + cmd.Parameters.AddWithValue("@Status", d.Status) + cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber) + cmd.Parameters.AddWithValue("@Frächter", d.Frächter) + cmd.Parameters.AddWithValue("@letzterMitarbeiter", d.letzterMitarbeiter) + cmd.Parameters.Add("@Vorbereitet", SqlDbType.DateTime).Value = SQLNullDate(d.Vorbereitet) + cmd.Parameters.Add("@Vorgeschrieben", SqlDbType.DateTime).Value = SQLNullDate(d.Vorgeschrieben) + cmd.Parameters.Add("@Ankunft", SqlDbType.DateTime2).Value = SQLNullDate(d.Ankunft) + cmd.Parameters.Add("@Freigabe", SqlDbType.DateTime2).Value = SQLNullDate(d.Freigabe) + ' cmd.Parameters.AddWithValue("@Vorbereitet", SQLNullDate(d.Vorbereitet)) + ' cmd.Parameters.AddWithValue("@Vorgeschrieben", SQLNullDate(d.Vorgeschrieben)) + ' cmd.Parameters.AddWithValue("@Ankunft", d.Ankunft) + ' cmd.Parameters.AddWithValue("@Freigabe", d.Freigabe) + + + cmd.Parameters.AddWithValue("@Dauer", d.Dauer) + cmd.Parameters.Add("@AvisoEingang", SqlDbType.DateTime).Value = SQLNullDate(d.AvisoEingang) + ' cmd.Parameters.AddWithValue("@AvisoEingang", SQLNullDate(d.AvisoEingang)) + + cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle) + cmd.Parameters.AddWithValue("@LKW_fertig", d.LKW_fertig) + cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID) + cmd.Parameters.AddWithValue("@letzterMitarbeiterId", If(letzerMaIdAuto, cGlobal.AktiverMitarbeiter.MitarbeiterID, IIf(IsNumeric(d.LetzterMitarbeiterId), d.LetzterMitarbeiterId, DBNull.Value))) + cmd.Parameters.AddWithValue("@Handling", d.Handling) + cmd.Parameters.AddWithValue("@Sendungen_Gesamtanzahl", d.Sendungen_Gesamtanzahl) + cmd.Parameters.AddWithValue("@Sammelakt", d.Sammelakt) + + cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", IIf(IsNumeric(d.Auftraggeber_KdNr), d.Auftraggeber_KdNr, DBNull.Value)) + cmd.Parameters.AddWithValue("@Frächter_KdNr", IIf(IsNumeric(d.Frächter_KdNr), d.Frächter_KdNr, DBNull.Value)) + cmd.Parameters.AddWithValue("@AvisoTVHinweis", d.AvisoTVHinweis) + cmd.Parameters.AddWithValue("@Buero", If(d.Buero, "")) + cmd.Parameters.AddWithValue("@Imex", d.ImEx) + cmd.Parameters.AddWithValue("@Abgeschlossen", d.Abgeschlossen) + cmd.Parameters.AddWithValue("@FIRMA", d.FIRMA) + + cmd.Parameters.AddWithValue("@Durchgangszollstelle1", If(d.Durchgangszollstelle1 Is Nothing, DBNull.Value, d.Durchgangszollstelle1)) + cmd.Parameters.AddWithValue("@Durchgangszollstelle2", If(d.Durchgangszollstelle2 Is Nothing, DBNull.Value, d.Durchgangszollstelle2)) + cmd.Parameters.AddWithValue("@Durchgangszollstelle3", If(d.Durchgangszollstelle3 Is Nothing, DBNull.Value, d.Durchgangszollstelle3)) + cmd.Parameters.AddWithValue("@Durchgangszollstelle4", If(d.Durchgangszollstelle4 Is Nothing, DBNull.Value, d.Durchgangszollstelle4)) + cmd.Parameters.AddWithValue("@Durchgangszollstelle5", If(d.Durchgangszollstelle5 Is Nothing, DBNull.Value, d.Durchgangszollstelle5)) + cmd.Parameters.AddWithValue("@Durchgangszollstelle6", If(d.Durchgangszollstelle6 Is Nothing, DBNull.Value, d.Durchgangszollstelle6)) + cmd.Parameters.AddWithValue("@Ausgangszollstelle", If(d.Ausgangszollstelle Is Nothing, DBNull.Value, d.Ausgangszollstelle)) + cmd.Parameters.AddWithValue("@Zollstelle", If(d.Zollstelle Is Nothing, DBNull.Value, d.Zollstelle)) + cmd.Parameters.AddWithValue("@TransportTemperatur", If(d.TransportTemperatur Is Nothing, DBNull.Value, d.TransportTemperatur)) + cmd.Parameters.AddWithValue("@Zugmaschine", If(d.Zugmaschine Is Nothing, DBNull.Value, d.Zugmaschine)) + cmd.Parameters.AddWithValue("@FahrerHandy", If(d.FahrerHandy Is Nothing, DBNull.Value, d.FahrerHandy)) + cmd.Parameters.AddWithValue("@LKW_Nationalitaet", If(d.LKW_Nationalitaet Is Nothing, DBNull.Value, d.LKW_Nationalitaet)) + cmd.Parameters.AddWithValue("@DakosyRef", If(d.DakosyRef Is Nothing, DBNull.Value, d.DakosyRef)) + cmd.Parameters.AddWithValue("@TeamId", If(d.TeamId Is Nothing, DBNull.Value, d.TeamId)) + cmd.Parameters.AddWithValue("@Cluster", If(d.Cluster Is Nothing, DBNull.Value, d.Cluster)) + cmd.Parameters.AddWithValue("@Freigabe_Info", d.Freigabe_Info) + + cmd.Parameters.AddWithValue("@KdAuftragsNr_Frachtfuehrer", If(d.KdAuftragsNr_Frachtfuehrer Is Nothing, DBNull.Value, d.KdAuftragsNr_Frachtfuehrer)) + cmd.Parameters.AddWithValue("@KdAuftragsNr_Avisierer", If(d.KdAuftragsNr_Avisierer Is Nothing, DBNull.Value, d.KdAuftragsNr_Avisierer)) + cmd.Parameters.AddWithValue("@FreigabeFiliale", If(d.FreigabeFiliale Is Nothing, DBNull.Value, d.FreigabeFiliale)) + cmd.Parameters.AddWithValue("@VoraussichtlichesEintreffen", If(d.VoraussichtlichesEintreffen Is Nothing, DBNull.Value, d.VoraussichtlichesEintreffen)) + cmd.Parameters.AddWithValue("@Warenort", d.Warenort) + cmd.Parameters.AddWithValue("@ZOLLDigitalEingereicht", d.ZOLLDigitalEingereicht) + + + Try + If d.AvisoID <= 0 Then + id = (Convert.ToInt32(cmd.ExecuteScalar())) + ' MsgBox(id) + Else + cmd.ExecuteNonQuery() + End If + + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aviso") + End Try + End Using + conn.Close() + + Return id + + End Function + + + + Public Function SpeichernAvisoVorpapiere(ByVal AvisoId As Integer, VORPAPIERE As List(Of cAvisoVorpapier)) As Boolean + SpeichernAvisoVorpapiere = True + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + If SQL.doSQL("DELETE tblAvisoVorpapier WHERE [vp_AvisoId]='" & AvisoId & "'", "AVISO") Then + For Each VP In VORPAPIERE + If Not SQL.doSQL("INSERT INTO tblAvisoVorpapier (vp_AvisoId, vp_Art,vp_Nr) VALUES ('" & AvisoId & "','" & VP.vp_Art & "','" & VP.vp_Nr & "') ", "AVISO") Then SpeichernAvisoVorpapiere = False + Next + Else + SpeichernAvisoVorpapiere = True = False + End If + + End Function + + + + Public Function setQSAufträge(ByVal daten As List(Of cQSAufträge)) As Boolean + For Each d As cQSAufträge In daten + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Dim sql As String = " begin tran" & + " if exists (select * from tblQS_Auftragspositionen with (updlock,serializable) where QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID) " & + " begin " & + " UPDATE tblQS_Auftragspositionen " & + " SET QS_Abfertigungsart_Anzahl=@QS_Abfertigungsart_Anzahl " & + " WHERE QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID " & + " End " & + " Else " & + " begin " & + " INSERT INTO tblQS_Auftragspositionen " & + " ([AvisoID],[QS_Abfertigungsart_ID],[QS_Abfertigungsart_Anzahl]) " & + " VALUES(@AvisoID, @QS_Abfertigungsart_ID, @QS_Abfertigungsart_Anzahl) " & + " End " & + " commit tran " + + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID) + cmd.Parameters.AddWithValue("@QS_Abfertigungsart_ID", d.QS_Abfertigungsart_ID) + cmd.Parameters.AddWithValue("@QS_Abfertigungsart_Anzahl", d.QS_Abfertigungsart_Anzahl) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm") + Return False + End Try + + End Using + ' conn.Close() + Next + + Return True + End Function + + + Public Function insertSendungEmpty(ByVal AvisoID As Integer, ByVal PosUnterNr As Integer, ByVal FilialenNr As Integer, ByVal AbfertigungsNr As Object, ByVal UnterNr As Integer, ByVal tblSnd_Abfertigungsart_ID As Object, Optional tblSnd_AuftraggeberKdNr As Object = Nothing, Optional tblSnd_Auftraggeber As Object = Nothing, Optional tblSnd_Fremdspedition As Boolean = False, Optional ByRef sndId As Integer = -1) As Boolean + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Dim sql As String = " INSERT INTO tblSendungen " & + " ([tblSnd_PosUnterNr],[tblSnd_AvisoID],FilialenNr,AbfertigungsNr,UnterNr,tblSnd_Abfertigungsart_ID,tblSnd_AuftraggeberKdNr,tblSnd_Auftraggeber,tblSnd_Fremdspedition,tblSnd_QS_MA,LetzterMitarbeiterId,LetzterMitarbeiter) " & + " VALUES(@PosUnterNr,@AvisoID,@FilialenNr,@AbfertigungsNr,@UnterNr,@tblSnd_Abfertigungsart_ID,@tblSnd_AuftraggeberKdNr,@tblSnd_Auftraggeber,@tblSnd_Fremdspedition,@tblSnd_QS_MA,@LetzterMitarbeiterId,@LetzterMitarbeiter) " + + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoID", AvisoID) + cmd.Parameters.AddWithValue("@PosUnterNr", PosUnterNr) + + + cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr) + cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr) + cmd.Parameters.AddWithValue("@UnterNr", UnterNr) + + cmd.Parameters.AddWithValue("@tblSnd_Abfertigungsart_ID", IIf(tblSnd_Abfertigungsart_ID Is Nothing, DBNull.Value, tblSnd_Abfertigungsart_ID)) + cmd.Parameters.AddWithValue("@tblSnd_AuftraggeberKdNr", IIf(tblSnd_AuftraggeberKdNr Is Nothing, DBNull.Value, tblSnd_AuftraggeberKdNr)) + cmd.Parameters.AddWithValue("@tblSnd_Auftraggeber", IIf(tblSnd_Auftraggeber Is Nothing, DBNull.Value, tblSnd_Auftraggeber)) + cmd.Parameters.AddWithValue("@tblSnd_Fremdspedition", tblSnd_Fremdspedition) + + If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then + cmd.Parameters.AddWithValue("@tblSnd_QS_MA", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + Else + cmd.Parameters.AddWithValue("@tblSnd_QS_MA", DBNull.Value) + End If + + cmd.Parameters.AddWithValue("@LetzterMitarbeiter", VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME) + cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + + + Try + cmd.ExecuteNonQuery() + + If sndId <= 0 Then + Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn) + sndId = CInt(newcmd.ExecuteScalar) + End If + + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm") + Return False + End Try + + End Using + + Return True + End Function + + + Public Function reIndexSendungen(ByVal AvisoID As Integer) As Boolean + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Dim sql As String = " DECLARE @counter int " & + " SET @counter = 0 " & + " UPDATE AVISO_new.dbo.tblSendungen " & + " SET @counter = tblSnd_PosUnterNr = @counter + 1 " & + " WHERE tblSnd_AvisoID = @AvisoID " + + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoID", AvisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm") + Return False + End Try + + End Using + + Return True + End Function + + + Public Sub LöschenAviso(ByVal hID As Integer) + + Exit Sub + ' LöschenAviso_Vermerke(hID) + ' LöschenAviso_Aenderungen(hID) + LöschenAviso_Aviso(hID) + End Sub + + Public Sub LöschenAviso_Vermerke(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Vermerke WHERE AvisoID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Vermerke-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + Public Sub LöschenAviso_Aenderungen(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Aenderungen WHERE AvisoID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Aenderungen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + Public Sub LöschenAviso_Aviso(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Aviso WHERE AvisoID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Aviso-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + + Public Function LeseAvisoFürDruck(hSQL As String, hIntern As Boolean) As List(Of cDruckAviso) + Dim datenListe As List(Of cDruckAviso) = New List(Of cDruckAviso) + Dim datensatz As cDruckAviso + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If (dr.HasRows) Then + While dr.Read() + datensatz = New cDruckAviso() + datensatz.Datum = Format(CDate(dr.Item("Datum")), "dd.MM.yyyy") + Select Case VarToInt(dr.Item("Status")) + Case cGlobal.Status_Erfasst + datensatz.Status = "erfasst" + Case cGlobal.Status_Ankunft + datensatz.Status = "Ankunft" + Case cGlobal.Status_Freigegeben + datensatz.Status = "freigegeben" + Case cGlobal.Status_NichtEingetroffen + datensatz.Status = "LKW n.e." + Case Else + datensatz.Status = "unbekannt" + End Select + datensatz.LetzterMitarbeiter = dr.Item("LetzterMitarbeiter").ToString + datensatz.LKW_Nr = dr.Item("LKW_Nr").ToString + datensatz.Fraechter = dr.Item("Frächter").ToString + datensatz.Auftraggeber = dr.Item("Auftraggeber").ToString + datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString + datensatz.Telefonisch = VarToStr(dr.Item("Telefonisch")) + + + If CDate(VarToDate(dr.Item("Ankunft"))) = LeerDatum Then + datensatz.Ankunft = "" + Else + datensatz.Ankunft = Format(CDate(dr.Item("Ankunft")), "dd.MM. HH:mm") + End If + If CDate(VarToDate(dr.Item("Freigabe"))) = LeerDatum Then + datensatz.Freigabe = "" + Else + datensatz.Freigabe = Format(CDate(dr.Item("Freigabe")), "dd.MM. HH:mm") + End If + If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then + datensatz.Freigabe = "" + Else + datensatz.Freigabe = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm") + End If + If VarToInt(dr.Item("Dauer")) = 0 Then + datensatz.Dauer = "" + Else + datensatz.Dauer = Minuten_auf_Text(VarToInt(dr.Item("Dauer"))) + End If + + If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then + datensatz.AvisoEingang = "" + Else + datensatz.AvisoEingang = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm") + End If + + datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString + + 'je nach Listenauswahl werden manche Felder unterschiedlich befüllt + If hIntern Then + datensatz.Aenderungen = dr.Item("Änderungen").ToString + datensatz.Info = dr.Item("Info").ToString + Else + 'das Feld 'Änderungen' wird hier "mißbraucht" (schnelle Lösung) + If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then + datensatz.Aenderungen = "" + Else + datensatz.Aenderungen = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm") + End If + + 'ins Infofeld kommen die Vermerke + Dim hVermerke As New cVermerkeDAL + datensatz.Info = hVermerke.Vermerke_einlesen(VarToInt(dr.Item("AvisoID"))) + + End If + datenListe.Add(datensatz) + End While + End If + dr.Close() + End Using + End Using + conn.Close() + + Return datenListe + End Function + + Public Function Check_Nicht_eingetroffen(hSQL As String) As Integer + 'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt + Check_Nicht_eingetroffen = 0 + Dim sql As String = hSQL + Dim AvisoDAL As New cAvisoDAL + Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) + Try + SqlConnection.ClearPool(conn) + conn.Open() + + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read() + Dim av As New cAviso + av = AvisoDAL.LesenAviso(VarToInt(dr.Item("AvisoID")), "") + av.Änderungen = "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen" & vbCrLf & av.Änderungen + av.letzterMitarbeiter = "Automatik" + av.Status = cGlobal.Status_NichtEingetroffen + Dim tmpid = AvisoDAL.SpeichernAviso(av) + AvisoDAL.addAenderung(tmpid, "automatisch auf 'LKW nicht eingetroffen' gestellt", "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen") + + Check_Nicht_eingetroffen += 1 + End While + dr.Close() + End Using + End Using + + Catch ex As Exception + MsgBox("Fehler in der Function Check_Nicht_eingetroffen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation) + Check_Nicht_eingetroffen = 0 + Exit Try + Finally + conn.Close() + End Try + + End Using + Return Check_Nicht_eingetroffen + End Function + + Public Function Anzahl_Aviso_ermitteln(hSQL As String) As Integer + 'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt + Anzahl_Aviso_ermitteln = 0 + Dim sql As String = hSQL + Dim daten As cAviso = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError() + Try + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read() + Anzahl_Aviso_ermitteln += 1 + End While + dr.Close() + End Using + End Using + conn.Close() + Catch ex As Exception + 'MsgBox("Fehler in der Function Anzahl_Aviso_ermitteln:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation) + Return 0 + Exit Try + End Try + + Return Anzahl_Aviso_ermitteln + End Function + +End Class + +Public Class cVermerk + Property VermerkID As Integer + Property AvisoID As Integer + Property SendungID As Integer = -1 + Property VermerkArt As String = "A" + Property Datum As Date + Property Mitarbeiter As String + Property MitarbeiterId As Integer + Property Hinweis_Vermerk As String + Property VermerkCodeId As Integer + Property VorauskasseId As Object = Nothing + Property Beschreibung As String = "" + Property SMSId As Integer + Property SMSStatus As Integer + + +End Class + +Public Class cVermerkeDAL + + + Public Function LesenVermerk(hID As Integer, hSQL As String) As cVermerk + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Vermerke WHERE VermerkID = {0}", hID) + Else + sql = hSQL + End If + Dim daten As cVermerk = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cVermerk() + daten.VermerkID = VarToInt(dr.Item("VermerkID")) + daten.AvisoID = VarToInt(dr.Item("AvisoID")) + daten.Datum = CDate(VarToDate(dr.Item("Datum"))) + daten.Hinweis_Vermerk = VarToStr(dr.Item("Hinweis_Vermerk")) + daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter")) + daten.VermerkCodeId = VarToInt(dr.Item("VermerkeCode")) + daten.SendungID = VarToInt(dr.Item("SendungID")) + daten.VermerkArt = VarToStr(dr.Item("VermerkArt")) + daten.VorauskasseId = VarToStr(dr.Item("VorauskasseId")) + daten.SMSId = VarToInt(dr.Item("SMSId")) + daten.SMSStatus = VarToInt(dr.Item("SMSstatus")) + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + Public Function Anzeigen_Vermerke(hSQL As String) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Vermerke'") + ' If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + ' Environment.Exit(0) + ' End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + + + Public Function loadTableMyAviso(maId As Integer) As DataTable + ' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Try + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + + Dim myTable = New DataTable() + Dim sql As String = " SELECT AvisoID, [Status],CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as [statVorb], LKW_Nr, Dauer, Datum, AvisoEingang, Ankunft, Grenzstelle, Freigabe, LetzterMitarbeiterId AS maId, CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as Vorbereitung,LetzterMitarbeiter,CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig],AvisoTVHinweis " & + " FROM Aviso " & + " WHERE ( Status IN (0, 3, 4, 5) OR ( Status = 1 AND [Abgeschlossen] = 0 )) " & + " AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND (LetzterMitarbeiterId=@maId OR " & + " AVISOid IN ( SELECT distinct(tblSnd_AvisoID) FROM [tblSendungen] WHERE tblSnd_inbearbeitung=1 AND tblSnd_Bearbeitung_MaId=@maId) ) " & + "ORDER BY case " & + " when [Status] =3 then 0 " & + " when [Status] =1 then 1 " & + " when [Status] =99 then 2 " & + " when [Status] =4 then 3 " & + " when [Status] =5 then 4 " & + " when [Status] =0 then 5 " & + " END, Ankunft " + + Using cmd As New SqlCommand(sql, conn) + 'Using dr As SqlDataReader = cmd.ExecuteReader() + Dim adapter As New SqlDataAdapter(cmd) + + 'cmd.CommandType = CommandType.StoredProcedure + cmd.Parameters.AddWithValue("@maId", maId) + 'Add parameters, e.g. + adapter.ContinueUpdateOnError = True + 'Get the data. + adapter.Fill(myTable) + + + 'dr.Close() + ' End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Vermerke'") + ' If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + 'MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + ' Environment.Exit(0) + 'End If + End Try + conn.Close() + ' End While + + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Vermerke'") + + End Try + Return Nothing + End Function + + + Public Function loadTableMyAvisoOLD(maId As Integer) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + ' command As New SqlCommand("sproc name here", connection), + ' adapter As New SqlDataAdapter(command) + + Using cmd As New SqlCommand("spmyaviso2", conn) + 'Using dr As SqlDataReader = cmd.ExecuteReader() + Dim adapter As New SqlDataAdapter(cmd) + + cmd.CommandType = CommandType.StoredProcedure + cmd.Parameters.AddWithValue("@maId", maId) + 'Add parameters, e.g. + adapter.ContinueUpdateOnError = True + 'Get the data. + adapter.Fill(myTable) + + + 'dr.Close() + ' End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Vermerke'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + + Public Function SpeichernVermerk(ByVal d As cVermerk) As Integer + SpeichernVermerk = -1 + + Dim hAuswahl As String + If d.VermerkID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Vermerke " & + "(AvisoID,VermerkArt,SendungID, Datum, Mitarbeiter, Hinweis_Vermerk, VermerkeCode,MitarbeiterId,Beschreibung,VorauskasseId,SMSId,SMSStatus) VALUES (@AvisoID,@VermerkArt, @SendungID, @Datum, @Mitarbeiter, @Hinweis_Vermerk, @VermerkeCode,@MitarbeiterId,@Beschreibung,@VorauskasseId,@SMSId,@SMSStatus)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE Vermerke SET AvisoID = @AvisoID, VermerkArt=@VermerkArt,SendungID=@SendungID,Datum = @Datum, Mitarbeiter = @Mitarbeiter, Hinweis_Vermerk = @Hinweis_Vermerk, VermerkeCode = @VermerkeCode, MitarbeiterId=@MitarbeiterId, Beschreibung=@Beschreibung,VorauskasseId=@VorauskasseId WHERE VermerkID = @VermerkID,SMSId=@SMSId,SMSStatus=@SMSStatus") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID) + cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum) + cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter) + cmd.Parameters.AddWithValue("@Hinweis_Vermerk", d.Hinweis_Vermerk) + cmd.Parameters.AddWithValue("@VermerkID", d.VermerkID) + cmd.Parameters.AddWithValue("@VermerkeCode", d.VermerkCodeId) + cmd.Parameters.AddWithValue("@MitarbeiterId", d.MitarbeiterId) + cmd.Parameters.AddWithValue("@Beschreibung", d.Beschreibung) + cmd.Parameters.AddWithValue("@VermerkArt", d.VermerkArt) + cmd.Parameters.AddWithValue("@SendungID", If(d.SendungID > 0, d.SendungID, DBNull.Value)) + cmd.Parameters.AddWithValue("@VorauskasseId", If(d.VorauskasseId IsNot Nothing, d.VorauskasseId, DBNull.Value)) + cmd.Parameters.AddWithValue("@SMSId", d.SMSId) + cmd.Parameters.AddWithValue("@SMSStatus", d.SMSStatus) + + Try + cmd.ExecuteNonQuery() + + Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn) + SpeichernVermerk = CInt(newcmd.ExecuteScalar) + + + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + + End Function + + Public Function SpeichernVermerkIDAufgehoben(VermerkID, VermerkIDAufgehoben) As Boolean + Dim SQLstr As String = " UPDATE Vermerke SET VermerkIDAufgehoben = @VermerkIDAufgehoben WHERE VermerkID = @VermerkID" + 'MsgBox("UPDATE Vermerke SET VermerkIDAufgehoben = " & VermerkIDAufgehoben & " WHERE VermerkID = " & VermerkID & "") + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(SQLstr, conn) + cmd.Parameters.AddWithValue("@VermerkID", VermerkID) + cmd.Parameters.AddWithValue("@VermerkIDAufgehoben", VermerkIDAufgehoben) + + Try + cmd.ExecuteNonQuery() + Return True + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + Return False + End Function + + + Public Sub UpdateLKW(ByVal avisoID As Integer, ByVal LKW_fertig As Boolean) + + Dim sql = "UPDATE Aviso Set [LKW_fertig]= @LKW_fertig WHERE AvisoID = @AvisoID" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@LKW_fertig", LKW_fertig) + cmd.Parameters.AddWithValue("@AvisoID", avisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + End Sub + + Public Sub UpdateSendungVorbereitet(ByVal AvisoID As Integer, ByVal sendungsId As Integer, ByVal MaId As Integer, ByVal inBearbeitung As Boolean) + + Dim sql = "UPDATE tblSendungen Set tblSnd_inBearbeitung= @inBearbeitung, tblSnd_Bearbeitung_MaId = @MaId WHERE tblSnd_SendungID = @sendungsId" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@inBearbeitung", inBearbeitung) + cmd.Parameters.AddWithValue("@MaId", MaId) + cmd.Parameters.AddWithValue("@sendungsId", sendungsId) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + 'SetInBearbeitungAVISO(AvisoID) + End Sub + + + Public Sub SetInBearbeitungAVISO(ByVal AvisoID As Integer) + + Dim sql = "UPDATE Aviso SET inBearbeitung= (SELECT CASE WHEN count([tblSnd_inBearbeitung])>0 Then '1' ELSE '0' END FROM [tblSendungen] where [tblSnd_AvisoID]=@AvisoID) WHERE AvisoID = @AvisoID " + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@AvisoID", AvisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + End Sub + + Public Sub UpdateGrenzstelle(ByVal avisoID As Integer, ByVal Grenzstelle As String) + + Dim sql = "UPDATE Aviso SET [Grenzstelle]= @Grenzstelle WHERE AvisoID = @AvisoID AND Status <> " & cGlobal.Status_Ankunft & "" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Grenzstelle", Grenzstelle) + cmd.Parameters.AddWithValue("@AvisoID", avisoID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Using + conn.Close() + End Sub + + + Public Sub LöschenVermerk(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Vermerke WHERE VermerkID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Vermerk kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + + + Public Sub toggleHervorheben(ByVal hID As Integer) + Dim sql = String.Format("UPDATE Vermerke SET Hervorheben=Hervorheben-1 WHERE VermerkID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Hervorheben kann nicht gesetzt werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Hervorheben") + End Try + End Using + conn.Close() + + End Sub + Public Function Vermerke_einlesen(hAvisoID As Integer) As String + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim x As String = "" + Dim Anz As Long = 0 + Dim sql As String = "SELECT * FROM Vermerke WHERE AvisoID = " & hAvisoID & " ORDER BY Datum" + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read() + x += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & vbTab & + VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf + Anz += 1 + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Function Vermerke_einlesen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation) + Anz = 0 + Exit Try + End Try + conn.Close() + If Anz = 0 Then x = "keine Vermerke vorhanden" + + Return x + + End Function + + Public Function Druckinfo(hSQL As String) As String + 'Hier werden alle Sonderkorrektur-Einträge des Tages in einem Textfile zusammengefasst (als Info für Druck) + Druckinfo = "" + Dim Anz As Integer = 0 + Dim daten As cVermerk = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read() + Anz += 1 + Druckinfo += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & " " & + VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf + End While + dr.Close() + If Anz = 0 Then Druckinfo = "" 'wenn nichts gefunden, dann Druckzeile leer lassen + End Using + End Using + Catch ex As Exception + Druckinfo = "Es ist ein Fehler beim Lesen der Vermerke aufgetreten." + Exit Try + End Try + conn.Close() + Return Druckinfo + End Function + +End Class + + +Public Class cAvisoTV + Property TVID As Long + Property FixeZeile1 As String + Property FixeZeile2 As String + Property FixeZeile3 As String + Property Standort As String + Property Art As String +End Class + +Public Class cAvisoTVDAL + + Public Function LesenAvisoTV(hID As Integer, wherehSQL As String, Standort As String, Special As String) As cAvisoTV + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + sql = "SELECT * FROM AvisoTV WHERE 1=1 " + If hID > 0 Then + sql &= String.Format(" AND TVID = {0}", hID) + Else + sql &= wherehSQL + End If + + If Standort <> "" Then + sql &= " AND Standort='" & Standort & "'" + End If + + If Standort <> "" Then + sql &= " AND (Special is null or Special='" & Special & "') " + End If + + sql &= " ORDER BY Special desc,TVID " + + Dim daten As cAvisoTV = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError() + Try + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cAvisoTV() + daten.TVID = VarToInt(dr.Item("TVID")) + daten.FixeZeile1 = VarToStr(dr.Item("FixeZeile1")) + daten.FixeZeile2 = VarToStr(dr.Item("FixeZeile2")) + daten.FixeZeile3 = VarToStr(dr.Item("FixeZeile3")) + daten.Standort = VarToStr(dr.Item("Standort")) + daten.Art = VarToStr(dr.Item("Art")) + End If + dr.Close() + End Using + End Using + Return daten + Catch ex As Exception + Return Nothing + End Try + conn.Close() + + End Function + + Public Sub SpeichernAvisoTV(ByVal d As cAvisoTV) + Dim hAuswahl As String + If d.TVID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO AvisoTV " & + "(FixeZeile1, FixeZeile2, FixeZeile3) VALUES (@FixeZeile1, @FixeZeile2, @FixeZeile3, @Standort, @Art)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE AvisoTV SET FixeZeile1=@FixeZeile1, FixeZeile2=@FixeZeile2, FixeZeile3=@FixeZeile3 , Standort=@Standort , Art=@Art WHERE TVID = @TVID") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@FixeZeile1", d.FixeZeile1) + cmd.Parameters.AddWithValue("@FixeZeile2", d.FixeZeile2) + cmd.Parameters.AddWithValue("@FixeZeile3", d.FixeZeile3) + cmd.Parameters.AddWithValue("@Standort", d.Standort) + cmd.Parameters.AddWithValue("@Art", d.Art) + cmd.Parameters.AddWithValue("@TVID", d.TVID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern AvisoTV") + End Try + End Using + conn.Close() + End Sub + + Public Sub LöschenAvisoTV(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM AvisoTV WHERE TVID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("AvisoTV-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + + +End Class + +Public Class cOption + Property OptionID As Long + Property eMail_Ankunft_Betreff As String + Property eMail_Ankunft_Text As String + Property eMail_Freigabe_Betreff As String + Property eMail_Freigabe_Text As String +End Class + +Public Class cOptionenDAL + + Public Function LesenOptionen(hID As Integer, hSQL As String) As cOption + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Optionen WHERE OptionID = {0}", hID) + Else + sql = hSQL + End If + Dim daten As cOption = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cOption() + daten.OptionID = VarToInt(dr.Item("OptionID")) + daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff")) + daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text")) + daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff")) + daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text")) + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + + + Public Function setAVISOFromPcName() As Integer + Dim zeilen As Integer = 0 + Dim sql = String.Format( + " UPDATE Aviso SET LetzterMitarbeiter = @LetzterMitarbeiter, LetzterMitarbeiterId = @LetzterMitarbeiterId " & + " WHERE Status IN (" & cGlobal.Status_Ankunft & ") AND LetzterMitarbeiter like '%/" & cAllgemein.USRNAME.ToString & "' " & + " AND LetzterMitarbeiterId NOT LIKE @LetzterMitarbeiterId") + ' MsgBox(sql) + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + ' cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter & "/" & cAllgemein.USRNAME.ToString) + cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter) + cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID) + Try + zeilen = cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler bei setAVISOFromPcName") + End Try + End Using + conn.Close() + Return zeilen + End Function + + + + Public Sub SpeichernOptionen(ByVal d As cOption) + Dim hAuswahl As String + If d.OptionID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Optionen " & + "(eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text) VALUES (@eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE Optionen SET eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text WHERE OptionID = @OptionID") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff) + cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text) + cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff) + cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text) + cmd.Parameters.AddWithValue("@OptionID", d.OptionID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Optionen können nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Optionen") + End Try + End Using + conn.Close() + End Sub + + Public Sub LöschenOptionen(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Optionen WHERE TVID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Optionen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + + +End Class + +Public Class cStandort + Property StandortID As Integer + Property Standort As String + Property Standort_Text As String + Property Info As String + Property eMail_Ankunft_Betreff As String + Property eMail_Ankunft_Text As String + Property eMail_Freigabe_Betreff As String + Property eMail_Freigabe_Text As String + + Property eMail_Zollbeleg_Betreff As String + Property eMail_Zollbeleg_Text As String +End Class + +Public Class cStandorteDAL + + Public Function LesenStandort(hID As Integer, hStandort As String, hSQL As String) As cStandort + 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen + Dim sql As String + If hID > 0 Then + sql = String.Format("SELECT * FROM Standorte WHERE StandortID = {0}", hID) + ElseIf hStandort <> "" Then + sql = String.Format("SELECT * FROM Standorte WHERE Standort = '" & hStandort.Trim & "' and FIRMA ='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'") + Else + sql = hSQL + End If + + Dim daten As cStandort = Nothing + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + daten = New cStandort() + daten.StandortID = VarToInt(dr.Item("StandortID")) + daten.Standort = VarToStr(dr.Item("Standort")) + daten.Standort_Text = VarToStr(dr.Item("Standort_Text")) + daten.Info = VarToStr(dr.Item("Info")) + daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff")) + daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text")) + daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff")) + daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text")) + daten.eMail_Zollbeleg_Betreff = VarToStr(dr.Item("eMail_Zollbeleg_Betreff")) + daten.eMail_Zollbeleg_Text = VarToStr(dr.Item("eMail_Zollbeleg_Text")) + End If + dr.Close() + End Using + End Using + conn.Close() + Return daten + End Function + + Public Function Anzeigen_Standorte(hSQL As String) As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_Standorte'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + Public Function Anzeigen_cboStandorte() As DataTable + While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + Dim sql As String + + sql = "SELECT StandortID, Standort FROM Standorte ORDER BY Standort" + + Using cmd As New SqlCommand(sql, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'Anzeigen_cboStandort'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + End While + + Return Nothing + End Function + + Public Sub SpeichernStandort(ByVal d As cStandort) + Dim hAuswahl As String + If d.StandortID = 0 Then + 'Neuanlage + hAuswahl = "INSERT INTO Standorte " & + "(Standort, Standort_Text, Info, eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text,eMail_Zollbeleg_Betreff,eMail_Zollbeleg_Text) VALUES (" & + "@Standort, @Standort_Text, @Info, @eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text,@eMail_Zollbeleg_Betreff,@eMail_Zollbeleg_Text)" + Else + 'Änderung + hAuswahl = String.Format( + "UPDATE Standorte SET Standort = @Standort, Standort_Text=@Standort_Text, Info=@Info, eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text , eMail_Zollbeleg_Betreff=@eMail_Zollbeleg_Betreff , eMail_Zollbeleg_Text=@eMail_Zollbeleg_Text " & + "WHERE StandortID = @StandortID") + End If + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Standort", d.Standort) + cmd.Parameters.AddWithValue("@Standort_Text", d.Standort_Text) + cmd.Parameters.AddWithValue("@Info", d.Info) + cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff) + cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text) + cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff) + cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text) + cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Betreff", d.eMail_Zollbeleg_Betreff) + cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Text", d.eMail_Zollbeleg_Text) + cmd.Parameters.AddWithValue("@StandortID", d.StandortID) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Standort") + End Try + End Using + conn.Close() + End Sub + + Public Sub LöschenStandort(ByVal hID As Integer) + Dim sql = String.Format("DELETE FROM Standorte WHERE StandortID = {0}", hID) + + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Standort kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen") + End Try + End Using + conn.Close() + End Sub + +End Class + + +Public Class Statistik + Public Function getKunden(hSQL As String) As DataTable + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Try + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'getKunden'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + ' End While + Return Nothing + End Function + + + Public Function getAVG(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As Long + If DauerVon = "" Then DauerBis = "0" + If DauerBis = "" Then DauerBis = "999999" + Dim sql As String = "SELECT avg(Dauer) " & + " FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " + ' Dim sql As String = "SELECT * " & + ' " FROM Aviso" + ' MsgBox(sql) + ' Dim daten As New List(Of cEntry) + Dim dr As SqlDataReader + 'Using conn As SqlConnection = cDatenbank.GetNewOpenConnection() + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + + ' MsgBox(conn.ConnectionString) + Using cmd As New SqlCommand(sql, conn) + dr = cmd.ExecuteReader() + Try + Dim cnt As Integer = 0 + If dr.Read Then + If Not dr.GetValue(0) Is DBNull.Value Then + Return CLng(dr.GetValue(0)) + End If + End If + conn.Close() + Return 0 + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + 'end Using + End Using + Return -1 + End Function + + Public Function getAVGMa(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As List(Of listMaAVG) + If DauerVon = "" Then DauerBis = "0" + If DauerBis = "" Then DauerBis = "999999" + Dim sql As String = "SELECT LetzterMitarbeiterId,avg(Dauer) as avg,mit_nname + ' ' + mit_vname as name, count([LetzterMitarbeiterId]) as count " & + " FROM Aviso INNER JOIN ADMIN.dbo.tblMitarbeiter ON mit_id=LetzterMitarbeiterId WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' GROUP BY LetzterMitarbeiterId,mit_nname,mit_vname" + Dim dr As SqlDataReader + + Dim ll As New List(Of listMaAVG) + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + dr = cmd.ExecuteReader() + Try + Dim cnt As Integer = 0 + If dr.HasRows Then + While dr.Read + If Not dr.Item("LetzterMitarbeiterId") Is DBNull.Value Then + Dim l As New listMaAVG + l.mit_id = CInt(dr.Item("LetzterMitarbeiterId")) + l.mit_name = CStr(dr.Item("name")) + l.mit_avg = CInt(dr.Item("avg")) + l.mit_count = CInt(dr.Item("count")) + ll.Add(l) + End If + End While + Return ll + End If + conn.Close() + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + 'end Using + End Using + Return Nothing + End Function + +End Class + +Public Class StatDB + Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, i As Integer, firma As String, CLUSTER As String) As Integer + Dim lkws As Integer = 0 + Try + Dim cn As New SqlConnection() + ' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;" + ' cn.Open() + cn = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis " & If(firma <> "", " AND Firma='" & firma & "' ", "") & If(CLUSTER <> "", " AND CLUSTER='" & CLUSTER & "' ", "") & " ", cn) + 'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND + Dim VonStr = "" + Dim BisStr = "" + If i = 6 Then + VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00" + Else + VonStr = datTmp.ToString("yyyy-MM-dd ") & i & ":00:00" + End If + + If i = 22 Then + BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59" + Else + BisStr = datTmp.ToString("yyyy-MM-dd ") & i & ":59:59" + End If + + cmd.Parameters.AddWithValue("@DatVon", VonStr) + cmd.Parameters.AddWithValue("@DatBis", BisStr) + ' MsgBox(VonStr) + Dim dr = cmd.ExecuteReader() + + If dr.HasRows Then + dr.Read() + lkws = CInt(dr.Item(0)) + End If + dr.Close() + cn.Close() + End Using + Return lkws + Catch ex As Exception + MsgBox(ex.Message) + End Try + Return 0 + End Function + + Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, firma As String) As Integer + Dim lkws As Integer = 0 + Try + Dim cn As New SqlConnection() + ' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;" + ' cn.Open() + cn = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn) + 'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND + Dim VonStr = "" + Dim BisStr = "" + + VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00" + BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59" + + + cmd.Parameters.AddWithValue("@DatVon", VonStr) + cmd.Parameters.AddWithValue("@DatBis", BisStr) + ' MsgBox(VonStr) + Dim dr = cmd.ExecuteReader() + + If dr.HasRows Then + dr.Read() + lkws = CInt(dr.Item(0)) + End If + dr.Close() + cn.Close() + End Using + Return lkws + Catch ex As Exception + MsgBox(ex.Message) + End Try + Return 0 + End Function + + Public Function getAnzahlLkwDauer(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, ByVal DauerEinschrVon As String, ByVal DauerEinschrBis As String, Optional where As String = "") As Integer + Dim sql As String = "SELECT count(*) as count " & + " FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND ( Dauer BETWEEN '" & DauerEinschrVon & "' AND '" & DauerEinschrBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " & where + Dim dr As SqlDataReader + 'MsgBox(sql) + Dim anz As Integer = 0 + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + dr = cmd.ExecuteReader() + Try + Dim cnt As Integer = 0 + If dr.HasRows Then + dr.Read() + anz = CInt(dr.Item(0)) + End If + conn.Close() + Return anz + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + 'end Using + End Using + Return 0 + End Function + + Public Function getAnzahlAvisoProbleme(ByVal kdNr As String, ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, Optional where As String = "") As List(Of listStatAvisoProleme) + 'ZWEICHFACE SELECT, um Doppelte Einträge mit selber AvisoId zu umgehen + Dim sql As String = " SELECT VermerkeCode,[Bezeichnung], count(*) as anzahlVermerk " & + " FROM " & + " (SELECT aviso.avisoid, VermerkeCode,[Bezeichnung] " & + " FROM [AVISO].[dbo].[Vermerke] " & + " INNER JOIN [Aviso] ON [Vermerke].[AvisoID]=[AVISO].[AvisoID] " & + " INNER JOIN [AVISO].[dbo].[VermerkeCodes] ON VermerkeCode=VermerkCodeId " & + " where AVISO.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND /*([Auftraggeber_KdNr] = @kdNr) " & + " AND */ ( Aviso.Datum BETWEEN @datumVon AND @datumBis) AND ( Aviso.Dauer BETWEEN @DauerVon AND @DauerBis ) " & where & + " group by aviso.avisoid,VermerkeCode,[Bezeichnung] " & + " ) AS tbl " & + " WHERE VermerkeCode IN (1,3,5,7,9,11,13,15,16,25) " & + " group by VermerkeCode,[Bezeichnung] " & + " ORDER BY anzahlVermerk DESC " + + Dim dr As SqlDataReader + Dim data As New List(Of listStatAvisoProleme) + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@kdNr", kdNr) + cmd.Parameters.AddWithValue("@datumVon", datumVon.ToShortDateString) + cmd.Parameters.AddWithValue("@datumBis", datumBis.ToShortDateString) + cmd.Parameters.AddWithValue("@DauerVon", DauerVon) + cmd.Parameters.AddWithValue("@DauerBis", DauerBis) + 'cmd.Parameters.AddWithValue("@DauerEinschrVon", DauerEinschrVon) + 'cmd.Parameters.AddWithValue("@DauerEinschrBis", DauerEinschrBis) + dr = cmd.ExecuteReader() + Try + Dim cnt As Integer = 0 + While dr.Read() + Dim d As New listStatAvisoProleme + d.VermerkeCode = CInt(dr.Item("VermerkeCode")) + d.Bezeichnung = CStr(dr.Item("Bezeichnung")) + d.AnzahlVermerke = CInt(dr.Item("anzahlVermerk")) + data.Add(d) + End While + conn.Close() + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + 'end Using + End Using + Return data + End Function + + + + + +End Class +Public Class adminfunc + Public Function getDatatable(connstr As String, hSQL As String) As DataTable + Dim conn As SqlConnection = Nothing + Try + conn = New SqlConnection(connstr) + conn.Open() + Dim myTable = New DataTable() + 'Dim sql As String + 'sql = hSQL + Using cmd As New SqlCommand(hSQL, conn) + Using dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), + "Problem in Function 'getKunden'") + If antwort <> MsgBoxResult.Retry Then + 'Programm wird beendet + MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation) + Environment.Exit(0) + End If + End Try + conn.Close() + ' End While + Return Nothing + End Function + + + + Public Sub setAuftraggber(ByVal Auftraggeber As String, ByVal Auftraggeber_KdNr As String) + Dim hAuswahl As String + + hAuswahl = String.Format( + "UPDATE Aviso SET [Auftraggeber_KdNr] = @Auftraggeber_KdNr " & + "WHERE [Auftraggeber] = @Auftraggeber") + + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Auftraggeber", Auftraggeber) + cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", Auftraggeber_KdNr) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma") + End Try + End Using + conn.Close() + End Sub + + Public Sub setFirmenKdNr(ByVal Firma As String, ByVal KundenNr As String) + Dim sql = "UPDATE Firmen SET KundenNr = @KundenNr " & + "WHERE [Firma] like @Firma " + + ' MsgBox("UPDATE Firmen SET KundenNr = '" & KundenNr & "' " & + ' "WHERE [Firma] like '" & Firma & "' ") + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Firma", Firma) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma") + End Try + End Using + conn.Close() + End Sub + + + Public Sub setFraechter(ByVal Frächter As String, ByVal Frächter_KdNr As String) + Dim hAuswahl As String + + hAuswahl = String.Format( + "UPDATE Aviso SET [Frächter_KdNr] = @Frächter_KdNr " & + "WHERE [Frächter] = @Frächter") + + Dim sql = hAuswahl + Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@Frächter", Frächter) + cmd.Parameters.AddWithValue("@Frächter_KdNr", Frächter_KdNr) + Try + cmd.ExecuteNonQuery() + Catch ex As SqlException + MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma") + End Try + End Using + conn.Close() + End Sub + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb new file mode 100644 index 0000000..86cd1e0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb @@ -0,0 +1,55 @@ +Imports System.Data.OleDb + +Public Class cGlobal + 'Public Shared ConnStr As String + 'Public Shared AufrufenderProzess As AufrufenderProzess + 'Public Shared Aktive_ID As Integer + 'Public Shared AktiverMitarbeiter As New cMitarbeiter + 'Public Shared AngemeldeterUser As String + + ' Public Shared Admin As Boolean + Public Shared DBPfad As String + ' Public Shared Aktive_AuswahlID As Integer + Public Shared Aktive_ID As Integer + Public Shared Aktive_SendungsID As Integer + Public Shared Aktive_Zeile As Integer + Public Shared Ausgewählte_Zeile As Integer = 0 + Public Shared AnzahlAlle As Long + Public Shared AnzahlAuswahl As Long + ' Public Shared ConnStr_ANZEIGE As String + ' Public Shared ConnStrADMIN As String + ' Public Shared ConnStrFMZOLL As String + Public Shared AngemeldeterUser As String + Public Shared AngemeldeterUserPwd As String + Public Shared AktiverMitarbeiter As New VERAG_PROG_ALLGEMEIN.cMitarbeiterAVISO + Public Shared Optionen As New cOption + + Public Const UStatus_AVEingang = -1 + Public Const UStatus_none = "" + + Public Const Status_Erfasst = 0 + Public Const Status_Vorbereitet = 4 + Public Const Status_Vorgeschrieben = 5 + Public Const Status_Freigegeben = 1 + Public Const Status_NichtEingetroffen = 2 + Public Const Status_Ankunft = 3 + + + Shared Function getStatusText(i As Integer) As String + Select Case i + Case 0 : Return "Erfasst" + Case 1 : Return "Freigegeben" + Case 2 : Return "Nicht Eingetroffen" + Case 3 : Return "Ankunft" + Case 4 : Return "Vorbereitet" + Case 5 : Return "Vorgeschrieben" + Case 99 : Return "In Vorbereitung" + Case Else : Return "" + End Select + End Function +End Class + +Public Enum AufrufenderProzess + VBZeit = 1 + VBZeitVW = 2 +End Enum diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb new file mode 100644 index 0000000..5c72d99 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb @@ -0,0 +1,258 @@ +Imports System.Windows.Forms + +Public Class cMeineFunktionenAVISO + 'Diese Klasse beinhaltet alle meine Funktionen, die in allen Projekten verwendet werden können + Public Shared Function grayoutForm() As Form + Dim f As New frmGrayOut + f.Show() + Return f + End Function + + Public Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date + + Public Shared Function SQLDatum(dat As Date) As String + 'Datum für SQLAbfrage umwandeln (31.01.1998 --> #1/31/1998#) + SQLDatum = "" + If Not IsDate(dat) Then Exit Function + SQLDatum = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " 00:00:00'" + 'SQLDatum = dat.ToString + End Function + + Public Shared Function SQLDatumZeit(dat As Date) As String + 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#) + SQLDatumZeit = "" + + If Not IsDate(dat) Then Exit Function + SQLDatumZeit = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " & + DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & "'" + End Function + + Public Shared Function SQLDatumZeitSekunden(dat As Date) As String + 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#) + SQLDatumZeitSekunden = "" + If Not IsDate(dat) Then Exit Function + SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " & + DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'" + End Function + + Public Shared Function SQLNullDate(d As Date) As Object + 'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben + If d = New Date Then : SQLNullDate = DBNull.Value + Else : SQLNullDate = d : End If + End Function + + Public Shared Function GetProgrammIcon() As Drawing.Icon + Return My.Resources.Aviso + End Function + + Public Shared Function VarToInt(ByVal wert As Object) As Integer + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CInt(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + Public Shared Function VarToInt2(ByVal wert As Object) As Integer + Try + If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then + Return -1 + Else + Return CInt(wert) + End If + Catch generatedExceptionName As Exception + Return -1 + End Try + End Function + + Public Shared Function VarToLng(ByVal wert As Object) As Long + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CLng(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + Public Shared Function VarToDbl(ByVal wert As Object) As Double + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CDbl(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object + If o IsNot Nothing And o IsNot DBNull.Value Then Return (o) + Return returnValue + End Function + + Public Shared Function VarToBool(ByVal wert As Object) As Boolean + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return False + Else + Return CBool(wert) + End If + Catch generatedExceptionName As Exception + Return False + End Try + End Function + + Public Shared Function VarToStr(ByVal wert As Object) As String + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return "" + Else + Return Trim(DirectCast(wert, String)) + End If + Catch generatedExceptionName As Exception + Return "" + End Try + End Function + + Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime) + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return LeerDatum 'Nothing + Else + Return DirectCast(wert, DateTime) + End If + Catch generatedExceptionName As Exception + Return Nothing + End Try + End Function + + Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean + 'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29 + For x As Integer = 0 To list.Length - 1 + If list(x) = i Then + Return True + End If + On Error Resume Next + Next + Return False + End Function + + Public Shared Function Minuten_auf_Text(hMinuten As Long) As String + + If hMinuten <= 0 Then Return "" + + Dim hStunden As Long + Dim hMinus As Boolean + Dim hMin As Long + + Minuten_auf_Text = "" + hMin = hMinuten + + If hMin = 0 Then + Minuten_auf_Text = "0:00" + Exit Function + End If + + If hMin < 0 Then + hMinus = True + hMin = hMin * -1 + End If + + hStunden = CLng(Fix(hMin / 60)) + hMin = hMin - (hStunden * 60) + If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt + Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00") + End Function + + Public Shared Function ZeitInMinuten(hDat As Date) As Long + ZeitInMinuten = 0 + If Not IsDate(hDat) Then Exit Function + ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat) + End Function + + Public Shared Function GetNewMaxPosNr(ByVal FilialeNr As Integer, Optional Year As Integer = -1) As Integer + Return VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(FilialeNr, CInt(IIf(Year > 0, Year, Now.Year))) + End Function + + Public Shared Function LKWFertig(AvisoID, Optional newLKWOK = Nothing) As Boolean + + Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL + Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then + MsgBox("Keine Berechtigung!") + Return False + End If + + 'falls keine Auswahl bzw. kein Datensatz, dann nichts machen + If AvisoID <= 0 Then + MsgBox("Kein Aviso ausgewählt!") + Return False + End If + + 'jetzt ausgewählten Datensatz einlesen + Dim Aviso As New cAviso + Aviso = AvisoDAL.LesenAviso(AvisoID, "") + If Aviso Is Nothing Then Return False + If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereichts abgeschlossen.", vbInformation) : Return False + + If newLKWOK Is Nothing Then + newLKWOK = Not Aviso.LKW_fertig + Else + If newLKWOK = Aviso.LKW_fertig Then Return True 'Wenn schon OK ist + End If + + + Dim msg As String + Dim antwort As MsgBoxResult + + + 'Taste LKW ist fertig + If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then + MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'FERTIG/nicht FERTIG' gesetzt werden.", vbInformation) + Return False + End If + Dim aendArt As String = "" + Dim aendText As String = "" + + 'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt + Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter + Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId + Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen + hVermerk.AvisoID = Aviso.AvisoID + hVermerk.Datum = Now + hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter + hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID + + If newLKWOK Then + Aviso.LKW_fertig = True + Aviso.Änderungen = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen)) + hVermerk.Hinweis_Vermerk = "LKW ist fertig!" + hVermerk.VermerkCodeId = 26 + VermerkeDAL.SpeichernVermerk(hVermerk) + aendArt = "LKW ist fertig - gesetzt" + aendText = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") + Else + Aviso.LKW_fertig = False + Aviso.Änderungen = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen)) + hVermerk.Hinweis_Vermerk = "LKW ist nicht fertig." + hVermerk.VermerkCodeId = 27 + VermerkeDAL.SpeichernVermerk(hVermerk) + aendArt = "LKW ist nicht fertig - gesetzt" + aendText = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") + End If + Dim tmpid = AvisoDAL.SpeichernAviso(Aviso) + AvisoDAL.addAenderung(tmpid, aendArt, aendText) + + Return (tmpid > 0) + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb new file mode 100644 index 0000000..5495f17 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb @@ -0,0 +1,187 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cVermerkeCodes_LIST + Dim LIST As New List(Of cVermerkeCodes) + + Sub New() + LOAD_LIST() + End Sub + Public Sub LOAD_LIST() + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes ", conn) + + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVermerkeCodes + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getTxt(VermerkCodeId, language) As String + For Each l In LIST + If l.VermerkCodeId = VermerkCodeId Then + Select Case language + Case "EN" : If l.Beschreibung_EN <> "" Then Return l.Beschreibung_EN + Case "TR" : If l.Beschreibung_TR <> "" Then Return l.Beschreibung_TR + Case "SRB", "YU" : If l.Beschreibung_SRB <> "" Then Return l.Beschreibung_SRB + Case "RO" : If l.Beschreibung_RO <> "" Then Return l.Beschreibung_RO + Case "BG" : If l.Beschreibung_BG <> "" Then Return l.Beschreibung_BG + Case "HU" : If l.Beschreibung_HU <> "" Then Return l.Beschreibung_HU + Case Else : If l.Beschreibung_DE <> "" Then Return l.Beschreibung_DE + End Select + Return l.Bezeichnung + End If + Next + Return "" + End Function + +End Class + + + + +Public Class cVermerkeCodes + Property VermerkCodeId As Integer + Property Bezeichnung As String = "" + Property LKW_Vermerk As Boolean + Property Kunde_Vermerk As Boolean + Property Beschreibung_DE As String = "" + Property Beschreibung_EN As String = "" + Property Beschreibung_TR As String = "" + Property Beschreibung_SRB As String = "" + Property Beschreibung_RO As String = "" + Property Beschreibung_BG As String = "" + Property Beschreibung_HU As String = "" + + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(VermerkCodeId) + Me.VermerkCodeId = VermerkCodeId + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermerkCodeId", VermerkCodeId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW_Vermerk", LKW_Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde_Vermerk", Kunde_Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_DE", Beschreibung_DE)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_EN", Beschreibung_EN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_TR", Beschreibung_TR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_SRB", Beschreibung_SRB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_RO", Beschreibung_RO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_BG", Beschreibung_BG)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_HU", Beschreibung_HU)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "AVISO", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId ", conn) + cmd.Parameters.AddWithValue("@VermerkCodeId", VermerkCodeId) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [VermerkeCodes] SET " & str & " WHERE VermerkCodeId=@VermerkCodeId ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO VermerkeCodes (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb new file mode 100644 index 0000000..1362a92 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb @@ -0,0 +1,45 @@ + _ +Partial Class frmGrayOut + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.SuspendLayout() + ' + 'frmGrayOut + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.ControlDarkDark + Me.ClientSize = New System.Drawing.Size(284, 261) + Me.ForeColor = System.Drawing.SystemColors.Control + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.KeyPreview = True + Me.Name = "frmGrayOut" + Me.Opacity = 0.5R + Me.ShowIcon = False + Me.ShowInTaskbar = False + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "frmGrayOut" + Me.ResumeLayout(False) + + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb new file mode 100644 index 0000000..20a3a24 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb @@ -0,0 +1,23 @@ +Imports System.Drawing +Imports System.Windows.Forms + +Public Class frmGrayOut + + Private Sub frmGrayOut_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown + If e.KeyCode = Keys.Escape Then + Me.Close() + End If + End Sub + + Private Sub frmGrayOut_Load(sender As Object, e As EventArgs) Handles Me.Load + Me.Location = New Point(0, 0) + Me.Size = Screen.PrimaryScreen.WorkingArea.Size + 'Damit Center von Child-Form richtig ist + End Sub + + Private Sub frmGrayOut_Shown(sender As Object, e As EventArgs) Handles Me.Shown + Me.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size + Me.Size = Screen.PrimaryScreen.WorkingArea.Size + Me.Location = New Point(0, 0) + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/App.config b/SDL/VERAG_PROG_ALLGEMEIN/App.config new file mode 100644 index 0000000..8aab713 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/App.config @@ -0,0 +1,77 @@ + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + + + + + + + + http://ec.europa.eu/taxation_customs/vies/services/checkVatService + + + https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage/ + + + https://finanzonline.bmf.gv.at:443/fonws/ws/session + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb new file mode 100644 index 0000000..515042f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb @@ -0,0 +1,146 @@ +#Region " Class " + +#Region " Enums " + +Public Enum CodeSetAllowed + CodeA + CodeB + CodeAorB +End Enum + +Public Enum CodeSet + CodeA + CodeB +End Enum + +#End Region + +Public Class Code128Content + Private mCodeList As Integer() + + Public Sub New(ByVal AsciiData As String) + mCodeList = StringToCode128(AsciiData) + End Sub + + Public ReadOnly Property Codes() As Integer() + Get + Return mCodeList + End Get + End Property + + Private Function StringToCode128(ByVal AsciiData As String) As Integer() + + Dim asciiBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(AsciiData) + + Dim csa1 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(0)), CodeSetAllowed.CodeAorB) + Dim csa2 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(1)), CodeSetAllowed.CodeAorB) + Dim currcs As CodeSet = GetBestStartSet(csa1, csa2) + + Dim codes As New List(Of Integer)(asciiBytes.Length + 3) + codes.Add(Code128Code.StartCodeForCodeSet(currcs)) + + For i As Integer = 0 To asciiBytes.Length - 1 + Dim thischar As Integer = asciiBytes(i) + Dim nextchar As Integer = If(asciiBytes.Length > (i + 1), asciiBytes(i + 1), -1) + + codes.AddRange(Code128Code.CodesForChar(thischar, nextchar, currcs)) + Next + + Dim checksum As Integer = CInt(codes(0)) + For i As Integer = 1 To codes.Count - 1 + checksum += i * CInt(codes(i)) + Next + + codes.Add(checksum Mod 103) + codes.Add(Code128Code.StopCode()) + + Return codes.ToArray + End Function + + Private Function GetBestStartSet(ByVal csa1 As CodeSetAllowed, ByVal csa2 As CodeSetAllowed) As CodeSet + Dim vote As Integer = 0 + + vote += If((csa1 = CodeSetAllowed.CodeA), 1, 0) + vote += If((csa1 = CodeSetAllowed.CodeB), -1, 0) + vote += If((csa2 = CodeSetAllowed.CodeA), 1, 0) + vote += If((csa2 = CodeSetAllowed.CodeB), -1, 0) + + Return If((vote > 0), CodeSet.CodeA, CodeSet.CodeB) + End Function +End Class + +Public NotInheritable Class Code128Code + +#Region "Constants" + + Private Const cSHIFT As Integer = 98 + Private Const cCODEA As Integer = 101 + Private Const cCODEB As Integer = 100 + + Private Const cSTARTA As Integer = 103 + Private Const cSTARTB As Integer = 104 + Private Const cSTOP As Integer = 106 + +#End Region + + Public Shared Function CodesForChar(ByVal CharAscii As Integer, ByVal LookAheadAscii As Integer, ByRef CurrCodeSet As CodeSet) As Integer() + Dim result As Integer() + Dim shifter As Integer = -1 + + If Not CharCompatibleWithCodeset(CharAscii, CurrCodeSet) Then + If (LookAheadAscii <> -1) AndAlso Not CharCompatibleWithCodeset(LookAheadAscii, CurrCodeSet) Then + Select Case CurrCodeSet + Case CodeSet.CodeA + shifter = cCODEB + CurrCodeSet = CodeSet.CodeB + Exit Select + Case CodeSet.CodeB + shifter = cCODEA + CurrCodeSet = CodeSet.CodeA + Exit Select + End Select + Else + shifter = cSHIFT + End If + End If + + If shifter <> -1 Then + result = New Integer(1) {} + result(0) = shifter + result(1) = CodeValueForChar(CharAscii) + Else + result = New Integer(0) {} + result(0) = CodeValueForChar(CharAscii) + End If + + Return result + End Function + + Public Shared Function CodesetAllowedForChar(ByVal CharAscii As Integer) As CodeSetAllowed + If CharAscii >= 32 AndAlso CharAscii <= 95 Then + Return CodeSetAllowed.CodeAorB + Else + Return If((CharAscii < 32), CodeSetAllowed.CodeA, CodeSetAllowed.CodeB) + End If + End Function + + Public Shared Function CharCompatibleWithCodeset(ByVal CharAscii As Integer, ByVal currcs As CodeSet) As Boolean + Dim csa As CodeSetAllowed = CodesetAllowedForChar(CharAscii) + Return csa = CodeSetAllowed.CodeAorB OrElse (csa = CodeSetAllowed.CodeA AndAlso currcs = CodeSet.CodeA) OrElse (csa = CodeSetAllowed.CodeB AndAlso currcs = CodeSet.CodeB) + End Function + + Public Shared Function CodeValueForChar(ByVal CharAscii As Integer) As Integer + Return If((CharAscii >= 32), CharAscii - 32, CharAscii + 64) + End Function + + Public Shared Function StartCodeForCodeSet(ByVal cs As CodeSet) As Integer + Return If(cs = CodeSet.CodeA, cSTARTA, cSTARTB) + End Function + + Public Shared Function StopCode() As Integer + Return cSTOP + End Function + +End Class + +#End Region \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb new file mode 100644 index 0000000..01649c3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb @@ -0,0 +1,180 @@ +Imports System.Drawing +Imports System.Diagnostics + +Public NotInheritable Class Code128Rendering + +#Region "Code patterns" + Private Shared ReadOnly cPatterns As Integer(,) = {{2, 1, 2, 2, 2, 2, _ + 0, 0}, {2, 2, 2, 1, 2, 2, _ + 0, 0}, {2, 2, 2, 2, 2, 1, _ + 0, 0}, {1, 2, 1, 2, 2, 3, _ + 0, 0}, {1, 2, 1, 3, 2, 2, _ + 0, 0}, {1, 3, 1, 2, 2, 2, _ + 0, 0}, _ + {1, 2, 2, 2, 1, 3, _ + 0, 0}, {1, 2, 2, 3, 1, 2, _ + 0, 0}, {1, 3, 2, 2, 1, 2, _ + 0, 0}, {2, 2, 1, 2, 1, 3, _ + 0, 0}, {2, 2, 1, 3, 1, 2, _ + 0, 0}, {2, 3, 1, 2, 1, 2, _ + 0, 0}, _ + {1, 1, 2, 2, 3, 2, _ + 0, 0}, {1, 2, 2, 1, 3, 2, _ + 0, 0}, {1, 2, 2, 2, 3, 1, _ + 0, 0}, {1, 1, 3, 2, 2, 2, _ + 0, 0}, {1, 2, 3, 1, 2, 2, _ + 0, 0}, {1, 2, 3, 2, 2, 1, _ + 0, 0}, _ + {2, 2, 3, 2, 1, 1, _ + 0, 0}, {2, 2, 1, 1, 3, 2, _ + 0, 0}, {2, 2, 1, 2, 3, 1, _ + 0, 0}, {2, 1, 3, 2, 1, 2, _ + 0, 0}, {2, 2, 3, 1, 1, 2, _ + 0, 0}, {3, 1, 2, 1, 3, 1, _ + 0, 0}, _ + {3, 1, 1, 2, 2, 2, _ + 0, 0}, {3, 2, 1, 1, 2, 2, _ + 0, 0}, {3, 2, 1, 2, 2, 1, _ + 0, 0}, {3, 1, 2, 2, 1, 2, _ + 0, 0}, {3, 2, 2, 1, 1, 2, _ + 0, 0}, {3, 2, 2, 2, 1, 1, _ + 0, 0}, _ + {2, 1, 2, 1, 2, 3, _ + 0, 0}, {2, 1, 2, 3, 2, 1, _ + 0, 0}, {2, 3, 2, 1, 2, 1, _ + 0, 0}, {1, 1, 1, 3, 2, 3, _ + 0, 0}, {1, 3, 1, 1, 2, 3, _ + 0, 0}, {1, 3, 1, 3, 2, 1, _ + 0, 0}, _ + {1, 1, 2, 3, 1, 3, _ + 0, 0}, {1, 3, 2, 1, 1, 3, _ + 0, 0}, {1, 3, 2, 3, 1, 1, _ + 0, 0}, {2, 1, 1, 3, 1, 3, _ + 0, 0}, {2, 3, 1, 1, 1, 3, _ + 0, 0}, {2, 3, 1, 3, 1, 1, _ + 0, 0}, _ + {1, 1, 2, 1, 3, 3, _ + 0, 0}, {1, 1, 2, 3, 3, 1, _ + 0, 0}, {1, 3, 2, 1, 3, 1, _ + 0, 0}, {1, 1, 3, 1, 2, 3, _ + 0, 0}, {1, 1, 3, 3, 2, 1, _ + 0, 0}, {1, 3, 3, 1, 2, 1, _ + 0, 0}, _ + {3, 1, 3, 1, 2, 1, _ + 0, 0}, {2, 1, 1, 3, 3, 1, _ + 0, 0}, {2, 3, 1, 1, 3, 1, _ + 0, 0}, {2, 1, 3, 1, 1, 3, _ + 0, 0}, {2, 1, 3, 3, 1, 1, _ + 0, 0}, {2, 1, 3, 1, 3, 1, _ + 0, 0}, _ + {3, 1, 1, 1, 2, 3, _ + 0, 0}, {3, 1, 1, 3, 2, 1, _ + 0, 0}, {3, 3, 1, 1, 2, 1, _ + 0, 0}, {3, 1, 2, 1, 1, 3, _ + 0, 0}, {3, 1, 2, 3, 1, 1, _ + 0, 0}, {3, 3, 2, 1, 1, 1, _ + 0, 0}, _ + {3, 1, 4, 1, 1, 1, _ + 0, 0}, {2, 2, 1, 4, 1, 1, _ + 0, 0}, {4, 3, 1, 1, 1, 1, _ + 0, 0}, {1, 1, 1, 2, 2, 4, _ + 0, 0}, {1, 1, 1, 4, 2, 2, _ + 0, 0}, {1, 2, 1, 1, 2, 4, _ + 0, 0}, _ + {1, 2, 1, 4, 2, 1, _ + 0, 0}, {1, 4, 1, 1, 2, 2, _ + 0, 0}, {1, 4, 1, 2, 2, 1, _ + 0, 0}, {1, 1, 2, 2, 1, 4, _ + 0, 0}, {1, 1, 2, 4, 1, 2, _ + 0, 0}, {1, 2, 2, 1, 1, 4, _ + 0, 0}, _ + {1, 2, 2, 4, 1, 1, _ + 0, 0}, {1, 4, 2, 1, 1, 2, _ + 0, 0}, {1, 4, 2, 2, 1, 1, _ + 0, 0}, {2, 4, 1, 2, 1, 1, _ + 0, 0}, {2, 2, 1, 1, 1, 4, _ + 0, 0}, {4, 1, 3, 1, 1, 1, _ + 0, 0}, _ + {2, 4, 1, 1, 1, 2, _ + 0, 0}, {1, 3, 4, 1, 1, 1, _ + 0, 0}, {1, 1, 1, 2, 4, 2, _ + 0, 0}, {1, 2, 1, 1, 4, 2, _ + 0, 0}, {1, 2, 1, 2, 4, 1, _ + 0, 0}, {1, 1, 4, 2, 1, 2, _ + 0, 0}, _ + {1, 2, 4, 1, 1, 2, _ + 0, 0}, {1, 2, 4, 2, 1, 1, _ + 0, 0}, {4, 1, 1, 2, 1, 2, _ + 0, 0}, {4, 2, 1, 1, 1, 2, _ + 0, 0}, {4, 2, 1, 2, 1, 1, _ + 0, 0}, {2, 1, 2, 1, 4, 1, _ + 0, 0}, _ + {2, 1, 4, 1, 2, 1, _ + 0, 0}, {4, 1, 2, 1, 2, 1, _ + 0, 0}, {1, 1, 1, 1, 4, 3, _ + 0, 0}, {1, 1, 1, 3, 4, 1, _ + 0, 0}, {1, 3, 1, 1, 4, 1, _ + 0, 0}, {1, 1, 4, 1, 1, 3, _ + 0, 0}, _ + {1, 1, 4, 3, 1, 1, _ + 0, 0}, {4, 1, 1, 1, 1, 3, _ + 0, 0}, {4, 1, 1, 3, 1, 1, _ + 0, 0}, {1, 1, 3, 1, 4, 1, _ + 0, 0}, {1, 1, 4, 1, 3, 1, _ + 0, 0}, {3, 1, 1, 1, 4, 1, _ + 0, 0}, _ + {4, 1, 1, 1, 3, 1, _ + 0, 0}, {2, 1, 1, 4, 1, 2, _ + 0, 0}, {2, 1, 1, 2, 1, 4, _ + 0, 0}, {2, 1, 1, 2, 3, 2, _ + 0, 0}, {2, 3, 3, 1, 1, 1, _ + 2, 0}} + +#End Region + + Private Const cQuietWidth As Integer = 10 + + Public Shared Function MakeBarcodeImage(ByVal InputData As String, ByVal BarWeight As Double, ByVal AddQuietZone As Boolean, Optional heightOpt As Object = Nothing) As Image + + Dim content As New Code128Content(InputData) + Dim codes As Integer() = content.Codes + Dim width As Integer, height As Integer + width = ((codes.Length - 3) * 11 + 35) * BarWeight + If heightOpt IsNot Nothing Then + height = CInt(heightOpt) + Else + height = Convert.ToInt32(System.Math.Ceiling(Convert.ToSingle(width) * 0.15F)) + End If + + If AddQuietZone Then + width += 2 * cQuietWidth * BarWeight + End If + + Dim myimg As Image = New System.Drawing.Bitmap(width, height) + Using gr As Graphics = Graphics.FromImage(myimg) + + gr.FillRectangle(System.Drawing.Brushes.White, 0, 0, width, height) + + Dim cursor As Integer = If(AddQuietZone, cQuietWidth * BarWeight, 0) + + For codeidx As Integer = 0 To codes.Length - 1 + Dim code As Integer = codes(codeidx) + + For bar As Integer = 0 To 7 Step 2 + Dim barwidth As Integer = cPatterns(code, bar) * BarWeight + Dim spcwidth As Integer = cPatterns(code, bar + 1) * BarWeight + + If barwidth > 0 Then + gr.FillRectangle(System.Drawing.Brushes.Black, cursor, 0, barwidth, height) + End If + + cursor += (barwidth + spcwidth) + Next + Next + End Using + + Return myimg + + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb new file mode 100644 index 0000000..e8301ab --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb @@ -0,0 +1,17 @@ +Partial Class DateTimePickerEx + Inherits System.Windows.Forms.DateTimePicker + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb new file mode 100644 index 0000000..9cef613 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb @@ -0,0 +1,267 @@ +Imports System.ComponentModel + +'----------------------------------------------------------- +'Class name : DateTimePickerEx +'Description: Extends the datetimepicker class to allow binding a DBNull database value +' to it. +' +' This class uses the display format to simulate an "empty" selection since the +' base datetimepicker class doesn't support displaying an empty text string. +' +' Since DBNull is not compatible with Date datatype, I created a new method called +' NullableValue to support it. +'History : +'----------------------------------------------------------- + +Public Class DateTimePickerEx + Inherits System.Windows.Forms.DateTimePicker + + 'Public Property _value As String = Nothing + + Public Property _value As String + Get + If Not Me.Checked Then + Return "" + Else + Return (Me.Value) + End If + End Get + Set(ByVal newValue As String) + If newValue Is DBNull.Value Or newValue = "" Then + ' MsgBox("null") + Me.NullableValue = DBNull.Value + Me.Checked = False + Else + 'MsgBox(newValue) + Me.NullableValue = newValue + + End If + + End Set + End Property + + + Private m_enmOriginalFormat As Windows.Forms.DateTimePickerFormat + Private m_strOriginalCustomFormat As String + Private m_blnRefreshing As Boolean = False + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + InitializeMembers() + End Sub + + 'UserControl overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container + End Sub + +#End Region + +#Region " Event Declarations " + + Public Event NullableValueChanged As EventHandler + + '----------------------------------------------------------- + 'Description: Raise the NullableValueChanged event. + ' Required for "Bindable" properties. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Protected Overridable Sub OnNullableValueChanged(ByVal e As EventArgs) + RaiseEvent NullableValueChanged(Me, e) + End Sub + +#End Region + +#Region " Public Methods and Properties " + + '----------------------------------------------------------- + 'Description: Gets or Sets the date time picker value. + ' Accepts DBNull values. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + _ + Public Property NullableValue() As Object + Get + If Not Me.Checked Then + Return (DBNull.Value) + Else + Return (Me.Value) + End If + End Get + Set(ByVal newValue As Object) + + Dim blnRaiseEvent As Boolean = False + + If newValue Is DBNull.Value Then + 'If the value changed + If Me.Checked Then + + Me.Checked = False + Me.RefreshText() + blnRaiseEvent = True + End If + + ElseIf IsDate(newValue) Then + + 'If only the "Checked" state changes (newValue parameter is equal to the Value property) + 'We must raise the NullableValueChanged event manually since the parents ValueChanged + 'event won't be fired. + blnRaiseEvent = (Not Me.Checked) And (CType(newValue, Date).Equals(Me.Value)) + + Me.Checked = True + Me.Value = CType(newValue, Date) + Me.RefreshText() + + Else + Throw New ArgumentException + End If + + If blnRaiseEvent Then + Me.OnNullableValueChanged(New EventArgs) + End If + + End Set + End Property + +#End Region + +#Region " Base Class Overrides " + + '----------------------------------------------------------- + 'Description: When the user changes the value, we need to refresh + ' the display text formats and to throw our NullableValueChanged event. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Protected Overrides Sub OnValueChanged(ByVal e As System.EventArgs) + + Me.RefreshText() + + 'When the value changes, the nullable value also changes. + Me.OnNullableValueChanged(e) + + MyBase.OnValueChanged(e) + End Sub + + '----------------------------------------------------------- + 'Description: If the format is changed we need to get the + ' new format and store it as the new original format. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Protected Overrides Sub OnFormatChanged(ByVal e As System.EventArgs) + + 'If the format changes because of our RefreshText method, we don't want to save + 'the "temporary" format used to hide text as our original format... + + If Not m_blnRefreshing Then + Me.SaveOriginalFormats() + End If + + MyBase.OnFormatChanged(e) + End Sub + + '----------------------------------------------------------- + 'Description: When the control is ask to refresh itself, we also + ' refresh the display format. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Public Overrides Sub Refresh() + Me.RefreshText() + + MyBase.Refresh() + End Sub + +#End Region + + '----------------------------------------------------------- + 'Description: Initialize the member variables. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Private Sub InitializeMembers() + Me.SaveOriginalFormats() + + 'The default for the DateTimePickerEx is to display the checkbox. + MyBase.ShowCheckBox = False + End Sub + + '----------------------------------------------------------- + 'Description: Save the current display formats. + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Private Sub SaveOriginalFormats() + m_enmOriginalFormat = Me.Format + m_strOriginalCustomFormat = Me.CustomFormat + End Sub + + '----------------------------------------------------------- + 'Description: Restore the original display formats + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Private Sub RestoreOriginalFormats() + Me.CustomFormat = m_strOriginalCustomFormat + Me.Format = m_enmOriginalFormat + End Sub + + '----------------------------------------------------------- + 'Description: Refresh the display format based on the current state + ' (Checked or not) + 'Return : + 'Parameters : + 'History : + '----------------------------------------------------------- + Private Sub RefreshText() + + m_blnRefreshing = True + + If Me.Checked Then + Me.RestoreOriginalFormats() + Else + Me.Format = Windows.Forms.DateTimePickerFormat.Custom + Me.CustomFormat = " " + End If + + m_blnRefreshing = False + + End Sub + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb new file mode 100644 index 0000000..06974b4 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb @@ -0,0 +1,15 @@ +Imports System.Drawing + +Public Class FlatButton + Inherits System.Windows.Forms.Button + Public Property allowBorder As Boolean = False + Public Sub New() + MyBase.FlatStyle = Windows.Forms.FlatStyle.Flat + MyBase.ForeColor = Color.Black + MyBase.FlatAppearance.BorderSize = 0 + If Not allowBorder Then + MyBase.FlatAppearance.BorderSize = 0 + End If + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb new file mode 100644 index 0000000..19e2c08 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb @@ -0,0 +1,213 @@ +Namespace McDull.Windows.Forms + Partial Class HTMLTextBox + Private components As System.ComponentModel.IContainer = Nothing + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing AndAlso (components IsNot Nothing) Then + components.Dispose() + End If + + MyBase.Dispose(disposing) + End Sub + + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(HTMLTextBox)) + Me.toolStripToolBar = New System.Windows.Forms.ToolStrip() + Me.toolStripComboBoxName = New System.Windows.Forms.ToolStripComboBox() + Me.toolStripButtonBold = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonItalic = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonUnderline = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonColor = New System.Windows.Forms.ToolStripButton() + Me.toolStripSeparatorFont = New System.Windows.Forms.ToolStripSeparator() + Me.toolStripButtonNumbers = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonBullets = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonOutdent = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonIndent = New System.Windows.Forms.ToolStripButton() + Me.toolStripSeparatorFormat = New System.Windows.Forms.ToolStripSeparator() + Me.toolStripButtonLeft = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonCenter = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonRight = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonFull = New System.Windows.Forms.ToolStripButton() + Me.toolStripSeparatorAlign = New System.Windows.Forms.ToolStripSeparator() + Me.toolStripButtonLine = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonHyperlink = New System.Windows.Forms.ToolStripButton() + Me.toolStripButtonPicture = New System.Windows.Forms.ToolStripButton() + Me.webBrowserBody = New System.Windows.Forms.WebBrowser() + Me.toolStripComboBoxSize = New ToolStripComboBoxEx() + Me.toolStripToolBar.SuspendLayout() + Me.SuspendLayout() + Me.toolStripToolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.toolStripToolBar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripComboBoxName, Me.toolStripComboBoxSize, Me.toolStripButtonBold, Me.toolStripButtonItalic, Me.toolStripButtonUnderline, Me.toolStripButtonColor, Me.toolStripSeparatorFont, Me.toolStripButtonNumbers, Me.toolStripButtonBullets, Me.toolStripButtonOutdent, Me.toolStripButtonIndent, Me.toolStripSeparatorFormat, Me.toolStripButtonLeft, Me.toolStripButtonCenter, Me.toolStripButtonRight, Me.toolStripButtonFull, Me.toolStripSeparatorAlign, Me.toolStripButtonLine, Me.toolStripButtonHyperlink, Me.toolStripButtonPicture}) + Me.toolStripToolBar.Location = New System.Drawing.Point(0, 0) + Me.toolStripToolBar.Name = "toolStripToolBar" + Me.toolStripToolBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System + Me.toolStripToolBar.Size = New System.Drawing.Size(600, 25) + Me.toolStripToolBar.TabIndex = 1 + Me.toolStripToolBar.Text = "Tool Bar" + Me.toolStripComboBoxName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.toolStripComboBoxName.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.toolStripComboBoxName.MaxDropDownItems = 30 + Me.toolStripComboBoxName.Name = "toolStripComboBoxName" + Me.toolStripComboBoxName.Size = New System.Drawing.Size(150, 25) + ' AddHandler Me.toolStripComboBoxName.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxName_SelectedIndexChanged) + Me.toolStripButtonBold.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonBold.Image = (CType((resources.GetObject("toolStripButtonBold.Image")), System.Drawing.Image)) + Me.toolStripButtonBold.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonBold.Name = "toolStripButtonBold" + Me.toolStripButtonBold.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonBold.Text = "Bold" + ' AddHandler Me.toolStripButtonBold.Click, New System.EventHandler(Me.toolStripButtonBold_Click) + Me.toolStripButtonItalic.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonItalic.Image = (CType((resources.GetObject("toolStripButtonItalic.Image")), System.Drawing.Image)) + Me.toolStripButtonItalic.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonItalic.Name = "toolStripButtonItalic" + Me.toolStripButtonItalic.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonItalic.Text = "Italic" + ' AddHandler Me.toolStripButtonItalic.Click, Me.toolStripButtonItalic_Click(Me, New EventArgs) + Me.toolStripButtonUnderline.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonUnderline.Image = (CType((resources.GetObject("toolStripButtonUnderline.Image")), System.Drawing.Image)) + Me.toolStripButtonUnderline.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonUnderline.Name = "toolStripButtonUnderline" + Me.toolStripButtonUnderline.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonUnderline.Text = "Underline" + ' AddHandler Me.toolStripButtonUnderline.Click, New System.EventHandler(Me.toolStripButtonUnderline_Click) + Me.toolStripButtonColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonColor.Image = (CType((resources.GetObject("toolStripButtonColor.Image")), System.Drawing.Image)) + Me.toolStripButtonColor.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonColor.Name = "toolStripButtonColor" + Me.toolStripButtonColor.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonColor.Text = "Font Color" + ' AddHandler Me.toolStripButtonColor.Click, New System.EventHandler(Me.toolStripButtonColor_Click) + Me.toolStripSeparatorFont.Name = "toolStripSeparatorFont" + Me.toolStripSeparatorFont.Size = New System.Drawing.Size(6, 25) + Me.toolStripButtonNumbers.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonNumbers.Image = (CType((resources.GetObject("toolStripButtonNumbers.Image")), System.Drawing.Image)) + Me.toolStripButtonNumbers.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonNumbers.Name = "toolStripButtonNumbers" + Me.toolStripButtonNumbers.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonNumbers.Text = "Format Numbers" + ' AddHandler Me.toolStripButtonNumbers.Click, New System.EventHandler(Me.toolStripButtonNumbers_Click) + Me.toolStripButtonBullets.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonBullets.Image = (CType((resources.GetObject("toolStripButtonBullets.Image")), System.Drawing.Image)) + Me.toolStripButtonBullets.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonBullets.Name = "toolStripButtonBullets" + Me.toolStripButtonBullets.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonBullets.Text = "Format Bullets" + ' AddHandler Me.toolStripButtonBullets.Click, New System.EventHandler(Me.toolStripButtonBullets_Click) + Me.toolStripButtonOutdent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonOutdent.Image = (CType((resources.GetObject("toolStripButtonOutdent.Image")), System.Drawing.Image)) + Me.toolStripButtonOutdent.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonOutdent.Name = "toolStripButtonOutdent" + Me.toolStripButtonOutdent.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonOutdent.Text = "Decrease Indentation" + ' AddHandler Me.toolStripButtonOutdent.Click, New System.EventHandler(Me.toolStripButtonOutdent_Click) + Me.toolStripButtonIndent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonIndent.Image = (CType((resources.GetObject("toolStripButtonIndent.Image")), System.Drawing.Image)) + Me.toolStripButtonIndent.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonIndent.Name = "toolStripButtonIndent" + Me.toolStripButtonIndent.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonIndent.Text = "Increase Indentation" + 'AddHandler Me.toolStripButtonIndent.Click, New System.EventHandler(Me.toolStripButtonIndent_Click) + Me.toolStripSeparatorFormat.Name = "toolStripSeparatorFormat" + Me.toolStripSeparatorFormat.Size = New System.Drawing.Size(6, 25) + Me.toolStripButtonLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonLeft.Image = (CType((resources.GetObject("toolStripButtonLeft.Image")), System.Drawing.Image)) + Me.toolStripButtonLeft.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonLeft.Name = "toolStripButtonLeft" + Me.toolStripButtonLeft.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonLeft.Text = "Align Left" + ' AddHandler Me.toolStripButtonLeft.Click, New System.EventHandler(Me.toolStripButtonLeft_Click) + Me.toolStripButtonCenter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonCenter.Image = (CType((resources.GetObject("toolStripButtonCenter.Image")), System.Drawing.Image)) + Me.toolStripButtonCenter.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonCenter.Name = "toolStripButtonCenter" + Me.toolStripButtonCenter.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonCenter.Text = "Center" + ' AddHandler Me.toolStripButtonCenter.Click, New System.EventHandler(Me.toolStripButtonCenter_Click) + Me.toolStripButtonRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonRight.Image = (CType((resources.GetObject("toolStripButtonRight.Image")), System.Drawing.Image)) + Me.toolStripButtonRight.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonRight.Name = "toolStripButtonRight" + Me.toolStripButtonRight.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonRight.Text = "Align Right" + 'AddHandler Me.toolStripButtonRight.Click, New System.EventHandler(Me.toolStripButtonRight_Click) + Me.toolStripButtonFull.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonFull.Image = (CType((resources.GetObject("toolStripButtonFull.Image")), System.Drawing.Image)) + Me.toolStripButtonFull.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonFull.Name = "toolStripButtonFull" + Me.toolStripButtonFull.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonFull.Text = "Justify" + ' AddHandler Me.toolStripButtonFull.Click, New System.EventHandler(Me.toolStripButtonFull_Click) + Me.toolStripSeparatorAlign.Name = "toolStripSeparatorAlign" + Me.toolStripSeparatorAlign.Size = New System.Drawing.Size(6, 25) + Me.toolStripButtonLine.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonLine.Image = (CType((resources.GetObject("toolStripButtonLine.Image")), System.Drawing.Image)) + Me.toolStripButtonLine.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonLine.Name = "toolStripButtonLine" + Me.toolStripButtonLine.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonLine.Text = "Insert Horizontal Line" + 'AddHandler Me.toolStripButtonLine.Click, New System.EventHandler(Me.toolStripButtonLine_Click) + Me.toolStripButtonHyperlink.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonHyperlink.Image = (CType((resources.GetObject("toolStripButtonHyperlink.Image")), System.Drawing.Image)) + Me.toolStripButtonHyperlink.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonHyperlink.Name = "toolStripButtonHyperlink" + Me.toolStripButtonHyperlink.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonHyperlink.Text = "Create a Hyperlink" + ' AddHandler Me.toolStripButtonHyperlink.Click, New System.EventHandler(Me.toolStripButtonHyperlink_Click) + Me.toolStripButtonPicture.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.toolStripButtonPicture.Image = (CType((resources.GetObject("toolStripButtonPicture.Image")), System.Drawing.Image)) + Me.toolStripButtonPicture.ImageTransparentColor = System.Drawing.Color.Magenta + Me.toolStripButtonPicture.Name = "toolStripButtonPicture" + Me.toolStripButtonPicture.Size = New System.Drawing.Size(23, 22) + Me.toolStripButtonPicture.Text = "Insert Picture" + 'AddHandler Me.toolStripButtonPicture.Click, New System.EventHandler(Me.toolStripButtonPicture_Click) + Me.webBrowserBody.AllowWebBrowserDrop = False + Me.webBrowserBody.Dock = System.Windows.Forms.DockStyle.Fill + Me.webBrowserBody.IsWebBrowserContextMenuEnabled = False + Me.webBrowserBody.Location = New System.Drawing.Point(0, 25) + Me.webBrowserBody.MinimumSize = New System.Drawing.Size(20, 20) + Me.webBrowserBody.Name = "webBrowserBody" + Me.webBrowserBody.Size = New System.Drawing.Size(600, 425) + Me.webBrowserBody.TabIndex = 0 + ' AddHandler Me.webBrowserBody.PreviewKeyDown, Me.webBrowserBody_PreviewKeyDown(Me.webBrowserBody, New EventArgs) + ' Me.webBrowserBody.DocumentCompleted += New System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(Me.webBrowserBody_DocumentCompleted) + Me.toolStripComboBoxSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.toolStripComboBoxSize.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.toolStripComboBoxSize.Name = "toolStripComboBoxSize" + Me.toolStripComboBoxSize.Size = New System.Drawing.Size(36, 25) + ' AddHandler Me.toolStripComboBoxSize.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxSize_SelectedIndexChanged) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.Controls.Add(Me.webBrowserBody) + Me.Controls.Add(Me.toolStripToolBar) + Me.Name = "HTMLTextBox" + Me.Size = New System.Drawing.Size(600, 450) + Me.toolStripToolBar.ResumeLayout(False) + Me.toolStripToolBar.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + End Sub + + Private toolStripToolBar As System.Windows.Forms.ToolStrip + Private webBrowserBody As System.Windows.Forms.WebBrowser + Private toolStripComboBoxName As System.Windows.Forms.ToolStripComboBox + Private toolStripComboBoxSize As ToolStripComboBoxEx + Private toolStripButtonBold As System.Windows.Forms.ToolStripButton + Private toolStripButtonItalic As System.Windows.Forms.ToolStripButton + Private toolStripButtonUnderline As System.Windows.Forms.ToolStripButton + Private toolStripButtonColor As System.Windows.Forms.ToolStripButton + Private toolStripSeparatorFont As System.Windows.Forms.ToolStripSeparator + Private toolStripButtonNumbers As System.Windows.Forms.ToolStripButton + Private toolStripButtonBullets As System.Windows.Forms.ToolStripButton + Private toolStripButtonOutdent As System.Windows.Forms.ToolStripButton + Private toolStripButtonIndent As System.Windows.Forms.ToolStripButton + Private toolStripSeparatorFormat As System.Windows.Forms.ToolStripSeparator + Private toolStripButtonLeft As System.Windows.Forms.ToolStripButton + Private toolStripButtonCenter As System.Windows.Forms.ToolStripButton + Private toolStripButtonRight As System.Windows.Forms.ToolStripButton + Private toolStripButtonFull As System.Windows.Forms.ToolStripButton + Private toolStripSeparatorAlign As System.Windows.Forms.ToolStripSeparator + Private toolStripButtonLine As System.Windows.Forms.ToolStripButton + Private toolStripButtonHyperlink As System.Windows.Forms.ToolStripButton + Private toolStripButtonPicture As System.Windows.Forms.ToolStripButton + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx new file mode 100644 index 0000000..3b19fbf --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC1JREFUOE9jYBh2 + 4D/QR/gwUR5GNgCmAZsYTsMGlwHo4TESwoAq6YCogBpGigDXJzrGE301bAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADVJREFUOE9jYBj2 + 4D/Qh+iYZE+DDVizYiaIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfQ1cTAOjCLVxq2QiuAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYBh2 + 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgbhmxUxQYDJAaZJiAVvcgw2jC0BPddj4dHEI8ZYAADTJ + N6c8hf3vAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGRJREFUOE9jYKAD + +E+2HWtWzARp/g+lyTIHbAAUk2YAzHaYAeS4Atlm0lyBZDvM2SSHBbLf0dn4wwKL7SS7Ap9/8YcFHtuJ + dgW+eCctLEhLNVDVQCv+E4uxWkCsZpA6slyITRMAH5Zv5oCq9bQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALdJREFUOE9jYKAG + ePTy13+f0lP/yTYrpOn+f4/8A+gGgPiEMMTOxy9//HdIXv3/6Pmn5LnCNXvHf4vw6f+N/TvIM4Bsv8M0 + BtXf+B9QfeX/rPU3yHfBztPv/9vELkA2gFAAItSeufntv2vW9v+Hzz0mzwWeBQf+W0bM+G/k20KeARQH + on/Vxf++5ef+O6SsJt8FfhXn/m8+9IC8QAR5YcLK2//NgieQ5wKPwoPgQDx4+iF5BlASiADwc282sbGz + ZAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE9jYKAG + OHDmyf+C7kP/QTRZ5oE0h7Y8+S9rXQU3gIWJ5T8+jGIRyGaQ5jkrj5LnArKcTVVNo4FIheDcdeTG/8SK + 5f9BNFnGgTR7Fh39L2mcSV5KBNkM0jxr6V7yXECWs6mlCQDlBWMQibjNkwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKFJREFUOE9jYMAP + /hOQp640yDZkDDIdXQwbn0qu+PTt7/8Fuz/8L5l8GdnfhF3w7M2f/3N2ff8f3f3uf0DNtf9PXn4lzYCw + 1of/Q5ru/fevvPjfIXn1f4vwaf9Ng/qID/3nb77/n7Hm6n/buEVAjb3/Hzz9QIwLMAPu09ef/ycsOvY/ + qmAeeQZQIy4GOB1gSXXIKZEaPiTPDOLTA3nmMzAAAFijgMKTQOD0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKVJREFUOE9jYMAP + /hOQp640yDZkDDIdXQwbnwquCG1/8T+p//n/Kw9/oPuZOBdcefDrv1/js/9uFbf/z1x/+/+z119hBhE2 + IKzl0f/wtmf/g+pv/bdPXvXfLGTif5OAbtJC//r99/8tI2f9Nwns+R+cs+D/wdP3CLkANeAS63b8T65a + /f/+03fEhgEVQh6LEQOYDqCuwecC2viZGFNJSw/EmIiuBgAein31gYqs0gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBhM + 4D/QMfgw7d1KyAXI8rRxDSEX0MZWZFMJuWA0DFBTKe1jhH42AAD5sDjIZUq+7gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis + 4D/QYeiY9m7FZisuMdq6Bp9LBs7mwREjtPU/yPTBkw5o71dkGwCUJzHPYqsAPQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis + 4D/QYfgwbdxNyFZkedq4ANlUQq6hjQsI2ToaBqgpkzaxMDCmAgDawTjIJO+/7AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAChJREFUOE9jYBgs + 4D/QIeRg6rmfHNtBeqgHRl1AXhoYbrFAvRRFqkkAJdBTrRhJgKYAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAB9JREFUOE9jYBgF + wywE/gP9QwrG8D4pmkFqR8HwCQEAckQX6SRiW/8AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + 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 + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb new file mode 100644 index 0000000..05ec5a7 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb @@ -0,0 +1,415 @@ +Imports System +Imports System.Collections.Generic +Imports System.ComponentModel +Imports System.Drawing +Imports System.Data +Imports System.Text +Imports System.Windows.Forms +Imports System.Runtime.InteropServices + +Namespace McDull.Windows.Forms + + Public Partial Class HTMLTextBox + Inherits UserControl + + Public Sub New() + dataUpdate = 0 + InitializeComponent() + InitializeControls() + End Sub + + Public Overrides Property Text As String + Get + Return webBrowserBody.DocumentText + End Get + Set(ByVal value As String) + webBrowserBody.DocumentText = value.Replace(vbCrLf, "
") + End Set + End Property + + Public ReadOnly Property Images As String() + Get + Dim imagestmp As List(Of String) = New List(Of String)() + + For Each element As HtmlElement In webBrowserBody.Document.Images + Dim image As String = element.GetAttribute("src") + + If Not imagestmp.Contains(image) Then + imagestmp.Add(image) + End If + Next + + Return imagestmp.ToArray() + End Get + End Property + + Private Sub InitializeControls() + BeginUpdate() + + For Each family As FontFamily In FontFamily.Families + toolStripComboBoxName.Items.Add(family.Name) + Next + + toolStripComboBoxSize.Items.AddRange(FontSize.All.ToArray()) + webBrowserBody.DocumentText = String.Empty + AddHandler webBrowserBody.Document.Click, AddressOf webBrowserBody_DocumentClick + AddHandler webBrowserBody.Document.Focusing, AddressOf webBrowserBody_DocumentFocusing + webBrowserBody.Document.ExecCommand("EditMode", False, Nothing) + webBrowserBody.Document.ExecCommand("LiveResize", False, Nothing) + EndUpdate() + End Sub + + Private Sub RefreshToolBar() + BeginUpdate() + + Try + Dim document = webBrowserBody.Document.DomDocument 'As mshtml.IHTMLDocument2 = CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2) + toolStripComboBoxName.Text = document.queryCommandValue("FontName").ToString() + toolStripComboBoxSize.SelectedItem = FontSize.Find(CInt(document.queryCommandValue("FontSize"))) + toolStripButtonBold.Checked = document.queryCommandState("Bold") + toolStripButtonItalic.Checked = document.queryCommandState("Italic") + toolStripButtonUnderline.Checked = document.queryCommandState("Underline") + toolStripButtonNumbers.Checked = document.queryCommandState("InsertOrderedList") + toolStripButtonBullets.Checked = document.queryCommandState("InsertUnorderedList") + toolStripButtonLeft.Checked = document.queryCommandState("JustifyLeft") + toolStripButtonCenter.Checked = document.queryCommandState("JustifyCenter") + toolStripButtonRight.Checked = document.queryCommandState("JustifyRight") + toolStripButtonFull.Checked = document.queryCommandState("JustifyFull") + Catch e As Exception + System.Diagnostics.Debug.WriteLine(e) + Finally + EndUpdate() + End Try + End Sub + + Private dataUpdate As Integer + + Private ReadOnly Property Updating As Boolean + Get + Return dataUpdate<> 0 + End Get + End Property + + Private Sub BeginUpdate() + dataUpdate += 1 + End Sub + + Private Sub EndUpdate() + dataUpdate -= 1 + End Sub + + Private Sub toolStripComboBoxName_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("FontName", False, toolStripComboBoxName.Text) + End Sub + + Private Sub toolStripComboBoxSize_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + Dim size As Integer = If((toolStripComboBoxSize.SelectedItem Is Nothing), 1, (TryCast(toolStripComboBoxSize.SelectedItem, FontSize)).Value) + webBrowserBody.Document.ExecCommand("FontSize", False, size) + End Sub + + Private Sub toolStripButtonBold_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("Bold", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonItalic_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("Italic", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonUnderline_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("Underline", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonColor_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + ' Dim fontcolor As Integer = CInt((CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2)).queryCommandValue("ForeColor")) + Dim dialog As ColorDialog = New ColorDialog() + ''' Cannot convert ExpressionStatementSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. +''' Parameter name: op +''' Actual value was RightShiftExpression. +''' at ICSharpCode.CodeConverter.Util.VBUtil.GetExpressionOperatorTokenKind(SyntaxKind op) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgument(ArgumentSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgument(ArgumentSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.b__99_0(ArgumentSyntax a) +''' at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() +''' at Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory.SeparatedList[TNode](IEnumerable`1 nodes) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgumentList(ArgumentListSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgumentList(ArgumentListSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitInvocationExpression(InvocationExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitInvocationExpression(InvocationExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.MakeAssignmentStatement(AssignmentExpressionSyntax node) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitAssignmentExpression(AssignmentExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitAssignmentExpression(AssignmentExpressionSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.ConvertSingleExpression(ExpressionSyntax node) +''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.VisitExpressionStatement(ExpressionStatementSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.ConvertWithTrivia(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.DefaultVisit(SyntaxNode node) +''' +''' Input: +''' dialog.Color = Color.FromArgb(0xff, fontcolor & 0xff, (fontcolor >> 8) & 0xff, (fontcolor >> 16) & 0xff); + +''' + Dim result As DialogResult = dialog.ShowDialog() + + If result = DialogResult.OK Then + Dim color As String = dialog.Color.Name + + If Not dialog.Color.IsNamedColor Then + color = "#" & color.Remove(0, 2) + End If + + webBrowserBody.Document.ExecCommand("ForeColor", False, color) + End If + + RefreshToolBar() + End Sub + + Private Sub toolStripButtonNumbers_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("InsertOrderedList", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonBullets_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("InsertUnorderedList", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonOutdent_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("Outdent", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonIndent_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("Indent", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonLeft_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("JustifyLeft", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonCenter_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("JustifyCenter", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonRight_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("JustifyRight", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonFull_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("JustifyFull", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonLine_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("InsertHorizontalRule", False, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonHyperlink_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("CreateLink", True, Nothing) + RefreshToolBar() + End Sub + + Private Sub toolStripButtonPicture_Click(ByVal sender As Object, ByVal e As EventArgs) + If Updating Then + Return + End If + + webBrowserBody.Document.ExecCommand("InsertImage", True, Nothing) + RefreshToolBar() + End Sub + + Private Sub webBrowserBody_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) + End Sub + + Private Sub webBrowserBody_PreviewKeyDown(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs) + If e.IsInputKey Then + Return + End If + + RefreshToolBar() + End Sub + + Private Sub webBrowserBody_DocumentClick(ByVal sender As Object, ByVal e As HtmlElementEventArgs) + RefreshToolBar() + End Sub + + Private Sub webBrowserBody_DocumentFocusing(ByVal sender As Object, ByVal e As HtmlElementEventArgs) + RefreshToolBar() + End Sub + + Private Class FontSize + Private Shared allFontSize As List(Of FontSize) = Nothing + + Public Shared ReadOnly Property All As List(Of FontSize) + Get + + If allFontSize Is Nothing Then + allFontSize = New List(Of FontSize)() + allFontSize.Add(New FontSize(8, 1)) + allFontSize.Add(New FontSize(10, 2)) + allFontSize.Add(New FontSize(12, 3)) + allFontSize.Add(New FontSize(14, 4)) + allFontSize.Add(New FontSize(18, 5)) + allFontSize.Add(New FontSize(24, 6)) + allFontSize.Add(New FontSize(36, 7)) + End If + + Return allFontSize + End Get + End Property + + Public Shared Function Find(ByVal value As Integer) As FontSize + If value< 1 Then + Return All(0) + End If + + If value > 7 Then + Return All(6) + End If + + Return All(value - 1) + End Function + + Private Sub New(ByVal display As Integer, ByVal value As Integer) + displaySize = display + valueSize = value + End Sub + + Private valueSize As Integer + + Public ReadOnly Property Value As Integer + Get + Return valueSize + End Get + End Property + + Private displaySize As Integer + + Public ReadOnly Property Display As Integer + Get + Return displaySize + End Get + End Property + + Public Overrides Function ToString() As String + Return displaySize.ToString() + End Function + End Class + + Private Class ToolStripComboBoxEx + Inherits ToolStripComboBox + + Public Overrides Function GetPreferredSize(ByVal constrainingSize As Size) As Size + Dim size As Size = MyBase.GetPreferredSize(constrainingSize) + size.Width = Math.Max(Width, &H20) + Return size + End Function + End Class + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb new file mode 100644 index 0000000..2c96842 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb @@ -0,0 +1,30 @@ +Partial Class KdSearchBox + Inherits System.Windows.Forms.TextBox + + + + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb new file mode 100644 index 0000000..35ca939 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb @@ -0,0 +1,860 @@ +Imports System.ComponentModel +Imports System.Drawing +Imports System.Windows.Forms + +'Imports System.Threading + +Public Class KdSearchBox + Inherits System.Windows.Forms.TextBox + Implements INotifyPropertyChanged + + ' Dim sql As New SDL.SQL + ' Dim KUNDENSQL As New SDL.kundenSQL + Dim form As Form = Me.FindForm + 'Public KdData As SDL.cKundenFMZOLL + Public KdData_KUNDE As cKunde = Nothing + Public KdData_ADRESSEN As cAdressen = Nothing + Public KdData_KUNDE_ERW As cKundenErweitert = Nothing + + Public Property searchActive As Boolean = True + Public Property _AllowSetValue As Boolean = False + Public Property _displayFullName As Boolean = False ' nur wenn _loadKdData + Public Property _display_Name1 As Boolean = False ' nur wenn _loadKdData + + Public Property _ValueKdAndName As Boolean = True + Public Property _loadKdData As Boolean = False + + Public Property _hideIfListEmpty As Boolean = True + Public Property _displayWoelflKd As Boolean = False + Public Property _displayAVISO_Email As Boolean = False + Public Property nurAktive As Boolean = True + Public Property kdNrField As Control = Nothing + Public Property dgvpos As String = "LEFT" + Public Property _autoSizeGross As Boolean = False + Public Property _AlleFirmenCLUSTER As Boolean = False + Public Property _UseFIRMA As String = "" + + Dim last_search As DateTime = Now + Dim last_eingabe As DateTime = Now + Public Property TIMER_SEARCH As Boolean = True + Dim Eingabe_verarbeitet = True + Dim WithEvents tmr_Search As New Timer + + + Public usrcntlWIDTH = 600 + Public usrcntlHEIGHT = 380 + + Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView) + + ' Public WithEvents dgv As DataGridView + ' Public WithEvents dgvInaktiv As DataGridView + + Dim SQL As New SQL + + Public Sub FireReturn() + dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return)) + End Sub + + Protected Overrides Sub OnPaint(e As PaintEventArgs) + Try + MyBase.OnPaint(e) + Catch ex As Exception + Me.Invalidate() + End Try + End Sub + + Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus + Try + Me.SelectionLength = 0 + Me.HideSelection = False + Me.SelectAll() + Me.Select() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_01") + End Try + End Sub + + Public Sub RESARCH() + KdSearchBox_KeyUp(Me, New KeyEventArgs(Keys.Space)) + End Sub + + Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp + Try + 'Console.WriteLine(String.Format("TEEST 01")) + If Not searchActive Then Exit Sub + + ' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv + ' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv + + + If e.KeyCode = Keys.Tab Then + If usrcntl IsNot Nothing Then usrcntl.Visible = False + e.Handled = True + Exit Sub + End If + + If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab.. + If usrcntl IsNot Nothing Then usrcntl.Visible = False + e.Handled = True + Exit Sub + End If + + + If e.KeyCode = Keys.Return Then + + e.Handled = True + Exit Sub + End If + + If e.KeyCode = Keys.Up Then + If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv) + e.Handled = True + Exit Sub + End If + If e.KeyCode = Keys.Down Then + If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv) + e.Handled = True + Exit Sub + End If + If e.KeyCode = Keys.Escape Then + hideDgv(usrcntl) + e.Handled = True + Exit Sub + End If + If kdNrField IsNot Nothing Then kdNrField.Text = "" + + KdNr_value = -1 + KdData_KUNDE = Nothing + KdData_ADRESSEN = Nothing + KdData_KUNDE_ERW = Nothing + + If Me.Text.Trim = "" Then + KdNr = -1 + KdName = "" + ' KdData = Nothing + KdData_KUNDE = Nothing + KdData_ADRESSEN = Nothing + KdData_KUNDE_ERW = Nothing + setMeValue() + hideDgv(usrcntl) + Exit Sub + End If + + If usrcntl Is Nothing Then + Exit Sub + End If + + Eingabe_verarbeitet = False + last_eingabe = Now + + doKeyDown(Now) + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_02") + End Try + End Sub + + Sub doKeyDown(srchdate As DateTime) + If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer + + Dim span_last_search = CInt(DirectCast((srchdate - last_search), TimeSpan).TotalMilliseconds) + Dim span_last_eingabe = CInt(DirectCast((srchdate - last_eingabe), TimeSpan).TotalMilliseconds) + + 'TIMER_SEARCH + If TIMER_SEARCH Then + If span_last_search < 500 And span_last_eingabe < 500 Then + Exit Sub + End If + End If + + + + If usrcntl.Visible = False Then + usrcntl.Width = usrcntlWIDTH + usrcntl.Height = usrcntlHEIGHT + + Dim locationOnForm As Point = Nothing + If dgvpos = "LEFT" Or dgvpos = "" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + ElseIf dgvpos = "RIGHT" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width) + ' MsgBox(locationOnForm.X & "/" & locationOnForm.Y) + End If + + + If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then + usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height + End If + + usrcntl.Location = locationOnForm + usrcntl.Top += Me.Height + End If + + With usrcntl.dgvKundenAktiv + + If usrcntl.Visible = False Then + .AllowUserToAddRows = False + .AllowUserToDeleteRows = False + .AllowUserToOrderColumns = False + .AllowUserToResizeColumns = False + .AllowUserToResizeRows = False + .ReadOnly = True + .MultiSelect = False + .SelectionMode = DataGridViewSelectionMode.FullRowSelect + .BackgroundColor = Color.White + .ForeColor = Color.Black + .GridColor = Color.White + End If + + 'THREADING AKTIV + Me.ThreadInitAKTIV() + ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV) + ' ThreadInitAKTIV.IsBackground = True + ' ThreadInitAKTIV.Start() + + End With + + + If nurAktive Then + usrcntl.dgvKundenInAktiv.Visible = False + usrcntl.Panel1.Visible = False + Else + With usrcntl.dgvKundenInAktiv + If usrcntl.Visible = False Then + .AllowUserToAddRows = False + .AllowUserToDeleteRows = False + .AllowUserToOrderColumns = False + .AllowUserToResizeColumns = False + .AllowUserToResizeRows = False + .ReadOnly = True + .MultiSelect = False + .SelectionMode = DataGridViewSelectionMode.FullRowSelect + .BackgroundColor = Color.White + .ForeColor = Color.Black + .GridColor = Color.White + .DefaultCellStyle.ForeColor = Color.Gray + End If + + + Me.ThreadInitINAKTIV() + 'THREADING INAKTIV + 'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV) + 'ThreadInitINAKTIV.IsBackground = True + 'ThreadInitINAKTIV.Start() + + End With + + End If + + If _hideIfListEmpty Then + + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + If False Then + + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Threading.Thread.Sleep(200) + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + End If + Else + usrcntl.Visible = True + usrcntl.Show() + usrcntl.BringToFront() + End If + Eingabe_verarbeitet = True + last_search = Now + + End Sub + + Public Sub hideDgv(o) '(sender As Object, e As EventArgs) + If o IsNot Nothing Then + Me.searchActive = False + o.visible = False + Me.searchActive = True + End If + End Sub + + + Sub ThreadInitAKTIV() + Try + If usrcntl Is Nothing Then Exit Sub + If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub + With usrcntl.dgvKundenAktiv + + Dim srch As String = Me.Text.Replace("'", "").ToString.Trim + If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden * + + Dim srch2 As String = "" + If srch.Contains(",") Then + Dim spitter() = srch.Split(",") + srch = spitter(0).ToString.Trim + srch2 = spitter(1).ToString.Trim + End If + If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden * + + Dim topAnz = 10 + If nurAktive Then topAnz = 16 + Dim AvisoEmail = "" + If _displayAVISO_Email Then + AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] " + End If + Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " " + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " + SQLstr &= " FROM [Adressen] " + SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " + SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " + SQLstr &= " WHERE 1=1 " + SQLstr &= " AND ( " + SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " + SQLstr &= " ) " + If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " + SQLstr &= " AND [Auswahl]='A' " + + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then + ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') " + 'Else + ' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " + 'End If + + If _AlleFirmenCLUSTER Then + SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + ElseIf _UseFIRMA <> "" Then + SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + Else + SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then + SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + End If + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then + SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide + End If + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then + SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + End If + SQLstr &= " ) " + End If + + 'AUSNAHME BIS BESSERE LÖSUNG: + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then + SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') " + End If + + + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine + ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') " + 'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then + ' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' " + 'Else + ' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' " + ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') " + 'End If + If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" + SQLstr &= " order by Ordnungsbegriff " + + setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + + End With + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03") + End Try + End Sub + + Sub ThreadInitINAKTIV() + Try + If usrcntl Is Nothing Then Exit Sub + If usrcntl.dgvKundenInAktiv Is Nothing Then Exit Sub + With usrcntl.dgvKundenInAktiv + + Dim srch As String = Me.Text.Replace("'", "").ToString.Trim + If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden * + + Dim srch2 As String = "" + If srch.Contains(",") Then + Dim spitter() = srch.Split(",") + srch = spitter(0).ToString.Trim + srch2 = spitter(1).ToString.Trim + End If + If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden * + + Dim SQLstr As String = " SELECT top 4 Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " + SQLstr &= " FROM [Adressen] " + SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " + SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " + SQLstr &= " WHERE 1=1 " + SQLstr &= " AND ( " + SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " + SQLstr &= " ) " + If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " + SQLstr &= " AND [Auswahl]='I' " + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine + ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') " + 'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then + ' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' " + 'Else + ' 'SQLstr &= " AND isnull([FilialenNr],0)<>'5501' " + ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') " + 'End If + + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then + ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') " + 'Else + ' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " + 'End If + + If _AlleFirmenCLUSTER Then + SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + ElseIf _UseFIRMA <> "" Then + SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + Else + SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then + SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + End If + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then + SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide + End If + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then + SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + End If + SQLstr &= " ) " + End If + + + 'AUSNAHME BIS BESSERE LÖSUNG: + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then + SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') " + End If + + If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" + SQLstr &= " order by Ordnungsbegriff " + + setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + + End With + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_04") + End Try + End Sub + + 'threadsicherer Aufruf + ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable) + Private Sub setDS(l As DataGridView, t As DataTable) + Try + If l Is Nothing Then Exit Sub + If t Is Nothing Then Exit Sub + '' If Me.InvokeRequired Then + 'Dim d As New setLabelCallback(AddressOf setDS) + ' Me.Invoke(d, New Object() {l, t}) + ' Else + With l + .Columns.Clear() + .DataSource = t + If .ColumnCount = 0 Then Exit Sub + + .RowHeadersVisible = False + + If .Columns("KdNr") IsNot Nothing AndAlso .Columns("KdNr") IsNot DBNull.Value Then .Columns("KdNr").Width = 60 : .Columns("KdNr").HeaderText = "KundenNr" + If .Columns("Firma") IsNot Nothing AndAlso .Columns("Firma") IsNot DBNull.Value Then .Columns("Firma").Width = 250 + If .Columns("Adresse") IsNot Nothing AndAlso .Columns("Adresse") IsNot DBNull.Value Then .Columns("Adresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + If .Columns("E-Mail") IsNot Nothing AndAlso .Columns("E-Mail") IsNot DBNull.Value Then .Columns("E-Mail").Width = 50 : .Columns("E-Mail").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter + If .Columns("Firma_Intern") IsNot Nothing AndAlso .Columns("Firma_Intern") IsNot DBNull.Value Then .Columns("Firma_Intern").Width = 60 : .Columns("Firma_Intern").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter : .Columns("Firma_Intern").HeaderText = "" + + .ClearSelection() + End With + ' End If + + Catch ex As Exception + ' Try + ' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message) + 'Catch ex2 As Exception + ' MsgBox("ERR", vbCritical) + 'End Try + End Try + + End Sub + + 'threadsicherer Aufruf + 'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean) + Private Sub setObjectVisible(l As Object, v As Boolean) + Try + If l Is Nothing Then Exit Sub + ' If Me.InvokeRequired Then + ' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible) + 'Me.Invoke(d, New Object() {l, v}) + ' Else + l.visible = v + If v = True Then + l.Show() + l.BringToFront() + End If + ' End If + Catch ex As Exception + ' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message) + End Try + End Sub + + + Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs) + Try + If dgv.SelectedRows.Count > 0 Then + Dim i As Integer = dgv.SelectedRows(0).Index + If (i + 1 < dgv.RowCount) Then + 'dgv.CurrentCell = dgv.Item(2, i + 1) + dgv.ClearSelection() + dgv.Rows(i + 1).Selected = True + End If + Else + If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0) + dgv.ClearSelection() + dgv.Rows(0).Selected = True + End If + End If + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03_1") + End Try + End Sub + Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs) + Try + If dgv.SelectedRows.Count > 0 Then + Dim i As Integer = dgv.SelectedRows(0).Index + If (i > 0) Then + 'dgv.CurrentCell = dgv.Item(2, i - 1) + dgv.ClearSelection() + dgv.Rows(i - 1).Selected = True + End If + Else + If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1) + dgv.ClearSelection() + dgv.Rows(dgv.Rows.Count - 1).Selected = True + End If + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_06") + End Try + End Sub + + + Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE + hideDgv(usrcntl) + End Sub + + + Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + With usrcntl.dgvKundenAktiv + If .SelectedRows.Count > 0 Then + If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + KdNr = .SelectedRows(0).Cells("KdNr").Value + KdName = .SelectedRows(0).Cells("Firma").Value + setMeValue() + hideDgv(usrcntl) + End If + End If + End With + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_07") + End Try + End Sub + + Private Sub dgvFindKD_Click2(sender As Object, e As EventArgs) Handles usrcntl.DGV_INAKTIV_Click + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then + With usrcntl.dgvKundenInAktiv + If .SelectedRows.Count > 0 Then + If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + KdNr = .SelectedRows(0).Cells("KdNr").Value + KdName = .SelectedRows(0).Cells("Firma").Value + setMeValue() + hideDgv(usrcntl) + End If + End If + End With + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_08") + End Try + End Sub + Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown + Try + + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden. + If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False + End If + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_09") + End Try + End Sub + Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown + Try + If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then + last_search = Now.AddSeconds(-10) + doKeyDown(Now) ' Damit Suche-Timer sicherausgelöst wurde + ' System.Threading.Thread.Sleep(5000) + End If + + + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + With usrcntl.dgvKundenAktiv + If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then + If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True + If .SelectedRows.Count > 0 Then + If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + KdNr = .SelectedRows(0).Cells("KdNr").Value + KdName = .SelectedRows(0).Cells("Firma").Value + setMeValue() + hideDgv(usrcntl) + End If + Else + usrcntl.Visible = False + End If + e.Handled = True + e.SuppressKeyPress = True + + End If + End With + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_10") + End Try + End Sub + + Private Sub dgvFindKD_Click2(sender As Object, e As KeyEventArgs) Handles usrcntl.DGV_KeyDown + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then + With usrcntl.dgvKundenInAktiv + If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then + If .SelectedRows.Count > 0 Then + If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + KdNr = .SelectedRows(0).Cells("KdNr").Value + KdName = .SelectedRows(0).Cells("Firma").Value + setMeValue() + hideDgv(usrcntl) + End If + Else + usrcntl.Visible = False + End If + + e.Handled = True + e.SuppressKeyPress = True + + End If + End With + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_11") + End Try + End Sub + + Sub reloadKdData() + Me.KdData_KUNDE = New cKunde(KdNr_value) + Me.KdData_ADRESSEN = New cAdressen(KdNr_value) + Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value) + + End Sub + + Sub setMeValue() + Try + If Me.kdNrField IsNot Nothing Then Me.kdNrField.Text = IIf(Me.KdNr_value > 0, Me.KdNr_value, "") + If _AllowSetValue Then + If _loadKdData Then 'Kundendaten sollen mitgeladen werden... + ' Me.KdData = KUNDENSQL.getKundeFMZOLLByKdNr(KdNr_value) + Me.KdData_KUNDE = New cKunde(KdNr_value) + Me.KdData_ADRESSEN = New cAdressen(KdNr_value) + Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value) + + If Me.KdData_ADRESSEN Is Nothing Then + KdName = "" + Me.Text = "" + + Else + KdName = KdData_ADRESSEN.Ordnungsbegriff + If _ValueKdAndName Then + If KdNr_value > 0 Then + + If _displayFullName Then + Me.Text = KdNr_value & " - " & (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim + ElseIf _display_Name1 Then + Me.Text = KdNr_value & " - " & Me.KdData_ADRESSEN.Name_1 + Else + Me.Text = KdNr_value & " - " & KdName + End If + Else + KdName = "" + Me.Text = "" + End If + ' -1 |-| + 'If Me.Text.Trim = "-" Then Me.Text = "" + ' Me.Text = KdNr_value & " - " & IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName) + Else + If _displayFullName Then + Me.Text = (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim + ElseIf _display_Name1 Then + Me.Text = Me.KdData_ADRESSEN.Name_1 + Else + Me.Text = KdName + End If + + ' Me.Text = IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName) + End If + End If + Else '... wenn nicht sollte beim Binding auch KdName gesetzt sein, sonst wird dieser nicht geladen + If KdNr_value > 0 Then + ' If KdName = "" Then + KdName = SQL.getValueTxtBySql("SELECT Ordnungsbegriff FROM Adressen WHERE AdressenNr =" & KdNr_value, "FMZOLL") + If _ValueKdAndName Then + Me.Text = KdNr_value & " - " & KdName + Else + Me.Text = KdName + End If + Else + KdName = "" + Me.Text = "" + End If + End If + ' searchActive = False + + End If + If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength) + Eingabe_verarbeitet = True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_12") + End Try + + End Sub + + Public KdNr_value As Integer = -1 'Hier ist der richtige Wert drin... + Public Property KdName As String 'Muss vom Typ String sein, sonst geht es nicht... (BINDING NULL VALUE) + + Public Property KdNr As String + Get + Return KdNr_value + End Get + Set(v As String) + Try + KdNr_value = IIf(IsNumeric(v), v, -1) + OnPropertyChanged("KdNr") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_14") + End Try + End Set + End Property + + Public Property KdNrNullInt As Object + Get + If KdNr_value > 0 Then + Return KdNr_value + Else + Return Nothing + End If + ' Return CObj(If(KdNr_value > 0, KdNr_value, Nothing)) + End Get + Set(v As Object) + 'NIX... + End Set + End Property + + + + Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged + + Protected Sub OnPropertyChanged(ByVal name As String) + RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name)) + End Sub + + + Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged + setMeValue() + End Sub + + Sub initKdBox(control As Control, Optional kdNrBox As Control = Nothing) + Try + If control Is Nothing Then Exit Sub + Me.form = control + Me.usrcntl = New usrcntlKdSearch + control.Controls.Add(usrcntl) + + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then + _AlleFirmenCLUSTER = True + End If + + 'Me.usrcntl = usrcntl + hideDgv(Me.usrcntl) + If kdNrBox IsNot Nothing Then Me.kdNrField = kdNrBox + + + tmr_Search.Interval = 200 + tmr_Search.Enabled = True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_13") + End Try + End Sub + + + + Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Try + Threading.Thread.Sleep(300) + ' MsgBox(Me.form.ActiveControl.Name) + If Me.form Is Nothing Then Exit Sub + If Me.form.ActiveControl Is Nothing Then Exit Sub + If Me.form.ActiveControl IsNot Me Then + setObjectVisible(usrcntl, False) + End If + Catch ex As Exception + + End Try + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then + If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then + Me.SelectionLength = 0 + End If + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_LF") + End Try + End Sub + + + + Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + If _autoSizeGross Then + Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper + ' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper + End If + End Sub + + Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged + If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength) + End Sub + + Private Sub tmr_Search_Tick(sender As Object, e As EventArgs) Handles tmr_Search.Tick + If TIMER_SEARCH Then doKeyDown(Now) + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb new file mode 100644 index 0000000..f959372 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb @@ -0,0 +1,47 @@ +Partial Class MyCheckBoxValue + Inherits System.Windows.Forms.CheckBox + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb new file mode 100644 index 0000000..26dc34f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb @@ -0,0 +1,42 @@ +Imports System.ComponentModel +Imports System.Windows.Forms + +Public Class MyCheckBoxValue + Inherits CheckBox + + Property _value As String = "" + 'Dim bold = False + Property _showdate As Boolean = False + Property _date As Object = Nothing + + + + Private Sub MyCheckBoxValue_CheckedChanged(sender As Object, e As EventArgs) Handles Me.CheckedChanged + If Me.Text.Contains(", am ") Then Me.Text = Me.Text.Substring(0, Me.Text.IndexOf(", am ")) 'ersetzen des Datum-Strings + If Me.CheckState = Windows.Forms.CheckState.Checked Then + If Me._date IsNot Nothing AndAlso IsDate(Me._date) AndAlso Me._date > CDate("01.01.1990") Then + Me.Text &= ", am " & Me._date.ToShortDateString + End If + + ' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, Drawing.FontStyle.Bold) + Else + Me._date = Nothing + ' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, If(bold, Drawing.FontStyle.Bold, Drawing.FontStyle.Regular)) + End If + End Sub + + Private Sub MyCheckBoxValue_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown + If e.KeyCode = Keys.Space Then + If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now + End If + End Sub + + ' Private Sub MyCheckBoxValue_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + ' bold = Me.Font.Bold + 'End Sub + + Private Sub MyCheckBoxValue_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown + If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now + End Sub + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb new file mode 100644 index 0000000..644790a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb @@ -0,0 +1,47 @@ +Partial Class MyCheckbox + Inherits System.Windows.Forms.CheckBox + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb new file mode 100644 index 0000000..61c61ba --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb @@ -0,0 +1,41 @@ +Imports System.ComponentModel +Imports System.Windows.Forms + +Public Class MyCheckbox + Inherits CheckBox + Implements INotifyPropertyChanged + + Property _value As String = "" + Property Checked_value As Boolean = False + + ' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs) + ' Me.Checked = Me.Checked_value + ' End Sub + + Private Sub MyCheckbox_Click(sender As Object, e As EventArgs) Handles Me.Click + Me.Checked = Me.Checked_value + End Sub + + Public Property CheckedValue As Boolean + Get + Return Checked_value + End Get + Set(v As Boolean) + Checked_value = v + Me.Checked = Checked_value + OnPropertyChanged("CheckedValue") + End Set + End Property + + + + Public Event PropertyChanged As PropertyChangedEventHandler _ + Implements INotifyPropertyChanged.PropertyChanged + + Protected Sub OnPropertyChanged(ByVal name As String) + RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name)) + End Sub + + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb new file mode 100644 index 0000000..e853ab4 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb @@ -0,0 +1,182 @@ +Imports System.ComponentModel + +Public Class MyComboBox + Inherits System.Windows.Forms.ComboBox + + Public Property _allowFreiText As Boolean = False + Public Property _allowedValuesFreiText As String() = Nothing + ' Public Property _allowedValuesFreiText_SET As String() = Nothing + + Public Sub New() + End Sub + + Sub fillWithMyListItem(l As List(Of MyListItem), Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "") + If clearList Then MyBase.Items.Clear() + If firstEmpty Then + Me.Items.Insert(0, New MyListItem(firstEmptyName, "")) + End If + If l IsNot Nothing Then + For Each i In l : MyBase.Items.Add(i) : Next + End If + End Sub + Sub fillWithSQL(sqlstr As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL", Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "") + fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sqlstr, showValueInText, conn), firstEmpty, clearList, firstEmptyName) + _TRANSLATE() + End Sub + + Public Property _value As String + Get + Return getValueOfItem() + End Get + Set(v As String) + + 'If _allowedValuesFreiText Is Nothing OrElse Not valueAllowed(v) Then + If v = "" Then + If Me.Items.Count > 0 And Not _allowFreiText Then Me.SelectedItem = Me.Items(0) + Else + changeItem(v, valueAllowed(v)) + 'End If + End If + End Set + End Property + + Function valueAllowed(t) + If _allowedValuesFreiText IsNot Nothing Then + For Each s In _allowedValuesFreiText + Try : If t.ToUpper = CStr(s).ToUpper Then Return True + Catch : End Try + Next + End If + Return False + End Function + + + Function changeItem(v, Optional Valueallowed = False) As Boolean + ' + Try + If Me.Items.Count = 0 Then Me.Text = "" : Return True + + If Me.Items(0).GetType.Name = "MyListItem" Then + + Try : If DirectCast(Me.SelectedItem, MyListItem).Value.ToUpper = CStr(v).ToUpper Then Return True 'warum nochmal? + Catch : End Try ' Wenn der ausgewählte EIntrag bereits korrekt ist. + + For Each i In Me.Items + ' MsgBox(DirectCast(i, MyListItem).Value & " - " & v) + If DirectCast(i, MyListItem).Value.ToUpper = CStr(v).ToUpper Then + 'me.SelectedIndex = i : Return True + Me.SelectedItem = i : Return True + End If + Next + For Each i In Me.Items + ' MsgBox(DirectCast(i, MyListItem).Value & " - " & v) + If DirectCast(i, MyListItem).Text.ToUpper = CStr(v).ToUpper Then + Me.SelectedItem = i : Return True + End If + Next + Else + 'WEnn die Items normale Strings beinhalten, wird keine Änderung des ._value Wertes vorgenommen. + Return True + End If + Catch ex As Exception + ' MsgBox(ex.Message) + End Try + + If Not _allowFreiText And Not Valueallowed Then + Me._value = "" + End If + + If Valueallowed Then + Me.Text = v + End If + + Return False + End Function + + Function getValueOfItem() As String + If Me.Items.Count = 0 Then Return "" + Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value + Catch + Try : Return MyBase.SelectedItem.ToString : Catch : End Try + End Try + If _allowFreiText Or valueAllowed(Me.Text) Then Return Me.Text + Return "" + End Function + + + Private Sub MyComboBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave + If Me.DropDownStyle = Windows.Forms.ComboBoxStyle.DropDown Then + If Me.Text = "" Then + If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0) + End If + End If + + Me._value = Me.Text + changeItem(CStr(Me.Text), valueAllowed(Me.Text)) + + Exit Sub + + If valueAllowed(Me.Text) Then + Dim t = Me.Text + changeItem(CStr(t)) 'Wenn nicht schon in der Auswahl gefunden, dann wird _value gesetzt + Me._value = t + Else + If Me._value = "" And Me.Text <> "" Then + If Not changeItem(CStr(Me.Text)) And _allowFreiText Then + Me.Text = "" + If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0) + Me._value = "" + End If + End If + End If + + End Sub + + Private Sub MyComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Me.SelectedIndexChanged + Me._value = getValueOfItem() + 'Geht nicht, da sonst Auswahl nicht Funktioniert + + ' MsgBox(Me._value) + End Sub + + + Public Sub _TRANSLATE() + Try + + If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub + If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub + + Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN) + If lanTxtAll.Count > 0 Then + + Dim listItems(Me.Items.Count) As MyListItem + Me.Items.CopyTo(listItems, 0) + + Me.Items.Clear() + + For Each l In listItems + If l IsNot Nothing Then + + Dim lanTxt = l.Text + For Each txt In lanTxtAll + If txt.trs_subControl IsNot DBNull.Value AndAlso txt.trs_subControl = l.Text Then + lanTxt = txt.trs_text + End If + Next + ' Dim lanTxt = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.Find(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN And (x.trs_subControl IsNot DBNull.Value AndAlso x.trs_subControl = l.Text)) + ' MsgBox(If(lanTxt Is Nothing, "noth " & Me.Name, lanTxt.trs_text)) + Me.Items.Add(New MyListItem(lanTxt, l.Value)) + + End If + Next + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb new file mode 100644 index 0000000..231d707 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb @@ -0,0 +1,51 @@ +Partial Class MyDatagridview + Inherits System.Windows.Forms.DataGridView + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + Try + MyBase.Dispose(disposing) + Catch ex As Exception + + End Try + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb new file mode 100644 index 0000000..f4514da --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb @@ -0,0 +1,319 @@ +Imports System.ComponentModel +Imports System.Reflection +Imports System.Windows.Forms + +Public Class MyDatagridview + Inherits DataGridView + Implements INotifyPropertyChanged + + Dim SQL_STR As String = "" + Dim CONN_ART As String = "" + Dim SQL_PARAM As List(Of SQLVariable) = Nothing + + Public RELOAD_PARAMS() As String = Nothing ' Die Spaltennamen, anhand dieser die Auswhal bei einem Reload wiederhergesatllt wird + Dim RELOAD_PARAMS_Save As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + + Property AKTUALISIERUNGS_INTERVALL As Integer = -1 + WithEvents timer As New Timer + Public VALUE_CHANGED As Boolean = False + + Event RELOADED() + + ' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs) + ' Me.Checked = Me.Checked_value + ' End Sub + + Dim SortColumn = Nothing + Dim sel_row_index = -1 + Dim SortDirection As Windows.Forms.SortOrder + Dim ScrollPos_X = Nothing + Dim ScrollPos_Y = Nothing + 'Dim ScrollPos_Y2 = Nothing + Dim SQL As New SQL + + Public Sub GetOrder() + ' dataGridView1.HorizontalScrollingOffset = dataGridView1.HorizontalScrollingOffset + 10 + + If Me.Columns.Count > 0 Then + RELOAD_PARAMS_Save.Clear() + If Me.SortedColumn IsNot Nothing Then + SortColumn = Me.SortedColumn.Index + SortDirection = Me.SortedColumn.HeaderCell.SortGlyphDirection + End If + ScrollPos_X = Me.HorizontalScrollingOffset + ScrollPos_Y = Me.FirstDisplayedScrollingRowIndex 'Me.VerticalScrollingOffset + + 'ScrollPos_Y2 = Me.VerticalScrollingOffset + If Me.SelectedRows.Count > 0 Then + sel_row_index = Me.SelectedRows(0).Index + + + If RELOAD_PARAMS IsNot Nothing Then + For Each p In RELOAD_PARAMS + RELOAD_PARAMS_Save.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(p, Me.SelectedRows(0).Cells(p).Value)) + Next + End If + End If + + + End If + End Sub + + Protected Overrides Sub OnPaint(e As PaintEventArgs) + Try + MyBase.OnPaint(e) + If AKTUALISIERUNGS_INTERVALL > 0 Then timer.Interval = AKTUALISIERUNGS_INTERVALL : timer.Enabled = True + + Catch ex As Exception + Me.Invalidate() + End Try + End Sub + + Public Sub SET_SQL(SQL_STR As String, CONN_ART As String, Optional SQL_PARAM As List(Of SQLVariable) = Nothing, Optional RELOAD_PARAMS As String() = Nothing) + Me.SQL_STR = SQL_STR + Me.CONN_ART = CONN_ART + Me.SQL_PARAM = SQL_PARAM + Me.RELOAD_PARAMS = RELOAD_PARAMS + End Sub + + Public Sub SetOrder() + If Me.Columns.Count > 0 Then + If SortColumn IsNot Nothing Then + If SortDirection = Windows.Forms.SortOrder.Ascending Then + Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Ascending) + ElseIf SortDirection = Windows.Forms.SortOrder.Descending Then + Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Descending) + Else + Me.Sort(Me.Columns(CInt(SortColumn))) + End If + End If + If ScrollPos_X IsNot Nothing Then Me.HorizontalScrollingOffset = ScrollPos_X + Try + ' Me.DataBind + Me.FirstDisplayedScrollingRowIndex = ScrollPos_Y + Catch ex As Exception + 'If ScrollPos_Y IsNot Nothing Then Me.HorizontalScrollBar.Value = ScrollPos_Y2 + + End Try + + If RELOAD_PARAMS IsNot Nothing And RELOAD_PARAMS_Save.Count > 0 Then + For Each r As DataGridViewRow In Me.Rows + Dim found = True + For Each p In RELOAD_PARAMS_Save + If r.Cells(p.Text).Value <> p.Value Then found = False + Next + If found Then + r.Selected = True + + For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells + If c.Visible Then + Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht + Exit For + End If + Next + Exit For + End If + + Next + Else + If sel_row_index > 0 And Me.Rows.Count > sel_row_index Then + Me.ClearSelection() + Me.Rows(sel_row_index).Selected = True + For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells + If c.Visible Then + Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht + Exit For + End If + Next + + End If + End If + End If + End Sub + + Public Sub LOAD(Optional showErr As Boolean = False, Optional ByRef errOccured As Boolean = False) + If SQL_STR <> "" Then + Me.DataSource = SQL.loadDgvBySql_Param(SQL_STR, CONN_ART, , SQL_PARAM, showErr, errOccured) + Me._TRANSLATE() + End If + End Sub + + Public Sub RELOAD() + GetOrder() + LOAD() + SetOrder() + RaiseEvent RELOADED() + End Sub + + Public Event PropertyChanged As PropertyChangedEventHandler _ + Implements INotifyPropertyChanged.PropertyChanged + + Protected Sub OnPropertyChanged(ByVal name As String) + RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name)) + End Sub + + + ' Private Sub MyDatagridview_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + ' End Sub + + Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick + If VALUE_CHANGED Then + RELOAD() + VALUE_CHANGED = False + End If + + + End Sub + + + '_______________________________________________________________________________ + +#Region "Operations" + + Public Sub DefineSingleClickColumns(ParamArray columns As DataGridViewColumn()) + singleClickColumns.Clear() + + For Each column As DataGridViewColumn In columns + If Me.Columns.IndexOf(column) = -1 Then + Throw New ArgumentException("Instance of column (" + column.Name + ") is not in this DataGridView") + End If + + singleClickColumns.Add(column) + Next + End Sub + + Public Sub DefineSingleClickColumns(ParamArray columnIndexes As Integer()) + singleClickColumns.Clear() + + For Each columnIndex As Integer In columnIndexes + If columnIndex < 0 OrElse columnIndex >= Me.Columns.Count Then + Throw New ArgumentOutOfRangeException("Column index (" + columnIndex + ") is out of range") + End If + + singleClickColumns.Add(Me.Columns(columnIndex)) + Next + End Sub + + Protected Sub BaseOnMouseDown(ByVal e As MouseEventArgs) + MyBase.OnMouseDown(e) + End Sub + +#End Region + + +#Region "Overrides" + + Protected Overloads Overrides Sub OnMouseDown(ByVal e As MouseEventArgs) + ' If primary mouse button not down, do standard processing + If e.Button <> MouseButtons.Left Then + MyBase.OnMouseDown(e) + + Return + End If + + ' Get info on where user clicked + Dim hitInfo As DataGridView.HitTestInfo = HitTest(e.X, e.Y) + + ' If a cell wasn't clicked, column isn't text or it's read only, do standard processing + If hitInfo.Type <> DataGridViewHitTestType.Cell OrElse Not (TypeOf Me.Columns(hitInfo.ColumnIndex) Is DataGridViewTextBoxColumn) OrElse Me.Columns(hitInfo.ColumnIndex).[ReadOnly] Then + MyBase.OnMouseDown(e) + + Return + End If + + ' If functionality enabled for specific columns and column clicked is not + ' one of these, do standard processing + If singleClickColumns.Count >= 1 AndAlso singleClickColumns.IndexOf(Me.Columns(hitInfo.ColumnIndex)) = -1 Then + MyBase.OnMouseDown(e) + + Return + End If + + ' Get clicked cell + Dim clickedCell As DataGridViewCell = Me.Rows(hitInfo.RowIndex).Cells(hitInfo.ColumnIndex) + + ' If cell not current, try and make it so + If CurrentCell IsNot clickedCell Then + ' Allow standard processing make clicked cell current + MyBase.OnMouseDown(e) + + ' If this didn't happen (validation failed etc), abort + If Me.CurrentCell IsNot clickedCell Then + Return + End If + End If + + ' If already in edit mode, do standard processing (will position caret) + If Me.CurrentCell.IsInEditMode Then + MyBase.OnMouseDown(e) + + Return + End If + + ' Enter edit mode + Me.BeginEdit(False) + + If Me.EditingControl IsNot Nothing Then + + ' Ensure text is scrolled to the left + Dim textBox As TextBoxBase = DirectCast(Me.EditingControl, TextBoxBase) + + textBox.SelectionStart = 0 + + textBox.ScrollToCaret() + + ' Position caret by simulating a mouse click within control + Dim editOffset As Integer = e.X - hitInfo.ColumnX - Me.EditingControl.Left + + Dim lParam As Int32 = MakeLong(editOffset, 0) + + SendMessage(Me.EditingControl.Handle, WM_LBUTTONDOWN, 0, lParam) + + SendMessage(Me.EditingControl.Handle, WM_LBUTTONUP, 0, lParam) + End If + End Sub + +#End Region + +#Region "Implementation" + + Const WM_LBUTTONDOWN As Integer = 513 + + Const WM_LBUTTONUP As Integer = 514 + + _ + Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Boolean + End Function + + Private singleClickColumns As New List(Of DataGridViewColumn)() + + Private Function MakeLong(ByVal loWord As Integer, ByVal hiWord As Integer) As Integer + Return (hiWord << 16) Or (loWord And 65535) + End Function + +#End Region + + + + Public Sub _TRANSLATE() + Try + + If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub + If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub + + Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN) + If lanTxtAll.Count > 0 Then + For Each txt In lanTxtAll + If Me.Columns(txt.trs_subControl) IsNot Nothing Then + Me.Columns(txt.trs_subControl).HeaderText = txt.trs_text + End If + Next + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb new file mode 100644 index 0000000..0784a98 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb @@ -0,0 +1,47 @@ +Partial Class MyFlowLayoutPanel + Inherits System.Windows.Forms.FlowLayoutPanel + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb new file mode 100644 index 0000000..33490c0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb @@ -0,0 +1,15 @@ +Imports System.ComponentModel +Imports System.Windows.Forms +Imports System.Drawing + +Public Class MyFlowLayoutPanel + Inherits FlowLayoutPanel + + + Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point + + Return Me.AutoScrollPosition + + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb new file mode 100644 index 0000000..86fcc28 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb @@ -0,0 +1,27 @@ +Imports System.Windows.Forms + +Public Class MyLinkLabelVALUE + Inherits System.Windows.Forms.LinkLabel + + Public Property valuename As String + Public Property linkedTextBox As TextBox + + Protected Overrides Sub OnClick(e As EventArgs) + MyBase.OnClick(e) + End Sub + +End Class + + +Public Class MyLinkPicBoxVALUE + Inherits System.Windows.Forms.PictureBox + + Public Property valuename As String + Public Property linkedTextBox As TextBox + Public Property linkedPictureBox As PictureBox + + Protected Overrides Sub OnClick(e As EventArgs) + MyBase.OnClick(e) + End Sub + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb new file mode 100644 index 0000000..2cf8903 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb @@ -0,0 +1,39 @@ +Imports System.ComponentModel + +Public Class MyListBox + Inherits System.Windows.Forms.ListBox + + Public Sub New() + End Sub + + Sub fillWithMyListItem(l As List(Of MyListItem)) + MyBase.Items.Clear() + For Each i In l : MyBase.Items.Add(i) : Next + End Sub + Sub fillWithSQL(sql As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL") + fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sql, showValueInText, conn)) + End Sub + + Public Property _value As String + Get + Return getValueOfItem() + End Get + Set(v As String) + changeItem(v) + End Set + End Property + + Sub changeItem(v) + For Each i In MyBase.Items + If DirectCast(i, MyListItem).Value = v Then + MyBase.SelectedItem = i : Exit Sub + End If + Next + End Sub + + Function getValueOfItem() As String + Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value : Catch : End Try + Return "" + End Function +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb new file mode 100644 index 0000000..b8a5c99 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb @@ -0,0 +1,47 @@ +Partial Class MyPanel + Inherits System.Windows.Forms.Panel + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb new file mode 100644 index 0000000..5180ced --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb @@ -0,0 +1,15 @@ +Imports System.ComponentModel +Imports System.Windows.Forms +Imports System.Drawing + +Public Class MyPanel + Inherits Panel + + + Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point + + Return Me.AutoScrollPosition + + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb new file mode 100644 index 0000000..5b1d89e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb @@ -0,0 +1,40 @@ +Partial Class MyRadioButton + Inherits System.Windows.Forms.RadioButton + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb new file mode 100644 index 0000000..7da1173 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb @@ -0,0 +1,34 @@ +Imports System.Windows.Forms + +Public Class MyRadioButton + Inherits System.Windows.Forms.RadioButton + + Public Sub New() + End Sub + + Public Property GroupName As String + + + Private Sub MyRadioButton_Click(sender As Object, e As EventArgs) Handles Me.Click + ' Dim rb As MyRadioButton = DirectCast(sender, MyRadioButton) + ' MsgBox(Me.Checked) + ' If Not Me.Checked Then + uncheck(Me.FindForm, Me.GroupName) + Me.Checked = True + ' End If + + + End Sub + + Sub uncheck(c As Control, GroupName As String) + ' MsgBox(c.GetType.Name) + If c.GetType.Name = "MyRadioButton" AndAlso DirectCast(c, MyRadioButton).GroupName = GroupName Then + DirectCast(c, MyRadioButton).Checked = False + ElseIf c.HasChildren Then + For Each csub In c.Controls + uncheck(csub, GroupName) + Next + End If + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb new file mode 100644 index 0000000..47ca705 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb @@ -0,0 +1,40 @@ +Imports System.ComponentModel +Imports System.Drawing +Imports System.Windows.Forms + +Public Class MyRichTextBox + Inherits System.Windows.Forms.RichTextBox + + Property MaxLines_Warning As String = "" + Property MaxLines_Warning_Label As Label = Nothing + Property MaxLineLength As Integer = -1 + + + Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave + If MaxLineLength > 0 Then + Dim str() As String = Me.Lines + For i = 0 To Me.Lines.Count - 1 + If str(i).Length > MaxLineLength Then + str(i) = str(i).Substring(0, MaxLineLength) + End If + Next + Me.Lines = str + End If + End Sub + + Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged + 'sender.ForeColor = System.Drawing.Color.Black + + If Me.Multiline And IsNumeric(MaxLines_Warning) Then + ' If Me.Lines.Length > MaxLines Then + If MaxLines_Warning_Label IsNot Nothing Then + MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning) + End If + 'End If + End If + + End Sub + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb new file mode 100644 index 0000000..0e74090 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb @@ -0,0 +1,41 @@ +Imports System.ComponentModel +Imports System.Drawing +Imports System.Windows.Forms + +Public Class MyRichTextBox2 + Inherits System.Windows.Forms.RichTextBox + + + Property MaxLines_Warning As String = "" + Property MaxLines_Warning_Label As Label = Nothing + Property MaxLineLength As Integer = -1 + + + Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave + If MaxLineLength > 0 Then + Dim str() As String = Me.Lines + For i = 0 To Me.Lines.Count - 1 + If str(i).Length > MaxLineLength Then + str(i) = str(i).Substring(0, MaxLineLength) + End If + Next + Me.Lines = str + End If + End Sub + + Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged + 'sender.ForeColor = System.Drawing.Color.Black + + If Me.Multiline And IsNumeric(MaxLines_Warning) Then + ' If Me.Lines.Length > MaxLines Then + If MaxLines_Warning_Label IsNot Nothing Then + MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning) + End If + 'End If + End If + + End Sub + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb new file mode 100644 index 0000000..d00b9ca --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb @@ -0,0 +1,30 @@ +Partial Class MySearchBox + Inherits System.Windows.Forms.TextBox + + + + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb new file mode 100644 index 0000000..e34e729 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb @@ -0,0 +1,638 @@ +Imports System.ComponentModel +Imports System.Drawing +Imports System.Windows.Forms + +'Imports System.Threading + +Public Class MySearchBox + Inherits System.Windows.Forms.TextBox + Implements INotifyPropertyChanged + + ' Dim sql As New SDL.SQL + ' Dim KUNDENSQL As New SDL.kundenSQL + Dim form As Form = Me.FindForm + 'Public KdData As SDL.cKundenFMZOLL + Public DR As DataRow = Nothing + + Public Property searchActive As Boolean = True + Public Property _AllowSetValue As Boolean = False + Public Property _allowFreitext As Boolean = False + Public Property _hideIfListEmpty As Boolean = True + Public Property dgvpos As String = "LEFT" + Public Property _autoSizeGross As Boolean = False + + Public Property SQL_WhereParamList As String() + Public Property INVISIBLE_COLUMNS As String() + + Public Property SQL_SELECT As String + Public Property SQL_WHERE As String + Public Property KEYPARAM As String + Public Property DISPLAY_PARAM As String + ' Public Property DISPLAY_PARAM_VALUE As String + Public Property SQL_ORDER_BY As String + Public Property conn_art As String = "FMZOLL" + Public Property key_visible As Boolean = False + Public Property _allowSpaceAsSplitter As Boolean = False + + + Dim SrchHeight As Integer = 300 + Dim SrchWidth As Integer = 300 + + Public Event VALUE_CHANGED() + + Dim active = False + Public Property _value As String + ' Public Propvalue As String + ' Public Property _value As String + ' Get + ' Return Me.Propvalue + ' End Get + ' Set(v As String) + ' SET_VALUE(v) + ' OnPropertyChanged("_value") + ' End Set + 'End Property + + + + Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged + + Protected Sub OnPropertyChanged(ByVal name As String) + RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name)) + End Sub + + + Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView) + + ' Public WithEvents dgv As DataGridView + ' Public WithEvents dgvInaktiv As DataGridView + + Dim SQL As New SQL + + Public Sub FireReturn() + dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return)) + End Sub + + Protected Overrides Sub OnPaint(e As PaintEventArgs) + Try + MyBase.OnPaint(e) + Catch ex As Exception + Me.Invalidate() + End Try + End Sub + + Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus + Try + Me.SelectionLength = 0 + Me.HideSelection = False + Me.SelectAll() + Me.Select() + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 01: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp + Try + 'Console.WriteLine(String.Format("TEEST 01")) + If Not searchActive Then Exit Sub + + ' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv + ' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv + + If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab.. + If usrcntl IsNot Nothing Then usrcntl.Visible = False + e.Handled = True + Exit Sub + End If + + + If e.KeyCode = Keys.Tab Then + If usrcntl IsNot Nothing Then usrcntl.Visible = False + e.Handled = True + Exit Sub + End If + + If e.KeyCode = Keys.Return Then + e.Handled = True + Exit Sub + End If + + If e.KeyCode = Keys.Up Then + If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv) + e.Handled = True + Exit Sub + End If + If e.KeyCode = Keys.Down Then + If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv) + e.Handled = True + Exit Sub + End If + If e.KeyCode = Keys.Escape Then + hideDgv(usrcntl) + e.Handled = True + Exit Sub + End If + + + DR = Nothing + _value = "" + + If Me.Text.Trim = "" Then + setMeValue(DR) + hideDgv(usrcntl) + Exit Sub + End If + + If usrcntl Is Nothing Then + Exit Sub + End If + + If usrcntl.Visible = False Then + usrcntl.Width = SrchWidth + usrcntl.Height = SrchHeight + + Dim locationOnForm As Point = Nothing + If dgvpos = "LEFT" Or dgvpos = "" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + ElseIf dgvpos = "RIGHT" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width) + ' MsgBox(locationOnForm.X & "/" & locationOnForm.Y) + End If + + + If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then + usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height + End If + + usrcntl.Location = locationOnForm + usrcntl.Top += Me.Height + End If + + With usrcntl.dgvKundenAktiv + + If usrcntl.Visible = False Then + .AllowUserToAddRows = False + .AllowUserToDeleteRows = False + .AllowUserToOrderColumns = False + .AllowUserToResizeColumns = False + .AllowUserToResizeRows = False + .ReadOnly = True + .MultiSelect = False + .SelectionMode = DataGridViewSelectionMode.FullRowSelect + .BackgroundColor = Color.White + .ForeColor = Color.Black + .GridColor = Color.White + + End If + + 'THREADING AKTIV + Me.ThreadInitAKTIV() + ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV) + ' ThreadInitAKTIV.IsBackground = True + ' ThreadInitAKTIV.Start() + + End With + + + usrcntl.dgvKundenInAktiv.Visible = False + usrcntl.Panel1.Visible = False + + + If _hideIfListEmpty Then + + + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + If False Then + + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Threading.Thread.Sleep(200) + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + End If + Else + usrcntl.Visible = True + usrcntl.Show() + usrcntl.BringToFront() + End If + + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 02: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub hideDgv(o) '(sender As Object, e As EventArgs) + If o IsNot Nothing Then + Me.searchActive = False + o.visible = False + Me.searchActive = True + End If + End Sub + + + Sub ThreadInitAKTIV() + Try + If usrcntl Is Nothing Then Exit Sub + If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub + With usrcntl.dgvKundenAktiv + + Dim srch As String = Me.Text.Replace("'", "").ToString.Trim + If _allowSpaceAsSplitter Then srch = srch.Replace(" ", ",") + + Dim srch2 As String = "" + If srch.Contains(",") Then + Dim spitter() = srch.Split(",") + srch = spitter(0).ToString.Trim + srch2 = spitter(1).ToString.Trim + End If + Dim topAnz = 16 + Dim AvisoEmail = "" + Dim SQLstr As String = "SELECT TOP " & topAnz & " " & SQL_SELECT & " WHERE 1=1 " + SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "") + + If srch <> "" And SQL_WhereParamList.Count > 0 Then 'erster Suchparameter + SQLstr &= " AND ( 1<>1 " + For Each s In SQL_WhereParamList + SQLstr &= " OR " & s & " LIKE '" & srch & "%' " + Next + SQLstr &= " ) " + End If + + If srch2 <> "" And SQL_WhereParamList.Count > 0 Then 'Wenn zweiter Suchparameter + SQLstr &= " AND ( 1<>1 " + For Each s In SQL_WhereParamList + SQLstr &= " OR " & s & " LIKE '" & srch2 & "%' " + Next + SQLstr &= " ) " + End If + + If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY + 'MsgBox(SQLstr) + ' MsgBox(SQL.loadDgvBySql(SQLstr, conn_art).Rows.Count) + setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, conn_art)) + + End With + + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub SET_VALUE(KEYPARAM_Value, Optional showerror = True) + Try + + If Not active Then Exit Sub + If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = "" + Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 " + SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' " + SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "") + If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY + ' MsgBox(SQLstr) + Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror) + If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then + setMeValue(dttmp.Rows(0)) + Else + If _allowFreitext Then + Me.Text = KEYPARAM_Value + Me._value = KEYPARAM_Value + Else + Me.Text = "" + Me._value = "" + End If + hideDgv(usrcntl) + End If + + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + + Public Function GET_VALUE_OnlyReturn(KEYPARAM_Value, Optional showerror = True) + Try + If SQL_SELECT = "" Then Return Nothing 'Ohne dem gehts nicht + If KEYPARAM = "" Then Return Nothing 'Ohne dem gehts nicht + If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = "" + + Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 " + SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' " + SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "") + If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY + + Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror) + If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then + + Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString + End If + Catch ex As Exception + End Try + Return Nothing + End Function + + + Public Function GET_VALUE_OnlyReturnBySQL(SQL_str, Optional showerror = True) + Try + + Dim dttmp As DataTable = SQL.loadDgvBySql(SQL_str, conn_art, , showerror) + If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then + + Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString + End If + Catch ex As Exception + End Try + Return Nothing + End Function + + 'threadsicherer Aufruf + ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable) + Private Sub setDS(l As DataGridView, t As DataTable) + Try + If l Is Nothing Then Exit Sub + If t Is Nothing Then Exit Sub + '' If Me.InvokeRequired Then + 'Dim d As New setLabelCallback(AddressOf setDS) + ' Me.Invoke(d, New Object() {l, t}) + ' Else + With l + .Columns.Clear() + .DataSource = t + + If .ColumnCount = 0 Then Exit Sub + + .RowHeadersVisible = False + .Columns(KEYPARAM).Visible = key_visible + .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + .ClearSelection() + + If INVISIBLE_COLUMNS IsNot Nothing Then + For Each i In INVISIBLE_COLUMNS + .Columns(i).Visible = False + Next + End If + + End With + ' End If + + Catch ex As Exception + ' Try + ' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message) + 'Catch ex2 As Exception + ' MsgBox("ERR", vbCritical) + 'End Try + End Try + + End Sub + + 'threadsicherer Aufruf + 'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean) + Private Sub setObjectVisible(l As Object, v As Boolean) + Try + If l Is Nothing Then Exit Sub + ' If Me.InvokeRequired Then + ' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible) + 'Me.Invoke(d, New Object() {l, v}) + ' Else + l.visible = v + If v = True Then + l.Show() + l.BringToFront() + End If + ' End If + Catch ex As Exception + ' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message) + End Try + End Sub + + + Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs) + Try + If dgv.SelectedRows.Count > 0 Then + Dim i As Integer = dgv.SelectedRows(0).Index + If (i + 1 < dgv.RowCount) Then + 'dgv.CurrentCell = dgv.Item(2, i + 1) + dgv.ClearSelection() + dgv.Rows(i + 1).Selected = True + End If + Else + If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0) + dgv.ClearSelection() + dgv.Rows(0).Selected = True + End If + End If + + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,1: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs) + Try + If dgv.SelectedRows.Count > 0 Then + Dim i As Integer = dgv.SelectedRows(0).Index + If (i > 0) Then + 'dgv.CurrentCell = dgv.Item(2, i - 1) + dgv.ClearSelection() + dgv.Rows(i - 1).Selected = True + End If + Else + If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1) + dgv.ClearSelection() + dgv.Rows(dgv.Rows.Count - 1).Selected = True + End If + End If + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,2: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE + hideDgv(usrcntl) + End Sub + + + Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + With usrcntl.dgvKundenAktiv + If .SelectedRows.Count > 0 Then + ' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + setMeValue(ToDataRow(.SelectedRows(0))) + hideDgv(usrcntl) + 'End If + End If + End With + End If + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 07: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Shared Function ToDataRow(ByVal Value As DataGridViewRow) As DataRow + Try + Dim dv As System.Data.DataRowView = CType(Value.DataBoundItem, DataRowView) + Return dv.Row + Catch ex As Exception + Return Nothing + End Try + End Function + + Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden. + If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False + End If + End If + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 09: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + With usrcntl.dgvKundenAktiv + If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then + If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True + + If .SelectedRows.Count > 0 Then + ' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then + setMeValue(ToDataRow(.SelectedRows(0))) + hideDgv(usrcntl) + 'End If + Else + usrcntl.Visible = False + End If + e.Handled = True + e.SuppressKeyPress = True + + End If + End With + End If + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 10: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Private Sub setMeValue(row As DataRow) + Try + If Not active Then Exit Sub + Me.DR = row + Me._value = "" + If Me.DR Is Nothing Then + Me.Text = "" + Else + + Me.Text = row(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString + Me._value = row(KEYPARAM).ToString + hideDgv(usrcntl) + End If + RaiseEvent VALUE_CHANGED() + If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength) + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 12: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + + Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged + ' setMeValue() ??????????????? + End Sub + + Sub initSearchBox(control As Control, SQL_SELECT As String, SQL_WhereParamList() As String, SQL_WHERE As String, SQL_ORDER_BY As String, KEYPARAM As String, Optional DISPLAY_PARAM As String = "", Optional conn_art As String = "FMZOLL", Optional key_visible As Boolean = True, Optional SrchWidth As Integer = 300, Optional Srchheight As Integer = 300, Optional INVISIBLE_COLUMNS() As String = Nothing) + Try + If control Is Nothing Then Exit Sub + Me.form = control + Me.usrcntl = New usrcntlKdSearch + control.Controls.Add(usrcntl) + + Me.SQL_WhereParamList = SQL_WhereParamList + Me.SQL_SELECT = SQL_SELECT + Me.SQL_WHERE = SQL_WHERE + Me.KEYPARAM = KEYPARAM + Me.DISPLAY_PARAM = DISPLAY_PARAM + Me.SQL_ORDER_BY = SQL_ORDER_BY + Me.conn_art = conn_art + Me.key_visible = key_visible + + Me.SrchHeight = Srchheight + Me.SrchWidth = SrchWidth + Me.INVISIBLE_COLUMNS = INVISIBLE_COLUMNS + + 'Me.usrcntl = usrcntl + hideDgv(Me.usrcntl) + active = True + Catch ex As Exception + MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 13: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Try + Threading.Thread.Sleep(300) + ' MsgBox(Me.form.ActiveControl.Name) + If Me.form Is Nothing Then Exit Sub + If Me.form.ActiveControl Is Nothing Then Exit Sub + If Me.form.ActiveControl IsNot Me Then + setObjectVisible(usrcntl, False) + End If + Catch ex As Exception + + End Try + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + + Try + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then + If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then + Me.SelectionLength = 0 + End If + End If + Catch ex As Exception + MsgBox("KdSearchBox_LostFocus: " & ex.Message) + End Try + End Sub + + + + Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + If _autoSizeGross Then + Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper + ' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper + End If + End Sub + + Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged + If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength) + End Sub + + + + Private Sub MySearchBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave + If Me._value = "" And Me.Text <> "" Then + SET_VALUE(Me.Text, False) 'Versucht, ob der Wert genau passt + End If + ' hideDgv(usrcntl) 'Geht ned, sonst kann man auch keinen Mausklick auf die DGV machen!! + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb new file mode 100644 index 0000000..8d93e92 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb @@ -0,0 +1,671 @@ +Imports System.ComponentModel +Imports System.Drawing +Imports System.Globalization +Imports System.Windows.Forms + +Public Class MyTextBox + Inherits System.Windows.Forms.TextBox + Implements INotifyPropertyChanged + Property _numbersOnly As Boolean = False + Property _numbersOnlyKommastellen As String = "" + Property _ShortDateOnly As Boolean = False ' nicht mehr public , da fehler + Property _ShortDateNew As Boolean = False + Property _DateTimeOnly As Boolean = False + Property _TimeOnly As Boolean = False + Property _Waehrung As Boolean = False + Property _WaehrungZeichen As Boolean = True + Property _Prozent As Boolean = False + ' Property MaxLines As String = "" + Property MaxLines_Warning As String = "" + Property MaxLines_Warning_Label As Label = Nothing + Property MaxLineLength As Integer = -1 + + Public Event ValueChanged() + + Public Sub New() + + If _Waehrung Then MyBase.TextAlign = HorizontalAlignment.Right + ' Me.Focus() + End Sub + + Private Sub MyTextBox_BindingContextChanged(sender As Object, e As EventArgs) Handles Me.BindingContextChanged + ' If _ShortDateOnly Then + 'If IsDate(sender.text) Then sender.text = CDate(sender.text).ToShortDateString + ' End If + + ' If _Waehrung Then + 'If IsNumeric(sender.text) Then sender.text = String.Format("{0:N2}", CDbl(sender.text)) + 'End If + ' If _ShortDateNew Then + 'If IsDate(sender._value) Then + 'sender._value = MyBase.Text + ' End If + ' End If + + End Sub + + + Sub fillWithSQL(sql As String, Optional conn As String = "SDL") + ' MsgBox((New SQL).getValueTxtBySql(sql, conn)) + Me._value = (New SQL).getValueTxtBySql(sql, conn) + ' MsgBox(Me._value) + 'Me.Text = Me._value + End Sub + + Private Sub MyTextBox_KeyDown(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress + + Exit Sub + + + + If False Then + 'geht end + If MaxLineLength > 0 And e.KeyChar <> Chr(13) Then + Dim str() As String = Me.Text.Split(vbNewLine) + For Each s In Me.Lines + If s.Length > MaxLineLength Then + s = s.Substring(0, MaxLineLength) + End If + Next + End If + End If + + If _numbersOnly Then + + If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) _ + Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then + e.Handled = True + End If + If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then + e.Handled = False + End If + End If + + End Sub + + Private Sub MyTextBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + MyBase.CausesValidation = True + If _ShortDateOnly Then MyBase.MaxLength = 10 + If _ShortDateNew Then MyBase.MaxLength = 10 ': addPicToGueltigBis() + If _DateTimeOnly Then MyBase.MaxLength = 16 ': addPicToGueltigBis() + + If _TimeOnly Then MyBase.MaxLength = 8 + + + + End Sub + Sub initDatePicture() + addNowBtnToDate() + 'addPicToGueltigBis() + End Sub + Sub initDatePicture2() + addNowBtnToDate2() + 'addPicToGueltigBis() + End Sub + + Sub initPINSHowPic() + addNowBtnToPIN() + 'addPicToGueltigBis() + End Sub + Public Sub addNowBtnToDate() + Dim tb = Me + Dim pb As New MyLinkPicBoxVALUE + tb.Parent.Controls.Add(pb) + pb.Tag = "Heute" + pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top + pb.Height = 18 : pb.Width = 20 + pb.Anchor = tb.Anchor + pb.SizeMode = PictureBoxSizeMode.Zoom + pb.Cursor = Cursors.Hand + pb.Image = My.Resources.today + pb.linkedTextBox = tb + + ' ToolTip Text zuordnen + Dim tooltip As New ToolTip ' + tooltip.SetToolTip(pb, "Heute") + + AddHandler pb.Click, AddressOf linkclicked + End Sub + Public Sub addNowBtnToDate2() + Dim tb = Me + Dim pb As New MyLinkPicBoxVALUE + tb.Parent.Controls.Add(pb) + pb.Tag = "Heute" + pb.Left = tb.Left + tb.Width - 11 : pb.Top = tb.Top + tb.Height - 11 + pb.Height = 10 : pb.Width = 10 + pb.Anchor = tb.Anchor + pb.SizeMode = PictureBoxSizeMode.Zoom + 'pb.Cursor = Cursors.Hand + ' pb.Image = My.Resources.ok + 'pb.BackColor = Color.Green + pb.linkedTextBox = tb + pb.BringToFront() + ' ToolTip Text zuordnen + 'Dim tooltip As New ToolTip ' + 'tooltip.SetToolTip(pb, "Gül") + + pb.Image = Nothing + If tb.Text.Length = 10 AndAlso IsDate(tb.Text) Then + If CDate(tb.Text) >= Now.ToShortDateString Then + pb.Image = My.Resources.ok + Else + pb.Image = My.Resources.del + End If + + End If + + AddHandler tb.TextChanged, Sub(send As Object, ev As EventArgs) + pb.Image = Nothing + If send.text.length = 10 AndAlso IsDate(send.text) Then + If CDate(send.text) >= Now.ToShortDateString Then + pb.Image = My.Resources.ok + Else + pb.Image = My.Resources.del + End If + + End If + End Sub + + End Sub + + Public Sub addNowBtnToPIN() + Dim tb = Me + Dim pb As New MyLinkPicBoxVALUE + tb.Parent.Controls.Add(pb) + pb.Tag = "Feld bearbeiten" + pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top + pb.Height = 15 : pb.Width = 15 + pb.Anchor = tb.Anchor + pb.SizeMode = PictureBoxSizeMode.Zoom + pb.Cursor = Cursors.Hand + pb.Image = My.Resources.stift + pb.linkedTextBox = tb + + ' ToolTip Text zuordnen + Dim tooltip As New ToolTip ' + tooltip.SetToolTip(pb, "Heute") + + AddHandler pb.Click, AddressOf linkclickedPIN + + 'AddHandler tb.EnabledChanged, Sub(send, ev) + ' tb.ForeColor = Color.Black + ' End Sub + + + + End Sub + + + Sub linkclicked(sender As Object, e As EventArgs) + 'Dim DateTimePicker1 As New DateTimePicker + ' Me.Parent.Controls.Add(DateTimePicker1) + Try + Dim tb As TextBox = sender.linkedTextBox + tb.Text = Now.ToShortDateString + ' DateTimePicker1.Focus() + ' SendKeys.Send("{F4}") + Catch ex As Exception + End Try + End Sub + + Sub linkclickedPIN(sender As Object, e As EventArgs) + 'Dim DateTimePicker1 As New DateTimePicker + ' Me.Parent.Controls.Add(DateTimePicker1) + Try + Dim tb As TextBox = sender.linkedTextBox + ' tb.Enabled = True + tb.ReadOnly = False + tb.BackColor = Color.White + + Catch ex As Exception + End Try + End Sub + Public Sub addPicToGueltigBis() + Dim tb = Me + Dim pb As New MyLinkPicBoxVALUE + tb.Parent.Controls.Add(pb) + pb.Tag = "Gültig Bis" + pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top + pb.Height = 18 : pb.Width = 20 + pb.SizeMode = PictureBoxSizeMode.Zoom + pb.Name = "picGueltigBisUhr" + ' pb = checkGueltigBis(pb, tb) + pb.linkedTextBox = tb + pb.linkedPictureBox = pb + pb.Image = My.Resources.uhr_notime + + Dim tgb As New Label + tb.Parent.Controls.Add(tgb) + tgb.Name = "txtGueltigBisUhr" + tgb.Left = tb.Left + tb.Width + pb.Width + 5 : tgb.Top = tb.Top + ' tgb.Visible = False + ' tgb.Text = "abgelaufen" + tgb.ForeColor = Color.Red + + AddHandler tb.TextChanged, AddressOf checkGueltigBis + + checkGueltigBis(tb, New EventArgs) + End Sub + Sub checkGueltigBis(sender As Object, e As EventArgs) + ' MsgBox("änderung") + Try + Dim tb As TextBox = sender + Dim pb As MyLinkPicBoxVALUE = CType(tb.FindForm.Controls.Find("picGueltigBisUhr", True)(0), MyLinkPicBoxVALUE) + Dim tgb As Label = CType(tb.FindForm.Controls.Find("txtGueltigBisUhr", True)(0), Label) + ' MsgBox(tgb.Name) + + + If tb.Text.Length = 10 And IsDate(tb.Text) Then + If CDate(tb.Text) < Now Then + pb.Image = My.Resources.uhr_red + tgb.Text = "abgelaufen" + tgb.Visible = True + tgb.ForeColor = Color.Red + ElseIf CDate(tb.Text) >= Now Then + pb.Image = My.Resources.uhr_green + tgb.Text = "gültig" + 'tgb.Visible = False + tgb.ForeColor = Color.Green + End If + Else + pb.Image = My.Resources.uhr_notime + ' tgb.Visible = False + tgb.Text = "" + End If + Catch ex As Exception + End Try + Return + End Sub + Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave + ' If _DateOnly AndAlso Not isShortDate(sender.text) Then sender.focus() + Dim pruefungHandled = False + + If _numbersOnly Then + 'If sender.text.ToString.StartsWith("21") Then + ' For Each s In sender.text.ToString + ' MsgBox(s & " - " & Convert.ToByte(s)) + ' Next + + ' ' MsgBox(CInt(sender.text.ToString.Chars(3))) + 'End If + + + sender.text = sender.text.ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen + pruefungHandled = True + Try + If IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then + sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture) + Me._value = CDbl(sender.text) + ' Else + ' sender.text = CDbl(sender.text) + ElseIf IsNumeric(sender.text) Then + Me._value = CDbl(sender.text) + Else + Me._value = "" + End If + Catch : sender.ForeColor = System.Drawing.Color.Red + End Try + End If + + If _Waehrung Then + pruefungHandled = True + Try + ' sender.text = String.Format("{0:N2}", CDbl(sender.text)) + If sender.text = "" Then + Me._value = Nothing + End If + sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("C2", CDbl(sender.text)) + sender.ForeColor = System.Drawing.Color.Black + Me._value = CDbl(sender.text) 'sender.text) + Catch ex As Exception + sender.ForeColor = System.Drawing.Color.Red + End Try + + End If + If _ShortDateOnly Then + pruefungHandled = True + Try 'wenn datetime wird es in shortdate umgewandelt + If Me.Text <> "" Then sender.text = Convert.ToDateTime(sender.text).ToShortDateString + Catch : Me.Text = "" : Me._value = Nothing 'Me.Focus() + End Try + If Not isShortDate(sender.text) Then sender.ForeColor = System.Drawing.Color.Red + End If + + If _ShortDateNew Then + pruefungHandled = True + Me.ForeColor = Color.Black + + '------ falls Jahr zweistellig: + Me.Text = Me.Text.Replace(",", ".") + If Me.Text.Length = 8 Then + Dim split = Me.Text.Split(".") + If split.Count = 3 Then + Me.Text = split(0) & "." & split(1) & ".20" & split(2) + End If + End If + + If (Me.Text.Length >= 6 And Me.Text.Length <= 10) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then + 'MsgBox(Me.Text) + ''------ falls Jahr zweistellig: + 'Dim split = Me.Text.Replace(",", ".").Split + 'If split.Count = 3 Then + ' Me.Text = split(0) & "." & split(1) & ".20" & split(2) + 'End If + 'MsgBox(Me.Text) + '------ + Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt + Me.Text = CDate(Me.Text).ToShortDateString + ElseIf Me.Text = "" Then + Me._value = "" + Else + Me.ForeColor = Color.Red + End If + + OnPropertyChanged("_value") + End If + If _DateTimeOnly Then + pruefungHandled = True + Me.ForeColor = Color.Black + If Me.Text.Length > 16 Then Me.Text = Me.Text.Substring(0, 16) + If (Me.Text.Length >= 6 And Me.Text.Length <= 16) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then + '------ falls Jahr zweistellig: + Dim split = Me.Text.Replace(",", ".").Split + If split.Count = 3 Then + Me.Text = split(0) & "." & split(1) & ".20" & split(2) + End If + '------ + Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt + Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") + ElseIf Me.Text = "" Then + Me._value = "" + Else + Me.ForeColor = Color.Red + End If + + OnPropertyChanged("_value") + End If + + + If _Prozent Then + pruefungHandled = True + Try + If sender.text = "" Then + Me._value = "" : Propvalue = "" + Else + Me._value = CDbl(sender.text.ToString.Replace("%", "")) / 100 + End If + Catch ex As Exception + sender.ForeColor = System.Drawing.Color.Red + Me._value = Propvalue + End Try + End If + + If MaxLineLength > 0 Then + Dim str() As String = Me.Lines + For i = 0 To Me.Lines.Count - 1 + If str(i).Length > MaxLineLength Then + str(i) = str(i).Substring(0, MaxLineLength) + End If + Next + Me.Lines = str + End If + + + If Not pruefungHandled Then + Me._value = Me.Text + + End If + End Sub + + + Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged + sender.ForeColor = System.Drawing.Color.Black + Dim pruefungHandled = False + + If _numbersOnly Then + pruefungHandled = True + If Not IsNumeric(sender.text) Then sender.ForeColor = System.Drawing.Color.Red + End If + + If _TimeOnly Then + pruefungHandled = True + + Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$") + Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$") + If Not regTime1.IsMatch(sender.Text) And Not regTime2.IsMatch(sender.Text) Then + sender.ForeColor = System.Drawing.Color.Red + End If + End If + + If _Waehrung Then + pruefungHandled = True + End If + If _Waehrung And False Then 'sonst bei jedem Zeichen kontrolle, zeiger hüpft + pruefungHandled = True + Try + sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("{0:N2}", CDbl(sender.text)) + Me._value = CDbl(sender.text) + Catch ex As Exception + sender.ForeColor = System.Drawing.Color.Red + End Try + End If + + If _ShortDateNew Then + pruefungHandled = True + Me.ForeColor = Color.Black + If Me.Text.Length = 10 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then + Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt + Me.Text = CDate(Me.Text).ToShortDateString + ElseIf Me.Text = "" Then + Me._value = "" + Else + Me.ForeColor = Color.Red + End If + + OnPropertyChanged("_value") + End If + + If _Prozent Then + 'pruefungHandled = True + 'Dim txt = sender.text + 'If Not sender.text.ToString.Contains("%") Then txt = sender.text & " %" + Me._value = sender.text + End If + + If _DateTimeOnly Then + pruefungHandled = True + Me.ForeColor = Color.Black + If Me.Text.Length = 16 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900 00:00") Then + Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt + Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") + ElseIf Me.Text = "" Then + Me._value = "" + Else + Me.ForeColor = Color.Red + End If + + OnPropertyChanged("_value") + End If + + + ' If Me.Multiline And IsNumeric(MaxLines) Then + 'If Me.Lines.Length > MaxLines Then + 'Dim s() As String = Me.Text.Split(vbNewLine) + ' If s.Count > 3 Then + 'Me.Text = s(0) & vbNewLine & s(1) & vbNewLine & s(2) + ' End If + ' End If + ' End If + If Me.Multiline And IsNumeric(MaxLines_Warning) Then + ' If Me.Lines.Length > MaxLines Then + If MaxLines_Warning_Label IsNot Nothing Then + MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning) + End If + 'End If + End If + If Not pruefungHandled Then + Me._value = Me.Text + End If + End Sub + Function isShortDate(d) As Boolean + Return CBool(IsDate(d) And d.length = 10) + End Function + + + Public Propvalue As String + Public Property _value As String + Get + Return Propvalue + End Get + Set(v As String) + ' MsgBox(v) + If _Prozent Then + If IsNumeric(v) Then + Propvalue = v + Me.Text = String.Format("{0:P2}", CDbl(v)) + ' OnPropertyChanged("_value") + ' MsgBox(String.Format("{0:P2}", CDbl(v))) + End If + ElseIf _ShortDateOnly Then + If v Is Nothing Then + Propvalue = "" + Me.Text = "" + Else + Propvalue = v + Me.Text = v + End If + ElseIf _Waehrung Then + If v IsNot Nothing AndAlso IsNumeric(v) Then + Propvalue = CDbl(v) + Me.Text = CDbl(v).ToString(If(_WaehrungZeichen, "C2", "N2")) + Else + Propvalue = "" + Me.Text = "" + End If + ElseIf _ShortDateNew Then + If v Is Nothing Then + Propvalue = "" + Me.Text = "" + Else + Propvalue = v + Me.Text = v + End If + ElseIf _DateTimeOnly Then + If v Is Nothing Then + Propvalue = "" + Me.Text = "" + Else + If v.Length > 16 Then v = v.Substring(0, 16) + Propvalue = v + Me.Text = v + End If + ElseIf _numbersOnly Then + + If IsNumeric(Me._numbersOnlyKommastellen) And IsNumeric(v) Then + Propvalue = CDbl(v) + Me.Text = CDbl(v).ToString("N" & Me._numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture) + ElseIf IsNumeric(v) Then + Propvalue = CDbl(v) + Me.Text = v + Else + Propvalue = "" + Me.Text = "" + End If + Else + If v IsNot Nothing AndAlso v.ToString.Length > Me.MaxLength Then + Me.Text = v.Substring(0, Me.MaxLength) + Propvalue = v.Substring(0, Me.MaxLength) + Else + Me.Text = v + Propvalue = v + End If + End If + RaiseEvent ValueChanged() + End Set + End Property + + + Public Event PropertyChanged As PropertyChangedEventHandler _ + Implements INotifyPropertyChanged.PropertyChanged + + Protected Sub OnPropertyChanged(ByVal name As String) + ' MsgBox("AHAASO") + RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name)) + End Sub + + Private Sub MyTextBox_Validating(sender As Object, e As CancelEventArgs) Handles Me.Validating + If sender.text = "" Then e.Cancel = False : Exit Sub 'wenn der Test leer ist, stimmt die Eingabe + + Dim errMessage As String = "Es ist ein Validierungsfehler aufgetreten:" & vbNewLine + Dim errDescription As String = "Überprüfen Sie die Eingabe!" + + If _numbersOnly Then + Try + 'String.Format("{0:N2}", CDbl(sender.text)) + If IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then + sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture) + Else + sender.text = CDbl(sender.text) + End If + e.Cancel = False + Catch ex As Exception + errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)" + e.Cancel = True + End Try + End If + + + If _Waehrung Then + Try + 'String.Format("{0:N2}", CDbl(sender.text)) + CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) + e.Cancel = False + Catch ex As Exception + errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)" + e.Cancel = True + End Try + End If + + If _Prozent Then + e.Cancel = False + End If + + If _ShortDateOnly Then + If isShortDate(sender.text) Then + e.Cancel = False + Else + e.Cancel = True + End If + End If + + If _TimeOnly Then + Me.Text = Me.Text.Replace(",", ":") + Me.Text = Me.Text.Replace("-", ":") + Me.Text = Me.Text.Replace(".", ":") + Me.Text = Me.Text.Replace("/", ":") + Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$") + Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$") + If regTime1.IsMatch(sender.Text) Then + Me.Text += ":00" + End If + If regTime2.IsMatch(sender.Text) Then + e.Cancel = False + Else + e.Cancel = True + End If + End If + If e.Cancel Then + 'Try + 'DirectCast(Me.FindForm, frmKundenblatt).setInfo("err", errMessage & errDescription, 3) + ' Catch ex As Exception + MsgBox(errMessage & errDescription) + ' End Try + End If + End Sub + + Private Sub MyTextBox_Validated(sender As Object, e As EventArgs) Handles Me.Validated + + 'Wenns stimmt + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb new file mode 100644 index 0000000..d28a98a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb @@ -0,0 +1,187 @@ +Imports System.Windows.Forms + +Public Class NumericUpDownColumnRight + Inherits DataGridViewColumn + + Public Sub New() + MyBase.New(New NumericUpDownRightCell()) + End Sub + + Public Overrides Property CellTemplate() As DataGridViewCell + Get + Return MyBase.CellTemplate + End Get + Set(ByVal value As DataGridViewCell) + + ' Ensure that the cell used for the template is a NumericUpDownCell. + If Not (value Is Nothing) AndAlso Not value.GetType().IsAssignableFrom(GetType(NumericUpDownRightCell)) Then + Throw New InvalidCastException("Must be a NumericUpDown") + End If + MyBase.CellTemplate = value + + End Set + End Property +End Class +Public Class NumericUpDownRightCell + Inherits DataGridViewTextBoxCell + Public Sub New() + 'Me.Style.Format = "#.##" + End Sub + + Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal initialFormattedValue As Object, ByVal dataGridViewCellStyle As DataGridViewCellStyle) + + ' Set the value of the editing control to the current cell value. + MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle) + + Dim ctl As NumericUpDownRightEditingControl = CType(DataGridView.EditingControl, NumericUpDownRightEditingControl) + ctl.Minimum = 0 + + Dim CurrentValue As Decimal = 0 + If Not DBNull.Value.Equals(Me.Value) Then + If Not IsNumeric(Me.Value) Then + Me.Value = 0 + End If + If Integer.TryParse(Me.Value.ToString, CurrentValue) Then + ctl.Value = CurrentValue + End If + Else + ctl.Value = 0 + End If + + End Sub + Public Overrides ReadOnly Property EditType() As Type + Get + ' Return the type of the editing contol that NumericUpDownCell uses. + Return GetType(NumericUpDownRightEditingControl) + End Get + End Property + Public Overrides ReadOnly Property ValueType() As Type + Get + ' Return the type of the value that NumericUpDownCell contains. + Return GetType(Decimal) + End Get + End Property + Public Overrides ReadOnly Property DefaultNewRowValue() As Object + Get + ' Use as the current default value. + Return Nothing + End Get + End Property +End Class +Class NumericUpDownRightEditingControl + Inherits NumericUpDown + Implements IDataGridViewEditingControl + + Private dataGridViewControl As DataGridView + Private valueIsChanged As Boolean = False + Private rowIndexNum As Integer + + Public Sub New() + Me.DecimalPlaces = 0 + Me.TextAlign = System.Windows.Forms.HorizontalAlignment.Left + Me.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Right + End Sub + + Public Property EditingControlFormattedValue() As Object Implements IDataGridViewEditingControl.EditingControlFormattedValue + + Get + Return Me.Value.ToString("#") + End Get + + Set(ByVal value As Object) + If TypeOf value Is Decimal Then + Me.Value = Decimal.Parse(CStr(value)) + End If + End Set + + End Property + + Public Function GetEditingControlFormattedValue(ByVal context As DataGridViewDataErrorContexts) As Object _ + Implements IDataGridViewEditingControl.GetEditingControlFormattedValue + + Return Me.Value.ToString() ' Me.Value.ToString("#.##") + + End Function + + Public Sub ApplyCellStyleToEditingControl(ByVal dataGridViewCellStyle As DataGridViewCellStyle) _ + Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl + + Me.Font = dataGridViewCellStyle.Font + Me.ForeColor = dataGridViewCellStyle.ForeColor + Me.BackColor = dataGridViewCellStyle.BackColor + + End Sub + + Public Property EditingControlRowIndex() As Integer _ + Implements IDataGridViewEditingControl.EditingControlRowIndex + + Get + Return rowIndexNum + End Get + Set(ByVal value As Integer) + rowIndexNum = value + End Set + + End Property + + Public Function EditingControlWantsInputKey(ByVal key As Keys, ByVal dataGridViewWantsInputKey As Boolean) As Boolean Implements IDataGridViewEditingControl.EditingControlWantsInputKey + + ' Let the NumericUpDown handle the keys listed. + Select Case key And Keys.KeyCode + Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp + + Return True + + Case Else + Return False + End Select + + End Function + + Public Sub PrepareEditingControlForEdit(ByVal selectAll As Boolean) _ + Implements IDataGridViewEditingControl.PrepareEditingControlForEdit + + ' No preparation needs to be done. + + End Sub + Public ReadOnly Property RepositionEditingControlOnValueChange() As Boolean Implements IDataGridViewEditingControl.RepositionEditingControlOnValueChange + + Get + Return False + End Get + + End Property + Public Property EditingControlDataGridView() As DataGridView Implements IDataGridViewEditingControl.EditingControlDataGridView + + Get + Return dataGridViewControl + End Get + Set(ByVal value As DataGridView) + dataGridViewControl = value + End Set + + End Property + Public Property EditingControlValueChanged() As Boolean Implements IDataGridViewEditingControl.EditingControlValueChanged + + Get + Return valueIsChanged + End Get + Set(ByVal value As Boolean) + valueIsChanged = value + End Set + + End Property + Public ReadOnly Property EditingControlCursor() As Cursor Implements IDataGridViewEditingControl.EditingPanelCursor + Get + Return MyBase.Cursor + End Get + End Property + Protected Overrides Sub OnValueChanged(ByVal eventargs As EventArgs) + + ' Notify the DataGridView that the contents of the cell have changed. + valueIsChanged = True + Me.EditingControlDataGridView.NotifyCurrentCellDirty(True) + MyBase.OnValueChanged(eventargs) + + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb new file mode 100644 index 0000000..17327dd --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb @@ -0,0 +1,297 @@ + _ +Partial Class RichTextBoxEx + Inherits System.Windows.Forms.UserControl + + 'UserControl1 overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(RichTextBoxEx)) + Me.rtb = New System.Windows.Forms.RichTextBox() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.NewToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.OpenToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.SaveToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.PrintToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.toolStripSeparator = New System.Windows.Forms.ToolStripSeparator() + Me.FontToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.FontColorToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.BoldToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.UnderlineToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.LeftToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.CenterToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.RightToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.BulletsToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.CutToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.CopyToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.PasteToolStripButton = New System.Windows.Forms.ToolStripButton() + Me.toolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.SpellChecker = New NetSpell.SpellChecker.Spelling(Me.components) + Me.FontDlg = New System.Windows.Forms.FontDialog() + Me.ColorDlg = New System.Windows.Forms.ColorDialog() + Me.OpenFileDlg = New System.Windows.Forms.OpenFileDialog() + Me.SaveFileDlg = New System.Windows.Forms.SaveFileDialog() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'rtb + ' + Me.rtb.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.rtb.Location = New System.Drawing.Point(0, 25) + Me.rtb.Name = "rtb" + Me.rtb.Size = New System.Drawing.Size(412, 317) + Me.rtb.TabIndex = 0 + Me.rtb.Text = "" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolStripButton, Me.OpenToolStripButton, Me.SaveToolStripButton, Me.PrintToolStripButton, Me.toolStripSeparator, Me.FontToolStripButton, Me.FontColorToolStripButton, Me.BoldToolStripButton, Me.UnderlineToolStripButton, Me.ToolStripSeparator4, Me.LeftToolStripButton, Me.CenterToolStripButton, Me.RightToolStripButton, Me.ToolStripSeparator3, Me.BulletsToolStripButton, Me.ToolStripSeparator2, Me.CutToolStripButton, Me.CopyToolStripButton, Me.PasteToolStripButton, Me.toolStripSeparator1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(412, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'NewToolStripButton + ' + Me.NewToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.NewToolStripButton.Image = CType(resources.GetObject("NewToolStripButton.Image"), System.Drawing.Image) + Me.NewToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.NewToolStripButton.Name = "NewToolStripButton" + Me.NewToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.NewToolStripButton.Text = "&New" + Me.NewToolStripButton.Visible = False + ' + 'OpenToolStripButton + ' + Me.OpenToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.OpenToolStripButton.Image = CType(resources.GetObject("OpenToolStripButton.Image"), System.Drawing.Image) + Me.OpenToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.OpenToolStripButton.Name = "OpenToolStripButton" + Me.OpenToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.OpenToolStripButton.Text = "&Open" + Me.OpenToolStripButton.Visible = False + ' + 'SaveToolStripButton + ' + Me.SaveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.SaveToolStripButton.Image = CType(resources.GetObject("SaveToolStripButton.Image"), System.Drawing.Image) + Me.SaveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.SaveToolStripButton.Name = "SaveToolStripButton" + Me.SaveToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.SaveToolStripButton.Text = "&Save" + Me.SaveToolStripButton.Visible = False + ' + 'PrintToolStripButton + ' + Me.PrintToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.PrintToolStripButton.Image = CType(resources.GetObject("PrintToolStripButton.Image"), System.Drawing.Image) + Me.PrintToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.PrintToolStripButton.Name = "PrintToolStripButton" + Me.PrintToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.PrintToolStripButton.Text = "&Print" + Me.PrintToolStripButton.Visible = False + ' + 'toolStripSeparator + ' + Me.toolStripSeparator.Name = "toolStripSeparator" + Me.toolStripSeparator.Size = New System.Drawing.Size(6, 25) + Me.toolStripSeparator.Visible = False + ' + 'FontToolStripButton + ' + Me.FontToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.FontToolStripButton.Image = CType(resources.GetObject("FontToolStripButton.Image"), System.Drawing.Image) + Me.FontToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.FontToolStripButton.Name = "FontToolStripButton" + Me.FontToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.FontToolStripButton.Text = "Font" + ' + 'FontColorToolStripButton + ' + Me.FontColorToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.FontColorToolStripButton.Image = CType(resources.GetObject("FontColorToolStripButton.Image"), System.Drawing.Image) + Me.FontColorToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.FontColorToolStripButton.Name = "FontColorToolStripButton" + Me.FontColorToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.FontColorToolStripButton.Text = "Font Color" + ' + 'BoldToolStripButton + ' + Me.BoldToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.BoldToolStripButton.Image = CType(resources.GetObject("BoldToolStripButton.Image"), System.Drawing.Image) + Me.BoldToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.BoldToolStripButton.Name = "BoldToolStripButton" + Me.BoldToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.BoldToolStripButton.Text = "Bold" + ' + 'UnderlineToolStripButton + ' + Me.UnderlineToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.UnderlineToolStripButton.Image = CType(resources.GetObject("UnderlineToolStripButton.Image"), System.Drawing.Image) + Me.UnderlineToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.UnderlineToolStripButton.Name = "UnderlineToolStripButton" + Me.UnderlineToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.UnderlineToolStripButton.Text = "Underline" + ' + 'ToolStripSeparator4 + ' + Me.ToolStripSeparator4.Name = "ToolStripSeparator4" + Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 25) + ' + 'LeftToolStripButton + ' + Me.LeftToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.LeftToolStripButton.Image = CType(resources.GetObject("LeftToolStripButton.Image"), System.Drawing.Image) + Me.LeftToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.LeftToolStripButton.Name = "LeftToolStripButton" + Me.LeftToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.LeftToolStripButton.Text = "Left" + ' + 'CenterToolStripButton + ' + Me.CenterToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.CenterToolStripButton.Image = CType(resources.GetObject("CenterToolStripButton.Image"), System.Drawing.Image) + Me.CenterToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.CenterToolStripButton.Name = "CenterToolStripButton" + Me.CenterToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.CenterToolStripButton.Text = "Center" + ' + 'RightToolStripButton + ' + Me.RightToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.RightToolStripButton.Image = CType(resources.GetObject("RightToolStripButton.Image"), System.Drawing.Image) + Me.RightToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.RightToolStripButton.Name = "RightToolStripButton" + Me.RightToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.RightToolStripButton.Text = "Right" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'BulletsToolStripButton + ' + Me.BulletsToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.BulletsToolStripButton.Image = CType(resources.GetObject("BulletsToolStripButton.Image"), System.Drawing.Image) + Me.BulletsToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.BulletsToolStripButton.Name = "BulletsToolStripButton" + Me.BulletsToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.BulletsToolStripButton.Text = "Bullets" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + Me.ToolStripSeparator2.Visible = False + ' + 'CutToolStripButton + ' + Me.CutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.CutToolStripButton.Image = CType(resources.GetObject("CutToolStripButton.Image"), System.Drawing.Image) + Me.CutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.CutToolStripButton.Name = "CutToolStripButton" + Me.CutToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.CutToolStripButton.Text = "C&ut" + Me.CutToolStripButton.Visible = False + ' + 'CopyToolStripButton + ' + Me.CopyToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.CopyToolStripButton.Image = CType(resources.GetObject("CopyToolStripButton.Image"), System.Drawing.Image) + Me.CopyToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.CopyToolStripButton.Name = "CopyToolStripButton" + Me.CopyToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.CopyToolStripButton.Text = "&Copy" + Me.CopyToolStripButton.Visible = False + ' + 'PasteToolStripButton + ' + Me.PasteToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.PasteToolStripButton.Image = CType(resources.GetObject("PasteToolStripButton.Image"), System.Drawing.Image) + Me.PasteToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.PasteToolStripButton.Name = "PasteToolStripButton" + Me.PasteToolStripButton.Size = New System.Drawing.Size(23, 22) + Me.PasteToolStripButton.Text = "&Paste" + Me.PasteToolStripButton.Visible = False + ' + 'toolStripSeparator1 + ' + Me.toolStripSeparator1.Name = "toolStripSeparator1" + Me.toolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'SpellChecker + ' + Me.SpellChecker.Dictionary = Nothing + ' + 'OpenFileDlg + ' + Me.OpenFileDlg.FileName = "OpenFileDialog1" + ' + 'RichTextBoxEx + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.rtb) + Me.Name = "RichTextBoxEx" + Me.Size = New System.Drawing.Size(412, 342) + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Public WithEvents rtb As System.Windows.Forms.RichTextBox + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents NewToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents OpenToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents SaveToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents PrintToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents toolStripSeparator As System.Windows.Forms.ToolStripSeparator + Friend WithEvents CutToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents CopyToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents PasteToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents toolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SpellChecker As NetSpell.SpellChecker.Spelling + Friend WithEvents FontDlg As System.Windows.Forms.FontDialog + Friend WithEvents ColorDlg As System.Windows.Forms.ColorDialog + Friend WithEvents OpenFileDlg As System.Windows.Forms.OpenFileDialog + Friend WithEvents SaveFileDlg As System.Windows.Forms.SaveFileDialog + Friend WithEvents FontToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents FontColorToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents BoldToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents UnderlineToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents LeftToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents CenterToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents RightToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents BulletsToolStripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx new file mode 100644 index 0000000..f90c1a2 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU + 0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j + LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei + ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3 + mS9gn2bY4UY/UzQ7E9TqfeTFtnuB+XAfzSHKr11kSl/uBebDiZ89ZCst3OUkdwL28sIVsE83ock+EIQV + 2Mz2wxeg6/UAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp + olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4 + 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm + YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl + 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd + HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX + 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc + hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv + S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt + 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg + g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW + DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3 + 8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ + 1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH + 4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy + ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS + rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV + Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W + r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv + 2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0 + jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1 + X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ + J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ + I5DjtuYV7uksRYhr2kebhx2eP6nrycFIEh5fBA/1Nvru8q5+PDaOovK0rABwfwugWzcErfkzHhjsePL6 + E7q1VrTdNUDcrgGvSYlDZHN5XTNOnL8BVe8AJAoNDtZfLgDu9L1BPJmikzcrk81hlRwodZJwdBXziwnI + OrVoaOkiT8C8hKLHBPO7CbywOaE1jeC+bhAd6meQdvZC1KoG/5IS3MZ2HObLUHZSggvkWq3wOvbWiAqA + VpWeyStVfCUNf3AZ4zNhfHCFMEDMgye+hYr6FrDLzxQAUuVTpr0ocn74mchg5vsKRt1RcHp2Qv9+kZ78 + UcE17KkWFgHNN/uQzgBkGKLJPBZiecyGchjzrmFwPIF++xJUbDbUQzEacIArLpopSRSP4CUN1Obf1Abz + uqob5KjiXwWH/GVl5HPt5zZh37GL2H1EiF1VZ7GDI6CNW5r/TSzWbwHYL0mKJ5czAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPvY0LCsAgDEN79N3cWSQQqo2/sQfBiXmZ/UQp + LUdAPhpgeXuAJf5+6umRsODgDlkOoBzDcjqAcoSldGBFdroBiByA8ihTsuLSgCrJATxyGPX2DfEPs1xj + 9gIL0Y8M2yQbFgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhP1Y9bCgAgCAQ7uje3QkV7SGX9NLAkluuWfAC5 + OAegDgPSGYIMQilkuyiQQob7egPdbuujFDo0aoHd3kL9jRRzA/sVbo3421sDJ4U+IFn6O9FLih3e6HuD + hBmOGN7KIoUY1gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA8SURBVDhP7ctBCgAgEMPA/f+n9broFD2LgV5CWp+NcdgV + OshFFMtFFMtFerzuCh3kIorlIorlSA+196ia6kE6xgBns7MAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVDhPYxh+4D8aBgFsYngBNoVEawaBUQOoZUBDQwNY + A5QmyQAQQNZEsmaKADab0fGgAgwMAAIENs2gnDUTAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg04D+ZmHoAm+nYMO0ANtuIwdQD2EzHhmkH + sNlGDKYewGY6Njz8AAMDAGJeR7nOul6/AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhP3c2xCQAACMTA339pXSCFSArxIHVyRi3z0YXy + 0WWSjy6Ujy6TfHSh/kgacz9HucQTphAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg+4D+ZmHYAm23YMPUANtOJwbQD2GzDhqkH + sJlODKYdwGYbNjzggIEBAE1aR7nHB4ecAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABkSURBVDhPY6AKyO86WFDQfeg/iIYKkQZAmkNbnvyXta76 + DxViYGFi+Y8PQ5VBAMhmkGYgJs8FAw9GA5EKILFiWUFixfL/IBoqRBoAafYsOvpf0jiTvEAE2QzSLGmU + MeQCkYEBAD3tUdo+/cEPAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi + LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb + QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk + EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C + 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F + EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb + 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh + TNAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH + Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ + 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S + +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO + rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx + UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS + zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA + wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw + FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh + FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA + Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR + KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB + S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH + pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm + wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf + gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 + v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo + MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb + PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= + + + + 119, 17 + + + 234, 17 + + + 345, 17 + + + 459, 17 + + + 591, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb new file mode 100644 index 0000000..df8c2b3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb @@ -0,0 +1,139 @@ +Imports System.Windows.Forms + +Public Class RichTextBoxEx + + Private Sub RichTextBoxEx_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load + ' Load control + rtb.Focus() + End Sub + + ' Spell checking thanks to: http://www.codeproject.com/KB/string/netspell.aspx + + ' Handles when user chooses to delete in spell cehck + Private Sub SpellChecker_DeletedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.SpellingEventArgs) Handles SpellChecker.DeletedWord + 'save existing selecting + Dim start As Integer = rtb.SelectionStart + Dim length As Integer = rtb.SelectionLength + + 'select word for this event + rtb.Select(e.TextIndex, e.Word.Length) + + 'delete word + rtb.SelectedText = "" + + If ((start + length) > rtb.Text.Length) Then + length = 0 + End If + + 'restore selection + rtb.Select(start, length) + + End Sub + + ' Handles replacing a word from spell checking + Private Sub SpellChecker_ReplacedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.ReplaceWordEventArgs) Handles SpellChecker.ReplacedWord + 'save existing selecting + Dim start As Integer = rtb.SelectionStart + Dim length As Integer = rtb.SelectionLength + + 'select word for this event + rtb.Select(e.TextIndex, e.Word.Length) + + 'replace word + rtb.SelectedText = e.ReplacementWord + + If ((start + length) > rtb.Text.Length) Then + length = 0 + End If + + 'restore selection + rtb.Select(start, length) + End Sub + + ' Update buttons when text is selected + Private Sub rtb_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb.SelectionChanged + ' see which buttons should be checked or unchecked + BoldToolStripButton.Checked = rtb.SelectionFont.Bold + UnderlineToolStripButton.Checked = rtb.SelectionFont.Underline + LeftToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Left, True, False) + CenterToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Center, True, False) + RightToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Right, True, False) + BulletsToolStripButton.Checked = rtb.SelectionBullet + + 'cmbFontName.Text = rtb.SelectionFont.Name + 'cmbFontSize.Text = rtb.SelectionFont.SizeInPoints + + End Sub + + Private Sub checkBullets() + If rtb.SelectionBullet = True Then + BulletsToolStripButton.Checked = True + Else + BulletsToolStripButton.Checked = False + End If + End Sub + + Private Sub FontToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontToolStripButton.Click + If FontDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then + rtb.SelectionFont = FontDlg.Font + End If + End Sub + + Private Sub FontColorToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontColorToolStripButton.Click + If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then + rtb.SelectionColor = ColorDlg.Color + End If + End Sub + + Private Sub BoldToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BoldToolStripButton.Click + ' Switch Bold + Dim currentFont As System.Drawing.Font = rtb.SelectionFont + Dim newFontStyle As System.Drawing.FontStyle + If rtb.SelectionFont.Bold = True Then + newFontStyle = currentFont.Style - Drawing.FontStyle.Bold + Else + newFontStyle = currentFont.Style + Drawing.FontStyle.Bold + End If + rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle) + + ' Check/Uncheck Bold button + BoldToolStripButton.Checked = IIf(rtb.SelectionFont.Bold, True, False) + End Sub + + Private Sub SpellcheckToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + SpellChecker.Text = rtb.Text + ''SpellChecker.SpellCheck() + End Sub + + Private Sub UnderlineToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnderlineToolStripButton.Click + ' Switch Underline + Dim currentFont As System.Drawing.Font = rtb.SelectionFont + Dim newFontStyle As System.Drawing.FontStyle + If rtb.SelectionFont.Underline = True Then + newFontStyle = currentFont.Style - Drawing.FontStyle.Underline + Else + newFontStyle = currentFont.Style + Drawing.FontStyle.Underline + End If + rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle) + + ' Check/Uncheck Underline button + UnderlineToolStripButton.Checked = IIf(rtb.SelectionFont.Underline, True, False) + End Sub + + Private Sub LeftToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftToolStripButton.Click + rtb.SelectionAlignment = HorizontalAlignment.Left + End Sub + + Private Sub CenterToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CenterToolStripButton.Click + rtb.SelectionAlignment = HorizontalAlignment.Center + End Sub + + Private Sub RightToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightToolStripButton.Click + rtb.SelectionAlignment = HorizontalAlignment.Right + End Sub + + Private Sub BulletsToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BulletsToolStripButton.Click + rtb.SelectionBullet = Not rtb.SelectionBullet + BulletsToolStripButton.Checked = rtb.SelectionBullet + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb new file mode 100644 index 0000000..27a6e25 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb @@ -0,0 +1,254 @@ +'2007 KLEINMA +'www.zerosandtheone.com + +Option Strict On +Imports System.Runtime.InteropServices +Imports System.Security.Permissions +Imports System.Windows.Forms + +Namespace Kleinma.Controls + + Public Class WebBrowserEx + Inherits WebBrowser + + Private cookie As AxHost.ConnectionPointCookie + Private helper As WebBrowser2EventHelper + + 'NEW EVENTS THAT WILL NOW BE EXPOSED + Public Event NewWindow2 As WebBrowserNewWindow2EventHandler + Public Event NavigateError As WebBrowserNavigateErrorEventHandler + + 'DELEGATES TO HANDLE PROCESSING OF THE EVENTS + Public Delegate Sub WebBrowserNewWindow2EventHandler(ByVal sender As Object, ByVal e As WebBrowserNewWindow2EventArgs) + Public Delegate Sub WebBrowserNavigateErrorEventHandler(ByVal sender As Object, ByVal e As WebBrowserNavigateErrorEventArgs) + +#Region " PROTECTED METHODS FOR EXTENDED EVENTS " + Protected Overridable Sub OnNewWindow2(ByVal e As WebBrowserNewWindow2EventArgs) + RaiseEvent NewWindow2(Me, e) + End Sub + + Protected Overridable Sub OnNavigateError(ByVal e As WebBrowserNavigateErrorEventArgs) + RaiseEvent NavigateError(Me, e) + End Sub +#End Region + +#Region "WB SINK ROUTINES" + + _ + Protected Overrides Sub CreateSink() + MyBase.CreateSink() + helper = New WebBrowser2EventHelper(Me) + cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, helper, GetType(DWebBrowserEvents2)) + End Sub + + _ + Protected Overrides Sub DetachSink() + If cookie IsNot Nothing Then + cookie.Disconnect() + cookie = Nothing + End If + MyBase.DetachSink() + End Sub + +#End Region + +#Region "PROPERTIES EXPOSED THROUGH THE COM OBJECT" + + _ + _ + Public ReadOnly Property Application() As Object + Get + If IsNothing(Me.ActiveXInstance) Then + Throw New AxHost.InvalidActiveXStateException("Application", AxHost.ActiveXInvokeKind.PropertyGet) + End If + + Return CallByName(Me.ActiveXInstance, "Application", CallType.Get, Nothing) + 'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME() + 'Return Me.ActiveXInstance.Application + End Get + End Property + + _ + _ + Public Property RegisterAsBrowser() As Boolean + Get + If IsNothing(Me.ActiveXInstance) Then + Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertyGet) + End If + + Dim RetVal As Boolean = False + If Not Boolean.TryParse(CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Get, Nothing).ToString, RetVal) Then RetVal = False + Return RetVal + 'THIS IS COMMENTED. UNCOMMENT AND REMOVE 3 LINES BEFORE IF YOU CAN NOT USE CALLBYNAME() + 'Return Me.ActiveXInstance.RegisterAsBrowser + + End Get + Set(ByVal value As Boolean) + If IsNothing(Me.ActiveXInstance) Then + Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertySet) + End If + + CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Let, True) + 'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME() + 'Me.ActiveXInstance.RegisterAsBrowser = value + End Set + End Property + +#End Region + + 'HELPER CLASS TO FIRE OFF THE EVENTS + Private Class WebBrowser2EventHelper + Inherits StandardOleMarshalObject + Implements DWebBrowserEvents2 + + Private parent As WebBrowserEx + + Public Sub New(ByVal parent As WebBrowserEx) + Me.parent = parent + End Sub + + + Public Sub NewWindow2(ByRef ppDisp As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NewWindow2 + Dim e As New WebBrowserNewWindow2EventArgs(ppDisp) + Me.parent.OnNewWindow2(e) + ppDisp = e.ppDisp + cancel = e.Cancel + End Sub + + Public Sub NavigateError(ByVal pDisp As Object, ByRef URL As Object, ByRef frame As Object, ByRef statusCode As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NavigateError + ' Raise the NavigateError event. + Me.parent.OnNavigateError( _ + New WebBrowserNavigateErrorEventArgs( _ + CStr(URL), CStr(frame), CInt(statusCode), cancel)) + End Sub + End Class + + + + ' Define constants from winuser.h + Private Const WM_PARENTNOTIFY As Integer = &H210 + Private Const WM_DESTROY As Integer = 2 + + 'Define New event to fire + Public Event WBWantsToClose() + + Protected Overrides Sub WndProc(ByRef m As Message) + Select Case m.Msg + Case WM_PARENTNOTIFY + If (Not DesignMode) Then + If (CInt(m.WParam) = WM_DESTROY) Then + ' Tell whoever cares we are closing + RaiseEvent WBWantsToClose() + End If + End If + DefWndProc(m) + Case Else + MyBase.WndProc(m) + End Select + End Sub + End Class + + + Public Class WebBrowserNewWindow2EventArgs + Inherits System.ComponentModel.CancelEventArgs + + Private ppDispValue As Object + + Public Sub New(ByVal ppDisp As Object) + Me.ppDispValue = ppDisp + End Sub + + Public Property ppDisp() As Object + Get + Return ppDispValue + End Get + Set(ByVal value As Object) + ppDispValue = value + End Set + End Property + + End Class + Public Class WebBrowserNavigateErrorEventArgs + Inherits EventArgs + + Private urlValue As String + Private frameValue As String + Private statusCodeValue As Int32 + Private cancelValue As Boolean + + Public Sub New( _ + ByVal url As String, ByVal frame As String, _ + ByVal statusCode As Int32, ByVal cancel As Boolean) + + Me.urlValue = url + Me.frameValue = frame + Me.statusCodeValue = statusCode + Me.cancelValue = cancel + + End Sub + + Public Property Url() As String + Get + Return urlValue + End Get + Set(ByVal value As String) + urlValue = value + End Set + End Property + + Public Property Frame() As String + Get + Return frameValue + End Get + Set(ByVal value As String) + frameValue = value + End Set + End Property + + Public Property StatusCode() As Int32 + Get + Return statusCodeValue + End Get + Set(ByVal value As Int32) + statusCodeValue = value + End Set + End Property + + Public Property Cancel() As Boolean + Get + Return cancelValue + End Get + Set(ByVal value As Boolean) + cancelValue = value + End Set + End Property + + End Class + + _ + Public Interface DWebBrowserEvents2 + + Sub NewWindow2( _ + ByRef ppDisp As Object, _ + ByRef cancel As Boolean) + + Sub NavigateError( _ + _ + ByVal pDisp As Object, _ + ByRef URL As Object, _ + ByRef frame As Object, _ + ByRef statusCode As Object, _ + ByRef cancel As Boolean) + End Interface + + Public Enum DISPID + NEWWINDOW2 = 251 + NAVIGATERROR = 271 + End Enum + + + +End Namespace + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb new file mode 100644 index 0000000..af42ae1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb @@ -0,0 +1,222 @@ + _ +Partial Class frmPDFScanList + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() + Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip() + Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.pnlTop = New System.Windows.Forms.Panel() + Me.lblDateien = New System.Windows.Forms.Label() + Me.FlatButton1 = New VERAG_PROG_ALLGEMEIN.FlatButton() + Me.listlOld = New System.Windows.Forms.FlowLayoutPanel() + Me.pnlOldHeader = New System.Windows.Forms.Panel() + Me.Label1 = New System.Windows.Forms.Label() + Me.cntxtMulti.SuspendLayout() + Me.pnlTop.SuspendLayout() + Me.pnlOldHeader.SuspendLayout() + Me.SuspendLayout() + ' + 'FlowLayoutPanel + ' + Me.FlowLayoutPanel.AutoSize = True + Me.FlowLayoutPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.FlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill + Me.FlowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown + Me.FlowLayoutPanel.Location = New System.Drawing.Point(0, 20) + Me.FlowLayoutPanel.Margin = New System.Windows.Forms.Padding(1) + Me.FlowLayoutPanel.MaximumSize = New System.Drawing.Size(200, 500) + Me.FlowLayoutPanel.Name = "FlowLayoutPanel" + Me.FlowLayoutPanel.Size = New System.Drawing.Size(200, 14) + Me.FlowLayoutPanel.TabIndex = 1 + ' + 'cntxtMulti + ' + Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator2, Me.ArchivierenToolStripMenuItem}) + Me.cntxtMulti.Name = "cntxt" + Me.cntxtMulti.Size = New System.Drawing.Size(218, 126) + ' + 'DateiScannenToolStripMenuItem + ' + Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner + Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem" + Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..." + ' + 'DateiHochladenToolStripMenuItem + ' + Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf + Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem" + Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..." + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6) + ' + 'KopierenZwischenablageToolStripMenuItem + ' + Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem" + Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)" + ' + 'AlsEmailSendenToolStripMenuItem + ' + Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem" + Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6) + ' + 'ArchivierenToolStripMenuItem + ' + Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem" + Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ArchivierenToolStripMenuItem.Text = "Archivieren" + ' + 'pnlTop + ' + Me.pnlTop.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlTop.Controls.Add(Me.lblDateien) + Me.pnlTop.Controls.Add(Me.FlatButton1) + Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top + Me.pnlTop.Location = New System.Drawing.Point(0, 0) + Me.pnlTop.Name = "pnlTop" + Me.pnlTop.Size = New System.Drawing.Size(222, 20) + Me.pnlTop.TabIndex = 4 + ' + 'lblDateien + ' + Me.lblDateien.AutoSize = True + Me.lblDateien.Location = New System.Drawing.Point(4, 3) + Me.lblDateien.Name = "lblDateien" + Me.lblDateien.Size = New System.Drawing.Size(47, 13) + Me.lblDateien.TabIndex = 1 + Me.lblDateien.Text = "Dateien:" + ' + 'FlatButton1 + ' + Me.FlatButton1.allowBorder = False + Me.FlatButton1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.FlatButton1.BackColor = System.Drawing.Color.Red + Me.FlatButton1.FlatAppearance.BorderSize = 0 + Me.FlatButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.FlatButton1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FlatButton1.ForeColor = System.Drawing.Color.White + Me.FlatButton1.Location = New System.Drawing.Point(194, 0) + Me.FlatButton1.Name = "FlatButton1" + Me.FlatButton1.Size = New System.Drawing.Size(26, 20) + Me.FlatButton1.TabIndex = 0 + Me.FlatButton1.Text = "X" + Me.FlatButton1.UseVisualStyleBackColor = False + ' + 'listlOld + ' + Me.listlOld.AutoSize = True + Me.listlOld.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.listlOld.Dock = System.Windows.Forms.DockStyle.Bottom + Me.listlOld.FlowDirection = System.Windows.Forms.FlowDirection.TopDown + Me.listlOld.Location = New System.Drawing.Point(0, 49) + Me.listlOld.Margin = New System.Windows.Forms.Padding(1) + Me.listlOld.MaximumSize = New System.Drawing.Size(200, 200) + Me.listlOld.MinimumSize = New System.Drawing.Size(2, 10) + Me.listlOld.Name = "listlOld" + Me.listlOld.Size = New System.Drawing.Size(200, 10) + Me.listlOld.TabIndex = 5 + Me.listlOld.Visible = False + ' + 'pnlOldHeader + ' + Me.pnlOldHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.pnlOldHeader.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlOldHeader.Controls.Add(Me.Label1) + Me.pnlOldHeader.Dock = System.Windows.Forms.DockStyle.Bottom + Me.pnlOldHeader.Location = New System.Drawing.Point(0, 34) + Me.pnlOldHeader.Name = "pnlOldHeader" + Me.pnlOldHeader.Size = New System.Drawing.Size(222, 15) + Me.pnlOldHeader.TabIndex = 6 + Me.pnlOldHeader.Visible = False + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(4, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(40, 13) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "Archiv:" + ' + 'frmPDFScanList + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoScroll = True + Me.AutoSize = True + Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(222, 59) + Me.Controls.Add(Me.FlowLayoutPanel) + Me.Controls.Add(Me.pnlOldHeader) + Me.Controls.Add(Me.pnlTop) + Me.Controls.Add(Me.listlOld) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.MaximumSize = New System.Drawing.Size(222, 300) + Me.MinimumSize = New System.Drawing.Size(220, 24) + Me.Name = "frmPDFScanList" + Me.Text = "frmPDFScanList" + Me.cntxtMulti.ResumeLayout(False) + Me.pnlTop.ResumeLayout(False) + Me.pnlTop.PerformLayout() + Me.pnlOldHeader.ResumeLayout(False) + Me.pnlOldHeader.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Public WithEvents FlowLayoutPanel As System.Windows.Forms.FlowLayoutPanel + Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip + Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents pnlTop As System.Windows.Forms.Panel + Friend WithEvents FlatButton1 As VERAG_PROG_ALLGEMEIN.FlatButton + Friend WithEvents lblDateien As System.Windows.Forms.Label + Public WithEvents listlOld As System.Windows.Forms.FlowLayoutPanel + Friend WithEvents Label1 As System.Windows.Forms.Label + Public WithEvents pnlOldHeader As System.Windows.Forms.Panel + Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx new file mode 100644 index 0000000..d2b6991 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb new file mode 100644 index 0000000..081a9df --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb @@ -0,0 +1,64 @@ +Imports System.Windows.Forms + +Public Class frmPDFScanList + Public KdNr As Integer = -1 + 'Dim DATENSERVER As New cDATENSERVER + Public _DATENSERVER_ORDNER As String = "" + Public _TEXT_PDF As String = "" + ' Public ScanID As String = "" + ' Public pdf_Path As String = "" + + Public Event FileAdded(ScanID As Integer, path As String, name As String) + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(KdNr, _DATENSERVER_ORDNER, _TEXT_PDF) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.KdNr = KdNr + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click + Me.Close() + End Sub + + Private Sub frmPDFScanList_Shown(sender As Object, e As EventArgs) Handles Me.Shown + Me.Location = Windows.Forms.Cursor.Position + End Sub + + Private Sub frmPDFScanList_LostFocus(sender As Object, e As EventArgs) Handles Me.Deactivate, Me.LostFocus + ''Threading.Thread.Sleep(100) + 'For Each c In Me.FlowLayoutPanel.Controls + ' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then + ' Exit Sub + ' End If + 'Next + 'For Each c In Me.listlOld.Controls + ' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then + ' Exit Sub + ' End If + 'Next + Dim trd = New System.Threading.Thread(AddressOf Me.threadClose) + trd.IsBackground = True + trd.Start() + + + End Sub + + Sub threadClose() + Threading.Thread.Sleep(100) + If Form.ActiveForm Is Nothing Then Exit Sub + If Me IsNot Form.ActiveForm Then Me.Close() + End Sub + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb new file mode 100644 index 0000000..4a51d62 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb @@ -0,0 +1,141 @@ + _ +Partial Class usrCntLPDFScanSimple + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.txt = New System.Windows.Forms.Label() + Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.picPDF = New System.Windows.Forms.PictureBox() + Me.cntxt.SuspendLayout() + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'txt + ' + Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txt.AutoSize = True + Me.txt.Cursor = System.Windows.Forms.Cursors.Hand + Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txt.Location = New System.Drawing.Point(30, 3) + Me.txt.Name = "txt" + Me.txt.Size = New System.Drawing.Size(109, 13) + Me.txt.TabIndex = 3 + Me.txt.Text = "Kostenaufstellung.pdf" + Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'cntxt + ' + Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.ArchivierenToolStripMenuItem}) + Me.cntxt.Name = "cntxt" + Me.cntxt.Size = New System.Drawing.Size(218, 126) + ' + 'UmbenennenToolStripMenuItem + ' + Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem" + Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.UmbenennenToolStripMenuItem.Text = "Umbenennen" + ' + 'LöschenToolStripMenuItem + ' + Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del + Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem" + Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.LöschenToolStripMenuItem.Text = "Löschen" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6) + ' + 'KopierenZwischenablageToolStripMenuItem + ' + Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem" + Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)" + ' + 'AlsEmailSendenToolStripMenuItem + ' + Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem" + Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6) + ' + 'ArchivierenToolStripMenuItem + ' + Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem" + Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ArchivierenToolStripMenuItem.Text = "Archivieren" + ' + 'picPDF + ' + Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf + Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand + Me.picPDF.Location = New System.Drawing.Point(-1, 2) + Me.picPDF.Name = "picPDF" + Me.picPDF.Size = New System.Drawing.Size(29, 15) + Me.picPDF.TabIndex = 2 + Me.picPDF.TabStop = False + ' + 'usrCntLPDFScanSimple + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.ContextMenuStrip = Me.cntxt + Me.Controls.Add(Me.txt) + Me.Controls.Add(Me.picPDF) + Me.Margin = New System.Windows.Forms.Padding(1) + Me.Name = "usrCntLPDFScanSimple" + Me.Size = New System.Drawing.Size(218, 20) + Me.cntxt.ResumeLayout(False) + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents txt As System.Windows.Forms.Label + Friend WithEvents picPDF As System.Windows.Forms.PictureBox + Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip + Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator + Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx new file mode 100644 index 0000000..1c67451 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb new file mode 100644 index 0000000..a3909f9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb @@ -0,0 +1,72 @@ +Imports System.IO + +Public Class usrCntLPDFScanSimple + Public ScanID As String = "" + Public pdf_Path As String = "" + Public bezeichnung As String = "" + Public archived As Boolean = False + Public Event DELETE(ScanID As Integer, bezeichnung As String) + Public Event RENAME(ScanID As Integer, bezeichnung As String) + Public Event ARCHIV(ScanID As Integer, bezeichnung As String) + Public Event CLIPBOARD(ScanID As Integer, bezeichnung As String) + Public Event OPEN_MAIL(ScanID As Integer, bezeichnung As String) + + Public Event CLICKED() + + Sub New(ScanID, pdf_Path, bezeichnung, archived) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me.ScanID = ScanID + Me.pdf_Path = pdf_Path + Me.bezeichnung = bezeichnung + txt.Text = bezeichnung + Me.archived = archived + End Sub + + Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") Then RaiseEvent DELETE(ScanID, bezeichnung) + End Sub + + Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click + If File.Exists(pdf_Path) Then + ' Process.Start(pdf_Path) + Process.Start(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(pdf_Path, bezeichnung)) + RaiseEvent CLICKED() + End If + End Sub + + Private Sub usrCntLPDFScanSimple_Load(sender As Object, e As EventArgs) Handles Me.Load + If archived Then + ArchivierenToolStripMenuItem.Text = "Wiederherstellen" + Me.picPDF.BackgroundImage = My.Resources.pdf_gray + End If + LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") + + End Sub + + Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter + Me.BackColor = Drawing.Color.LightGray + End Sub + Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave + Me.BackColor = Drawing.Color.White + End Sub + + Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click + RaiseEvent RENAME(ScanID, bezeichnung) + End Sub + + Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click + RaiseEvent ARCHIV(ScanID, bezeichnung) + End Sub + + Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click + RaiseEvent CLIPBOARD(ScanID, bezeichnung) + End Sub + + Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click + RaiseEvent OPEN_MAIL(ScanID, bezeichnung) + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb new file mode 100644 index 0000000..071cc91 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb @@ -0,0 +1,56 @@ + _ +Partial Class usrCntlTestsystem + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.lblTESTSYSTEM = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'lblTESTSYSTEM + ' + Me.lblTESTSYSTEM.AutoSize = True + Me.lblTESTSYSTEM.Location = New System.Drawing.Point(-4, 0) + Me.lblTESTSYSTEM.Margin = New System.Windows.Forms.Padding(5, 0, 5, 0) + Me.lblTESTSYSTEM.Name = "lblTESTSYSTEM" + Me.lblTESTSYSTEM.Size = New System.Drawing.Size(146, 24) + Me.lblTESTSYSTEM.TabIndex = 0 + Me.lblTESTSYSTEM.Text = "TESTSYSTEM" + Me.lblTESTSYSTEM.Visible = False + ' + 'usrCntlTestsystem + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 24.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.Transparent + Me.Controls.Add(Me.lblTESTSYSTEM) + Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ForeColor = System.Drawing.Color.Red + Me.Margin = New System.Windows.Forms.Padding(5, 6, 5, 6) + Me.Name = "usrCntlTestsystem" + Me.Size = New System.Drawing.Size(152, 28) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents lblTESTSYSTEM As System.Windows.Forms.Label + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb new file mode 100644 index 0000000..be7f3bf --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb @@ -0,0 +1,8 @@ +Public Class usrCntlTestsystem + ' Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Load + ' lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM + ' End Sub + Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Layout + lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb new file mode 100644 index 0000000..3bb4544 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb @@ -0,0 +1,133 @@ + _ +Partial Class usrcntlKdSearch + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() + Me.pnl = New System.Windows.Forms.Panel() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.lblClose = New System.Windows.Forms.Label() + Me.lblINAKTIVEKunden = New System.Windows.Forms.Label() + Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() + Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry() + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnl.SuspendLayout() + Me.Panel1.SuspendLayout() + CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'dgvKundenAktiv + ' + Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White + Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill + Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0) + Me.dgvKundenAktiv.Name = "dgvKundenAktiv" + Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243) + Me.dgvKundenAktiv.TabIndex = 0 + ' + 'pnl + ' + Me.pnl.AutoSize = True + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.dgvKundenAktiv) + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Controls.Add(Me.dgvKundenInAktiv) + Me.pnl.Location = New System.Drawing.Point(2, 3) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(564, 374) + Me.pnl.TabIndex = 1 + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption + Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel1.Controls.Add(Me.lblClose) + Me.Panel1.Controls.Add(Me.lblINAKTIVEKunden) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, 243) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(564, 16) + Me.Panel1.TabIndex = 3 + ' + 'lblClose + ' + Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblClose.AutoSize = True + Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand + Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblClose.ForeColor = System.Drawing.Color.Red + Me.lblClose.Location = New System.Drawing.Point(542, -5) + Me.lblClose.Margin = New System.Windows.Forms.Padding(0) + Me.lblClose.Name = "lblClose" + Me.lblClose.Size = New System.Drawing.Size(22, 23) + Me.lblClose.TabIndex = 17 + Me.lblClose.Text = "X" + ' + 'lblINAKTIVEKunden + ' + Me.lblINAKTIVEKunden.AutoSize = True + Me.lblINAKTIVEKunden.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblINAKTIVEKunden.Location = New System.Drawing.Point(3, 0) + Me.lblINAKTIVEKunden.Name = "lblINAKTIVEKunden" + Me.lblINAKTIVEKunden.Size = New System.Drawing.Size(96, 13) + Me.lblINAKTIVEKunden.TabIndex = 2 + Me.lblINAKTIVEKunden.Text = "INAKTIVE Kunden:" + ' + 'dgvKundenInAktiv + ' + Me.dgvKundenInAktiv.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvKundenInAktiv.BackgroundColor = System.Drawing.Color.White + Me.dgvKundenInAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvKundenInAktiv.Dock = System.Windows.Forms.DockStyle.Bottom + Me.dgvKundenInAktiv.Location = New System.Drawing.Point(0, 259) + Me.dgvKundenInAktiv.Name = "dgvKundenInAktiv" + Me.dgvKundenInAktiv.Size = New System.Drawing.Size(564, 115) + Me.dgvKundenInAktiv.TabIndex = 1 + ' + 'usrcntlKdSearch + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.MenuHighlight + Me.Controls.Add(Me.pnl) + Me.Name = "usrcntlKdSearch" + Me.Size = New System.Drawing.Size(570, 380) + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnl.ResumeLayout(False) + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents pnl As System.Windows.Forms.Panel + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents lblINAKTIVEKunden As System.Windows.Forms.Label + Public WithEvents dgvKundenAktiv As MyDatagridview + Public WithEvents dgvKundenInAktiv As MyDatagridview + Public WithEvents lblClose As System.Windows.Forms.Label + Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx new file mode 100644 index 0000000..c4fb810 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb new file mode 100644 index 0000000..7f5c287 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb @@ -0,0 +1,50 @@ +Imports System.Windows.Forms +Imports System.Drawing + +Public Class usrcntlKdSearch + Public Event DGV_Click(sender As Object, e As EventArgs) + Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs) + Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs) + Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs) + Public Event CLOSE(sender As Object, e As EventArgs) + + Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click + RaiseEvent DGV_Click(sender, e) + + End Sub + + Private Sub dgvKundenInAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenInAktiv.Click + RaiseEvent DGV_INAKTIV_Click(sender, e) + End Sub + + Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown + RaiseEvent DGV_KeyDown(sender, e) + End Sub + + Private Sub dgvFindKD_INAKTIV_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenInAktiv.KeyDown + RaiseEvent DGV_INAKTIV_KeyDown(sender, e) + End Sub + + + Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged + Me.pnl.Location = New Point(2, 2) + Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4) + End Sub + + Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click + RaiseEvent CLOSE(sender, e) + End Sub + + Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) + Try + MyBase.OnPaint(e) + Catch ex As Exception + Me.Invalidate() + End Try + End Sub + + Private Sub dgvKundenAktiv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvKundenAktiv.CellContentClick + RaiseEvent DGV_Click(sender, e) + + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb new file mode 100644 index 0000000..32bf598 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb @@ -0,0 +1,188 @@ + _ +Partial Class usrcntlPDFScan + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.txt = New System.Windows.Forms.Label() + Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AlsEMailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.picPDF = New System.Windows.Forms.PictureBox() + Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem() + Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.cntxt.SuspendLayout() + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit() + Me.cntxtMulti.SuspendLayout() + Me.SuspendLayout() + ' + 'txt + ' + Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txt.ContextMenuStrip = Me.cntxt + Me.txt.Cursor = System.Windows.Forms.Cursors.Hand + Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txt.Location = New System.Drawing.Point(31, -1) + Me.txt.Name = "txt" + Me.txt.Size = New System.Drawing.Size(133, 24) + Me.txt.TabIndex = 1 + Me.txt.Text = "Kostenaufstellung.pdf" + Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'cntxt + ' + Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEMailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.LöschenToolStripMenuItem}) + Me.cntxt.Name = "cntxt" + Me.cntxt.Size = New System.Drawing.Size(218, 126) + ' + 'DateiScannenToolStripMenuItem + ' + Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner + Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem" + Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..." + ' + 'DateiHochladenToolStripMenuItem + ' + Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf + Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem" + Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..." + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6) + ' + 'KopierenZwischenablageToolStripMenuItem + ' + Me.KopierenZwischenablageToolStripMenuItem.Enabled = False + Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem" + Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)" + ' + 'AlsEMailSendenToolStripMenuItem + ' + Me.AlsEMailSendenToolStripMenuItem.Enabled = False + Me.AlsEMailSendenToolStripMenuItem.Name = "AlsEMailSendenToolStripMenuItem" + Me.AlsEMailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AlsEMailSendenToolStripMenuItem.Text = "Als E-Mail senden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6) + ' + 'LöschenToolStripMenuItem + ' + Me.LöschenToolStripMenuItem.Enabled = False + Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del + Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem" + Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.LöschenToolStripMenuItem.Text = "Löschen" + ' + 'picPDF + ' + Me.picPDF.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf_gray + Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.picPDF.ContextMenuStrip = Me.cntxt + Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand + Me.picPDF.Location = New System.Drawing.Point(0, 2) + Me.picPDF.Name = "picPDF" + Me.picPDF.Size = New System.Drawing.Size(29, 20) + Me.picPDF.TabIndex = 0 + Me.picPDF.TabStop = False + ' + 'cntxtMulti + ' + Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2, Me.ArchivierenToolStripMenuItem}) + Me.cntxtMulti.Name = "cntxt" + Me.cntxtMulti.Size = New System.Drawing.Size(181, 92) + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22) + Me.ToolStripMenuItem1.Text = "+ Datei scannen..." + ' + 'ToolStripMenuItem2 + ' + Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf + Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" + Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22) + Me.ToolStripMenuItem2.Text = "+ Datei hochladen..." + ' + 'ArchivierenToolStripMenuItem + ' + Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem" + Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.ArchivierenToolStripMenuItem.Text = "Archivieren" + Me.ArchivierenToolStripMenuItem.Visible = False + ' + 'usrcntlPDFScan + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.BackColor = System.Drawing.Color.White + Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.ContextMenuStrip = Me.cntxt + Me.Controls.Add(Me.txt) + Me.Controls.Add(Me.picPDF) + Me.Cursor = System.Windows.Forms.Cursors.Hand + Me.Name = "usrcntlPDFScan" + Me.Size = New System.Drawing.Size(163, 24) + Me.cntxt.ResumeLayout(False) + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit() + Me.cntxtMulti.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents picPDF As System.Windows.Forms.PictureBox + Friend WithEvents txt As System.Windows.Forms.Label + Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip + Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator + Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents AlsEMailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator + Friend WithEvents ArchivierenToolStripMenuItem As Windows.Forms.ToolStripMenuItem +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx new file mode 100644 index 0000000..68a6b38 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 124, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb new file mode 100644 index 0000000..5d00355 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb @@ -0,0 +1,420 @@ +Imports System.Windows.Forms +Imports System.IO +Imports Microsoft.Office.Interop + +Public Class usrcntlPDFScan + Public Property _TEXT_PDF As String + Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE" + Public Property _DATENSERVER_ORDNER As String = "" + Public Property _DATENSERVER_UOrdner1 As String = "" + Public Property _DATENSERVER_UOrdner2 As String = "" + Public Property _DATENSERVER_UOrdner3 As String = "" + Public Property _MULTI_FILES As Boolean = False + Public Property _ARCHIV As Boolean = False + + ' Public pdf_Path As String = "" + Dim KdNr As Integer = -1 + + 'Dim DATENSERVER As New cDATENSERVER + ' Public ScanID As Integer = -1 + Public COLL_ID As Integer = -1 + 'Dim DatenserverIDCollection As New cDatenserverIDCollectionList + Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER + + + Public Event FileAdded(id As String, path As String, name As String) + + Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + Me.txt.Text = _TEXT_PDF + End Sub + + + Public Sub INIT(KdNr) + Me.KdNr = KdNr + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2 + Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + + + Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load + Me.AllowDrop = True + Me.txt.Text = _TEXT_PDF + If _MULTI_FILES Then + Me.ContextMenuStrip = cntxtMulti + txt.ContextMenuStrip = cntxtMulti + picPDF.ContextMenuStrip = cntxtMulti + ' Else + ' If DatenserverIDCollection.Count > 0 Then + 'pdf_Path = DATENSERVER.getPathById(ScanID) + ' End If + End If + + + End Sub + + Public Fill + + ' Sub addId(id) + ' If id > 0 Then + ' ScanID = id + ' pdf_Path = DATENSERVER.getPathById(ScanID) + ' initPdf() + ' End If + ' End Sub + Sub initPdf() + If DS Is Nothing Then Exit Sub + txt.Name = _TEXT_PDF + + If DS.DATA_LIST.LIST.Count > 0 Then + picPDF.Enabled = True + txt.Enabled = True + ' picScanner.Visible = False + picPDF.BackgroundImage = My.Resources.pdf + setCursorHand(Me) + setCursorHand(picPDF) + setCursorHand(txt) + ' del.Visible = True + If Not _MULTI_FILES Then LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") + KopierenZwischenablageToolStripMenuItem.Enabled = True + AlsEMailSendenToolStripMenuItem.Enabled = True + Else + picPDF.Enabled = False + txt.Enabled = False + picPDF.BackgroundImage = My.Resources.pdf_gray + 'picScanner.Visible = True + setCursorDefalut(Me) + setCursorDefalut(picPDF) + setCursorDefalut(txt) + ' del.Visible = False + LöschenToolStripMenuItem.Enabled = False + KopierenZwischenablageToolStripMenuItem.Enabled = False + AlsEMailSendenToolStripMenuItem.Enabled = False + End If + + ' ArchivierenToolStripMenuItem.Visible = If(DS.da_multifiles And DS.DATA_LIST.LIST.Count = 1, True, False) + End Sub + + Sub setCursorHand(c As Control) + c.Cursor = Windows.Forms.Cursors.Hand + End Sub + Sub setCursorDefalut(c As Control) + c.Cursor = Windows.Forms.Cursors.Default + End Sub + + + Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click + + Try + + If DS.DATA_LIST.LIST.Count > 0 Then + If _MULTI_FILES Then 'And DS.DATA_LIST.LIST.Count > 1 Then + Dim list As New frmPDFScanList + + showMulti(list) + + list.Location = System.Windows.Forms.Cursor.Position + list.Show() 'Me.FindForm) 'Dialog() 's(Me.FindForm) + list.SetDesktopLocation(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y) + Else + 'Process.Start(DS.DATA_LIST.LIST(0).coll_pfad) + DS.OPEN_SINGLE(, True) + End If + End If + + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!") + End Try + End Sub + Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter + e.Effect = DragDropEffects.All + End Sub + Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop + If e.Data.GetDataPresent("FileDrop", True) = True Then + Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei. + If FileList.Count > 0 Then + If Not _MULTI_FILES And FileList.Count > 1 Then + MsgBox("Es können nicht mehrere Dateien hochgeladen werden!") + Exit Sub + End If + For Each W In FileList + If W.ToUpper.EndsWith(".PDF") Then + Try + + Dim bezeichnung = System.IO.Path.GetFileName(W).ToString + DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf") + + 'If DS.DATA_LIST.LIST.Count > 0 Then + ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + 'End If + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace) + End Try + End If + Next + initPdf() + End If + End If + End Sub + + + Sub showMulti(List As frmPDFScanList) + Try + List.listlOld.Visible = False + List.pnlOldHeader.Visible = False + List.FlowLayoutPanel.Controls.Clear() + List.listlOld.Controls.Clear() + Dim tmpHeight = 0 + For Each i In DS.DATA_LIST.LIST + Dim u As New usrCntLPDFScanSimple(i.coll_id, i.coll_pfad, i.coll_bezeichnung, i.coll_archiv) + AddHandler u.CLICKED, Sub() + List.Close() + End Sub + AddHandler u.DELETE, Sub(coll_id, coll_bezeichnung) + If vbYes = MsgBox("Möchten Sie die Datei '" & coll_bezeichnung & "' wirklich löschen?!? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then + 'getListItemAT Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(id) + If Not DS.DELETE_LIST_POS(coll_id) Then + MsgBox("Fehler beim Löschen!") + End If + + 'DatenserverIDCollection.DELETE(id) + ' For Each c In DatenserverIDCollection.LIST + ' If c.da_id = id Then + ' DatenserverIDCollection.Remove(c) + ' Exit For + ' End If + ' Next + initPdf() + + List.Close() + End If + End Sub + + AddHandler u.RENAME, Sub(coll_id, coll_bezeichnung) + Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , coll_bezeichnung) + If bez <> "" Then + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = coll_id Then + ii.coll_bezeichnung = bez + ii.UPDATE() + showMulti(List) + initPdf() + Exit Sub + End If + Next + End If + + End Sub + AddHandler u.ARCHIV, Sub(coll_id, coll_bezeichnung) + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = coll_id Then + ii.coll_archiv = Not ii.coll_archiv + ii.UPDATE() + showMulti(List) + List.PerformLayout() 'IRGENDWIE NEU LAYOUTEN() + initPdf() + Exit Sub + End If + Next + End Sub + + AddHandler u.CLIPBOARD, Sub(coll_id, coll_bezeichnung) + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = coll_id Then + 'Zwischenablage + Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)} + Dim d As New DataObject(DataFormats.FileDrop, f) + Clipboard.SetDataObject(d, True) + Exit Sub + End If + Next + List.Close() + End Sub + + + AddHandler u.OPEN_MAIL, Sub(coll_id, coll_bezeichnung) + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = coll_id Then + 'Mail + Try + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue,, ii.coll_bezeichnung & ".pdf") + Mail.Display() + Catch ex As Exception + MsgBox("Fehler beim Öffnen der Mail!") + End Try + End If + List.Close() + Next + End Sub + + If _ARCHIV And i.coll_archiv Then + List.listlOld.Controls.Add(u) + List.listlOld.Visible = True + tmpHeight += 23 + List.pnlOldHeader.Visible = True + Else + List.FlowLayoutPanel.Controls.Add(u) + End If + Next + List.listlOld.MinimumSize = (New Drawing.Size(List.listlOld.Width, tmpHeight)) + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!") + End Try + End Sub + ' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click + ' Process.Start(pdf_Path) + + ' End Sub + + + Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiScannenToolStripMenuItem.Click, ToolStripMenuItem1.Click + Try + If KdNr < 0 Then Exit Sub + Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan") + frmScan.DefaultFileName = Me._TEXT_PDF + + If frmScan.ShowDialog(Me) = DialogResult.OK Then + If frmScan.ReturnValue IsNot Nothing Then + Dim Filename = _TEXT_PDF + If frmScan.fileName <> "" Then Filename = frmScan.fileName + ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss") + 'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf") + If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then + If DS.DATA_LIST.LIST.Count > 0 Then + Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + End If + End If + + + ' Me.ScanID = DATENSERVER.LAST_ID + ' Dim file As New FileInfo(frmScan.ReturnValue) + 'If file.Exists Then + ' Me.pdf_Path = path + 'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"") + + + 'End If + End If + End If + initPdf() + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!") + End Try + End Sub + + Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiHochladenToolStripMenuItem.Click, ToolStripMenuItem2.Click + Try + If _MULTI_FILES Then + If DS.uploadDataToDATENSERVERFileDialog_MULTI(, ".pdf", , "PDF") Then + initPdf() + End If + Else + If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") Then + If DS.DATA_LIST.LIST.Count > 0 Then + Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + End If + End If + initPdf() + End If + + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace) + End Try + End Sub + + Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE + If vbYes = MsgBox("Möchten Sie die Datei wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then + DS.DELETE_COMPLETE() + '''DATENSERVER.deleteFileByDatenarchivId(DatenserverIDCollection(0).da_id) + 'DatenserverIDCollection.DELETE(DatenserverIDCollection.LIST(0).coll_daId) + ''' DatenserverIDCollection.Clear() + initPdf() + End If + End Sub + + Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter + Try + If DS.DATA_LIST.LIST.Count > 0 Then Me.BackColor = Drawing.Color.LightGray + Catch ex As Exception + + End Try + End Sub + Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave + Try + If Me.BackColor <> Drawing.Color.White Then Me.BackColor = Drawing.Color.White + Catch ex As Exception + + End Try + + End Sub + + Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click + Try + If DS.DATA_LIST.LIST.Count > 0 Then + Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung)} + Dim d As New DataObject(DataFormats.FileDrop, f) + Clipboard.SetDataObject(d, True) + End If + Catch ex As Exception + MsgBox("Fehler beim Laden der Daten!") + End Try + End Sub + + Private Sub AlsEMailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEMailSendenToolStripMenuItem.Click + Try + If DS.DATA_LIST.LIST.Count > 0 Then + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + Mail.Display() + End If + Catch ex As Exception + MsgBox("Fehler beim Öffnen der Mail!") + End Try + End Sub + + 'Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click + ' Try + ' If DS.DATA_LIST.LIST.Count > 0 Then + ' DS.DATA_LIST.LIST(0).coll_archiv = Not DS.DATA_LIST.LIST(0).coll_archiv + ' DS.DATA_LIST.LIST(0).UPDATE() + ' initPdf() + ' Exit Sub + ' End If + ' Catch ex As Exception + ' MsgBox("Fehler beim Archivieren!") + ' End Try + 'End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb new file mode 100644 index 0000000..5d2f405 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb @@ -0,0 +1,155 @@ + _ +Partial Class usrcntlPDFScanList + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem() + Me.picAdd = New System.Windows.Forms.PictureBox() + Me.MyListBox1 = New VERAG_PROG_ALLGEMEIN.MyListBox() + Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.cntxtMulti.SuspendLayout() + CType(Me.picAdd, System.ComponentModel.ISupportInitialize).BeginInit() + Me.cntxt.SuspendLayout() + Me.SuspendLayout() + ' + 'cntxtMulti + ' + Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2}) + Me.cntxtMulti.Name = "cntxt" + Me.cntxtMulti.Size = New System.Drawing.Size(181, 48) + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22) + Me.ToolStripMenuItem1.Text = "+ Datei scannen..." + ' + 'ToolStripMenuItem2 + ' + Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf + Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" + Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22) + Me.ToolStripMenuItem2.Text = "+ Datei hochladen..." + ' + 'picAdd + ' + Me.picAdd.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.plus + Me.picAdd.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.picAdd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.picAdd.Location = New System.Drawing.Point(96, 0) + Me.picAdd.Name = "picAdd" + Me.picAdd.Size = New System.Drawing.Size(23, 17) + Me.picAdd.TabIndex = 3 + Me.picAdd.TabStop = False + ' + 'MyListBox1 + ' + Me.MyListBox1._value = "" + Me.MyListBox1.Cursor = System.Windows.Forms.Cursors.Default + Me.MyListBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.MyListBox1.FormattingEnabled = True + Me.MyListBox1.Location = New System.Drawing.Point(0, 0) + Me.MyListBox1.Margin = New System.Windows.Forms.Padding(0) + Me.MyListBox1.Name = "MyListBox1" + Me.MyListBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended + Me.MyListBox1.Size = New System.Drawing.Size(118, 64) + Me.MyListBox1.TabIndex = 4 + ' + 'UmbenennenToolStripMenuItem + ' + Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem" + Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.UmbenennenToolStripMenuItem.Text = "Umbenennen" + ' + 'KopierenZwischenablageToolStripMenuItem + ' + Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem" + Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)" + ' + 'AlsEmailSendenToolStripMenuItem + ' + Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem" + Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6) + ' + 'LöschenToolStripMenuItem + ' + Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del + Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem" + Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.LöschenToolStripMenuItem.Text = "Löschen" + ' + 'cntxt + ' + Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem}) + Me.cntxt.Name = "cntxt" + Me.cntxt.Size = New System.Drawing.Size(218, 120) + ' + 'usrcntlPDFScanList + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.BackColor = System.Drawing.Color.White + Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.ContextMenuStrip = Me.cntxtMulti + Me.Controls.Add(Me.picAdd) + Me.Controls.Add(Me.MyListBox1) + Me.Cursor = System.Windows.Forms.Cursors.Default + Me.Margin = New System.Windows.Forms.Padding(0) + Me.Name = "usrcntlPDFScanList" + Me.Size = New System.Drawing.Size(118, 64) + Me.cntxtMulti.ResumeLayout(False) + CType(Me.picAdd, System.ComponentModel.ISupportInitialize).EndInit() + Me.cntxt.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents picAdd As System.Windows.Forms.PictureBox + Public WithEvents MyListBox1 As MyListBox + Friend WithEvents UmbenennenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator + Friend WithEvents LöschenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents cntxt As Windows.Forms.ContextMenuStrip +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx new file mode 100644 index 0000000..cfdc3dc --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 129, 18 + + + 17, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb new file mode 100644 index 0000000..e4059ae --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb @@ -0,0 +1,361 @@ +Imports System.Windows.Forms +Imports System.IO +Imports Microsoft.Office.Interop + +Public Class usrcntlPDFScanList + Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE" + Public Property _DATENSERVER_ORDNER As String = "" + Public Property _DATENSERVER_UOrdner1 As String = "" + Public Property _DATENSERVER_UOrdner2 As String = "" + Public Property _DATENSERVER_UOrdner3 As String = "" + Public Property _OPEN_ORIGINAL As Boolean = False + + Private Property _TEXT_PDF As String = "SONSTIGE" + Private Property _MULTI_FILES As Boolean = True + + Public Property _TYPE As String = "PDF" + ' Public pdf_Path As String = "" + Dim KdNr As Integer = -1 + + 'Dim DATENSERVER As New cDATENSERVER + ' Public ScanID As Integer = -1 + Public COLL_ID As Integer = -1 + 'Dim DatenserverIDCollection As New cDatenserverIDCollectionList + Public DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER + + + Public Event FileAdded(id As String, path As String, name As String) + + Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout + ' Me.txt.Text = _TEXT_PDF + Me.MyListBox1.Dock = DockStyle.Fill + End Sub + + Public Sub INIT(KdNr) + Me.KdNr = KdNr + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3) + Me.KdNr = KdNr + Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1 + Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2 + Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3 + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES) + initPdf() + End Sub + + + Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load + ' Me.txt.Text = _TEXT_PDF + Me.AllowDrop = True + picAdd.ContextMenuStrip = cntxtMulti + MyListBox1.ContextMenuStrip = cntxt + ' Else + ' If DatenserverIDCollection.Count > 0 Then + 'pdf_Path = DATENSERVER.getPathById(ScanID) + + picAdd.Left = Me.Width - picAdd.Width - 2 + picAdd.Top = Me.Height - picAdd.Height - 2 + End Sub + + Public Fill + + ' Sub addId(id) + ' If id > 0 Then + ' ScanID = id + ' pdf_Path = DATENSERVER.getPathById(ScanID) + ' initPdf() + ' End If + ' End Sub + Public Sub initPdf() + MyListBox1.Items.Clear() + + KopierenZwischenablageToolStripMenuItem.Enabled = False + AlsEmailSendenToolStripMenuItem.Enabled = False + UmbenennenToolStripMenuItem.Enabled = False + + If DS.DATA_LIST.LIST.Count > 0 Then + For Each i In DS.DATA_LIST.LIST + MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(i.coll_bezeichnung, i.coll_id)) + Next + KopierenZwischenablageToolStripMenuItem.Enabled = True + AlsEmailSendenToolStripMenuItem.Enabled = True + UmbenennenToolStripMenuItem.Enabled = True + + LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") + End If + + End Sub + + + + + + ' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click + ' Process.Start(pdf_Path) + + ' End Sub + + + Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click + If KdNr < 0 Then Exit Sub + Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan") + frmScan.DefaultFileName = Me._TEXT_PDF + If frmScan.ShowDialog(Me) = DialogResult.OK Then + If frmScan.ReturnValue IsNot Nothing Then + Dim Filename = _TEXT_PDF + If frmScan.fileName <> "" Then Filename = frmScan.fileName + ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss") + 'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf") + If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then + If DS.DATA_LIST.LIST.Count > 0 Then + Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + End If + End If + + + ' Me.ScanID = DATENSERVER.LAST_ID + ' Dim file As New FileInfo(frmScan.ReturnValue) + 'If file.Exists Then + ' Me.pdf_Path = path + 'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"") + + + 'End If + End If + End If + initPdf() + End Sub + + Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem2.Click + If DS.uploadDataToDATENSERVERFileDialog_MULTI(, , , _TYPE) Then + initPdf() + End If + 'If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") <> "" Then + ' If DS.DATA_LIST.LIST.Count > 0 Then + ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + ' End If + 'End If + + 'initPdf() + + ' Dim fd As New OpenFileDialog + ' fd.Filter = "PDF|*.PDF" + ' fd.DefaultExt = "pdf" + ' If fd.ShowDialog() = DialogResult.OK Then + 'Dim Filename = _TEXT_PDF + ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss") + ' Dim path = DATENSERVER.uploadDataToDATENSERVER(fd.FileName, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf") + ' DatenserverIDCollection.ADD(DATENSERVER.LAST_ID, path, Filename) + ' RaiseEvent FileAdded(DATENSERVER.LAST_ID, path, Filename) + ' End If + End Sub + + Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE + Try + If vbYes = MsgBox("Möchten Sie die '" & MyListBox1.SelectedItems.Count & "' selektierte(n) Datei(en) wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then + For Each SI In MyListBox1.SelectedItems + Dim DelItem As VERAG_PROG_ALLGEMEIN.MyListItem = DirectCast(SI, VERAG_PROG_ALLGEMEIN.MyListItem) + DS.DELETE_LIST_POS(DelItem.Value) + Next + If DS.DATA_LIST.LIST.Count = 0 Then + DS.DELETE_COMPLETE() + End If + initPdf() + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + Private Sub picAdd_Click(sender As Object, e As EventArgs) Handles picAdd.Click + cntxtMulti.Show(Windows.Forms.Cursor.Position) + End Sub + + Private Sub MyListBox1_DoubleClick(sender As Object, e As EventArgs) Handles MyListBox1.DoubleClick + Try + If _OPEN_ORIGINAL Then + Dim collId = DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value + For Each i In DS.DATA_LIST.LIST + If i.coll_id = collId Then + Process.Start(i.coll_pfad) + Exit Sub + End If + Next + Else + DS.OPEN(DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value,, True) + End If + + + ' VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung) + + Catch ex As Exception + MsgBox("Fehler beim Öffnen!") + End Try + End Sub + + Private Sub MyListBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles MyListBox1.MouseClick + If e.Button = Windows.Forms.MouseButtons.Right Then + Dim i = MyListBox1.IndexFromPoint(e.X, e.Y) + If i > 0 Then + MyListBox1.SelectedIndex = i + If MyListBox1.SelectedItems.Count > 0 Then cntxt.Show(Windows.Forms.Cursor.Position) + Else + cntxt.Hide() + End If + End If + End Sub + + Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click + Try + If MyListBox1.SelectedItems.Count = 1 Then + Dim item As MyListItem = DirectCast(MyListBox1.SelectedItems(0), MyListItem) + Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , item.Text) + If bez <> "" Then + For Each i In DS.DATA_LIST.LIST + If i.coll_id = item.Value Then + i.coll_bezeichnung = bez + i.UPDATE() + initPdf() + Exit Sub + End If + Next + End If + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + Dim fired = False + Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean + Try + If keyData = (Keys.Control Or Keys.C) Then + KopierenZwischenablageToolStripMenuItem_Click(KopierenZwischenablageToolStripMenuItem, New EventArgs) + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click + Try + VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP") + Dim f(MyListBox1.SelectedItems.Count - 1) As String + Dim cnt = 0 + If MyListBox1.SelectedItems.Count >= 1 Then + For Each SI In MyListBox1.SelectedItems + Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem) + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = item.Value Then + 'Dim f() As String = {ii.coll_pfad} + If ii.coll_pfad <> "" Then + f(cnt) = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung) + cnt += 1 + 'Exit For + End If + End If + Next + Next + 'Zwischenablage + Clipboard.Clear() + Dim d As New DataObject(DataFormats.FileDrop, f) + Clipboard.SetDataObject(d, True) + Exit Sub + End If + Catch ex As Exception + MsgBox("Fehler beim Laden der Daten!") + End Try + End Sub + + + Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click + Try + VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP") + If MyListBox1.SelectedItems.Count >= 1 Then + Try + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + + For Each SI In MyListBox1.SelectedItems + Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem) + For Each ii In DS.DATA_LIST.LIST + If ii.coll_id = item.Value Then + If ii.coll_pfad <> "" Then + Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + End If + End If + Next + Next + + Mail.Display() + Catch ex As Exception + MsgBox("Fehler beim Öffnen der Mail!") + End Try + End If + Catch ex As Exception + MsgBox("Fehler beim Öffnen der Mail!") + End Try + End Sub + + + + Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter + e.Effect = DragDropEffects.All + End Sub + Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop + If e.Data.GetDataPresent("FileDrop", True) = True Then + Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei. + If FileList.Count > 0 Then + If Not _MULTI_FILES And FileList.Count > 1 Then + MsgBox("Es können nicht mehrere Dateien hochgeladen werden!") + Exit Sub + End If + For Each W In FileList + If W.ToUpper.EndsWith(".PDF") Then + Try + Dim bezeichnung = System.IO.Path.GetFileName(W).ToString + DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf") + 'Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + 'RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + 'If DS.DATA_LIST.LIST.Count > 0 Then + ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1) + ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung) + 'End If + Catch ex As Exception + MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace) + End Try + End If + Next + initPdf() + End If + End If + End Sub + + Private Sub cntxt_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles cntxt.Opening + UmbenennenToolStripMenuItem.Visible = (MyListBox1.SelectedItems.Count = 1) + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb new file mode 100644 index 0000000..ac6d4a1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb @@ -0,0 +1,104 @@ + _ +Partial Class usrcntlSearch + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() + Me.pnl = New System.Windows.Forms.Panel() + Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry() + Me.lblClose = New System.Windows.Forms.Label() + Me.Panel1 = New System.Windows.Forms.Panel() + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnl.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.SuspendLayout() + ' + 'dgvKundenAktiv + ' + Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White + Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill + Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0) + Me.dgvKundenAktiv.Name = "dgvKundenAktiv" + Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 358) + Me.dgvKundenAktiv.TabIndex = 0 + ' + 'pnl + ' + Me.pnl.AutoSize = True + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.dgvKundenAktiv) + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Location = New System.Drawing.Point(2, 3) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(564, 374) + Me.pnl.TabIndex = 1 + ' + 'lblClose + ' + Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblClose.AutoSize = True + Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand + Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblClose.ForeColor = System.Drawing.Color.Red + Me.lblClose.Location = New System.Drawing.Point(542, -5) + Me.lblClose.Margin = New System.Windows.Forms.Padding(0) + Me.lblClose.Name = "lblClose" + Me.lblClose.Size = New System.Drawing.Size(22, 23) + Me.lblClose.TabIndex = 17 + Me.lblClose.Text = "X" + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption + Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel1.Controls.Add(Me.lblClose) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, 358) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(564, 16) + Me.Panel1.TabIndex = 3 + ' + 'usrcntlSearch + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.MenuHighlight + Me.Controls.Add(Me.pnl) + Me.Name = "usrcntlSearch" + Me.Size = New System.Drawing.Size(570, 380) + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnl.ResumeLayout(False) + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents pnl As System.Windows.Forms.Panel + Public WithEvents dgvKundenAktiv As MyDatagridview + Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Public WithEvents lblClose As System.Windows.Forms.Label + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx new file mode 100644 index 0000000..c4fb810 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb new file mode 100644 index 0000000..af72cdc --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb @@ -0,0 +1,37 @@ +Imports System.Windows.Forms +Imports System.Drawing + +Public Class usrcntlSearch + Public Event DGV_Click(sender As Object, e As EventArgs) + Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs) + Public Event CLOSE(sender As Object, e As EventArgs) + + Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click + RaiseEvent DGV_Click(sender, e) + + End Sub + + + Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown + RaiseEvent DGV_KeyDown(sender, e) + End Sub + + + Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged + Me.pnl.Location = New Point(2, 2) + Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4) + End Sub + + Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click + RaiseEvent CLOSE(sender, e) + End Sub + + Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) + Try + MyBase.OnPaint(e) + Catch ex As Exception + Me.Invalidate() + End Try + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb new file mode 100644 index 0000000..899a1d6 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb @@ -0,0 +1,67 @@ + _ +Partial Class usrcntlUnterposEntry + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.txtAnzahl = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.lblBezeichnung = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'txtAnzahl + ' + Me.txtAnzahl._numbersOnly = True + Me.txtAnzahl._Prozent = False + Me.txtAnzahl._ShortDateNew = False + Me.txtAnzahl._TimeOnly = False + Me.txtAnzahl._value = Nothing + Me.txtAnzahl._Waehrung = False + Me.txtAnzahl.Location = New System.Drawing.Point(3, 0) + Me.txtAnzahl.MaxLength = 2 + Me.txtAnzahl.Name = "txtAnzahl" + Me.txtAnzahl.Size = New System.Drawing.Size(28, 20) + Me.txtAnzahl.TabIndex = 106 + ' + 'lblBezeichnung + ' + Me.lblBezeichnung.AutoSize = True + Me.lblBezeichnung.Location = New System.Drawing.Point(37, 3) + Me.lblBezeichnung.Name = "lblBezeichnung" + Me.lblBezeichnung.Size = New System.Drawing.Size(28, 13) + Me.lblBezeichnung.TabIndex = 107 + Me.lblBezeichnung.Text = "TXT" + ' + 'usrcntlUnterposEntry + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.txtAnzahl) + Me.Controls.Add(Me.lblBezeichnung) + Me.Name = "usrcntlUnterposEntry" + Me.Size = New System.Drawing.Size(200, 20) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Public WithEvents txtAnzahl As VERAG_PROG_ALLGEMEIN.MyTextBox + Public WithEvents lblBezeichnung As System.Windows.Forms.Label + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb new file mode 100644 index 0000000..911ff56 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb @@ -0,0 +1,15 @@ +Public Class usrcntlUnterposEntry + ' Property AbfertigungsartNr = -1 + Property UnterPosArt = -1 + + Property Anzahl = 0 + + Private Sub txtAnzahl_LostFocus(sender As Object, e As EventArgs) Handles txtAnzahl.LostFocus + If IsNumeric(sender.text) Then + Anzahl = CInt(sender.text) + Else + Anzahl = 0 + sender.text = 0 + End If + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb new file mode 100644 index 0000000..c50082f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb @@ -0,0 +1,115 @@ +Public Class cBerechtignunen + + + + Shared BER_LIST As New cBerechtigungsObjekte_List 'NEW = Laden + + ' Sub initBER() + ' BER_LIST = New cBerechtigungsObjekte_List + ' End Sub + + Public Shared Function CHECK_BERECHTIGUNG(Form_Berechtigung As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Return CHECK_BERECHTIGUNG(Form_Berechtigung.Name, Form_Berechtigung.GetType.Module.Name.Replace(".exe", "")) + End Function + + + Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, ME_Form.GetType.Module.Name.Replace(".exe", "")) + End Function + + Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Try + + If ME_Form Is Nothing Then Return False + Dim prog = ME_Form.GetType.Module.Name.Replace(".exe", "") 'FEHLER + Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog) = 0) + Catch ex As Exception + MsgBox("BERECHTIGUNGSERR: " & Berechtigung_Bezeichnung & vbNewLine & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) + Return False + End Try + End Function + + Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, prog_Name As String) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Try + Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_Name) = 0) + Catch ex As Exception + MsgBox(ex.Message & vbNewLine & ex.StackTrace) + Return False + End Try + End Function + + Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, prog_Name As String) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Dim SQL As New SQL + Dim prog_id = -1 + + Select Case prog_Name + Case "AVISO" + 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then + ' prog_id = 13 + ' Else + prog_id = 5 + 'End If + Case "SDL" + prog_id = 7 + Case Else + ' MsgBox("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'") + prog_id = SQL.getValueTxtBySql("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'", "ADMIN") + End Select + + Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_id) + End Function + + Public Shared Function CHECK_BERECHTIGUNG(ber_bez As String, prog_Id As Integer) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object + Try + If VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = "" Then Return 0 + + Dim berechtigungsstufe As Integer = 99 + Dim benutzerBer As cBerechtigungenBenutzerGruppenZuordnung_List = VERAG_PROG_ALLGEMEIN.cAllgemein.BENUTZER_BERECHTIGUNGS_GRUPPEN + If benutzerBer Is Nothing Then + MsgBox("Ihrem Benutzerkonto wurden keine Berechtigungen zugeordnet!") + Return 0 + End If + + Dim found = False + For Each l In BER_LIST.LIST + If l.bero_bezeichnung.ToUpper = ber_bez.ToUpper And l.bero_progId = prog_Id Then + found = True : Exit For + End If + Next + If Not found Then 'Die Berechtigungszuorgnung ist nicht gegeben --> Zugriff verwehrt + MsgBox("Die Berechtigung '" & ber_bez & "' existiert nicht.") + Return 99 + End If + + For Each l In BER_LIST.LIST + If l.bero_bezeichnung.ToUpper = ber_bez.ToUpper And l.bero_progId = prog_Id Then + For Each ll In l.BER_OBJ_ZUORD 'Liste der BerechtignungGruppen im Berechtigungsonjekt + For Each b In benutzerBer.LIST + If b.berbgz_progId = prog_Id Then 'BenutzerProg = Prog + + If ll.beroz_berechtigungsstufe >= 100 Then Return ll.beroz_berechtigungsstufe 'Größer als 3 stellen --> immer priorität + + If ll.beroz_art = "G" And ll.beroz_bergrId = b.berbgz_bergrId Then 'GruppenBerchtigung + 'gefunden! + If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe + ElseIf ll.beroz_art = "N" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Then + If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe + ElseIf ll.beroz_art = "A" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG Then + If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe + ElseIf ll.beroz_art = "B" And ll.beroz_bergrId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + Return ll.beroz_berechtigungsstufe 'Definitiv dem Benutzer zugeordnete Berechtigung!!!! + End If + End If + Next + Next + End If + Next + + Return berechtigungsstufe + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return 99 + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb new file mode 100644 index 0000000..0afc88e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb @@ -0,0 +1,107 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cBerechtigungenBenutzerGruppenZuordnung_List + Public LIST As New List(Of cBerechtigungenBenutzerGruppenZuordnung) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + Dim mit_Id + Sub New(mit_Id) + LOAD_LIST(mit_Id) + End Sub + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST(mit_Id) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT *,(SELECT [bergr_bezeichnung] FROM tblBerechtigungenGruppen WHERE [bergr_id]=[berbgz_bergrId]) as Gruppenbezeichnung FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId ", conn) 'SELECT * FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId", conn) + cmd.Parameters.AddWithValue("@berbgz_mitId", mit_Id) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cBerechtigungenBenutzerGruppenZuordnung + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + ' l.LOAD_ZUORD() + LIST.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub +End Class + + + +Public Class cBerechtigungenBenutzerGruppenZuordnung + Property berbgz_id As Integer + Property berbgz_progId As Integer + Property berbgz_mitId As Integer + Property Gruppenbezeichnung As Object = Nothing + + Property berbgz_bergrId As Integer + + Dim SQL As New SQL + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_id", berbgz_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_progId", berbgz_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_mitId", berbgz_mitId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gruppenbezeichnung", Gruppenbezeichnung, , , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_bergrId", berbgz_bergrId)) + Return list + End Function + + + Public Function INSERT() As String + Try + Dim list As List(Of SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not (i.isPrimaryParam Or i.isonlyForLoad) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ") + SQL.doSQLVarListID(berbgz_id, " INSERT INTO tblBerechtigungenBenutzerGruppenZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As String + Try + ' SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen + ' SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen + SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_id=" & Me.berbgz_id, "ADMIN") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb new file mode 100644 index 0000000..88eca1a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb @@ -0,0 +1,104 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + + +Public Class cBerechtigungenGruppen_List + Property KundenNr As Object = Nothing + Public LIST As New List(Of cBerechtigungenGruppen) + Dim SQL As New SQL + Dim bergr_progId + + Sub New(bergr_progId) + LOAD_LIST(bergr_progId) + End Sub + + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST(bergr_progId) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungenGruppen WHERE bergr_progId=@bergr_progId ORDER BY bergr_bezeichnung", conn) + cmd.Parameters.AddWithValue("@bergr_progId", bergr_progId) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cBerechtigungenGruppen + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + ' l.LOAD_ZUORD() + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + +End Class + +Public Class cBerechtigungenGruppen + Property bergr_id As Integer + Property bergr_progId As Integer + Property bergr_bezeichnung As String + + Dim SQL As New SQL + ' Property BER_BENGR_ZUORD As List(Of cBerechtigungenBenutzerGruppenZuordnung) + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_id", bergr_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_progId", bergr_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_bezeichnung", bergr_bezeichnung)) + Return list + End Function + + Public Function INSERT() As String + Try + Dim list As List(Of SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not (i.isPrimaryParam Or i.isonlyForLoad) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ") + SQL.doSQLVarListID(bergr_id, " INSERT INTO tblBerechtigungenGruppen (" & str & ") VALUES(" & values & ") ", "ADMIN", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As String + Try + SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen + SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen + SQL.doSQL("DELETE FROM tblBerechtigungenGruppen WHERE bergr_id=" & Me.bergr_id, "ADMIN") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb new file mode 100644 index 0000000..1b948d0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb @@ -0,0 +1,207 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + + + +Public Class cBerechtigungsObjekte_List + Public LIST As New List(Of cBerechtigungsObjekte) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + + Sub New() + LOAD_LIST() + End Sub + + Sub New(progID) + LOAD_LIST(progID) + End Sub + + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST() + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte", conn) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cBerechtigungsObjekte + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + l.LOAD_ZUORD() + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub LOAD_LIST(bero_progId) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_progId=@bero_progId", conn) + cmd.Parameters.AddWithValue("@bero_progId", bero_progId) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cBerechtigungsObjekte + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + l.LOAD_ZUORD() + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub +End Class + + +Public Class cBerechtigungsObjekte + Property bero_id As Integer + Property bero_progId As Integer + Property bero_bezeichnung As String + Property bero_art As String + + Property BER_OBJ_ZUORD As New List(Of cBerechtigungsObjekteZuordnung) + + Dim SQL As New SQL + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_id", bero_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_progId", bero_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_bezeichnung", bero_bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_art", bero_art)) + Return list + End Function + + Public Sub LOAD() ' Wird eig nicht benötigt, da LIST + Try + BER_OBJ_ZUORD.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_id=@bero_id ", conn) + cmd.Parameters.AddWithValue("@bero_id", Me.bero_id) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + 'Dim l As New cBerechtigungsObjekte + For Each i In Me.getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(i.Text)) + End If + Next + Me.LOAD_ZUORD() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD_ZUORD() + ' MsgBox("a") + Try + BER_OBJ_ZUORD.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + ' Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ", conn) + ' MsgBox(Me.bero_id) + Using cmd As New SqlCommand(" SELECT *, (CASE beroz_art " & + " WHEN 'G' THEN (SELECT [bergr_bezeichnung] FROM [ADMIN].[dbo].[tblBerechtigungenGruppen] WHERE beroz_bergrId=bergr_id ) " & + " WHEN 'B' THEN (SELECT [mit_username] FROM [ADMIN].[dbo].tblMitarbeiter WHERE beroz_bergrId=mit_id ) " & + " WHEN 'A' THEN (SELECT [abt_kuerzel] FROM [ADMIN].[dbo].tblAbteilungen WHERE beroz_bergrId=abt_id ) " & + " WHEN 'N' THEN (SELECT [nl_kuerzel] FROM [ADMIN].[dbo].tblNiederlassungen WHERE beroz_bergrId=nl_id ) " & + " END) as Bezeichnung " & + " FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ORDER BY [beroz_art] desc, Bezeichnung", conn) + + cmd.Parameters.AddWithValue("@beroz_beroId", Me.bero_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cBerechtigungsObjekteZuordnung + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + BER_OBJ_ZUORD.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + + End Sub + + Public Function INSERT() As String + Try + Dim list As List(Of SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not (i.isPrimaryParam Or i.isonlyForLoad) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ") + SQL.doSQLVarListID(bero_id, " INSERT INTO tblBerechtigungsObjekte (" & str & ") VALUES(" & values & ") ", "ADMIN", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As String + Try + SQL.doSQL("DELETE FROM [tblBerechtigungsObjekteZuordnung] WHERE [beroz_beroId]=" & Me.bero_id, "ADMIN") 'Zuerst die Zuordnungen + SQL.doSQL("DELETE FROM tblBerechtigungsObjekte WHERE bero_id=" & Me.bero_id, "ADMIN") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb new file mode 100644 index 0000000..4a00cef --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb @@ -0,0 +1,87 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cBerechtigungsObjekteZuordnung + + Property beroz_id As Integer = -1 + Property beroz_beroId As Integer + Property beroz_bergrId As Integer + Property Bezeichnung As Object = Nothing + 'Property BenutzerBezeichnung As Object = Nothing + + Property beroz_art As String + Property beroz_berechtigungsstufe As Integer = -1 + Dim SQL As New SQL + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_id", beroz_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_beroId", beroz_beroId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_bergrId", beroz_bergrId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_art", beroz_art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_berechtigungsstufe", beroz_berechtigungsstufe)) + + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GruppenBezeichnung", GruppenBezeichnung, , , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung, , , True)) + Return list + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=@beroz_id ", conn) + cmd.Parameters.AddWithValue("@beroz_id", beroz_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + Next + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function INSERT() As String + Try + Dim list As List(Of SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not (i.isPrimaryParam Or i.isonlyForLoad) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ") + SQL.doSQLVarListID(beroz_id, " INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As String + Try + SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=" & Me.beroz_id, "ADMIN") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb new file mode 100644 index 0000000..928b95e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb @@ -0,0 +1,1213 @@ +Imports System.Data.SqlClient + +Public Class SQL + Public Const LeerDatum As Date = #12/30/1899# + + Public Shared Function GetSDLConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.SDLConnectionString + Else + Return My.MySettings.Default.SDL_PRODConnectionString + End If + End Function + Public Shared Function GetUIDConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.UIDConnectionString + Else + Return My.MySettings.Default.UID_PRODConnectionString + End If + End Function + + + Public Shared Function GetADMINConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.ADMINConnectionString + Else + Return My.MySettings.Default.ADMINConnectionString + End If + End Function + Public Shared Function GetFMZOLLConnectionString() As String + 'Properties.Settings.Default. + + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Try + Return My.MySettings.Default.FMZOLLConnectionString + Catch ex As Exception + 'Return "Data Source=DEVELOPER.verag.ost.dmn\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=sa;Password=BmWr501956;" + Return "Data Source=DEVELOPER.verag.ost.dmn\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" + End Try + + + Else + Try + Return My.MySettings.Default.FMZOLL_PRODConnectionString + Catch ex As Exception + ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;" + Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;" + End Try + End If + + + End Function + Public Shared Function GetWEBConnectionString() As String + 'Properties.Settings.Default. + + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return "Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" + ' Return "Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=sa;Password=BmWr501956;" + Else + Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" + ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=sa;Password=BmWr501956;" + End If + + + End Function + + Public Shared Function GetFMZOLLConnectionString(TESTSYSTEM) As String + If TESTSYSTEM Then + Return My.MySettings.Default.FMZOLLConnectionString + Else + Try + Return My.MySettings.Default.FMZOLL_PRODConnectionString + Catch ex As Exception + ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;" + Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;" + End Try + End If + End Function + + Public Shared Function GetFDConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.FDConnectionString + Else + Return My.MySettings.Default.FD_PRODConnectionString + End If + End Function + Public Shared Function GetSCANCANONConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.SCANCANON_PRODConnectionString + Else + Return My.MySettings.Default.SCANCANON_PRODConnectionString + End If + End Function + Public Shared Function GetATLASConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.ATLASConnectionString + Else + Return My.MySettings.Default.ATLASConnectionString + End If + End Function + + Public Shared Function GetATLAS_SBGConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.ATLAS_SBGConnectionString + Else + Return My.MySettings.Default.ATLAS_SBGConnectionString + End If + End Function + + + Public Shared Function GetEZOLLConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.EZOLLConnectionString + Else + Return My.MySettings.Default.EZOLLConnectionString + End If + End Function + + + Public Shared Function GetAVISOConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.AVISOConnectionStringTEST + Else + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then + Return My.MySettings.Default.AVISO_ATILLAConnectionString + Else + Try + Return My.MySettings.Default.AVISOConnectionString + Catch ex As Exception + Return "Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200" + End Try + End If + End If + End Function + + + Public Shared Function GetDISPOConnectionString() As String + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Return My.MySettings.Default.DISPOConnectionStringTEST + Else + Return My.MySettings.Default.DISPOConnectionString + End If + End Function + + + Public Shared Function GetNewOpenConnectionSDL(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetSDLConnectionString() & IIf(pooling, "", ";pooling=false") + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + Public Shared Function GetNewOpenConnectionUID(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + 'cn.ConnectionString = My.Resources.connStringSDL_DEV + ' IMMER DIE AKTUELLE CONNECTION IN MY.SETTINGS ÄNDERN!!! --> WG. BINDING + cn.ConnectionString = GetUIDConnectionString() & IIf(pooling, "", ";pooling=false") + cn.Open() + Return cn + End Function + + + Public Shared Function GetNewOpenConnectionADMIN() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetADMINConnectionString() + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + + + Public Shared Function GetNewOpenConnectionFD() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetFDConnectionString() + cn.Open() + Return cn + End Function + Public Shared Function GetNewOpenConnectionFMZOLL(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetFMZOLLConnectionString() & IIf(pooling, "", ";pooling=false") + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + Public Shared Function GetNewOpenConnectionWEB(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetWEBConnectionString() & IIf(pooling, "", ";pooling=false") + + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + Public Shared Function GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM As Boolean, Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetFMZOLLConnectionString(TESTSYSTEM) & IIf(pooling, "", ";pooling=false") + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + Public Shared Function GetNewOpenConnectionSCANCANON(Optional pooling As Boolean = True) As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetSCANCANONConnectionString() & IIf(pooling, "", ";pooling=false") + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + + Public Shared Function GetNewOpenConnectionATLAS() As SqlConnection + Dim cn As New SqlConnection() + cn.ConnectionString = GetATLASConnectionString() + cn.Open() + Return cn + End Function + + Public Shared Function GetNewOpenConnectionATLAS_SBG() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetATLAS_SBGConnectionString() + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + + + Public Shared Function GetNewOpenConnectionATLAS_SUBorSBG() As SqlConnection + Dim cn As New SqlConnection() + Try + If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung = "SBG" Then + cn.ConnectionString = GetATLAS_SBGConnectionString() + Else + cn.ConnectionString = GetATLASConnectionString() + End If + + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + + Public Shared Function GetNewOpenConnectionEZOLL() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetEZOLLConnectionString() + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + + Public Shared Function GetNewOpenConnectionAVISO() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetAVISOConnectionString() + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + End Function + + + Public Shared Function GetNewOpenConnectionDISPO() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = GetDISPOConnectionString() + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + Public Shared Function GetNewOpenConnectionAVISO_ATILLA() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = My.MySettings.Default.AVISO_ATILLAConnectionString + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + + Public Shared Function GetNewOpenConnectionFMZOLLREAL() As SqlConnection + Dim cn As New SqlConnection() + Try + cn.ConnectionString = My.MySettings.Default.FMZOLL_PRODConnectionString + cn.Open() + Return cn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return Nothing + + + End Function + + + + Public Shared Function isNullNothing(o) As Object + If o Is Nothing Then Return o + If o Is DBNull.Value Then Return Nothing + If o.ToString = "" Then Return Nothing + Return o + End Function + + Function isleernothing(s) As Object + Return isNullNothing(s) + End Function + + Public Shared Function isNullNothingDbl(o) As Object + If o Is Nothing Then Return o + If o.ToString = "" Then Return Nothing + Return CDbl(o) + End Function + + Public Shared Function isNullDBNull(o) As Object + If o Is Nothing Then Return DBNull.Value + If o.ToString = "" Then Return DBNull.Value + Return o + End Function + + + Function IsNull(o) As Boolean + Try + If o Is Nothing Then Return True + If o Is DBNull.Value Then Return True + If o.ToString.Trim = "" Then Return True + Catch : End Try + Return False + End Function + + Function isleernothingDateFormatstring(o) As Object + If o Is Nothing Then Return o + If o.ToString = "" Then Return Nothing + If IsDate(o) Then Return CDate(o).ToShortDateString + Return Nothing + End Function + + Public Function loadDgvBySql(ByVal sql As String, Optional conn_art As String = "SDL", Optional timeout As Integer = 0, Optional showerror As Boolean = True) As DataTable + Try + Dim myTable = New DataTable() + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "FD" : conn = GetNewOpenConnectionFD() + Case "WEB" : conn = GetNewOpenConnectionWEB() + + Case "AVISO_ATILLA" + conn.ConnectionString = "Data Source=172.16.0.98;Initial Catalog=AVISO_ATILLA;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200" + conn.Open() + End Select + ' MsgBox(cAllgemein.TESTSYSTEM) + ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + If timeout > 0 Then cmd.CommandTimeout = timeout 'Seconds + Dim dr As SqlDataReader = cmd.ExecuteReader() + + myTable.Load(dr) + dr.Close() + End Using + conn.Close() + ' End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + If showerror Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler", , , sql) + End Try + + Return Nothing + + End Function + Public Function loadCboBySql(ByVal sql As String, Optional conn_art As String = "SDL") As List(Of Object) + + + Dim o As New List(Of Object) + Try + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + + ' Using conn As SqlConnection = GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read + o.Add(dr.Item(0)) + End While + dr.Close() + End Using + conn.Close() + ' End Using + Return o 'While Schleife wird hier verlassen + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + Return Nothing + End Function + + Public Function loadCboBySqlWithListItem(ByVal sql As String, Optional showValueInText As Boolean = True, Optional conn_art As String = "SDL") As List(Of MyListItem) + Dim o As New List(Of MyListItem) + Try + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read + If showValueInText Then + o.Add(New MyListItem(dr.Item(0) & " - " & dr.Item(1), dr.Item(0))) + Else + Try + Dim item1 = dr.Item(1) 'Sonst ist der fehelr im mylistitem + o.Add(New MyListItem(item1, dr.Item(0))) + Catch ex As Exception + o.Add(New MyListItem(dr.Item(0), dr.Item(0))) + End Try + End If + + End While + dr.Close() + End Using + conn.Close() + + Return o 'While Schleife wird hier verlassen + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + Return Nothing + End Function + + + Function DLookup(srchField, table, where, Optional conn_art = "SDL", Optional nullvalue = "") As Object + Return getValueTxtBySql("SELECT isnull(" & srchField & ",'" & nullvalue & "') FROM " & table & " WHERE " & where & "", conn_art,,, nullvalue) + End Function + + + Function DLookupArray(srchField, table, where, Optional conn_art = "SDL") As List(Of String) + Dim list As New List(Of String) + Dim dt = loadDgvBySql("SELECT " & srchField & " FROM " & table & " WHERE " & where & "", conn_art) + If dt IsNot Nothing Then + For Each r As DataRow In dt.Rows + list.Add(r(srchField)) + Next + End If + Return list + End Function + + + Public Function getValueTxtBySql(ByVal sql As String, Optional conn_art As String = "SDL", Optional List As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing, Optional defaultReturn As Object = "") As String + + Try + If conn Is Nothing Then + conn = New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "SCANCANON" : conn = GetNewOpenConnectionSCANCANON() + Case "WEB" : conn = GetNewOpenConnectionWEB() + + End Select + End If + + Using cmd As New SqlCommand(sql, conn) + If List IsNot Nothing Then + For Each i In List + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Text.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If Not dr.Item(0) Is DBNull.Value Then + defaultReturn = CStr(dr.Item(0)) + End If + End If + dr.Close() + End Using + conn.Close() + + Return defaultReturn + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & conn.ConnectionString, System.Reflection.MethodInfo.GetCurrentMethod.Name & sql) + End Try + 'MsgBox("3") + Return defaultReturn + End Function + + Public Function getValueTxtBySqlVarList(ByVal sql As String, Optional conn_art As String = "SDL", Optional List As List(Of SQLVariable) = Nothing, Optional defaultReturn As Object = "") As String + Dim s As String = defaultReturn + Try + 'MsgBox("1") + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + + Using cmd As New SqlCommand(sql, conn) + If List IsNot Nothing Then + For Each i In List + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If Not dr.Item(0) Is DBNull.Value Then + s = CStr(dr.Item(0)) + End If + End If + dr.Close() + End Using + conn.Close() + + Return s + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + 'MsgBox("3") + Return defaultReturn + + End Function + Public Function doSQL(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing) As Boolean + + If conn Is Nothing Then + conn = New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "WEB" : conn = GetNewOpenConnectionWEB() + + Case "AVISO_ATILLA" + conn.ConnectionString = "Data Source=172.16.0.98;Initial Catalog=AVISO_ATILLA;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200" + conn.Open() + End Select + End If + Try + ' MsgBox(sql) + Using cmd As New SqlCommand(sql, conn) + If list IsNot Nothing Then + For Each i In list + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Text.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + cmd.ExecuteNonQuery() + End Using + conn.Close() + Return True + Catch ex As Exception + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + End Try + Return False + End Function + + + Public Function doSQLVarList(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of SQLVariable) = Nothing) As Boolean + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + Try + ' MsgBox(sql) + Using cmd As New SqlCommand(sql, conn) + If list IsNot Nothing Then + For Each i In list + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + cmd.ExecuteNonQuery() + End Using + conn.Close() + Return True + Catch ex As Exception + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + End Try + Return False + End Function + + Public Function doSQLVarListID(ByVal id As Integer, ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of SQLVariable) = Nothing, Optional returnSelectID As Boolean = False, Optional errHinweis As String = "", Optional showErrTimeout As Boolean = True, Optional timeout As Integer = 0) As Integer + + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + Try + Using cmd As New SqlCommand(sql, conn) + If timeout > 0 Then cmd.CommandTimeout = timeout + If list IsNot Nothing Then + For Each i In list + 'If Not i.isonlyForLoad Then + + ' End If + cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + + If returnSelectID Then + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If Not dr.Item(0) Is DBNull.Value Then + id = CStr(dr.Item(0)) + End If + End If + dr.Close() + Else + cmd.ExecuteNonQuery() + + If id <= 0 Then + Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn) + id = CInt(newcmd.ExecuteScalar) + End If + + End If + + 'Return True + End Using + conn.Close() + Catch ex As TimeoutException + If showErrTimeout Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & errHinweis, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, If(showErr, ERROR_OP.SHOW, ERROR_OP.MAIL), , , , sql) + Return -2 + Catch ex As Exception + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & errHinweis, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, If(showErr, ERROR_OP.SHOW, ERROR_OP.MAIL), , , , sql) + Return -1 + End Try + Return id + End Function + + + Public Function loadDgvBySql_Param(ByVal sql As String, Optional conn_art As String = "SDL", Optional timeout As Integer = 0, Optional list As List(Of SQLVariable) = Nothing, Optional showErr As Boolean = True, Optional ByRef errOccured As Boolean = False) As DataTable + Try + Dim myTable = New DataTable() + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "WEB" : conn = GetNewOpenConnectionWEB() + End Select + + ' Using conn As SqlConnection = GetNewOpenConnection() + Using cmd As New SqlCommand(sql, conn) + If list IsNot Nothing Then + For Each i In list + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + End If + If timeout > 0 Then cmd.CommandTimeout = timeout + Dim dr As SqlDataReader = cmd.ExecuteReader() + + myTable.Load(dr) + dr.Close() + End Using + conn.Close() + ' End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + errOccured = True + End Try + + Return Nothing + End Function + + Function getFirmaWhere() + Dim where = "" + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "IMEX" : where &= " AND [FilialenNr]='5501' " + Case "UNISPED" : where &= " AND [FilialenNr]='5601' " + Case "AMBAR" : where &= " AND [FilialenNr]='5701' " + Case "FRONTOFFICE" : where &= " AND [FilialenNr]='5801' " + Case Else : where &= " AND isnull([FilialenNr],0) NOT IN ('5501','5601','5701','5801') " + End Select + Return where + End Function + Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String) As String + Dim s As String = "" + Dim where = getFirmaWhere() + + Try + Dim conn As SqlConnection = GetNewOpenConnectionFMZOLL() + Dim sqlStr = "" + If eoriNL <> "" Then + sqlStr = "SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE (([EORITIN] = '" & eori & "' AND EORITIN_NL ='" & eoriNL & "') OR ([EORITIN] + '0000' = '" & (eori & eoriNL).Replace(" ", "") & "')) " & where & " ORDER BY AdressenNr DESC" + Else + sqlStr = "SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE ( ([EORITIN] = '" & eori & "' AND EORITIN_NL ='" & eoriNL & "') OR [EORITIN] = '" & (eori & eoriNL).Replace(" ", "") & "') " & where & " order by EORITIN_NL desc, AdressenNr DESC" + End If + Using cmd As New SqlCommand(sqlStr, conn) + + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + Dim dt As New DataTable + dt.Load(dr) + If dt.Rows.Count > 1 Then + If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then + MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical) + End If + End If + s = dt.Rows(0).Item(0) + End If + dr.Close() + End Using + conn.Close() + + Return s + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + + Public Shared Function SQLDatumZeitSekunden(dat As Date) As String + 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#) + SQLDatumZeitSekunden = "" + If Not IsDate(dat) Then Exit Function + SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " & + DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'" + End Function + + Public Shared Function SQLNullDate(d As Date) As Object + 'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben + If d = New Date Then : SQLNullDate = DBNull.Value + Else : SQLNullDate = d : End If + End Function + + Public Shared Function VarToInt(ByVal wert As Object) As Integer + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CInt(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + + Public Shared Function VarToInt2(ByVal wert As Object) As Integer + Try + If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then + Return -1 + Else + Return CInt(wert) + End If + Catch generatedExceptionName As Exception + Return -1 + End Try + End Function + + Public Shared Function VarToLng(ByVal wert As Object) As Long + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CLng(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + Public Shared Function VarToDbl(ByVal wert As Object) As Double + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return 0 + Else + Return CDbl(wert) + End If + Catch generatedExceptionName As Exception + Return 0 + End Try + End Function + + Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object + If o IsNot Nothing And o IsNot DBNull.Value Then Return (o) + Return returnValue + End Function + + Public Shared Function checkNullIntegerZero(ByVal o As Object) As Integer + If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o) + Return 0 + End Function + Public Shared Function checkNulDbl(ByVal o As Object) As Double + If o IsNot Nothing And o IsNot DBNull.Value Then Return CDbl(o) + Return -1 + End Function + + Public Shared Function checkNullBool(ByVal o As Object) As Boolean + If o Is Nothing Or o Is DBNull.Value Then Return 0 + Try + Return CBool(o) + Catch ex As Exception + End Try + Return 0 + End Function + + Public Shared Function checkNullDateReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object + If o IsNot Nothing And o IsNot DBNull.Value Then + If o.ToString <> "" AndAlso IsDate(o) Then + Return CDate(o) + End If + End If + Return returnValue + End Function + Public Shared Function checkNullDate(ByVal o As Object) As Date + If o IsNot Nothing And o IsNot DBNull.Value Then Return CDate(o) + Return Now + End Function + Public Shared Function checkNullDateNothing(ByVal o As Object) As Object + If o Is DBNull.Value Then + Return Nothing + Else + Return CDate(o) + End If + End Function + Public Shared Function checkNullInteger(ByVal o As Object) As Integer + If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o) + Return -1 + End Function + Public Shared Function checkNullStr(ByVal o As Object) As String + If o IsNot Nothing And o IsNot DBNull.Value Then Return CStr(o) + Return "" + End Function + + + + + Public Shared Function isDbnullEmpty(o As Object, return_value As Object) As String + If IsDBNull(o) Then : isDbnullEmpty = return_value + ElseIf IsNothing(o) Then : isDbnullEmpty = return_value + Else : isDbnullEmpty = o.ToString + End If + End Function + Public Shared Function isDbnullEmptyCurr(o As Object, return_value As Object) As String + If IsDBNull(o) Then : isDbnullEmptyCurr = return_value + ElseIf IsNothing(o) Then : isDbnullEmptyCurr = return_value + Else : isDbnullEmptyCurr = CDbl(o).ToString("C") + End If + End Function + Public Shared Function isDbnullEmptyDbl(o As Object, kommastellen As Integer, return_value As Object) As String + If IsDBNull(o) Then : isDbnullEmptyDbl = return_value + ElseIf IsNothing(o) Then : isDbnullEmptyDbl = return_value + Else : isDbnullEmptyDbl = CDbl(o).ToString("N" & If(kommastellen > 0, kommastellen, "")) + End If + End Function + + + + Public Shared Function VarToBool(ByVal wert As Object) As Boolean + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return False + Else + Return CBool(wert) + End If + Catch generatedExceptionName As Exception + Return False + End Try + End Function + + Public Shared Function VarToStr(ByVal wert As Object) As String + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return "" + Else + Return Trim(DirectCast(wert, String)) + End If + Catch generatedExceptionName As Exception + Return "" + End Try + End Function + + Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime) + Try + If wert Is Nothing OrElse wert Is DBNull.Value Then + Return LeerDatum 'Nothing + Else + Return DirectCast(wert, DateTime) + End If + Catch generatedExceptionName As Exception + Return Nothing + End Try + End Function + + Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean + 'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29 + For x As Integer = 0 To list.Length - 1 + If list(x) = i Then + Return True + End If + On Error Resume Next + Next + Return False + End Function + + Public Shared Function Minuten_auf_Text(hMinuten As Long) As String + Dim hStunden As Long + Dim hMinus As Boolean + Dim hMin As Long + + Minuten_auf_Text = "" + hMin = hMinuten + + If hMin = 0 Then + Minuten_auf_Text = "0:00" + Exit Function + End If + + If hMin < 0 Then + hMinus = True + hMin = hMin * -1 + End If + + hStunden = CLng(Fix(hMin / 60)) + hMin = hMin - (hStunden * 60) + If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt + Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00") + End Function + + Public Shared Function ZeitInMinuten(hDat As Date) As Long + ZeitInMinuten = 0 + If Not IsDate(hDat) Then Exit Function + ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat) + End Function + + + + + + Public Function getATLASKdNrFromZollNr(ByVal ZollNr As String) As String + Dim s As String = "" + Dim where = getFirmaWhere() + + Try + Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL + Using cmd As New SqlCommand("SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE Zollnummer = '" & String.Format(ZollNr, "0000000") & "' " & where & " ORDER BY AdressenNr DESC", conn) + + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + Dim dt As New DataTable + dt.Load(dr) + If dt.Rows.Count > 1 Then + If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then + MsgBox("Die Zollnummer " & ZollNr & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical) + End If + End If + s = dt.Rows(0).Item(0) + End If + dr.Close() + End Using + conn.Close() + + Return s + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return "" + End Function + + Public Function getATLASNacherfassungAdresse(ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, ByVal zbant_regnr As String, ByVal zbant_korant As String, zbadz_typ As Integer, connArt As String) As String + Dim s As String = "" + + Try + Dim conn As SqlConnection + Select Case connArt + Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS + Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG + End Select + Using cmd As New SqlCommand(" SELECT zbadz_name1, baslnd_alpha, zbadz_plz, zbadz_ort " & + " FROM zbadz WHERE basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' And zbant_beznr='" & zbant_beznr & "' And zbant_regnr='" & zbant_regnr & "' And zbant_korant='" & zbant_korant & "' And zbadz_typ='" & zbadz_typ & "' " & + " ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbadz_typ", conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + s = Left(Trim(dr.Item("zbadz_name1")) & Trim(", " & dr.Item("baslnd_alpha")) & Trim(", " & dr.Item("zbadz_plz")) & Trim(", " & dr.Item("zbadz_ort")), 50) + End If + dr.Close() + End Using + conn.Close() + + Return s + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return "" + End Function + + + Public Function getATLASNacherfassungAdresseNCTS(ByVal basman_nr As String, ByVal basman_nl As String, ByVal veoant_beznr As String, ByVal intLfdNr As String, ByVal intPosNr As String, lngTyp As String, connArt As String) As String + Dim s As String = "" + Try + Dim conn As SqlConnection = Nothing + Select Case connArt + Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS + Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG + End Select + If conn IsNot Nothing Then + + Using cmd As New SqlCommand("SELECT veoadr_name1, baslnd_alpha, veoadr_plz, veoadr_ort " & + " FROM veoadr WHERE basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' And veoant_beznr='" & veoant_beznr & "' " & + " And veoant_lfdnr=" & intLfdNr & " And veopos_posnr=" & intPosNr & " And veoadr_typ=" & lngTyp & " " & + " ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr, veopos_posnr, veoadr_typ ", conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + s = Left(Trim(dr.Item("veoadr_name1")) & Trim(", " & dr.Item("baslnd_alpha")) & Trim(", " & dr.Item("veoadr_plz")) & Trim(", " & dr.Item("veoadr_ort")), 50) + End If + dr.Close() + End Using + conn.Close() + + End If + Return s + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return "" + End Function + + Public Function getATLASNacherfassungAdresseFrombaskun(ByVal zollNr As String, ByVal basman_nr As String, ByVal basman_nl As String, connArt As String) As String() + Dim s(2) As String + s(0) = "" + s(1) = "" + Try + Dim conn As SqlConnection + Select Case connArt + Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS + Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG + End Select + + Using cmd As New SqlCommand(" SELECT TOP 1 baskun_nr, baskun_kurz,baskun_zbnr " & + " FROM baskun WHERE baskun_zbnr='" & zollNr & "' And basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' " & + " ORDER BY basman_nr, basman_nl, baskun_nr, baskun_lfd", conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + + s(0) = dr.Item("baskun_kurz").ToString + s(1) = dr.Item("baskun_nr").ToString + End If + dr.Close() + End Using + conn.Close() + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return s + End Function + + Public Function getATLASNacherfassungAdresseFrombaskunByKuNr(ByVal baskun_nr As String, ByVal basman_nr As String, ByVal basman_nl As String, connArt As String) As String() + Dim s(2) As String + s(0) = "" + s(1) = "" + Try + + Dim conn As SqlConnection + Select Case connArt + Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS + Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG + End Select + Using cmd As New SqlCommand(" SELECT TOP 1 baskun_nr, baskun_kurz, " & + " FROM baskun WHERE baskun_nr='" & baskun_nr & "' And basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' " & + " ORDER BY basman_nr, basman_nl, baskun_nr, baskun_lfd DESC", conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + s(0) = dr.Item("baskun_kurz").ToString + s(1) = dr.Item("baskun_nr").ToString + End If + dr.Close() + End Using + conn.Close() + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return s + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb new file mode 100644 index 0000000..b1bd569 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb @@ -0,0 +1,206 @@ +Imports System +Imports System.Runtime.InteropServices +Imports System.IO +Imports System.Collections.Generic +Imports System.Windows.Forms + +Namespace SendFileTo + Public Class MAPI + Public Function AddRecipientTo(ByVal email As String) As Boolean + Return AddRecipient(email, howTo.MAPI_TO) + End Function + + Public Function AddRecipientCC(ByVal email As String) As Boolean + Return AddRecipient(email, howTo.MAPI_TO) + End Function + + Public Function AddRecipientBCC(ByVal email As String) As Boolean + Return AddRecipient(email, howTo.MAPI_TO) + End Function + + Public Sub AddAttachment(ByVal strAttachmentFileName As String) + m_attachments.Add(strAttachmentFileName) + End Sub + + Public Function SendMailPopup(ByVal strSubject As String, ByVal strBody As String) As Integer + Return SendMail(strSubject, strBody, MAPI_LOGON_UI Or MAPI_DIALOG) + End Function + + Public Function SendMailDirect(ByVal strSubject As String, ByVal strBody As String) As Integer + Return SendMail(strSubject, strBody, MAPI_LOGON_UI) + End Function + + + + Private Shared Function MAPISendMail(ByVal sess As IntPtr, ByVal hwnd As IntPtr, ByVal message As MapiMessage, ByVal flg As Integer, ByVal rsv As Integer) As Integer + End Function + + Private Function SendMail(ByVal strSubject As String, ByVal strBody As String, ByVal how As Integer) As Integer + Dim msg As MapiMessage = New MapiMessage() + msg.subject = strSubject + msg.noteText = strBody + + msg.recips = GetRecipients(msg.recipCount) + msg.files = GetAttachments(msg.fileCount) + + m_lastError = MAPISendMail(New IntPtr(0), New IntPtr(0), msg, how, 0) + If m_lastError > 1 Then + MessageBox.Show("MAPISendMail failed! " + GetLastError(), "MAPISendMail") + End If + + Cleanup(msg) + Return m_lastError + End Function + + Private Function AddRecipient(ByVal email As String, ByVal howTo As howTo) As Boolean + Dim recipient As MapiRecipDesc = New MapiRecipDesc() + + recipient.recipClass = CType(howTo, Integer) + recipient.name = email + m_recipients.Add(recipient) + + Return True + End Function + + Private Function GetRecipients(ByRef recipCount As Integer) As IntPtr + recipCount = 0 + If m_recipients.Count = 0 Then + Return 0 + End If + + Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc)) + Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_recipients.Count * size) + + Dim ptr As Integer = CType(intPtr, Integer) + Dim mapiDesc As MapiRecipDesc + For Each mapiDesc In m_recipients + Marshal.StructureToPtr(mapiDesc, CType(ptr, IntPtr), False) + ptr += size + Next + + recipCount = m_recipients.Count + Return intPtr + End Function + + Private Function GetAttachments(ByRef fileCount As Integer) As IntPtr + fileCount = 0 + If m_attachments Is Nothing Then + Return 0 + End If + + If (m_attachments.Count <= 0) Or (m_attachments.Count > maxAttachments) Then + Return 0 + End If + + Dim size As Integer = Marshal.SizeOf(GetType(MapiFileDesc)) + Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_attachments.Count * size) + + Dim mapiFileDesc As MapiFileDesc = New MapiFileDesc() + mapiFileDesc.position = -1 + Dim ptr As Integer = CType(intPtr, Integer) + + Dim strAttachment As String + For Each strAttachment In m_attachments + mapiFileDesc.name = Path.GetFileName(strAttachment) + mapiFileDesc.path = strAttachment + Marshal.StructureToPtr(mapiFileDesc, CType(ptr, IntPtr), False) + ptr += size + Next + + fileCount = m_attachments.Count + Return intPtr + End Function + + Private Sub Cleanup(ByRef msg As MapiMessage) + Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc)) + Dim ptr As Integer = 0 + + If msg.recips <> IntPtr.Zero Then + ptr = CType(msg.recips, Integer) + Dim i As Integer + For i = 0 To msg.recipCount - 1 Step i + 1 + Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiRecipDesc)) + ptr += size + Next + Marshal.FreeHGlobal(msg.recips) + End If + + If msg.files <> IntPtr.Zero Then + size = Marshal.SizeOf(GetType(MapiFileDesc)) + + ptr = CType(msg.files, Integer) + Dim i As Integer + For i = 0 To msg.fileCount - 1 Step i + 1 + Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiFileDesc)) + ptr += size + Next + Marshal.FreeHGlobal(msg.files) + End If + + m_recipients.Clear() + m_attachments.Clear() + m_lastError = 0 + End Sub + + Public Function GetLastError() As String + If m_lastError <= 26 Then + Return errors(m_lastError) + End If + Return "MAPI error [" + m_lastError.ToString() + "]" + End Function + + ReadOnly errors() As String = New String() {"OK [0]", "User abort [1]", "General MAPI failure [2]", "MAPI login failure [3]", "Disk full [4]", "Insufficient memory [5]", "Access denied [6]", "-unknown- [7]", "Too many sessions [8]", "Too many files were specified [9]", "Too many recipients were specified [10]", "A specified attachment was not found [11]", "Attachment open failure [12]", "Attachment write failure [13]", "Unknown recipient [14]", "Bad recipient type [15]", "No messages [16]", "Invalid message [17]", "Text too large [18]", "Invalid session [19]", "Type not supported [20]", "A recipient was specified ambiguously [21]", "Message in use [22]", "Network failure [23]", "Invalid edit fields [24]", "Invalid recipients [25]", "Not supported [26]"} + + Dim m_recipients As New List(Of MapiRecipDesc) + Dim m_attachments As New List(Of String) + Dim m_lastError As Integer = 0 + + Private Const MAPI_LOGON_UI As Integer = &H1 + Private Const MAPI_DIALOG As Integer = &H8 + Private Const maxAttachments As Integer = 20 + + Enum howTo + MAPI_ORIG = 0 + MAPI_TO + MAPI_CC + MAPI_BCC + End Enum + + End Class + + _ + Public Class MapiMessage + Public reserved As Integer + Public subject As String + Public noteText As String + Public messageType As String + Public dateReceived As String + Public conversationID As String + Public flags As Integer + Public originator As IntPtr + Public recipCount As Integer + Public recips As IntPtr + Public fileCount As Integer + Public files As IntPtr + End Class + + _ + Public Class MapiFileDesc + Public reserved As Integer + Public flags As Integer + Public position As Integer + Public path As String + Public name As String + Public type As IntPtr + End Class + + _ + Public Class MapiRecipDesc + Public reserved As Integer + Public recipClass As Integer + Public name As String + Public address As String + Public eIDSize As Integer + Public enTryID As IntPtr + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb new file mode 100644 index 0000000..63dc065 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb @@ -0,0 +1,320 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cUSTVAntrag + + Property UStVAn_ID As Integer + Property UStVAn_KuNr As Object = Nothing ' INT Not NULL, + Property UStVAn_Name As Object = Nothing ' NVARCHAR(80) NULL, + Property UStVAn_Straße As Object = Nothing ' NVARCHAR(40) NULL, + Property UStVAn_LandKz As Object = Nothing ' NVARCHAR(3) NULL, + Property UStVAn_PLZ As Object = Nothing ' NVARCHAR(7) NULL, + Property UStVAn_Ort As Object = Nothing ' NVARCHAR(40) NULL, + Property UStVAn_Land As Object = Nothing ' NVARCHAR(22) NULL, + Property UStVAn_Gewerbe As Object = Nothing ' NVARCHAR(50) NULL, + Property UStVAn_Steuernummer As Object = Nothing ' NVARCHAR(20) NULL, + Property UStVAn_ReDatVon As Object = Nothing ' DATETIME Not NULL, + Property UStVAn_ReDatBis As Object = Nothing ' DATETIME Not NULL, + Property UStVAn_Bankverbindung As Object = Nothing ' NVARCHAR(50) NULL, + Property UStVAn_BLZ As Object = Nothing ' NVARCHAR(8) NULL, + Property UStVAn_KTO As Object = Nothing ' NVARCHAR(12) NULL, + Property UStVAn_Kontoinhaber As Object = Nothing ' NVARCHAR(50) NULL, + Property UStVAn_BIC As Object = Nothing ' NVARCHAR(11) NULL, + Property UStVAn_IBAN As Object = Nothing ' NVARCHAR(27) NULL, + Property UStVAn_Anlagen As Object = Nothing ' SMALLINT NULL, + Property UStVAn_Rechnungen As Object = Nothing ' SMALLINT NULL, + Property UStVAn_Einfuhrdokumente As Object = Nothing ' SMALLINT NULL, + Property UStVAn_Erklärung_9_a As Object = Nothing ' NVARCHAR(50) NULL, + Property UStVAn_Erklärung_9_b_1 As Object = Nothing ' BIT Default ((0)) Not NULL, + Property UStVAn_Erklärung_9_b_2 As Object = Nothing ' BIT Default ((0)) Not NULL, + Property UStVAn_Erklärung_9_b_3 As Object = Nothing ' BIT Default ((0)) Not NULL, + Property UStVAn_Ausstellungsort As Object = Nothing ' NVARCHAR(20) NULL, + Property UStVAn_Ausstellungsdatum As Object = Nothing ' DATETIME NULL, + Property UStVAn_Unterschrift As Object = Nothing ' NVARCHAR(20) NULL, + Property UStVAn_LandNr As Object = Nothing ' SMALLINT Default ((38)) Not NULL, + Property UStVAn_Beleganzahl As Object = Nothing ' SMALLINT NULL, + Property UStVAn_BeleganzahlRetourniert As Object = Nothing ' SMALLINT NULL, + Property UStVAn_Retournierungsgrund As Object = Nothing ' NVARCHAR(255) NULL, + Property UStVAn_AntragEingereichtAm As Object = Nothing ' DATETIME NULL, + Property UStVAn_BelegeWeitergeleitetAm As Object = Nothing ' DATETIME NULL, + Property UStVAn_Vertreter As Object = Nothing ' INT NULL, + Property UStVAn_BezugsNr As Object = Nothing ' NVARCHAR(35) NULL, + Property UStVAn_3470 As Object = Nothing ' MONEY NULL, + Property UStVAn_VZBetrag As Object = Nothing ' MONEY NULL, + Property UStVAn_VZDatum As Object = Nothing ' DATETIME NULL, + Property UStVAn_RZBetragVZ As Object = Nothing ' MONEY NULL, + Property UStVAn_RZDatumVZ As Object = Nothing ' DATETIME NULL, + Property FilialenNr As Object = Nothing ' SMALLINT NULL, + Property AbfertigungsNr As Object = Nothing ' INT NULL, + Property UStVAn_Währungscode As Object = Nothing ' NVARCHAR(3) NULL, + Property UStVAn_USteuerbetrag As Object = Nothing ' MONEY Default ((0)) NULL, + Property UStVAn_Erstattungsbetrag As Object = Nothing ' MONEY Default ((0)) NULL, + Property UStVAn_USteuerbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL, + Property UStVAn_ErstattungsbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL, + Property UStVAn_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL, + Property UStVAn_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL, + + Property POSITIONEN As New List(Of cUStVPositionen) '= Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + Sub New(UStVAn_ID) + Me.UStVAn_ID = UStVAn_ID + LOAD(UStVAn_ID) + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KuNr", UStVAn_KuNr)) ' INT Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Name", UStVAn_Name)) ' NVARCHAR(80) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Straße", UStVAn_Straße)) ' NVARCHAR(40) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandKz", UStVAn_LandKz)) ' NVARCHAR(3) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_PLZ", UStVAn_PLZ)) ' NVARCHAR(7) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ort", UStVAn_Ort)) ' NVARCHAR(40) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Land", UStVAn_Land)) ' NVARCHAR(22) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Gewerbe", UStVAn_Gewerbe)) ' NVARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Steuernummer", UStVAn_Steuernummer)) ' NVARCHAR(20) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatVon", UStVAn_ReDatVon)) ' DATETIME Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatBis", UStVAn_ReDatBis)) ' DATETIME Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Bankverbindung", UStVAn_Bankverbindung)) ' NVARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BLZ", UStVAn_BLZ)) ' NVARCHAR(8) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KTO", UStVAn_KTO)) ' NVARCHAR(12) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Kontoinhaber", UStVAn_Kontoinhaber)) ' NVARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BIC", UStVAn_BIC)) ' NVARCHAR(11) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_IBAN", UStVAn_IBAN)) ' NVARCHAR(27) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Anlagen", UStVAn_Anlagen)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Rechnungen", UStVAn_Rechnungen)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Einfuhrdokumente", UStVAn_Einfuhrdokumente)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_a", UStVAn_Erklärung_9_a)) ' NVARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_1", UStVAn_Erklärung_9_b_1)) ' BIT Default ((0)) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_2", UStVAn_Erklärung_9_b_2)) ' BIT Default ((0)) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_3", UStVAn_Erklärung_9_b_3)) ' BIT Default ((0)) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsort", UStVAn_Ausstellungsort)) ' NVARCHAR(20) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsdatum", UStVAn_Ausstellungsdatum)) ' DATETIME NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Unterschrift", UStVAn_Unterschrift)) ' NVARCHAR(20) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandNr", UStVAn_LandNr)) ' SMALLINT Default ((38)) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Beleganzahl", UStVAn_Beleganzahl)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BeleganzahlRetourniert", UStVAn_BeleganzahlRetourniert)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Retournierungsgrund", UStVAn_Retournierungsgrund)) ' NVARCHAR(255) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_AntragEingereichtAm", UStVAn_AntragEingereichtAm)) ' DATETIME NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BelegeWeitergeleitetAm", UStVAn_BelegeWeitergeleitetAm)) ' DATETIME NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Vertreter", UStVAn_Vertreter)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BezugsNr", UStVAn_BezugsNr)) ' NVARCHAR(35) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_3470", UStVAn_3470)) ' MONEY NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZBetrag", UStVAn_VZBetrag)) ' MONEY NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZDatum", UStVAn_VZDatum)) ' DATETIME NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZBetragVZ", UStVAn_RZBetragVZ)) ' MONEY NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZDatumVZ", UStVAn_RZDatumVZ)) ' DATETIME NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) ' SMALLINT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Währungscode", UStVAn_Währungscode)) ' NVARCHAR(3) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetrag", UStVAn_USteuerbetrag)) ' MONEY Default ((0)) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erstattungsbetrag", UStVAn_Erstattungsbetrag)) ' MONEY Default ((0)) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetragEUR", UStVAn_USteuerbetragEUR)) ' MONEY Default ((0)) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ErstattungsbetragEUR", UStVAn_ErstattungsbetragEUR)) ' MONEY Default ((0)) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Sachbearbeiter", UStVAn_Sachbearbeiter)) ' NVARCHAR(15) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Zeitstempel", UStVAn_Zeitstempel)) ' DATETIME Default (getdate()) NULL, + + + Return list + End Function + + Public Sub LOAD(UStVAn_ID, Optional loadPos = True) + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUStVAntrag WHERE UStVAn_ID=@UStVAn_ID ", conn) + cmd.Parameters.AddWithValue("@UStVAn_ID", UStVAn_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + 'Dim l As New cOfferte + For Each i In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(i.Text)) + End If + Next + If loadPos Then LOAD_POSITIONEN() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD_POSITIONEN() + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUStVPositionen WHERE UStVAn_ID=@UStVAn_ID ", conn) + cmd.Parameters.AddWithValue("@UStVAn_ID", Me.UStVAn_ID) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cUStVPositionen + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + POSITIONEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function SAVE() As Boolean + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVAntrag WITH(updlock,serializable) WHERE UStVAn_ID=@UStVAn_ID ) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + 'Me.Eingegeben_am = Now + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblUStVAntrag (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblUStVAntrag] SET " & str & " WHERE UStVAn_ID=@UStVAn_ID ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getMaxPosNr() As Integer + Try + Dim maxPosNr = -1 + + Return SQL.getValueTxtBySql("SELECT isnull(max([UStVPo_ID]),0)+1 FROM [tblUStVPositionen] where UStVAn_ID='" & UStVAn_ID & "'", "FMZOLL",,, "1") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return -1 + End Function + + +End Class + + +Public Class cUStVPositionen + + Property UStVAn_ID As Integer + Property UStVPo_ID As Integer + Property UStVPo_ReDat As Object = Nothing ' DATETIME NULL, + Property UStVPo_ReNr As Object = Nothing ' NVARCHAR(20) NULL, + Property UStVPo_USteuerbetrag As Object = Nothing ' MONEY Not NULL, + Property UStVPo_Leistungsbezeichnung As Object = Nothing ' NVARCHAR(255) NULL, + Property UStVPo_Leistender As Object = Nothing ' NVARCHAR(65) NULL, + Property UStVPo_Schnittstelle As Object = Nothing ' BIT Default ((0)) Not NULL, + Property UStVPo_SchnittstellenNr As Object = Nothing ' SMALLINT Default ((0)) Not NULL, + Property UStVPo_Umrechnungskurs As Object = Nothing ' FLOAT(53) NULL, + Property UStVPo_USteuerbetragEUR As Object = Nothing ' MONEY NULL, + Property UStVPo_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL, + Property UStVPo_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL, + + Dim SQL As New SQL + + Sub New() + End Sub + + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ID", UStVPo_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReDat", UStVPo_ReDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReNr", UStVPo_ReNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetrag", UStVPo_USteuerbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistungsbezeichnung", UStVPo_Leistungsbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistender", UStVPo_Leistender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Schnittstelle", UStVPo_Schnittstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_SchnittstellenNr", UStVPo_SchnittstellenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Umrechnungskurs", UStVPo_Umrechnungskurs)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetragEUR", UStVPo_USteuerbetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Sachbearbeiter", UStVPo_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Zeitstempel", UStVPo_Zeitstempel)) + Return list + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblUStVPositionen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb new file mode 100644 index 0000000..a0dc3f8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb @@ -0,0 +1,110 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class _BASE + Property _BASE_id As Integer + Property _BASE_value As Object = Nothing + + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New(_BASE_id) + Me._BASE_id = _BASE_id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_id", _BASE_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_value", _BASE_value)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id ", conn) + cmd.Parameters.AddWithValue("@_BASE_id", _BASE_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTABLE] SET " & str & " WHERE _BASE_id=@_BASE_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTABLE (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb new file mode 100644 index 0000000..cd5bb5a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb @@ -0,0 +1,7 @@ +Public Class cAbfertigungsarten + Shared SQLtmp As New SQL + Public Shared Function getAbfertigungsartBezById(abfArt As Integer) + Return SQLtmp.getValueTxtBySql("SELECT [Abfertigungsbezeichnung] FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & abfArt, "FMZOLL") + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb new file mode 100644 index 0000000..9479270 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb @@ -0,0 +1,221 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cAbgaben + + Property [Index] As Integer = -1 + + Property Status As Object = Nothing + Property ZollamtsNr As Object = Nothing + Property Jahr As Object = Nothing + Property KennNr As Object = Nothing + Property Nummer As Object = Nothing + Property Leitzahl As Object = Nothing + Property Belegart As Object = Nothing + Property LeistungsNr As Object = Nothing + Property Betrag As Object = Nothing + Property Eingabedatum As Object = Nothing + Property Abfertigungsdatum As Object = Nothing + Property Übernahmedatum As Object = Nothing + Property Bemerkung As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property Bezugsnummer As Object = Nothing + Property Registriernummer As Object = Nothing + Property Korrekturnummer As Object = Nothing + Property AOFD As Object = Nothing + Property AKTO As Object = Nothing + Property Fälligkeitsdatum As Object = Nothing + Property Dateiname As Object = Nothing + Property Mandant As Object = Nothing + Property Niederlassung As Object = Nothing + Property LeistungsBez As Object = Nothing + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(Index) + If Index IsNot Nothing Then + Me.Index = Index + LOAD() + End If + End Sub + + Sub New(Registriernummer, Belegart, Betrag) + LOAD(Registriernummer, Belegart, Betrag) + End Sub + + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Index", [Index], , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", [Status])) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollamtsNr", ZollamtsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennNr", KennNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer", Nummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leitzahl", Leitzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegart", Belegart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingabedatum", Eingabedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übernahmedatum", Übernahmedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkung", Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezugsnummer", Bezugsnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Korrekturnummer", Korrekturnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Dateiname", Dateiname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Niederlassung", Niederlassung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + + Return list + End Function + + + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Zkteing WITH(updlock,serializable) WHERE [Index]=@Index) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + [Index] = SQL.doSQLVarListID([Index], sqlstr, "FMZOLL", , list,, errHinweis) + Return [Index] > 0 + End Function + + Shared Function EXISTS(LeistungsNr, Betrag, Registriernummer, AOFD, AKTO, Fälligkeitsdatum) As Boolean + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum)) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim count = SQL.getValueTxtBySqlVarList("SELECT count(*) FROM Zkteing WHERE LeistungsNr=@LeistungsNr AND Betrag=@Betrag AND Registriernummer=@Registriernummer AND AOFD=@AOFD AND AKTO=@AKTO AND Fälligkeitsdatum=@Fälligkeitsdatum ", "FMZOLL", list, 0) + Return (count > 0) + End Function + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE [Index]=@Index ", conn) + cmd.Parameters.AddWithValue("@Index", [Index]) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOAD(Registriernummer, Belegart, Betrag) + If Betrag Is Nothing Then Betrag = 0 + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE Registriernummer=@Registriernummer AND Belegart=@Belegart AND Betrag=@Betrag ", conn) + cmd.Parameters.AddWithValue("@Registriernummer", Registriernummer) + cmd.Parameters.AddWithValue("@Belegart", Belegart) + cmd.Parameters.AddWithValue("@Betrag", CDbl(Betrag)) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Zkteing] SET " & str & " WHERE [Index]=@Index ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Zkteing (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [Zkteing] WITH(updlock,serializable) WHERE [Index]=" & Me.[Index] + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM [Zkteing] WHERE [Index]=" & id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb new file mode 100644 index 0000000..c67f37f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb @@ -0,0 +1,149 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cAbrechnung_NCTSBrg_LIST + Public LIST As New List(Of cAbrechnung_NCTSBrg) + + Sub New(abrg_Partner) + LOAD_LIST(abrg_Partner) + + End Sub + + Sub LOAD_LIST(abrg_Partner) + Try + LIST.Clear() + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select abrg_Id From [tblAbrechnung_NCTSBrg] Where [abrg_Partner] =@abrg_Partner order by abrg_GarantiewertBis", conn) + cmd.Parameters.AddWithValue("@abrg_Partner", abrg_Partner) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim L As New cAbrechnung_NCTSBrg(dr.Item("abrg_Id")) + LIST.Add(L) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + + End Sub +End Class +Public Class cAbrechnung_NCTSBrg + Property abrg_Id As Integer + Property abrg_Partner As String + Property abrg_artAbrechnung As String = "LKW" + Property abrg_GarantiewertBis As Decimal = 0 + Property abrg_bertrag As Decimal = 0 + Property abrg_prozent As Object = Nothing + + Public _ANZAHL As Integer = 0 + Public _BETRAG As Integer = 0 + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New(abrg_Id) + Me.abrg_Id = abrg_Id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_Id", abrg_Id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_Partner", abrg_Partner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_artAbrechnung", abrg_artAbrechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_GarantiewertBis", abrg_GarantiewertBis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_bertrag", abrg_bertrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_prozent", abrg_prozent)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAbrechnung_NCTSBrg WHERE abrg_Id=@abrg_Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblAbrechnung_NCTSBrg WHERE abrg_Id=@abrg_Id ", conn) + cmd.Parameters.AddWithValue("@abrg_Id", abrg_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblAbrechnung_NCTSBrg] SET " & str & " WHERE abrg_Id=@abrg_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblAbrechnung_NCTSBrg (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb new file mode 100644 index 0000000..168acb4 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb @@ -0,0 +1,296 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cAdressen + Property Auswahl As Object = Nothing + Property AdressenNr As Object = Nothing + Property Ordnungsbegriff As Object = Nothing + Property Name_1 As Object = Nothing + Property Name_2 As Object = Nothing + Property Postfach As Object = Nothing + Property PLZPF As Object = Nothing + Property Straße As Object = Nothing + Property LandKz As Object = Nothing + Property PLZ As Object = Nothing + Property Ort As Object = Nothing + Property Telefon As Object = Nothing + Property Telefax As Object = Nothing + Property Mobiltelefon As Object = Nothing + Property E_Mail As Object = Nothing + Property E_Mail2 As Object = Nothing + Property Anrede As Object = Nothing + Property Ansprechpartner As Object = Nothing + Property UstIdKz As Object = Nothing + Property UstIdNr As Object = Nothing + Property UstIdGeprüft As Object = Nothing + Property BLZ As Object = Nothing + Property KTO As Object = Nothing + Property Eingegeben_am As Object = Nothing + Property Geändert_am As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property Rechnungsdruck As Object = Nothing + Property Steuernummer As Object = Nothing + Property IDSKundenNr As Object = Nothing + Property WölflKundenNr As Object = Nothing + Property MSEKundenNr As Object = Nothing + Property MSEExportCSV As Object = Nothing + Property TELEPASS_Kd_Nr As Object = Nothing + Property ASFINAGExportCSV As Object = Nothing + Property UStV_GVAnfDat As Object = Nothing + Property UStV_GVAusDat As Object = Nothing + Property ExportMautberichtCSV As Object = Nothing + Property UTAKundenNr As Object = Nothing + Property UTAExportCSV As Object = Nothing + 'Property SSMA_TimeStamp As Object = Nothing + Property MWSTVorauszahlung As Object = Nothing + Property PLOSEKundenNr As Object = Nothing + + + Public hasEntry = False + Shared SQL As New SQL + + Sub New(AdressenNr) + Me.AdressenNr = AdressenNr + If AdressenNr <= 0 Then + INIT_NEWKD_DATA() + Else + LOAD() + End If + End Sub + + Public Function FullName() As String + Return (If(Name_1, "") & " " & If(Name_2, "")).ToString.Replace(" ", " ") + End Function + + Public Shared Function getHoechsteKdNr(NrKr_von As Integer, NrKr_bis As Integer) As Integer + Try + Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL(False) + + Using cmd As New SqlCommand("select isnull(min([AdressenNr]) +1," & NrKr_von & ") as AdressenNr from [Adressen] a INNER JOIN Kunden ON Kundennr=adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' AND not exists ( select * from [Adressen] b where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' and a.[AdressenNr] +1 = b.[AdressenNr]) AND KundenNr NOT IN (([AdressenNr]) +1) ", conn) + 'Using cmd As New SqlCommand("SELECT isnull(max([AdressenNr])," & NrKr_von & ") as AdressenNr FROM Adressen WHERE AdressenNr BETWEEN '" & NrKr_von & "' AND '" & NrKr_bis & "' ", conn) + Dim dr = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + If IsNumeric(dr.Item("AdressenNr")) Then Return (CInt(dr.Item("AdressenNr"))) + End If + dr.Close() + End Using + End Using + + Catch ex As Exception + + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return -1 + End Function + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Auswahl", Auswahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AdressenNr", AdressenNr, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ordnungsbegriff", Ordnungsbegriff)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name 1", Name_1, "Name_1")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name 2", Name_2, "Name_2")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Postfach", Postfach)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZPF", PLZPF)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Straße", Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LandKz", LandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZ", PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ort", Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telefon", Telefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telefax", Telefax)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mobiltelefon", Mobiltelefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("E-Mail", E_Mail, "E_Mail")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("E-Mail2", E_Mail2, "E_Mail2")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anrede", Anrede)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ansprechpartner", Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdKz", UstIdKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdNr", UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdGeprüft", UstIdGeprüft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BLZ", BLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KTO", KTO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdruck", Rechnungsdruck)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuernummer", Steuernummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IDSKundenNr", IDSKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WölflKundenNr", WölflKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSEKundenNr", MSEKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSEExportCSV", MSEExportCSV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Kd-Nr", TELEPASS_Kd_Nr, "TELEPASS_Kd_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ASFINAGExportCSV", ASFINAGExportCSV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_GVAnfDat", UStV_GVAnfDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_GVAusDat", UStV_GVAusDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ExportMautberichtCSV", ExportMautberichtCSV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTAKundenNr", UTAKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTAExportCSV", UTAExportCSV)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SSMA_TimeStamp", SSMA_TimeStamp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MWSTVorauszahlung", MWSTVorauszahlung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLOSEKundenNr", PLOSEKundenNr)) + + Return list + End Function + + Sub INIT_NEWKD_DATA() + If Me.Sachbearbeiter Is Nothing Then Me.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Me.Eingegeben_am = Now.ToShortDateString + Me.Auswahl = "A" + Me.Rechnungsdruck = 0 + End Sub + + + + Function VALID(ByRef ERROR_TXT) As Boolean + If If(Ordnungsbegriff, "") = "" Then ERROR_TXT = "Bitte geben Sie einen Ordnungsbegriff ein!" : Return False + If If(Name_1, "") = "" Then ERROR_TXT = "Bitte geben Sie den Firmenwortlaut ein!" : Return False + If If(LandKz, "") = "" Then ERROR_TXT = "Bitte geben Sie das Land an!" : Return False + If If(Ort, "") = "" Then ERROR_TXT = "Bitte geben Sie den Ort an!" : Return False + If If(PLZ, "") = "" Then ERROR_TXT = "Bitte geben Sie die PLZ an!" : Return False + If If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False + Return True + End Function + + Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + If newFlag Then INIT_NEWKD_DATA() + If AdressenNr <= 0 Then + MsgBox("Fehler: KundenNr <= 0!") + Return False + End If + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Adressen WHERE AdressenNr=@AdressenNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + 'MsgBox(sqlstr) + + Dim id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list,,, False, 2) + If id = -2 Then id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list,,, False, 10) '2.Versuch --> Oft Timeout wg.Fmzoll + If id = -2 Then id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list) '3.Versuch --> Oft Timeout wg.Fmzoll + + ' Dim id = SQL.doSQLVarListID(, sqlstr, "FMZOLL", , list) + If id > 0 Then AdressenNr = id 'Sonst wird beim Speichern mit Fehler -1 in die AdressenNr übergeben + Return id > 0 + End Function + + Public Sub LOAD() + Dim test = "" + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False) + Using cmd As New SqlCommand("SELECT * FROM Adressen WHERE AdressenNr=@AdressenNr ", conn) + cmd.Parameters.AddWithValue("@AdressenNr", AdressenNr) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + ' Me.GetType.GetProperty(l.Scalarvariable) = dr.Item(l.Text) + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + ' MsgBox(l.Text) + ' MsgBox(propInfo.PropertyType.ToString) + ' propInfo.SetValue(GetType(Object), l.Text) + + 'propInfo.SetValue(Me, l.Text) + + ' Try + test = l.Text + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + ' Catch ex As Exception + + ' End Try + + ' Me.GetType.GetProperty(l.Scalarvariable).setSetValue(GetType(Object), l.Text) + 'If propInfo IsNot Nothing Then + 'propInfo.SetValue(l.Scalarvariable, l.Text) + ' End If + Next + Me.hasEntry = True + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox(test & "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + + Public Function doesOrdnungsbegriffExist() As Boolean + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False) + Using cmd As New SqlCommand("SELECT count(*) FROM Adressen WHERE Ordnungsbegriff=@Ordnungsbegriff ", conn) + cmd.Parameters.AddWithValue("@Ordnungsbegriff", Ordnungsbegriff) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Return dr.Item(0) > 0 + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," 'Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Adressen] SET " & str & " WHERE AdressenNr=@AdressenNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Shared Function getNewAdressenNr752000() As Integer + Return (New SQL).getValueTxtBySql("SELECT isnull(MAX (Adressennr),752000)+1 FROM [Adressen] where [AdressenNr]>752000 and [AdressenNr]<800000", "FMZOLL") + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isonlyForLoad Then 'And (Not i.isPrimaryParam OrElse i.Value > 0) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," 'Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Adressen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb new file mode 100644 index 0000000..4793c4a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb @@ -0,0 +1,180 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cAvisoAnhaenge + Property anh_id As Integer + Property anh_AvisoId As Integer + Property anh_SendungsId As Object = Nothing + Property anh_Name As String + Property anh_docId As Integer + Property anh_Art As Object = Nothing + Property anh_Typ As String + Property anh_Reihenfolge As Integer = 99 + Property anh_LaufzettelDruck As Boolean = False + Property anh_GestellungslisteAnfuegen As Boolean = False + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(anh_id) + ' If anh_id IsNot Nothing Then + Me.anh_id = anh_id + LOAD() + ' End If + End Sub + + Sub New(anh_AvisoId, anh_Name, anh_docId, anh_Art, anh_Typ, Optional anh_SendungsId = Nothing, Optional anh_Reihenfolge = 99) + Me.anh_AvisoId = anh_AvisoId + Me.anh_SendungsId = anh_SendungsId + Me.anh_Name = anh_Name + Me.anh_docId = anh_docId + Me.anh_Art = anh_Art + Me.anh_Typ = anh_Typ + Me.anh_Reihenfolge = anh_Reihenfolge + + End Sub + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_id", anh_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_AvisoId", anh_AvisoId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_SendungsId", anh_SendungsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Name", anh_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_docId", anh_docId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Art", anh_Art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Typ", anh_Typ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Reihenfolge", anh_Reihenfolge)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_LaufzettelDruck", anh_LaufzettelDruck)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_GestellungslisteAnfuegen", anh_GestellungslisteAnfuegen)) + + Return list + End Function + + + Shared Sub LOAD_LIST_ByAviso(ByRef ANH_LIST As List(Of cAvisoAnhaenge), anh_AvisoId As Integer) + If ANH_LIST Is Nothing Then ANH_LIST = New List(Of cAvisoAnhaenge) + ANH_LIST.Clear() + Dim SQL As New SQL + For Each r In SQL.loadDgvBySql("SELECT anh_id FROM tblAvisoAnhaenge WHERE anh_AvisoId=" & anh_AvisoId & " ORDER BY anh_Reihenfolge,anh_Name,anh_id", "AVISO").Rows + ANH_LIST.Add(New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(r("anh_id"))) + Next + ' If allowchangeCurrIndex Then CURRENT_INDEX = IIf(ANH_LIST.Count > 0, 0, -1) + End Sub + + Shared Sub LOAD_LIST_BySendung(ByRef ANH_LIST As List(Of cAvisoAnhaenge), anh_SendungsId As Integer) + If ANH_LIST Is Nothing Then ANH_LIST = New List(Of cAvisoAnhaenge) + ANH_LIST.Clear() + Dim SQL As New SQL + For Each r In SQL.loadDgvBySql("SELECT anh_id FROM tblAvisoAnhaenge WHERE anh_SendungsId=" & anh_SendungsId & " ORDER BY anh_Reihenfolge,anh_Name,anh_id", "AVISO").Rows + ANH_LIST.Add(New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(r("anh_id"))) + Next + ' If allowchangeCurrIndex Then CURRENT_INDEX = IIf(ANH_LIST.Count > 0, 0, -1) + End Sub + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAvisoAnhaenge WITH(updlock,serializable) WHERE anh_id=@anh_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + anh_id = SQL.doSQLVarListID(anh_id, sqlstr, "AVISO", , list,, errHinweis) + Return anh_id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM tblAvisoAnhaenge WHERE anh_id=@anh_id ", conn) + cmd.Parameters.AddWithValue("@anh_id", anh_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblAvisoAnhaenge] SET " & str & " WHERE anh_id=@anh_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblAvisoAnhaenge (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblAvisoAnhaenge] WITH(updlock,serializable) WHERE anh_id=" & Me.anh_id + Return SQL.doSQL(sqlstr, "AVISO") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblAvisoAnhaenge] WITH(updlock,serializable) WHERE anh_id=" & id + Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO") + End Function + + Public Shared Function toggleLaufzettelDruck(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " UPDATE [tblAvisoAnhaenge] SET [anh_LaufzettelDruck] = 1 - [anh_LaufzettelDruck] WHERE anh_id=" & id + Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO") + End Function + + Public Shared Function toggleGestellungslisteAnfuegen(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " UPDATE [tblAvisoAnhaenge] SET [anh_GestellungslisteAnfuegen] = 1 - [anh_GestellungslisteAnfuegen] WHERE anh_id=" & id + Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO") + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb new file mode 100644 index 0000000..feec3b3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb @@ -0,0 +1,225 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cAvisoBenachrichtigungen + + + Property ab_id As Integer = -1 + Property ab_AvisoID As Integer = -1 + Property ab_SendungID As Object = Nothing + Property ab_Art As String + Property ab_Datum As Date + Property ab_Status As Integer + Property ab_BenachrichtigungCode As Integer + Property ab_Beschreibung As String + Property ab_Prioritaet As Integer + Property ab_Mitarbeiter As String + Property ab_MitarbeiterId As Integer + + Property ab_TO_Art As Object = Nothing + Property ab_TO_Code As Object = Nothing + Property ab_Bestaetigt_MaId As Object = Nothing + Property ab_Bestaetigt_Datum As Object = Nothing + + Property ab_Firma As Object = Nothing + Property ab_Cluster As Object = Nothing + Property ab_collAnhId As Object = Nothing + Property ab_Vermerk As Object = Nothing + + Shared SQL As New SQL + + Sub New() + End Sub + + ' ab_TO_Art + 'F..irma + 'N..iederlassung + 'A..bteilung + 'T..eam + 'B..enutzer + + Sub New(ab_id) + Me.ab_id = ab_id + LOAD() + End Sub + + Public Shared Function INSERT_BENACHRICHTIGUNG(ab_AvisoID As Integer, ab_SendungID As Object, ab_BenachrichtigungCode As Integer, Optional ab_TO_Art As Object = Nothing, Optional ab_TO_Code As Object = Nothing, Optional ab_Beschreibung As String = "", Optional ab_Prioritaet As Integer = 0, Optional ab_collAnhId As String = "", Optional ab_Vermerk As String = "") As Boolean + Dim AB As New cAvisoBenachrichtigungen + + AB.ab_AvisoID = ab_AvisoID + If ab_SendungID IsNot Nothing AndAlso ab_SendungID > 0 Then + AB.ab_SendungID = ab_SendungID + AB.ab_Art = "S" + Else + AB.ab_SendungID = Nothing + AB.ab_Art = "A" + End If + + AB.ab_TO_Art = ab_TO_Art + AB.ab_TO_Code = ab_TO_Code + + AB.ab_Datum = Now + AB.ab_Status = 0 + AB.ab_BenachrichtigungCode = ab_BenachrichtigungCode + If ab_Beschreibung = "" Then ab_Beschreibung = SQL.getValueTxtBySql("SELECT abc_Bezeichnung FROM tblAvisoBenachrichtigungenCodes WHERE abc_id=" & ab_BenachrichtigungCode, "AVISO") + AB.ab_Beschreibung = ab_Beschreibung + AB.ab_Prioritaet = ab_Prioritaet + AB.ab_Mitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME + AB.ab_MitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + + AB.ab_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + AB.ab_Cluster = VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER + AB.ab_Vermerk = ab_Vermerk + AB.ab_collAnhId = ab_collAnhId + Return AB.SAVE + End Function + + Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG_ALL(ab_AvisoID, onlytype) As Boolean + Dim sqlstr = " Update [tblAvisoBenachrichtigungen] SET ab_Status = 1,ab_Bestaetigt_MaId=-1,ab_Bestaetigt_Datum=getDate() WHERE ab_AvisoID=" & ab_AvisoID & If(onlytype, " and ab_art='A' ", "") + Return SQL.doSQL(sqlstr, "AVISO") + End Function + + Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG_SND([ab_SendungID], onlytype) As Boolean + Dim sqlstr = " Update [tblAvisoBenachrichtigungen] SET ab_Status = 1,ab_Bestaetigt_MaId=-1,ab_Bestaetigt_Datum=getDate() WHERE [ab_SendungID]=" & [ab_SendungID] + Return SQL.doSQL(sqlstr, "AVISO") + End Function + + Public Function BESTAETIGEN_BENACHRICHTIGUNG() As Boolean + Me.ab_Status = 1 + Me.ab_Bestaetigt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.ab_Bestaetigt_Datum = Now + + Return Me.SAVE + End Function + + + Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG(ab_id As Integer) As Boolean + Dim AB As New cAvisoBenachrichtigungen(ab_id) + + AB.ab_Status = 1 + AB.ab_Bestaetigt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + AB.ab_Bestaetigt_Datum = Now + + Return AB.SAVE + End Function + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_id", ab_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_AvisoID", ab_AvisoID)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_SendungID", ab_SendungID)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Art", ab_Art)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Datum", ab_Datum)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Status", ab_Status)) ' VARCHAR(200) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_BenachrichtigungCode", ab_BenachrichtigungCode)) ' VARCHAR(40) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Beschreibung", ab_Beschreibung)) ' VARCHAR(40) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Prioritaet", ab_Prioritaet)) 'VARCHAR(40) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Mitarbeiter", ab_Mitarbeiter)) 'VARCHAR(60) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_MitarbeiterId", ab_MitarbeiterId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_TO_Art", ab_TO_Art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_TO_Code", ab_TO_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Bestaetigt_MaId", ab_Bestaetigt_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Bestaetigt_Datum", ab_Bestaetigt_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Firma", ab_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Cluster", ab_Cluster)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_collAnhId", ab_collAnhId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Vermerk", ab_Vermerk)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAvisoBenachrichtigungen WITH(updlock,serializable) WHERE ab_id=@ab_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + ab_id = SQL.doSQLVarListID(ab_id, sqlstr, "AVISO", , list) + Return ab_id > 0 + End Function + + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO + Using cmd As New SqlCommand("SELECT * FROM tblAvisoBenachrichtigungen WHERE ab_id=@ab_id ", conn) + cmd.Parameters.AddWithValue("@ab_id", ab_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblAvisoBenachrichtigungen] SET " & str & " WHERE ab_id=@ab_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblAvisoBenachrichtigungen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblAvisoBenachrichtigungen] WITH(updlock,serializable) WHERE ab_id=" & Me.ab_id + Return SQL.doSQL(sqlstr, "AVISO") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb new file mode 100644 index 0000000..864c494 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb @@ -0,0 +1,182 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cBonitaetsauskunft + + Property ba_id As Integer = -1 + Property ba_KundenNr As Integer + Property ba_Datum As Date + Property ba_MaId As Integer + Property ba_Sachbearbeiter As String = "" + Property ba_CRArt As String = "" + Property ba_CRAnsprechpartnerHerrFrau As String = "" + Property ba_CRAnsprechpartner As String = "" + Property ba_Firma As String = "" + Property ba_Adresse1 As String = "" + Property ba_Adresse2 As String = "" + Property ba_LetztesBearbeitungsDatum As Object = Nothing + Property ba_BonitaetsIndex As Integer + Property ba_GruendundsDatum As Object = Nothing + Property ba_Umsatz As Object = Nothing + Property ba_Mitarbeiter As Object = Nothing + Property ba_Bankverbindung As Object = Nothing + Property ba_Hoechstkredit As Object = Nothing + Property ba_Zahlungsweise As Object = Nothing + Property ba_GFName As Object = Nothing + Property ba_Sonstiges As Object = Nothing + Property ba_Risikostufe As Object = Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(ba_id) + Me.ba_id = ba_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_id", ba_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_KundenNr", ba_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Datum", ba_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_MaId", ba_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Sachbearbeiter", ba_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRArt", ba_CRArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRAnsprechpartnerHerrFrau", ba_CRAnsprechpartnerHerrFrau)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRAnsprechpartner", ba_CRAnsprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Firma", ba_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Adresse1", ba_Adresse1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Adresse2", ba_Adresse2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_LetztesBearbeitungsDatum", ba_LetztesBearbeitungsDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_BonitaetsIndex", ba_BonitaetsIndex)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_GruendundsDatum", ba_GruendundsDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Umsatz", ba_Umsatz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Mitarbeiter", ba_Mitarbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Bankverbindung", ba_Bankverbindung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Hoechstkredit", ba_Hoechstkredit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Zahlungsweise", ba_Zahlungsweise)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_GFName", ba_GFName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Sonstiges", ba_Sonstiges)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Risikostufe", ba_Risikostufe)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblBonitaetsauskunft WITH(updlock,serializable) WHERE ba_id=@ba_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + ba_id = SQL.doSQLVarListID(ba_id, sqlstr, "FMZOLL", , list) + Return ba_id > 0 + End Function + + Public Shared Function LOADByKdNrDate(ba_KundenNr As Integer, ba_Datum As Date) As cBonitaetsauskunft + Try + Dim BONI As New cBonitaetsauskunft + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblBonitaetsauskunft WHERE ba_KundenNr=@ba_KundenNr AND cast(ba_Datum as date)=@ba_Datum ", conn) + cmd.Parameters.AddWithValue("@ba_KundenNr", ba_KundenNr) + cmd.Parameters.AddWithValue("@ba_Datum", ba_Datum.ToShortDateString) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In BONI.getParameterList() + Dim propInfo As PropertyInfo = BONI.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(BONI, Nothing) + Else + propInfo.SetValue(BONI, dr.Item(l.Text)) + End If + + Next + dr.Close() + Return BONI + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblBonitaetsauskunft WHERE ba_id=@ba_id ", conn) + cmd.Parameters.AddWithValue("@ba_id", ba_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblBonitaetsauskunft] SET " & str & " WHERE ba_id=@ba_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblBonitaetsauskunft (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb new file mode 100644 index 0000000..bebff68 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb @@ -0,0 +1,127 @@ + + +Public Class MyListItem + Private mText As String + Private mValue As String + + Public Sub New(ByVal pText As String, ByVal pValue As String) + mText = pText + mValue = pValue + End Sub + + Public ReadOnly Property Text() As String + Get + Return mText + End Get + End Property + + Public ReadOnly Property Value() As String + Get + Return mValue + End Get + End Property + + Public Overrides Function ToString() As String + Return mText + End Function + + +End Class + + + +Public Class MyListItem2 + Private mText As Object + Private mValue As Object + + Public Sub New(ByVal pText As Object, ByVal pValue As Object) + mText = pText + mValue = pValue + End Sub + + Public ReadOnly Property Text() As Object + Get + Return mText + End Get + End Property + + Public ReadOnly Property Value() As Object + Get + Return mValue + End Get + End Property + + ' Public Overrides Function ToString() As Object + ' Return mText + ' End Function + + + + + +End Class + + + +Public Class SQLVariable + Private TextSQLName As String + Private ValueSQLVALUE As Object + Private Scalarvariablename As String + Private primaryParam As Boolean + Private onlyForLoad As Boolean + Private onlyForSave As Boolean + + Public Sub New(ByVal Text As String, ByVal Value As Object, Optional Scalarvariablename As String = "", Optional primaryParam As Boolean = False, Optional onlyForLoad As Boolean = False, Optional onlyForSave As Boolean = False) + Me.TextSQLName = Text + Me.ValueSQLVALUE = Value + Me.primaryParam = primaryParam + Me.onlyForLoad = onlyForLoad + Me.onlyForSave = onlyForSave + + If Scalarvariablename <> "" Then Me.Scalarvariablename = Scalarvariablename Else Me.Scalarvariablename = Text + End Sub + + Public ReadOnly Property Text() As String + Get + Return TextSQLName + End Get + End Property + + Public ReadOnly Property Value() As Object + Get + Return ValueSQLVALUE + End Get + End Property + + Public ReadOnly Property Scalarvariable() As Object + Get + Return Scalarvariablename + End Get + End Property + + Public ReadOnly Property isPrimaryParam() As Boolean + Get + Return primaryParam + End Get + End Property + + Public ReadOnly Property isonlyForLoad() As Boolean + Get + Return onlyForLoad + End Get + End Property + + Public ReadOnly Property isonlyForSave() As Boolean + Get + Return onlyForSave + End Get + End Property + + + ' Public Overrides Function ToString() As Object + ' Return mText + ' End Function + + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb new file mode 100644 index 0000000..fa43997 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb @@ -0,0 +1,155 @@ +Imports System.IO +Imports System.Security.Cryptography +Imports System.Text + +Public Class cCryptography + + 'Dim EncryptionKey As String = "$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT" + Shared EncryptionKey As String = "$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT" + + Public Shared Function Encrypt(clearText As String) As String + Dim clearBytes As Byte() = Encoding.Unicode.GetBytes(clearText) + Using encryptor As Aes = Aes.Create() + Dim pdb As New Rfc2898DeriveBytes(EncryptionKey, New Byte() {&H49, &H76, &H61, &H6E, &H20, &H4D, &H65, &H64, &H76, &H65, &H64, &H65, &H76}) + encryptor.Key = pdb.GetBytes(32) + encryptor.IV = pdb.GetBytes(16) + Using ms As New MemoryStream() + Using cs As New CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write) + cs.Write(clearBytes, 0, clearBytes.Length) + cs.Close() + End Using + clearText = Convert.ToBase64String(ms.ToArray()) + End Using + End Using + Return clearText + End Function + Public Shared Function Decrypt(cipherText As String) As String + Dim cipherBytes As Byte() = Convert.FromBase64String(cipherText) + Using encryptor As Aes = Aes.Create() + Dim pdb As New Rfc2898DeriveBytes(EncryptionKey, New Byte() {&H49, &H76, &H61, &H6E, &H20, &H4D, &H65, &H64, &H76, &H65, &H64, &H65, &H76}) + encryptor.Key = pdb.GetBytes(32) + encryptor.IV = pdb.GetBytes(16) + Using ms As New MemoryStream() + Using cs As New CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write) + cs.Write(cipherBytes, 0, cipherBytes.Length) + cs.Close() + End Using + cipherText = Encoding.Unicode.GetString(ms.ToArray()) + End Using + End Using + Return cipherText + End Function + + + + +End Class + +Public Class cCryptography2 + Shared _key As String = "!#$a54?3" + Public Shared Function Encrypt(ByVal strQueryString As String) As String + Dim oES As New Encryption64() + Return oES.Encrypt(strQueryString, _key) + End Function + + Public Shared Function Decrypt(ByVal strQueryString As String) As String + Dim oES As New Encryption64() + Return oES.Decrypt(strQueryString, _key) + End Function + +End Class + + +Public Class Encryption64 + Private key() As Byte = {} + Private IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF} + + Public Function Decrypt(ByVal stringToDecrypt As String, + ByVal sEncryptionKey As String) As String + Dim inputByteArray(stringToDecrypt.Length) As Byte + Try + key = System.Text.Encoding.UTF8.GetBytes(Left(sEncryptionKey, 8)) + Dim des As New DESCryptoServiceProvider() + inputByteArray = Convert.FromBase64String(stringToDecrypt) + Dim ms As New MemoryStream() + Dim cs As New CryptoStream(ms, des.CreateDecryptor(key, IV), + CryptoStreamMode.Write) + cs.Write(inputByteArray, 0, inputByteArray.Length) + cs.FlushFinalBlock() + Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8 + Return encoding.GetString(ms.ToArray()) + Catch e As Exception + Return e.Message + End Try + End Function + + Public Function Encrypt(ByVal stringToEncrypt As String, + ByVal SEncryptionKey As String) As String + Try + key = System.Text.Encoding.UTF8.GetBytes(Left(SEncryptionKey, 8)) + Dim des As New DESCryptoServiceProvider() + Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes( + stringToEncrypt) + Dim ms As New MemoryStream() + Dim cs As New CryptoStream(ms, des.CreateEncryptor(key, IV), + CryptoStreamMode.Write) + cs.Write(inputByteArray, 0, inputByteArray.Length) + cs.FlushFinalBlock() + Return Convert.ToBase64String(ms.ToArray()) + Catch e As Exception + Return e.Message + End Try + End Function + +End Class + + +Public Class cCryptography3 + Shared _key As String = "!#?" + + + 'Public Shared Function Encrypt(ByVal strQueryString As String) As String + + ' Using hasher As MD5 = MD5.Create() ' create hash object + + ' ' Convert to byte array and get hash + ' Dim dbytes As Byte() = + ' hasher.ComputeHash(Encoding.UTF8.GetBytes(strQueryString & _key)) + + ' ' sb to create string from bytes + ' Dim sBuilder As New StringBuilder() + + ' ' convert byte data to hex string + ' For n As Integer = 0 To dbytes.Length - 1 + ' sBuilder.Append(dbytes(n).ToString("X2")) + ' Next n + + ' Return sBuilder.ToString() + ' End Using + + 'End Function + + Public Shared Function Encrypt(ByVal input As String) As String + Dim stringBytes As Byte() = System.Text.Encoding.Unicode.GetBytes(input & _key) + Dim sbBytes As StringBuilder = New StringBuilder(stringBytes.Length * 2) + + For Each b As Byte In stringBytes + sbBytes.AppendFormat("{0:X2}", b) + Next + + Return sbBytes.ToString() + End Function + + + Public Shared Function Decrypt(ByVal hexInput As String) As String + Dim numberChars As Integer = hexInput.Length + Dim bytes As Byte() = New Byte(numberChars / 2 - 1) {} + + For i As Integer = 0 To numberChars - 1 Step 2 + bytes(i / 2) = Convert.ToByte(hexInput.Substring(i, 2), 16) + Next + + Return System.Text.Encoding.Unicode.GetString(bytes).Replace(_key, "") + End Function +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb new file mode 100644 index 0000000..fe37de5 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb @@ -0,0 +1,175 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cDEBundeslaenderPLZ + + Property PLZ As Integer + Property Bundesland As String = "" + Property Kreis As String = "" + Property Typ As String = "" + Property Code As String = "" + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(PLZ) + Me.PLZ = PLZ + LOADByPLZ(PLZ) + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZ", PLZ)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bundesland", Bundesland)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreis", Kreis)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Typ", Typ)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Code", Code)) ' VARCHAR(200) Not NULL, + Return list + End Function + + + + Public Shared Function LOADByPLZ(PLZ As Integer) As cDEBundeslaenderPLZ + Try + Dim VK As New cDEBundeslaenderPLZ + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblDEBundeslaenderPLZ WHERE PLZ=@PLZ ", conn) + cmd.Parameters.AddWithValue("@PLZ", PLZ) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In VK.getParameterList() + Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(VK, Nothing) + Else + propInfo.SetValue(VK, dr.Item(l.Text)) + End If + Next + dr.Close() + Return VK + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + + Public Shared Function LOADBundeslandCode_ByPLZ(PLZ As Integer) As String + Try + Dim VK As New cDEBundeslaenderPLZ + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT Code FROM tblDEBundeslaenderPLZ WHERE PLZ=@PLZ ", conn) + cmd.Parameters.AddWithValue("@PLZ", PLZ) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Return dr.Item("Code") + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + 'Public Function SAVE() As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + ' Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblDEBundeslaenderPLZ WITH(updlock,serializable) WHERE post_id=@post_id) " & + ' " BEGIN " & getUpdateCmd() & " END " & + ' " Else " & + ' " BEGIN " & getInsertCmd() & " END " & + ' " commit tran " + + ' post_id = SQL.doSQLVarListID(post_id, sqlstr, "FMZOLL", , list) + ' Return post_id > 0 + 'End Function + + + + 'Public Sub LOAD() + ' Try + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT * FROM tblDEBundeslaenderPLZ WHERE post_id=@post_id ", conn) + ' cmd.Parameters.AddWithValue("@post_id", post_id) + ' Dim dr = cmd.ExecuteReader() + ' If dr.Read Then + ' For Each l In getParameterList() + ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + ' If dr.Item(l.Text) Is DBNull.Value Then + ' propInfo.SetValue(Me, Nothing) + ' Else + ' propInfo.SetValue(Me, dr.Item(l.Text)) + ' End If + + ' Next + + ' End If + ' dr.Close() + ' End Using + ' End Using + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + 'End Sub + + + 'Public Function getUpdateCmd() As String + ' Try + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + ' Dim str As String = "" + ' For Each i In list + ' If Not i.isPrimaryParam Then + ' str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + ' End If + ' Next + ' str = str.Substring(0, str.Length - 1) 'wg. ',' + ' Return (" UPDATE [tblDEBundeslaenderPLZ] SET " & str & " WHERE post_id=@post_id ") + + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + ' Return "" + 'End Function + + + 'Public Function getInsertCmd() As String + ' Try + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' Dim str As String = "" + ' Dim values As String = "" + ' For Each i In list + ' If Not i.isPrimaryParam Then + ' str &= "[" & i.Text & "]," + ' values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + ' End If + ' Next + ' str = str.Substring(0, str.Length - 1) 'wg. ',' + ' values = values.Substring(0, values.Length - 1) 'wg. ',' + ' Return (" INSERT INTO tblDEBundeslaenderPLZ (" & str & ") VALUES(" & values & ") ") + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + ' Return "" + 'End Function + + + 'Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim sqlstr = " DELETE FROM [tblDEBundeslaenderPLZ] WITH(updlock,serializable) WHERE post_id=" & Me.post_id + ' Return SQL.doSQL(sqlstr, "FMZOLL") + 'End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb new file mode 100644 index 0000000..52fbe2c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb @@ -0,0 +1,174 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cDHF_Anhaenge + + Property dhfanh_id As Integer + Property LizenzNr As String + Property Operatorid As Integer + Property AnmID As Integer + Property MsgTyp As String + Property ErstelltAm As DateTime + Property pfad As String + Property LRN As String + Property CRN As String + Property docID As Integer + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(dhfanh_id) + If dhfanh_id IsNot Nothing Then + Me.dhfanh_id = dhfanh_id + LOAD() + End If + End Sub + + Sub New(AnmID, MsgTyp) + LOAD(AnmID, MsgTyp) + End Sub + + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("dhfanh_id", dhfanh_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LizenzNr", LizenzNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Operatorid", Operatorid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnmID", AnmID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MsgTyp", MsgTyp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstelltAm", ErstelltAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pfad", pfad)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LRN", LRN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CRN", CRN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("docID", docID)) + Return list + End Function + + + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblDHF_Anhaenge WITH(updlock,serializable) WHERE dhfanh_id=@dhfanh_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + dhfanh_id = SQL.doSQLVarListID(dhfanh_id, sqlstr, "FMZOLL", , list,, errHinweis) + Return dhfanh_id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblDHF_Anhaenge WHERE dhfanh_id=@dhfanh_id ", conn) + cmd.Parameters.AddWithValue("@dhfanh_id", dhfanh_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOAD(AnmID, MsgTyp) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblDHF_Anhaenge WHERE AnmID=@AnmID AND MsgTyp=@MsgTyp ", conn) + cmd.Parameters.AddWithValue("@AnmID", AnmID) + cmd.Parameters.AddWithValue("@MsgTyp", MsgTyp) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "" & i.Text & " = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE tblDHF_Anhaenge SET " & str & " WHERE dhfanh_id=@dhfanh_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "" & i.Text & "," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblDHF_Anhaenge (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM tblDHF_Anhaenge WITH(updlock,serializable) WHERE dhfanh_id=" & Me.dhfanh_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM tblDHF_Anhaenge WHERE dhfanh_id=" & id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb new file mode 100644 index 0000000..f944dc3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb @@ -0,0 +1,168 @@ + + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cERS + Property ers_id As Integer + Property ers_progId As Integer + Property ers_progName As Object = Nothing + Property ers_progVersion As Object = Nothing + Property ers_datetime As DateTime = Now + Property ers_Testsystem As Boolean + Property ers_Type As Object = Nothing + Property ers_EMail As Object = Nothing + Property ers_maId As Integer = -1 + Property ers_userName As Object = Nothing + Property ers_Firma As Object = Nothing + Property ers_errCode As Object = Nothing + Property ers_errStack As Object = Nothing + Property ers_errMessage As Object = Nothing + Property ers_errMethodName As Object = Nothing + Property ers_infotext As Object = Nothing + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(ers_id) + Me.ers_id = ers_id + LOAD() + End Sub + + Shared Function saveErr(ers_Type, ers_errMessage, ers_errStack, ers_errCode, ers_errMethodName, Optional ers_EMail = Nothing, Optional ers_infotext = Nothing) As Boolean + Try + Dim ERS As New cERS + ERS.ers_progId = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID + ERS.ers_userName = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + ERS.ers_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + ERS.ers_Testsystem = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM + ERS.ers_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME + ERS.ers_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION + + ERS.ers_Type = ers_Type + ERS.ers_EMail = ers_EMail + ERS.ers_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ERS.ers_errMessage = ers_errMessage + ERS.ers_errStack = ers_errStack + ERS.ers_errCode = ers_errCode + ERS.ers_errMethodName = ers_errMethodName + ERS.ers_infotext = ers_infotext + + Return ERS.SAVE() + + Catch ex As Exception + 'was soll hier noch helfen?? + End Try + End Function + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_id", ers_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progId", ers_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progVersion", ers_progVersion)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progName", ers_progName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_datetime", ers_datetime)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Testsystem", ers_Testsystem)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Type", ers_Type)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_EMail", ers_EMail)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_maId", ers_maId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_userName", ers_userName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Firma", ers_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errCode", ers_errCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errStack", ers_errStack)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errMessage", ers_errMessage)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errMethodName", ers_errMethodName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_infotext", ers_infotext)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblERS WHERE ers_id=@ers_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "ADMIN", False, list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblERS WHERE ers_id=@ers_id ", conn) + cmd.Parameters.AddWithValue("@ers_id", ers_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblERS] SET " & str & " WHERE ers_id=@ers_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblERS (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb new file mode 100644 index 0000000..f6d42d5 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb @@ -0,0 +1,149 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cEZB_Waehrungskurse + + ' Property ezb_id As Integer + Property ezb_waehrungscode As String = "" + Property ezb_waehrungsschluessel As Object = Nothing + Property ezb_datum As Date + Property ezb_kurs As Double + + + + Dim SQL As New SQL + + Sub New() + + End Sub + + ' Sub New(ezb_id As Integer) + ' Me.ezb_id = ezb_id + ' LOAD_ById(ezb_id) + ' End Sub + + Sub New(ezb_waehrungscode As String) + Me.ezb_waehrungscode = ezb_waehrungscode + LOAD_ByWaehrungscode(ezb_waehrungscode) + + End Sub + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_id", ezb_id, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_waehrungscode", ezb_waehrungscode)) + If Me.ezb_waehrungsschluessel Is Nothing Then + Me.ezb_waehrungsschluessel = SQL.getValueTxtBySql(" Select TOP 1 isnull([Währungsschlüssel] ,'') FROM [Währungstabelle] where [Währungscode]='" & Me.ezb_waehrungscode.Replace("TRY", "TRL") & "' ", "FMZOLL") + End If + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_waehrungsschluessel", ezb_waehrungsschluessel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_datum", ezb_datum)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_kurs", ezb_kurs)) + + Return list + End Function + + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZB_Waehrungskurse WITH(updlock,serializable) WHERE ezb_waehrungscode=@ezb_waehrungscode AND ezb_datum=@ezb_datum) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + ' ezb_id = SQL.doSQLVarListID(ezb_id, sqlstr, "FMZOLL", , list) + ' Return ezb_id > 0 + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + + + Public Sub LOAD_ByWaehrungscode(ezb_waehrungscode As String) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblEZB_Waehrungskurse WHERE ezb_waehrungscode=@ezb_waehrungscode ORDER BY ezb_datum DeSC ", conn) + cmd.Parameters.AddWithValue("@ezb_waehrungscode", ezb_waehrungscode) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblEZB_Waehrungskurse] SET " & str & " WHERE ezb_waehrungscode=@ezb_waehrungscode AND ezb_datum=@ezb_datum ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblEZB_Waehrungskurse (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblEZB_Waehrungskurse] WITH(updlock,serializable) WHERE ezb_waehrungscode='" & ezb_waehrungscode & "' AND ezb_datum='" & ezb_datum & "' " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Shared Function UPDATE_Waehrungstabelle(datum As Date) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " UPDATE [Währungstabelle] SET [Währungstabelle].Eurokurs=tblEZB_Waehrungskurse.ezb_kurs + FROM [Währungstabelle] inner join tblEZB_Waehrungskurse on [Währungstabelle].Währungsschlüssel=tblEZB_Waehrungskurse.ezb_waehrungsschluessel where tblEZB_Waehrungskurse.ezb_datum='" & datum.ToShortDateString & "' " + Return (New SQL).doSQL(sqlstr, "FMZOLL") + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb new file mode 100644 index 0000000..114c81a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb @@ -0,0 +1,181 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cEZT_ImportCodenummern + Property ezt_id As Integer + Property ezt_Land As String = "" + Property ezt_Codenummer As String = "" + Property ezt_BesMasseinheit As String = "" + Property ezt_BesMasseinheit2 As String = "" + Property ezt_Start As Date + Property ezt_Ende As Date + Property ezt_Sprache As String = "" + Property ezt_Text As String = "" + + Dim SQL As New SQL + + Public Shared Function delWholeDB() + Dim SQL As New SQL + Return SQL.doSQL("DELETE FROM [tblEZT_Importcodenummern]", "FMZOLL") + End Function + + + Sub New() + End Sub + + Sub New(ezt_id) + Me.ezt_id = ezt_id + LOAD() + End Sub + + Sub New(ezt_Land, ezt_Codenummer, ezt_BesMasseinheit, ezt_BesMasseinheit2, ezt_Start, ezt_Ende, ezt_Sprache, ezt_Text) + Me.ezt_Land = ezt_Land + Me.ezt_BesMasseinheit = ezt_BesMasseinheit + Me.ezt_Codenummer = ezt_Codenummer + Me.ezt_BesMasseinheit = ezt_BesMasseinheit + Me.ezt_BesMasseinheit2 = ezt_BesMasseinheit2 + Me.ezt_Start = ezt_Start + Me.ezt_Ende = ezt_Ende + Me.ezt_Sprache = ezt_Sprache + Me.ezt_Text = ezt_Text + + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_id", ezt_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Land", ezt_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Codenummer", ezt_Codenummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_BesMasseinheit", ezt_BesMasseinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_BesMasseinheit2", ezt_BesMasseinheit2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Start", ezt_Start)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Ende", ezt_Ende)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Sprache", ezt_Sprache)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Text", ezt_Text)) + + + Return list + End Function + + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblEZT_Importcodenummern WHERE ezt_id=@ezt_id ", conn) + cmd.Parameters.AddWithValue("@ezt_id", ezt_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function SAVE_ByID() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZT_Importcodenummern WITH(updlock,serializable) WHERE ezt_id=@ezt_id) " & + " BEGIN " & getUpdateCmd_ByID() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + ezt_id = SQL.doSQLVarListID(ezt_id, sqlstr, "FMZOLL", , list) + Return ezt_id > 0 + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZT_Importcodenummern WITH(updlock,serializable) WHERE ezt_Codenummer=@ezt_Codenummer AND ezt_Start=@ezt_Start AND ezt_Ende=@ezt_Ende) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + + End Function + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblEZT_Importcodenummern] SET " & str & " WHERE ezt_Codenummer=@ezt_Codenummer AND ezt_Start=@ezt_Start AND ezt_Ende=@ezt_Ende ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblEZT_Importcodenummern (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getUpdateCmd_ByID() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblEZT_Importcodenummern] SET " & str & " WHERE ezt_id=@ezt_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb new file mode 100644 index 0000000..15ee127 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb @@ -0,0 +1,117 @@ +Imports System.Data.SqlClient +Imports Gemeinsames +Imports System.ComponentModel +Imports System.Windows.Forms + +Public Class cEasyBinding + Public WithEvents bindingDataAdapter As New SqlDataAdapter + Public WithEvents bindingdataTable As New DataTable + Public bindingdataSet As New DataSet + Public WithEvents bindingSource As New BindingSource + + Dim connection As SqlConnection + Dim initialized = False + + Public updateImmediately = False + + Sub New(Optional conn As String = "SDL") + Select Case conn + Case "SDL" : connection = cSqlDb.GetNewOpenConnection(False) + Case "FMZOLL" : connection = cSqlDb.GetNewOpenConnectionFMZOLL(False) + Case "ADMIN" : connection = cSqlDb.GetNewOpenConnectionLogin() + Case "AVISO" : connection = cSqlDb.GetNewOpenConnectionAVISO() + End Select + End Sub + + + + Public Sub initBinding(sql, table, Optional List = Nothing) + Try + bindingSource.CancelEdit() + bindingSource = New BindingSource + bindingdataTable.Clear() + bindingdataTable = New DataTable(table) + bindingdataTable.TableName = table + bindingdataSet.Clear() + + Try + + If List IsNot Nothing Then + Dim cmd As New SqlCommand(sql, connection) + + For Each i In List + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + Next + Me.bindingDataAdapter = New SqlDataAdapter(cmd) + Else + Me.bindingDataAdapter = New SqlDataAdapter(sql, connection) + End If + + + Catch ex As SqlException + MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.") + End Try + Me.bindingDataAdapter.FillSchema(bindingdataSet, SchemaType.Source, table) + Me.bindingDataAdapter.Fill(bindingdataSet, table) + Me.bindingdataTable = Me.bindingdataSet.Tables(table) + Me.bindingSource.DataSource = Me.bindingdataTable + + Me.bindingdataTable.Locale = System.Globalization.CultureInfo.InvariantCulture + initialized = True + Catch ex As Exception + MsgBox("BindingERR01: " & ex.Message) + End Try + End Sub + + Sub setARITHABORTOn() + Try + Using cmd As New SqlCommand("SET ARITHABORT ON", connection) + cmd.ExecuteNonQuery() + End Using + Catch ex As Exception + MsgBox("BindingERR02: " & "Fehler in setARITHABORTOn: " & ex.Message) + End Try + End Sub + + + Public Function updateBinding(Optional tablename As String = "", Optional ContinueUpdateOnError As Boolean = False) As Boolean + If Not initialized Then Return True + Try + bindingSource.EndEdit() + Dim builder As New SqlCommandBuilder(bindingDataAdapter) + bindingDataAdapter.Update(bindingdataSet, bindingdataTable.TableName) + Me.bindingdataSet.AcceptChanges() + + Return True + Catch ex As Exception + MsgBox("Es ist ein SQL-Fehler beim Updaten der Daten aufgetreten:" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Die Werte werden zurückgesetzt!", MsgBoxStyle.OkCancel, "Datenbank-Fehler") + Me.bindingSource.ResumeBinding() + End Try + Return False + End Function + + + Sub binddata(o As Object, bindingParam As String, bindingSource As BindingSource, dataName As String, Optional bindingNullValue As String = "", Optional formatString As String = "") + o.DataBindings.Clear() + o.DataBindings.Add(New Binding(bindingParam, bindingSource, dataName, True, DataSourceUpdateMode.OnPropertyChanged, bindingNullValue, formatString)) + End Sub + + + Private Sub bindingSource_DataError(sender As Object, e As BindingManagerDataErrorEventArgs) Handles bindingSource.DataError + ' If the data source raises an exception when a cell value is + ' commited, display an error message. + If e.Exception IsNot Nothing Then ' AndAlso e. = DataGridViewDataErrorContexts.Commit Then + MessageBox.Show("Daten-Fehler: " & vbNewLine & vbNewLine & e.Exception.Message) + End If + End Sub + + + 'Private Sub bindingdataTable_ColumnChanged(sender As Object, e As DataColumnChangeEventArgs) Handles bindingdataTable.ColumnChanged + + ' If updateImmediately Then updateBinding() + + 'End Sub + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb new file mode 100644 index 0000000..d9ab8c3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb @@ -0,0 +1,262 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cEmailBenachrichtigungList + Property eb_KundenNr As Object = Nothing + Property eb_ebartId As Object = Nothing + Public LIST As New List(Of cEmailBenachrichtigung) + Dim SQL As New SQL + + Sub New() + + End Sub + + + Sub New(eb_KundenNr, eb_ebartId) + Me.eb_KundenNr = eb_KundenNr + Me.eb_ebartId = eb_ebartId + LOAD(Me.eb_KundenNr, Me.eb_ebartId) + End Sub + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + Dim l As New cEmailBenachrichtigung + l.eb_KundenNr = eb_KundenNr + l.eb_ebartId = eb_ebartId + l.eb_EMail = eb_EMail + l.eb_cc = cc + l.eb_bcc = bcc + LIST.Add(l) + End Sub + Public Sub LOAD(eb_KundenNr, eb_ebartId) + Try + LIST.Clear() + Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblEmailBenachrichtigung WHERE eb_KundenNr=@eb_KundenNr and eb_ebartId=@eb_ebartId ", conn) + cmd.Parameters.AddWithValue("@eb_KundenNr", eb_KundenNr) + cmd.Parameters.AddWithValue("@eb_ebartId", eb_ebartId) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cEmailBenachrichtigung + l.eb_KundenNr = dr.Item("eb_KundenNr") + l.eb_ebartId = dr.Item("eb_ebartId") + l.eb_EMail = dr.Item("eb_EMail") + l.eb_cc = dr.Item("eb_cc") + l.eb_bcc = dr.Item("eb_bcc") + LIST.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Function SAVE() + If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then + For Each l In LIST + If Not l.INSERT() Then Return False + Next + Return True + Else + Return False + End If + End Function +End Class +Public Class cEmailBenachrichtigung + Property eb_KundenNr As Object = Nothing + Property eb_ebartId As Object = Nothing + Property eb_EMail As Object = Nothing + Property eb_cc As Boolean = False + Property eb_bcc As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_KundenNr", eb_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_ebartId", eb_ebartId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_EMail", eb_EMail)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_cc", eb_cc)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_bcc", eb_bcc)) + Return list + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblEmailBenachrichtigung (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Shared Sub eMails_einlesen(Kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList) + 'ART: + '1=Ankunft + '2=Freigabe + '3=Ankunft Export + '4=Freigabe Export + Dim Firmen As New cFirmenDAL + Dim Firma As New cFirma + + Emails = "" + Emails_CC = "" + Emails_BCC = "" + + If Kdnr Is Nothing OrElse Not IsNumeric(Kdnr) Then Exit Sub + ' Dim Avisierer As New cKunde(hAuftraggeber_kdnr) + ' Dim Fraechter As New cKunde(hFrächter_kdnr) + Dim Kdnr_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(Kdnr, art) + ' Dim Fraechter_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art) + ' If hAuftraggeber_kdnr <> hFrächter_kdnr Then Fraechter_Mails = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art) + + Dim Emails_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + Dim Emails_CC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + Dim Emails_BCC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + + 'Dim Emails As String + For Each i In Kdnr_Mails.LIST + If i.eb_bcc Then + If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ElseIf i.eb_cc Then + If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + Else + If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";" + End If + Next + 'For Each i In Fraechter_Mails.LIST + ' If i.eb_bcc Then + ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ' ElseIf i.eb_cc Then + ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ' Else + ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ' End If + 'Next + + For Each i In Emails_list.LIST + Emails &= i.eb_EMail & ";" + Next + For Each i In Emails_CC_list.LIST + Emails_CC &= i.eb_EMail & ";" + Next + For Each i In Emails_BCC_list.LIST + Emails_BCC &= i.eb_EMail & ";" + Next + + For Each i In Emails_list.LIST : Emails_list_sent.LIST.Add(i) : Next + For Each i In Emails_CC_list.LIST : Emails_list_sent.LIST.Add(i) : Next + For Each i In Emails_BCC_list.LIST : Emails_list_sent.LIST.Add(i) : Next + + End Sub + + Public Shared Function getAbsenderEmail() As String + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "IMEX" : Return "noreply@imex-group.at" + Case "ATILLA" : Return "noreply@verag.ag" + Case "UNISPED" : Return "No-Reply@unisped.at" + Case "FRONTOFFICE" : Return "noreply@front-office.eu" + Case "AMBAR" : Return "import@ambarlog.com" + Case Else : Return "noreply@verag.ag" + End Select + End Function + + Shared Sub eMails_einlesenOLD(hFrächter_kdnr As String, hAuftraggeber_kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList) + 'ART: + '1=Ankunft + '2=Freigabe + '3=Ankunft Export + '4=Freigabe Export + Dim Firmen As New cFirmenDAL + Dim Firma As New cFirma + + Emails = "" + Emails_CC = "" + Emails_BCC = "" + + ' Dim Avisierer As New cKunde(hAuftraggeber_kdnr) + ' Dim Fraechter As New cKunde(hFrächter_kdnr) + Dim Avisierer_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hAuftraggeber_kdnr, art) + Dim Fraechter_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art) + If hAuftraggeber_kdnr <> hFrächter_kdnr Then Fraechter_Mails = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art) + + Dim Emails_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + Dim Emails_CC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + Dim Emails_BCC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList + + 'Dim Emails As String + For Each i In Avisierer_Mails.LIST + If i.eb_bcc Then + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ElseIf i.eb_cc Then + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + Else + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";" + End If + Next + For Each i In Fraechter_Mails.LIST + If i.eb_bcc Then + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + ElseIf i.eb_cc Then + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";" + Else + If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";" + End If + Next + + For Each i In Emails_list.LIST + Emails &= i.eb_EMail & ";" + Next + For Each i In Emails_CC_list.LIST + Emails_CC &= i.eb_EMail & ";" + Next + For Each i In Emails_BCC_list.LIST + Emails_BCC &= i.eb_EMail & ";" + Next + + For Each i In Emails_list.LIST : Emails_list_sent.LIST.Add(i) : Next + + End Sub + Shared Function existing(KundenNr As Integer, Email As String, Emails_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung), Optional ListEmails_CC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing, Optional ListEmails_BCC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing) As Boolean + If Emails_list IsNot Nothing Then + For Each i In Emails_list + If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True + Next + End If + If ListEmails_CC_list IsNot Nothing Then + For Each i In ListEmails_CC_list + If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True + Next + End If + If ListEmails_BCC_list IsNot Nothing Then + For Each i In ListEmails_BCC_list + If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True + Next + End If + Return False + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb new file mode 100644 index 0000000..56f0b5d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb @@ -0,0 +1,107 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cFirmen + Property Firma_ID As Integer + Property Firma_Bez As String + Property Firma_BackColor As Object = Nothing ' INT DEFAULT ((16777215)) NOT NULL, + Property Firma_Logo As Object = Nothing ' VARBINARY (MAX) NULL, + Property Firma_Firmenbuch As Object = Nothing ' NVARCHAR (22) NULL, + Property Firma_UID As Object = Nothing ' NVARCHAR (16) NULL, + Property Firma_EORI As Object = Nothing ' NVARCHAR (21) NULL, + Property Firma_Bankverbindung1 As Object = Nothing ' NVARCHAR (50) NULL, + Property Firma_BLZ1 As Object = Nothing ' NVARCHAR (33) NULL, + Property Firma_KTO1 As Object = Nothing ' NVARCHAR (18) NULL, + Property Firma_IBAN1 As Object = Nothing ' NVARCHAR (38) NULL, + Property Firma_BIC1 As Object = Nothing ' NVARCHAR (16) NULL, + Property Firma_Bankverbindung2 As Object = Nothing ' NVARCHAR (50) NULL, + Property Firma_BLZ2 As Object = Nothing ' NVARCHAR (33) NULL, + Property Firma_KTO2 As Object = Nothing ' NVARCHAR (18) NULL, + Property Firma_IBAN2 As Object = Nothing ' NVARCHAR (38) NULL, + Property Firma_BIC2 As Object = Nothing ' NVARCHAR (16) NULL, + Property SSMA_TimeStamp As Object = Nothing ' ROWVERSION NOT NULL, + Property Firma_Ort As Object = Nothing ' NVARCHAR (40) NULL, + Property Firma_Straße As Object = Nothing ' NVARCHAR (40) NULL, + Property Firma_Telefon As Object = Nothing ' NVARCHAR (40) NULL, + Property Firma_Telefax As Object = Nothing ' NVARCHAR (40) NULL, + Property Firma_E_Mail As Object = Nothing ' NVARCHAR (40) NULL, ----- + Property Firma_Webadresse As Object = Nothing ' NVARCHAR (40) NULL, + Property Firma_LandKz As Object = Nothing ' NVARCHAR (40) NULL, + + + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(Firma_ID) + Me.Firma_ID = Firma_ID + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bez", Firma_Bez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BackColor", Firma_BackColor)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Logo", Firma_Logo)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Firmenbuch", Firma_Firmenbuch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_UID", Firma_UID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_EORI", Firma_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bankverbindung1", Firma_Bankverbindung1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BLZ1", Firma_BLZ1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_KTO1", Firma_KTO1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_IBAN1", Firma_IBAN1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BIC1", Firma_BIC1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bankverbindung2", Firma_Bankverbindung2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BLZ2", Firma_BLZ2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_KTO2", Firma_KTO2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_IBAN2", Firma_IBAN2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BIC2", Firma_BIC2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SSMA_TimeStamp", SSMA_TimeStamp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Ort", Firma_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Straße", Firma_Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Telefon", Firma_Telefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Telefax", Firma_Telefax)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_E-Mail", Firma_E_Mail, "Firma_E_Mail")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Webadresse", Firma_Webadresse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_LandKz", Firma_LandKz)) + + + Return list + End Function + + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblFirma WHERE Firma_ID=@Firma_ID ", conn) + cmd.Parameters.AddWithValue("@Firma_ID", Firma_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb new file mode 100644 index 0000000..9b9d30f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb @@ -0,0 +1,139 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cFremdSpeditionenZuordnung + + + Property fremdz_Id As Integer + Property fremdz_firma As Object = Nothing + Property fremdz_KundenNr As Object = Nothing + Property fremdz_plz As Object = Nothing + Property fremdz_ort As Object = Nothing + Property fremdz_verzolltBei As Object = Nothing + Property fremdz_bemerkung As Object = Nothing + Property fremdz_SpeditionKundenNr As Object = Nothing + Property fremdz_Datum As Object = Nothing + Property fremdz_Sachbearbeiter As Object = Nothing + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(fremdz_Id) + Me.fremdz_Id = fremdz_Id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_Id", fremdz_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_firma", fremdz_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_KundenNr", fremdz_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_plz", fremdz_plz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_ort", fremdz_ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_verzolltBei", fremdz_verzolltBei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_bemerkung", fremdz_bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_SpeditionKundenNr", fremdz_SpeditionKundenNr)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblFremdSpeditionenZuordnung WITH(updlock,serializable) WHERE fremdz_Id=@fremdz_Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + fremdz_Id = SQL.doSQLVarListID(fremdz_Id, sqlstr, "FMZOLL", , list) + Return fremdz_Id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblFremdSpeditionenZuordnung WHERE fremdz_Id=@fremdz_Id ", conn) + cmd.Parameters.AddWithValue("@fremdz_Id", fremdz_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblFremdSpeditionenZuordnung] SET " & str & " WHERE fremdz_Id=@fremdz_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblFremdSpeditionenZuordnung (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblFremdSpeditionenZuordnung] WITH(updlock,serializable) WHERE fremdz_Id=" & Me.fremdz_Id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM [tblFremdSpeditionenZuordnung] WHERE fremdz_Id=" & id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb new file mode 100644 index 0000000..27e277b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb @@ -0,0 +1,131 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cGelangensbestaetigung + + Property gb_nr As Integer + Property gb_firma As Object = Nothing + Property gb_KdNr As Object = Nothing + Property gb_datetime As Date + Property gb_sachbearbeiter As Object = Nothing + Property gb_sachbearbeiterid As Integer + + + + Dim SQL As New SQL + + Sub New(gb_nr As Integer) + Me.gb_nr = gb_nr + Me.gb_sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Me.gb_sachbearbeiterid = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.gb_datetime = Now + LOAD() + End Sub + + + Sub New(gb_firma As String, gb_KdNr As Object) + Me.gb_nr = SQL.getValueTxtBySqlVarList("SELECT isnull(MAX([gb_nr])+1,( YEAR( GETDATE() ) % 100 ) * 1000000) FROM [tblGelangensbestaetigung] WHERE left(cast([gb_nr] as VARCHAR),2) = ( YEAR( GETDATE() ) % 100 )", "FMZOLL") + Me.gb_firma = gb_firma + Me.gb_KdNr = gb_KdNr + Me.gb_sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Me.gb_sachbearbeiterid = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.gb_datetime = Now + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_nr", gb_nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_firma", gb_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_KdNr", gb_KdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_datetime", gb_datetime)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_sachbearbeiter", gb_sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_sachbearbeiterid", gb_sachbearbeiterid)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblGelangensbestaetigung WITH(updlock,serializable) WHERE gb_nr=@gb_nr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblGelangensbestaetigung WHERE gb_nr=@gb_nr ", conn) + cmd.Parameters.AddWithValue("@gb_nr", gb_nr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblGelangensbestaetigung] SET " & str & " WHERE gb_nr=@gb_nr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblGelangensbestaetigung (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb new file mode 100644 index 0000000..ffe1004 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb @@ -0,0 +1,133 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cGestellungsgarantien + Property gg_Id As Integer + Property gg_KundenNr As Integer + Property gg_erhalten_Datum As Date + Property gg_Zollamt As String + Property gg_Info As Object = Nothing + Property gg_datenarchivId As Object = Nothing + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(gg_Id) + Me.gg_Id = gg_Id + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Id", gg_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_KundenNr", gg_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_erhalten_Datum", gg_erhalten_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Zollamt", gg_Zollamt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Info", gg_Info)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_datenarchivId", gg_datenarchivId)) + + Return list + End Function + + Public Shared Function LOAD_LIST(KundenNr As Integer) As DataTable + Return (New SQL).loadDgvBySql("SELECT * FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr, "FMZOLL") + End Function + + Public Shared Function ENTRY_Exists(KundenNr As Integer, Zollamt As String) As Boolean + Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr & " AND gg_Zollamt='" & Zollamt & "'", "FMZOLL")) > 0) + End Function + Public Shared Function ENTRY_Exists(KundenNr As Integer, Zollamt As String, gg_erhalten_Datum As Date) As Boolean + Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr & " AND gg_Zollamt='" & Zollamt & "' AND gg_erhalten_Datum='" & gg_erhalten_Datum.ToShortDateString & "'", "FMZOLL")) > 0) + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblGestellungsgarantien With(updlock, serializable) WHERE gg_Id=@gg_Id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM tblGestellungsgarantien WHERE gg_Id=@gg_Id ", conn) + cmd.Parameters.AddWithValue("@gg_Id", gg_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblGestellungsgarantien] SET " & str & " WHERE gg_Id=@gg_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblGestellungsgarantien (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblGestellungsgarantien] WITH(updlock,serializable) WHERE gg_Id=" & Me.gg_Id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb new file mode 100644 index 0000000..9917157 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb @@ -0,0 +1,313 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cGestellungsmitteilung + + + Property gstm_id As Integer + Property gstm_AvisoId As Integer + Property gstm_T1Gestellung_ATB As String = "" + Property gstm_BezugsNrSumA As String = "" + Property gstm_LKWKennzeichen As String = "" + Property gstm_GesamtColli As String = "" + Property gstm_GesamtGewicht As String = "" + + + Public hasEntry As Boolean = False + + Public POSITIONEN As New List(Of cGestellungsmitteilungPositionen) + Shared SQL As New SQL + + Sub New() + End Sub + + Sub New(gstm_id) + Me.gstm_id = gstm_id + LOAD() : LOAD_POSITIONEN() + End Sub + + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_id", gstm_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_AvisoId", gstm_AvisoId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_T1Gestellung_ATB", gstm_T1Gestellung_ATB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_BezugsNrSumA", gstm_BezugsNrSumA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_LKWKennzeichen", gstm_LKWKennzeichen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_GesamtColli", gstm_GesamtColli)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_GesamtGewicht", gstm_GesamtGewicht)) + Return list + End Function + + + + + Public Function SAVE(Optional saveAll As Boolean = True) As Boolean + + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblGestellungsmitteilung WHERE gstm_id=@gstm_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + gstm_id = SQL.doSQLVarListID(-1, sqlstr, "FMZOLL", , list) + + If gstm_id > 0 Then + If saveAll Then SAVE_POSITIONEN(gstm_id) ' positionen speicehrn + End If + Return gstm_id > 0 + End Function + + + Public Function SAVE_POSITIONEN(gstm_id) As Boolean + If DELETE_POSITIONEN() Then ' zuerst Einträge löschen... + For Each p In POSITIONEN + If Not p.INSERT(gstm_id) Then Return False ' ... dann insert + Next + Else : Return False + End If + Return True + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblGestellungsmitteilung WHERE gstm_id=@gstm_id ", conn) + cmd.Parameters.AddWithValue("@gstm_id", gstm_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + LOAD_POSITIONEN() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub LOADFromAvisoId(gstm_AvisoId) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblGestellungsmitteilung WHERE gstm_AvisoId=@gstm_AvisoId ", conn) + cmd.Parameters.AddWithValue("@gstm_AvisoId", gstm_AvisoId) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + LOAD_POSITIONEN() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblGestellungsmitteilung] SET " & str & " WHERE gstm_id=@gstm_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblGestellungsmitteilung (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE(Optional delPos = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + If delPos Then DELETE_POSITIONEN() + Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung] WHERE gstm_id=" & Me.gstm_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function DELETE_AVISOID(gstm_AvisoId, Optional delPos = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + If delPos Then DELETE_POSITIONEN_AVISOID(gstm_AvisoId) + Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung] WHERE gstm_AvisoId=" & gstm_AvisoId + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Public Function DELETE_POSITIONEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung_Positionen] WHERE gstmp_GstmID=" & Me.gstm_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function DELETE_POSITIONEN_AVISOID([gstmp_AvisoID]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung_Positionen] WHERE [gstmp_AvisoID]=" & [gstmp_AvisoID] + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Sub LOAD_POSITIONEN() + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM tblGestellungsmitteilung_Positionen WHERE gstmp_GstmID=@gstmp_GstmID order by gstmp_T1Nr", conn) + cmd.Parameters.AddWithValue("@gstmp_GstmID", Me.gstm_id) + + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cGestellungsmitteilungPositionen(gstm_id, gstm_AvisoId) + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + POSITIONEN.Add(l) + End While + dr.Close() + End Using + End Using + + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + +End Class + + + +Public Class cGestellungsmitteilungPositionen + + Property gstmp_id As Integer + Property gstmp_GstmID As Integer + Property gstmp_SendungID As Integer + Property gstmp_T1Nr As Object = Nothing + Property gstmp_AvisoID As Integer + Property gstmp_Abfertigungsart_ID As Object = Nothing + Property gstmp_Abfertigungsart As String = "" + Property gstmp_Empfaenger As String = "" + Property gstmp_Bemerkung As String = "" + Property gstmp_FilialenNr As Object = Nothing + Property gstmp_AbfertigungsNr As Object = Nothing + Property gstmp_UnterNr As Object = Nothing + Property gstmp_Colli As String = "" + Property gstmp_Gewicht As String = "" + Property gstmp_Warenbezeichnung As String = "" + Property gstmp_Absender As String = "" + Property gstmp_ATANr As String = "" + + + 'FROM [VERAG].[dbo].[tblGestellungsmitteilung_Positionen] + + + Dim SQL As New SQL + + Sub New(gstmp_GstmID, gstmp_AvisoID, Optional gstmp_SendungID = 0) + Me.gstmp_GstmID = gstmp_GstmID + Me.gstmp_AvisoID = gstmp_AvisoID + Me.gstmp_SendungID = gstmp_SendungID + End Sub + + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_id", gstmp_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_GstmID", gstmp_GstmID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_SendungID", gstmp_SendungID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_T1Nr", gstmp_T1Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_AvisoID", gstmp_AvisoID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Abfertigungsart_ID", gstmp_Abfertigungsart_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Abfertigungsart", gstmp_Abfertigungsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Empfaenger", gstmp_Empfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Bemerkung", gstmp_Bemerkung)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_FilialenNr", gstmp_FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_AbfertigungsNr", gstmp_AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_UnterNr", gstmp_UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Colli", gstmp_Colli)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Gewicht", gstmp_Gewicht)) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Warenbezeichnung", gstmp_Warenbezeichnung)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Absender", gstmp_Absender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_ATANr", gstmp_ATANr)) + Return list + End Function + + Public Function INSERT(gstmp_GstmID) As Boolean + Me.gstmp_GstmID = gstmp_GstmID + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + 'Me.Eingegeben_am = Now + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblGestellungsmitteilung_Positionen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb new file mode 100644 index 0000000..a3be93c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb @@ -0,0 +1,88 @@ + + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cHandlingssaetzeInternLIST + Property hs_Bezeichnung As Object = Nothing + ' Property OffertenNr As Object = Nothing + Public LIST As New List(Of cHandlingssaetzeIntern) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cHandlingssaetzeIntern) + + Sub New(hs_Bezeichnung) + Me.hs_Bezeichnung = hs_Bezeichnung + ' Me.OffertenNr = OffertenNr + LOAD_LIST(Me.hs_Bezeichnung) + End Sub + Public Sub CLEAR() + LIST.Clear() + End Sub + + + Public Sub LOAD_LIST(hs_Bezeichnung) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblHandlingssaetzeIntern WHERE hs_Bezeichnung=@hs_Bezeichnung ", conn) + cmd.Parameters.AddWithValue("@hs_Bezeichnung", hs_Bezeichnung) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cHandlingssaetzeIntern + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + 'Function SAVE() + ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then + ' For Each l In LIST + ' If Not l.INSERT() Then Return False + ' Next + ' Return True + ' Else + ' Return False + ' End If + 'End Function +End Class + +Public Class cHandlingssaetzeIntern + + Property hs_Bezeichnung As Object = Nothing + Property hs_RgVon As Object = Nothing + Property hs_RgAn As Object = Nothing + Property hs_Abfertigungsart As Object = Nothing + Property hs_Preis As Object = Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Bezeichnung", hs_Bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_RgVon", hs_RgVon)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_RgAn", hs_RgAn)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Abfertigungsart", hs_Abfertigungsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Preis", hs_Preis)) + Return list + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb new file mode 100644 index 0000000..adab127 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb @@ -0,0 +1,349 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKunde + Property KundenNr As Object = Nothing + Property KundenNrZentrale As Object = Nothing + Property FilialenNr As Object = Nothing + Property Einmalige_Abfertigung As Boolean = False + Property Neutralisierung As Object = Nothing + Property Avis As Object = Nothing + Property Zollvollmacht As Boolean = False + Property Zollvollmacht_vom As Object = Nothing + Property Lastschrift As Boolean = False + Property Lastschrift_von As Object = Nothing + Property Lastschrift_bis As Object = Nothing + Property Rabattstaffel As Boolean = False + Property SVS As Boolean = False + Property Vorlageprovision As Object = Nothing + Property Kreditaufwendungen As Object = Nothing + Property Bankspesen As Object = Nothing + Property Bankspesen_Mindestbetrag As Object = Nothing + Property Besonderheiten As Object = Nothing + Property Sammelrechnung As Object = Nothing + Property Steuerschlüssel As Object = Nothing + Property Referenznummer As Object = Nothing + Property Antragssumme As Object = Nothing + Property Antrag_vom As Object = Nothing + Property Versicherungssumme As Object = Nothing + Property Entscheidung_vom As Object = Nothing + Property Kreditlimit As Object = Nothing + Property Kreditlimit_vom As Object = Nothing + Property Info As Object = Nothing + Property Überwachungskunde As Boolean = False + Property Abfertigungsverbot As Boolean = False + Property Abfertigungsverbot_seit As Object = Nothing + Property Abfertigungsverbot_Grund As Object = Nothing + Property Rechtsanwalt As Boolean = False + Property Rechtsanwalt_seit As Object = Nothing + Property Eingegeben_am As Object = Nothing + Property Geändert_am As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property LfdSaldo As Object = Nothing + Property Erste_Abfertigung As Object = Nothing + Property Vorkasse As Boolean = False + Property Zahlungsinformationen As Object = Nothing + Property EORITIN As Object = Nothing + Property EORITIN_NL As Object = Nothing + Property Zollnummer As Object = Nothing + Property ZulassungsNr_ZnV As Object = Nothing + Property Aufschubkonto_EUSt As Object = Nothing + Property Aufschubkonto_Zoll As Object = Nothing + Property Währungscode As Object = Nothing + Property Euroeinführung As Object = Nothing + Property LetzteRechnungsNr As Object = Nothing + Property LetztesRechnungsDatum As Object = Nothing + Property Konzernkonto As Boolean = False + Property FiBuSchnittstelle As Boolean = False + Property Planzahl As Object = Nothing + Property Gesprächsbericht As Object = Nothing + Property Bonität As Object = Nothing + Property Bonitätsdatum As Object = Nothing + Property Zahlungsziel As Object = Nothing + Property UStV_SummeUmsatzsteuerbetragEUR As Object = Nothing + Property UStV_SummeErstattungsbetragEUR As Object = Nothing + Property UStV_Summe3470BetragEUR As Object = Nothing + Property UStV_SummeVZBetragEUR As Object = Nothing + Property UStV_SummeVorschaubetragEUR As Object = Nothing + Property UStV_SummeVorschaubetragEUR_VERAG As Object = Nothing + Property UStV_SummeVorschaubetragEUR_IDS As Object = Nothing + Property Fiskal As Boolean = False + Property Ausfuhr As Boolean = False + Property BankgarantieBetrag As Object = Nothing + Property BankgarantieGültigBis As Object = Nothing + Property KD_Korrespondenz As Object = Nothing + Property Fiskal_Aktiv As Object = Nothing + Property DokumenteLKWFreigabe As Object = Nothing + Property EmailAnkunft As Boolean = False + Property EmailFreigabe As Boolean = False + + Property Höchstkredit As Object = Nothing + Property DakosyExport As Object = Nothing + Property FiBuSchnittstelleNr As Object = Nothing + + + + + + + Public hasEntry As Boolean = False + Dim SQL As New SQL + + Sub New(KundenNr) + Me.KundenNr = KundenNr + If KundenNr <= 0 Then + INIT_NEWKD_DATA() + Else + LOAD() + End If + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einmalige Abfertigung", Einmalige_Abfertigung, "Einmalige_Abfertigung")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Neutralisierung", Neutralisierung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avis", Avis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollvollmacht", Zollvollmacht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollvollmacht vom", Zollvollmacht_vom, "Zollvollmacht_vom")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift von", Lastschrift_von, "Lastschrift_von")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift bis", Lastschrift_bis, "Lastschrift_bis")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rabattstaffel", Rabattstaffel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SVS", SVS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision %", Vorlageprovision, "Vorlageprovision")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen %", Kreditaufwendungen, "Kreditaufwendungen")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bankspesen %", Bankspesen, "Bankspesen")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bankspesen Mindestbetrag", Bankspesen_Mindestbetrag, "Bankspesen_Mindestbetrag")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sammelrechnung", Sammelrechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Referenznummer", Referenznummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antragssumme", Antragssumme)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antrag vom", Antrag_vom, "Antrag_vom")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versicherungssumme", Versicherungssumme)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Entscheidung vom", Entscheidung_vom, "Entscheidung_vom")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditlimit", Kreditlimit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditlimit vom", Kreditlimit_vom, "Kreditlimit_vom")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Info", Info)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Überwachungskunde", Überwachungskunde)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot", Abfertigungsverbot)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot seit", Abfertigungsverbot_seit, "Abfertigungsverbot_seit")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot Grund", Abfertigungsverbot_Grund, "Abfertigungsverbot_Grund")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechtsanwalt", Rechtsanwalt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechtsanwalt seit", Rechtsanwalt_seit, "Rechtsanwalt_seit")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LfdSaldo", LfdSaldo)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erste Abfertigung", Erste_Abfertigung, "Erste_Abfertigung")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkasse", Vorkasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsinformationen", Zahlungsinformationen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORITIN", EORITIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORITIN_NL", EORITIN_NL)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollnummer", Zollnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZulassungsNr ZnV", ZulassungsNr_ZnV, "ZulassungsNr_ZnV")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubkonto EUSt", Aufschubkonto_EUSt, "Aufschubkonto_EUSt")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubkonto Zoll", Aufschubkonto_Zoll, "Aufschubkonto_Zoll")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Euroeinführung", Euroeinführung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzteRechnungsNr", LetzteRechnungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetztesRechnungsDatum", LetztesRechnungsDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konzernkonto", Konzernkonto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelle", FiBuSchnittstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleNr", FiBuSchnittstelleNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Planzahl", Planzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesprächsbericht", Gesprächsbericht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bonität", Bonität)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bonitätsdatum", Bonitätsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel", Zahlungsziel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeUmsatzsteuerbetragEUR", UStV_SummeUmsatzsteuerbetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeErstattungsbetragEUR", UStV_SummeErstattungsbetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_Summe3470BetragEUR", UStV_Summe3470BetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVZBetragEUR", UStV_SummeVZBetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR", UStV_SummeVorschaubetragEUR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR_VERAG", UStV_SummeVorschaubetragEUR_VERAG)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR_IDS", UStV_SummeVorschaubetragEUR_IDS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fiskal", Fiskal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ausfuhr", Ausfuhr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BankgarantieBetrag", BankgarantieBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BankgarantieGültigBis", BankgarantieGültigBis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KD_Korrespondenz", KD_Korrespondenz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fiskal_Aktiv", Fiskal_Aktiv)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumenteLKWFreigabe", DokumenteLKWFreigabe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailAnkunft", EmailAnkunft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe", EmailFreigabe)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Höchstkredit", Höchstkredit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DakosyExport", DakosyExport)) + + + Return list + End Function + + + + Function VALID(ByRef ERROR_TXT) As Boolean + ' If If(FilialenNr Is Nothing, "", FilialenNr).ToString = "" Then ERROR_TXT = "Bitte geben Sie die zuständige Filiale an!" : Return False 'Es gibt alte Einträge ohne FilialenNr + + Return True + End Function + + + Sub INIT_NEWKD_DATA() + + ' Me.KundenNrZentrale = Me.KundenNr + + If Me.FilialenNr Is Nothing Then Me.FilialenNr = 4803 + If Me.Sachbearbeiter Is Nothing Then Me.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + Me.Währungscode = "EUR" + Me.Eingegeben_am = Now.ToShortDateString + + Me.Vorlageprovision = 0.01 + Me.Kreditaufwendungen = 0.02 + Me.Bankspesen = 0 + Me.Bankspesen_Mindestbetrag = 0 + + Me.Zahlungsziel = 10 + Me.Sammelrechnung = 0 + Me.Steuerschlüssel = 10 + Me.Kreditlimit = 2600 + Me.Überwachungskunde = 0 + Me.Abfertigungsverbot = 0 + Me.Rechtsanwalt = 0 + Me.Euroeinführung = CDate("01.01.2002") + Me.UStV_Summe3470BetragEUR = 0 + Me.UStV_SummeErstattungsbetragEUR = 0 + Me.UStV_SummeVorschaubetragEUR = 0 + Me.UStV_SummeVorschaubetragEUR_IDS = 0 + Me.UStV_SummeVorschaubetragEUR_VERAG = 0 + Me.UStV_SummeUmsatzsteuerbetragEUR = 0 + Me.UStV_SummeVZBetragEUR = 0 + Me.Fiskal_Aktiv = 0 + Me.SVS = 1 + + End Sub + + Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + If newFlag Then INIT_NEWKD_DATA() + If EORITIN IsNot Nothing Then EORITIN = EORITIN.ToString.Replace(" ", "") 'Falls NL-Nr. mit leer einegegeben wird + + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + If KundenNr <= 0 Then + MsgBox("Fehler: KundenNr <= 0!") + Return False + End If + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Kunden WHERE KundenNr=@KundenNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + ' MsgBox(sqlstr) + Dim id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list,,, False, 2) + If id = -2 Then id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list,,, False, 10) '2.Versuch --> Oft Timeout wg.Fmzoll + If id = -2 Then id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list) '3.Versuch --> Oft Timeout wg.Fmzoll + + If id > 0 Then + KundenNr = id 'Sonst wird beim Speichern mit Fehler -1 in die KundenNr übergeben + If If(Me.KundenNrZentrale, 0) <= 0 Then SQL.doSQL("UPDATE Kunden SET KundenNrZentrale=KundenNr WHERE KundenNr=" & id, "FMZOLL") + End If + Return id > 0 + End Function + + Public Sub LOAD() + Dim test = "" + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Kunden WHERE KundenNr=@KundenNr ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + ' Me.GetType.GetProperty(l.Scalarvariable) = dr.Item(l.Text) + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + ' MsgBox(l.Text) + ' MsgBox(propInfo.PropertyType.ToString) + ' propInfo.SetValue(GetType(Object), l.Text) + + 'propInfo.SetValue(Me, l.Text) + + ' Try + test = l.Text + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + ' Catch ex As Exception + + ' End Try + + ' Me.GetType.GetProperty(l.Scalarvariable).setSetValue(GetType(Object), l.Text) + 'If propInfo IsNot Nothing Then + 'propInfo.SetValue(l.Scalarvariable, l.Text) + ' End If + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox(test & "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Kunden] SET " & str & " WHERE KundenNr=@KundenNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isonlyForLoad Then 'And (Not i.isPrimaryParam OrElse i.Value > 0) Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Kunden (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb new file mode 100644 index 0000000..c6a039f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb @@ -0,0 +1,245 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenAufschubkonten + + Property kdAkto_id As Integer = -1 + Property kdAkto_KundenNr As Integer + Property kdAkto_art As Integer + Property kdAkto_hauptzollamt As Object = Nothing + Property kdAkto_kontonummer As Object = Nothing + Property kdAkto_bin As Object = Nothing + Property kdAkto_eori As Object = Nothing + Property kdAkto_eoriNL As Object = Nothing + + Dim SQL As New SQL + + + + Public Shared Function SAVE_LIST(KundenNr As Integer, LIST As List(Of cKundenAufschubkonten)) As Boolean + SAVE_LIST = DELETE_NOT_EXIST(KundenNr, LIST) + For Each l In LIST + If Not l.SAVEByKdNrArt() Then SAVE_LIST = False + Next + End Function + + Public Shared Function DELETE_NOT_EXIST(KundenNr As Integer, LIST As List(Of cKundenAufschubkonten)) As Boolean + Dim SQL As New SQL + Dim ktoNr = "" + For Each a In LIST + ktoNr &= a.kdAkto_art & "," + Next + If ktoNr.EndsWith(",") Then ktoNr = ktoNr.Substring(0, ktoNr.Length - 1) + + Dim sqlstr = " DELETE FROM [tblKundenAufschubkonten] WHERE kdAkto_KundenNr='" & KundenNr & "' " + If ktoNr <> "" Then sqlstr &= " AND [kdAkto_art] NOT IN (" & ktoNr & ") " + + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Sub New() + + End Sub + + Sub New(kdAkto_id) + Me.kdAkto_id = kdAkto_id + LOAD() + End Sub + + Sub New(kdAkto_KundenNr, kdAkto_art) + Me.kdAkto_KundenNr = kdAkto_KundenNr + Me.kdAkto_art = kdAkto_art + LOADByKdNrArt(kdAkto_KundenNr, kdAkto_art) + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_id", kdAkto_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_KundenNr", kdAkto_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_art", kdAkto_art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_hauptzollamt", kdAkto_hauptzollamt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_kontonummer", kdAkto_kontonummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_bin", kdAkto_bin)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_eori", kdAkto_eori)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_eoriNL", kdAkto_eoriNL)) + Return list + End Function + + + Shared Function LOAD_ListAufschubKTOByKdNr(kdAkto_KundenNr) As List(Of cKundenAufschubkonten) + Try + LOAD_ListAufschubKTOByKdNr = New List(Of cKundenAufschubkonten) + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_KundenNr=@kdAkto_KundenNr ", conn) + cmd.Parameters.AddWithValue("@kdAkto_KundenNr", kdAkto_KundenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim KTO As New cKundenAufschubkonten + For Each l In KTO.getParameterList() + Dim propInfo As PropertyInfo = KTO.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(KTO, Nothing) + Else + propInfo.SetValue(KTO, dr.Item(l.Text)) + End If + + Next + LOAD_ListAufschubKTOByKdNr.Add(KTO) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + LOAD_ListAufschubKTOByKdNr = Nothing + End Try + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_id=@kdAkto_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + kdAkto_id = SQL.doSQLVarListID(kdAkto_id, sqlstr, "FMZOLL", , list) + Return kdAkto_id > 0 + + End Function + + + Public Function SAVEByKdNrArt() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_KundenNr=@kdAkto_KundenNr and kdAkto_art=@kdAkto_art) " & + " BEGIN " & getUpdateCmd2() & " " & + " (SELECT kdAkto_id FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_KundenNr=@kdAkto_KundenNr and kdAkto_art=@kdAkto_art)" & + " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + kdAkto_id = SQL.doSQLVarListID(kdAkto_id, sqlstr, "FMZOLL", , list, True) + Return kdAkto_id > 0 + + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_id=@kdAkto_id ", conn) + cmd.Parameters.AddWithValue("@kdAkto_id", kdAkto_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOADByKdNrArt(kdAkto_KundenNr, kdAkto_art) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_KundenNr=@kdAkto_KundenNr AND kdAkto_art=@kdAkto_art ", conn) + cmd.Parameters.AddWithValue("@kdAkto_KundenNr", kdAkto_KundenNr) + cmd.Parameters.AddWithValue("@kdAkto_art", kdAkto_art) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenAufschubkonten] SET " & str & " WHERE kdAkto_id=@kdAkto_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getUpdateCmd2() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenAufschubkonten] SET " & str & " WHERE kdAkto_KundenNr=@kdAkto_KundenNr AND kdAkto_art=@kdAkto_art ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam And Not i.isonlyForLoad Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenAufschubkonten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb new file mode 100644 index 0000000..6dc6d9f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb @@ -0,0 +1,135 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenBesonderheiten + Property kdb_id As Integer + Property kdb_KundenNr As Integer + Property kdb_kategorie As String + Property kdb_text As String + Property kdb_mitId As Integer + Property kdb_mitName As String + Property kdb_EingetragenAm As Date + Property kdb_AenderungAm As Date + Property kdb_visible As Boolean = True + Property kdb_hervorheben As Boolean = False + Property kdb_history As Boolean = False + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(kdb_id) + Me.kdb_id = kdb_id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_id", kdb_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_KundenNr", kdb_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_kategorie", kdb_kategorie)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_text", kdb_text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_mitId", kdb_mitId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_mitName", kdb_mitName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_EingetragenAm", kdb_EingetragenAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_AenderungAm", kdb_AenderungAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_visible", kdb_visible)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_hervorheben", kdb_hervorheben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_history", kdb_history)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenBesonderheiten WHERE kdb_id=@kdb_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenBesonderheiten WHERE kdb_id=@kdb_id ", conn) + cmd.Parameters.AddWithValue("@kdb_id", kdb_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Shared Function DELETE_ALL_KD(kdb_KundenNr As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM tblKundenBesonderheiten WHERE kdb_KundenNr=" & kdb_KundenNr + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenBesonderheiten] SET " & str & " WHERE kdb_id=@kdb_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenBesonderheiten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb new file mode 100644 index 0000000..fd5a85f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb @@ -0,0 +1,132 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenDatenblatt + Property kdb_KundenNr As Integer + Property kdb_route As Object = Nothing + Property kdb_buergschaftsgeber As Object = Nothing + Property kdb_anzahlLKW As Object = Nothing + Property kdb_anzahlMA As Object = Nothing + Property kdb_bestimmungslandEU As Object = Nothing + Property kdb_grosskunden As Object = Nothing + Property kdb_gueter As Object = Nothing + Property kdb_grenzen As Object = Nothing + Property kdb_verhaltenAvisierung As Object = Nothing + Property kdb_sonstiges As Object = Nothing + + Dim SQL As New SQL + + Sub New(kdb_KundenNr) + Me.kdb_KundenNr = kdb_KundenNr + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_KundenNr", kdb_KundenNr)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_route", kdb_route)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_buergschaftsgeber", kdb_buergschaftsgeber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_anzahlLKW", kdb_anzahlLKW)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_anzahlMA", kdb_anzahlMA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_bestimmungslandEU", kdb_bestimmungslandEU)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_grosskunden", kdb_grosskunden)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_gueter", kdb_gueter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_grenzen", kdb_grenzen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_verhaltenAvisierung", kdb_verhaltenAvisierung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_sonstiges", kdb_sonstiges)) + + + Return list + End Function + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenDatenblatt WHERE kdb_KundenNr=@kdb_KundenNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + kdb_KundenNr = SQL.doSQLVarListID(kdb_KundenNr, sqlstr, "FMZOLL", , list) + Return kdb_KundenNr > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenDatenblatt WHERE kdb_KundenNr=@kdb_KundenNr ", conn) + cmd.Parameters.AddWithValue("@kdb_KundenNr", kdb_KundenNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenDatenblatt] SET " & str & " WHERE kdb_KundenNr=@kdb_KundenNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenDatenblatt (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblKundenDatenblatt] WHERE kdb_KundenNr=" & Me.kdb_KundenNr + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb new file mode 100644 index 0000000..29bf05c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb @@ -0,0 +1,220 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenErweitert + Property kde_KundenNr As Integer + Property kde_FirmenwortlautFiskal As Object = Nothing + Property kde_VerwendetAuftragsNr As Boolean = False + + Property kde_FixeAuftragsNr As Object = Nothing + Property kde_qsTeamId As Object = Nothing + Property kde_qsTeamMAId As Object = Nothing + Property kde_qsTeamMAName As Object = Nothing + Property kde_qsTeamName As Object = Nothing + Property kde_TeamId As Object = Nothing + Property kde_TeamMAId As Object = Nothing + + 'Property kde_Hoechstkredit As Object = Nothing + Property kde_Versicherung_Deckungsstopp As Boolean = False + Property kde_Versicherung_DeckungsstoppDatum As Object = Nothing + + Property kde_Versicherung_Uebergeben As Boolean = False + Property kde_Versicherung_UebergebenAm As Object = Nothing + Property kde_Versicherung_AnerkennungVersicherungsfall As Boolean = False + Property kde_Versicherung_AnerkennungVersicherungsfallAm As Object = Nothing + Property kde_Versicherung_AnerkennungVersicherungsfallAb As Object = Nothing + Property kde_txtVersicherungDeckungsquote As Object = Nothing + Property kde_txtVersicherungNichtVersicherbar As Object = Nothing + Property kde_Versicherung_GemeldeterBetrag As Object = Nothing + Property kde_txtVersicherungEHNr As Object = Nothing + + + Property kde_Leihgeld_Provision As Object = Nothing + Property kde_Leihgeld_ProvisionPreisstaffel As Object = Nothing + Property kde_Leihgeld_ProvisionAuftraggeber As Object = Nothing + Property EmailFreigabeSendungsListe As Boolean = False + Property EmailFreigabe_SteuerbescheidPDF As Boolean = False + Property EmailFreigabe_SteuerbescheidPDF_Bedingung As Integer + + Property EmailFreigabe_Art As String = "FG" ' STB/VBD/.. bei Freigabe ; BLG --> wenn Beleg da ist. + Property EmailFreigabe_VBDPDF As Boolean = False + Property EmailFreigabe_ABDPDF As Boolean = False + Property Email_AVM As Boolean = False + Property Depot_Kunde As Boolean = False + Property FiBuSchnittstelleLG As Boolean = False + + Property Zahlungsziel2 As Object = Nothing + Property Zahlungsziel3 As Object = Nothing + Property EmailAnkunft_Export As Boolean = False + Property EmailFreigabe_Export As Boolean = False + Property kde_BonitaetsStufe As Object = Nothing + + Property kde_Inkasso_Uebergeben As Boolean = False + Property kde_Inkasso_UebergebenAm As Object = Nothing + Property kde_Inkasso_GemeldeterBetrag As Object = Nothing + Property AutoFakturierung As Boolean = False + Property Veranlagungskunde As Boolean = False + Property Anmerkungen_Warnhinweis As Object = Nothing + Property kde_VERAG_INTERFACE_ID As Object = Nothing + Property kde_BesonderheitenNeu As Boolean = False + + Property kde_InfoAuftragsNr As Object = Nothing + Property kde_KundeFremdspedition As Boolean = False + Property kde_verzolltBei As Object = Nothing + Property kde_API_Tradeshift As Boolean = False + Property kde_FakturierungSR_Details As Boolean = False + Property kde_Fakturierung_Sprache As Object = Nothing + Property kde_TOBB_KundenNr As Object = Nothing + + Dim SQL As New SQL + + Sub New(KundenNr) + Me.kde_KundenNr = KundenNr + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundenNr", kde_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FirmenwortlautFiskal", kde_FirmenwortlautFiskal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VerwendetAuftragsNr", kde_VerwendetAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FixeAuftragsNr", kde_FixeAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamId", kde_qsTeamId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAId", kde_qsTeamMAId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAName", kde_qsTeamMAName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamName", kde_qsTeamName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamId", kde_TeamId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamMAId", kde_TeamMAId)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Hoechstkredit", kde_Hoechstkredit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Deckungsstopp", kde_Versicherung_Deckungsstopp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_DeckungsstoppDatum", kde_Versicherung_DeckungsstoppDatum)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Uebergeben", kde_Versicherung_Uebergeben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_UebergebenAm", kde_Versicherung_UebergebenAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfall", kde_Versicherung_AnerkennungVersicherungsfall)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAm", kde_Versicherung_AnerkennungVersicherungsfallAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAb", kde_Versicherung_AnerkennungVersicherungsfallAb)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungDeckungsquote", kde_txtVersicherungDeckungsquote)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungNichtVersicherbar", kde_txtVersicherungNichtVersicherbar)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_GemeldeterBetrag", kde_Versicherung_GemeldeterBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungEHNr", kde_txtVersicherungEHNr)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_Provision", kde_Leihgeld_Provision)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionPreisstaffel", kde_Leihgeld_ProvisionPreisstaffel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionAuftraggeber", kde_Leihgeld_ProvisionAuftraggeber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabeSendungsListe", EmailFreigabeSendungsListe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF", EmailFreigabe_SteuerbescheidPDF)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF_Bedingung", EmailFreigabe_SteuerbescheidPDF_Bedingung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Art", EmailFreigabe_Art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_VBDPDF", EmailFreigabe_VBDPDF)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_ABDPDF", EmailFreigabe_ABDPDF)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Email_AVM", Email_AVM)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Depot_Kunde", Depot_Kunde)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleLG", FiBuSchnittstelleLG)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel2", Zahlungsziel2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel3", Zahlungsziel3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailAnkunft_Export", EmailAnkunft_Export)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Export", EmailFreigabe_Export)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BonitaetsStufe", kde_BonitaetsStufe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_Uebergeben", kde_Inkasso_Uebergeben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_UebergebenAm", kde_Inkasso_UebergebenAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_GemeldeterBetrag", kde_Inkasso_GemeldeterBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AutoFakturierung", AutoFakturierung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Veranlagungskunde", Veranlagungskunde)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anmerkungen_Warnhinweis", Anmerkungen_Warnhinweis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VERAG_INTERFACE_ID", kde_VERAG_INTERFACE_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BesonderheitenNeu", kde_BesonderheitenNeu)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_InfoAuftragsNr", kde_InfoAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundeFremdspedition", kde_KundeFremdspedition)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_verzolltBei", kde_verzolltBei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_API_Tradeshift", kde_API_Tradeshift)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FakturierungSR_Details", kde_FakturierungSR_Details)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Fakturierung_Sprache", kde_Fakturierung_Sprache)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TOBB_KundenNr", kde_TOBB_KundenNr)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr ", conn) + cmd.Parameters.AddWithValue("@kde_KundenNr", kde_KundenNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenErweitert] SET " & str & " WHERE kde_KundenNr=@kde_KundenNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenErweitert (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb new file mode 100644 index 0000000..84cdcb3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb @@ -0,0 +1,271 @@ + + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenKontakteList + Property kkd_KundenNr As Object = Nothing + Property firma As Object = Nothing + Public LIST As New List(Of cKundenKontakte) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + + Sub New(kkd_KundenNr) + Me.kkd_KundenNr = kkd_KundenNr + ' Me.OffertenNr = OffertenNr + LOAD_LIST(Me.kkd_KundenNr) + End Sub + + Sub New(kkd_KundenNr, firma) + Me.kkd_KundenNr = kkd_KundenNr + Me.firma = firma + LOAD_LIST(Me.kkd_KundenNr, firma) + End Sub + + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST(kkd_KundenNr, Optional firma = "") + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False) + Using cmd As New SqlCommand("SELECT * FROM [tblKundenKontakt] WHERE kkd_KundenNr=@kkd_KundenNr " & If(firma <> "", " AND kkd_firma=@firma", ""), conn) + cmd.Parameters.AddWithValue("@kkd_KundenNr", kkd_KundenNr) + cmd.Parameters.AddWithValue("@firma", firma) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cKundenKontakte + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + 'Public Function GET_KundenKontakte_VALUE(param As String) As String + ' For Each p In LIST + ' If p.bezeichnung = param Then + ' Return p.wert + ' End If + ' Next + ' Return "" + 'End Function + + 'Public Function GET_KundenKontakte_VALUE_BOOL(param As String) As String + ' For Each p In LIST + ' If p.bezeichnung = param Then + ' Return (p.wert = "1" Or p.wert = "true") + ' End If + ' Next + ' Return False + 'End Function + +End Class + +Public Class cKundenKontakte + Property kkd_id As Integer + + Property kkd_KundenNr As Integer + Property kkd_kkaId As Object = Nothing + Property kkd_kkaBez As Object = Nothing + Property kkd_Tel As Object = Nothing + Property kkd_Email As Object = Nothing + Property kkd_Fax As Object = Nothing + Property kkd_Homepage As Object = Nothing + Property kkd_Mobil As Object = Nothing + Property kkd_AnsprechpartnerAnrede As Object = Nothing + Property kkd_AnsprechpartnerVorname As Object = Nothing + Property kkd_AnsprechpartnerNachname As Object = Nothing + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + + Sub New() + + End Sub + + Sub New(kkd_id) + Me.kkd_id = kkd_id + LOAD(kkd_id) + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_id", kkd_id,, True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_KundenNr", kkd_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_kkaId", kkd_kkaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_kkaBez", kkd_kkaBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Tel", kkd_Tel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Email", kkd_Email)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Fax", kkd_Fax)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Homepage", kkd_Homepage)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Mobil", kkd_Mobil)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerAnrede", kkd_AnsprechpartnerAnrede)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerVorname", kkd_AnsprechpartnerVorname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerNachname", kkd_AnsprechpartnerNachname)) + + Return list + End Function + + + + + + Public Sub LOAD(kkd_id) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM [tblKundenKontakt] WHERE kkd_id=@kkd_id ", conn) + cmd.Parameters.AddWithValue("@kkd_id", kkd_id) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenKontakt WHERE kkd_id=@kkd_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + kkd_id = SQL.doSQLVarListID(kkd_id, sqlstr, "FMZOLL", , list) + Return (kkd_id > 0) + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + kkd_id = SQL.doSQLVarListID(kkd_id, getInsertCmd, "FMZOLL", , list) + Return (kkd_id > 0) + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenKontakt] SET " & str & " WHERE kkd_id=@kkd_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblKundenKontakt] WITH(updlock,serializable) WHERE kkd_id=" & Me.kkd_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE_ALL_KONTAKTE(kkd_KundenNr, Optional kkd_kkaId = -1) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim sqlstr = " DELETE FROM [tblKundenKontakt] WITH(updlock,serializable) WHERE kkd_KundenNr=" & kkd_KundenNr & If(kkd_kkaId > 0, " AND kkd_kkaId='" & kkd_kkaId & "'", "") + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function getInsertCmd() As String + Try + + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenKontakt (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Shared Function getMailAdress(KdNr As Integer, bez As String) As String + If KdNr < 0 Then Return "" + Dim KD_LIST = New cKundenKontakteList(KdNr) + If KD_LIST IsNot Nothing Then + For Each l In KD_LIST.LIST + If l.kkd_kkaBez = bez Then Return l.kkd_Email + Next + End If + Return "" + End Function + + Shared Function getKdNrFromMailAdress(KMail As String, Optional serchInKd As Boolean = True) As Integer + getKdNrFromMailAdress = -1 + If KMail = "" Then Return -1 + If Not KMail.Contains("@") Then Return -1 + + Dim whereFiliale = "" + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then + whereFiliale = " AND [FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' " + Else + 'SQLstr &= " AND isnull([FilialenNr],0)<>'5501' " + whereFiliale = " AND isnull([FilialenNr],0) NOT IN ('5501','5601','5701','5801') " + End If + + Dim SQL As New SQL + getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 [kkd_KundenNr] FROM [tblKundenKontakt] INNER JOIN Kunden ON KundenNr=kkd_KundenNr where kkd_Email LIKE ('%" & KMail & "%') AND kkd_kkaBez='OUTLOOK_AVISO_Eingang' " & whereFiliale, "FMZOLL",,, -1) + + If serchInKd AndAlso getKdNrFromMailAdress < 0 Then + getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [E-Mail] LIKE ('%" & KMail & "%') " & whereFiliale, "FMZOLL",,, -1) + + If getKdNrFromMailAdress < 0 Then + Dim sp = KMail.Split("@") + getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [E-Mail] LIKE ('%" & sp(1) & "%') " & whereFiliale, "FMZOLL",,, -1) + End If + End If + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb new file mode 100644 index 0000000..aa8b95a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb @@ -0,0 +1,141 @@ + + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cKundenSDL + Property KundenNr As Integer + Property SDLNr As Integer + Property Sperre As Integer + Property Sperrdatum As Object = Nothing + Property Vertretungsvollmacht As Object = Nothing + Property Auszahlungsvollmacht As Object = Nothing + Property Finanzamtbestätigung As Object = Nothing + Property Vermerk As Object = Nothing + Property Antragsdatum As Object = Nothing + Property Erfassungsdatum As Object = Nothing + Property Änderungsdatum As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property MautDE_FlottenPIN As Object = Nothing + Property MautDE_MasterPIN As Object = Nothing + Property MautDE_BenutzerNr As Object = Nothing + Property MautAT_KartenNr As Object = Nothing + + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New(KundenNr, SDLNr) + Me.KundenNr = KundenNr + Me.SDLNr = SDLNr + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SDLNr", SDLNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sperre", Sperre)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sperrdatum", Sperrdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertretungsvollmacht", Vertretungsvollmacht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Auszahlungsvollmacht", Auszahlungsvollmacht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Finanzamtbestätigung", Finanzamtbestätigung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antragsdatum", Antragsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_FlottenPIN", MautDE_FlottenPIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_MasterPIN", MautDE_MasterPIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_BenutzerNr", MautDE_BenutzerNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautAT_KartenNr", MautAT_KartenNr)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM KundenSDL WHERE KundenNr=@KundenNr and SDLNr=@SDLNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "SDL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL() + Using cmd As New SqlCommand("SELECT * FROM KundenSDL WHERE KundenNr=@KundenNr and SDLNr=@SDLNr ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + cmd.Parameters.AddWithValue("@SDLNr", SDLNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [KundenSDL] SET " & str & " WHERE KundenNr=@KundenNr and SDLNr=@SDLNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO KundenSDL (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb new file mode 100644 index 0000000..cb586da --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb @@ -0,0 +1,280 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cKundenVermerke + Property LIST As New List(Of cKundenVermerkItem) + Dim kvm_KundenNr As Integer + + Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New(kvm_KundenNr) + LOAD_LIST(kvm_KundenNr) + End Sub + + Sub New(kvm_KundenNr, kvm_art) + LOAD_LIST(kvm_KundenNr, kvm_art) + End Sub + + + Public Shared Function getDT(kvm_KundenNr As Integer, Optional kvm_art() As String = Nothing) As DataTable + Try + Dim art As String = "" + If kvm_art IsNot Nothing Then + For Each s In kvm_art + art &= "'" & s & "'," + Next + If art.EndsWith(",") Then art = art.Substring(0, art.Length - 1) + End If + + Dim myTable = New DataTable() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL + Using cmd As New SqlCommand("SELECT * FROM [tblKundenVermerke] WHERE [kvm_KundenNr] =@kvm_KundenNr " & If(art <> "", "AND kvm_art IN (" & art & ") ", "") & " ORDER BY [kvm_datum] desc ", conn) + cmd.Parameters.AddWithValue("@kvm_KundenNr", kvm_KundenNr) + Dim dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + End Using + Return myTable 'While Schleife wird hier verlassen + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return Nothing + End Function + + Public Sub LOAD_LIST(kvm_KundenNr As Integer, Optional kvm_art() As String = Nothing) + Try + Dim art As String = "" + If kvm_art IsNot Nothing Then + For Each s In kvm_art + art &= "'" & art & "'," + Next + If art.EndsWith(",") Then art = art.Substring(0, art.Length - 1) + End If + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM [tblKundenVermerke] WHERE [kvm_KundenNr] =@kvm_KundenNr " & If(art <> "", "AND kvm_art IN (" & art & ") ", "") & " ORDER BY [kvm_datum] desc ", conn) + cmd.Parameters.AddWithValue("@kvm_KundenNr", kvm_KundenNr) + + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cKundenVermerkItem() + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + + Shared Function INSERT(kvm_KundenNr, kvm_art, kvm_text) As Boolean + Try + Dim KDV As New cKundenVermerkItem + KDV.kvm_art = kvm_art + KDV.kvm_text = kvm_text + KDV.kvm_KundenNr = kvm_KundenNr + KDV.kvm_datum = Now + KDV.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + KDV.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Return KDV.SAVE() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + Public Function ADD(kvm_art, kvm_text) As Boolean + Try + Dim KDV As New cKundenVermerkItem + KDV.kvm_art = kvm_art + KDV.kvm_text = kvm_text + KDV.kvm_datum = Now + KDV.kvm_KundenNr = Me.kvm_KundenNr + KDV.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + KDV.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + If KDV.SAVE() Then + LIST.Add(KDV) + Return True + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + + Public Shared Function DELETE(id) As Boolean + Try + Dim KDV As New cKundenVermerkItem(id) + Return KDV.DELETE() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + Public Function REMOVE(kvm_id) As Boolean + Try + For Each i In LIST + If i.kvm_id = kvm_id Then + If i.DELETE() Then + LIST.Remove(i) + Return True + End If + End If + Next + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + + +End Class + +Public Class cKundenVermerkItem + + + Property kvm_id As Integer + Property kvm_KundenNr As Integer + Property kvm_art As String = "" + Property kvm_datum As Date = Now + Property kvm_text As String = "" + Property kvm_sbId As Integer + Property kvm_sb As String = "" + + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(kvm_id) + Me.kvm_id = kvm_id + LOAD() + End Sub + + 'Shared Sub ADD(kvm_art, kvm_text) + ' Me.kvm_datum = Now + ' Me.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + ' Me.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME + ' LOAD() + + ' End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_id", kvm_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_KundenNr", kvm_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_art", kvm_art)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_datum", kvm_datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_text", kvm_text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_sbId", kvm_sbId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_sb", kvm_sb)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenVermerke WHERE kvm_id=@kvm_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + kvm_id = SQL.doSQLVarListID(kvm_id, sqlstr, "FMZOLL", , list) + Return kvm_id > 0 + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblKundenVermerke] WHERE kvm_id=" & Me.kvm_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblKundenVermerke WHERE kvm_id=@kvm_id ", conn) + cmd.Parameters.AddWithValue("@kvm_id", kvm_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenVermerke] SET " & str & " WHERE kvm_id=@kvm_id ") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenVermerke (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb new file mode 100644 index 0000000..fd207aa --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb @@ -0,0 +1,134 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cKundenVertraege + Property kv_Id As Integer + Property kv_KundenNr As Integer + Property kv_erhalten_Datum As Date + Property kv_vertragArtId As Integer + Property kv_Info As Object = Nothing + Property kv_datenarchivId As Object = Nothing + Property kv_gueltig As Boolean = True + + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(kv_Id) + Me.kv_Id = kv_Id + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_Id", kv_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_KundenNr", kv_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_erhalten_Datum", kv_erhalten_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_vertragArtId", kv_vertragArtId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_Info", kv_Info)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_datenarchivId", kv_datenarchivId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_gueltig", kv_gueltig)) + + Return list + End Function + + Public Shared Function LOAD_LIST(KundenNr As Integer) As DataTable + Return (New SQL).loadDgvBySql("SELECT [kv_Id],[kv_KundenNr],[kv_erhalten_Datum],[kv_vertragArtId],kva_Bezeichnung,[kv_Info],[kv_datenarchivId],[kv_gueltig] FROM tblKundenVertraege INNER JOIN tblKundenVertraegeArten ON kv_vertragArtId=kva_id WHERE kv_KundenNr=" & KundenNr, "FMZOLL") + End Function + + Public Shared Function ENTRY_Exists(KundenNr As Integer, kv_vertragArtId As Integer) As Boolean + Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblKundenVertraege WHERE kv_KundenNr=" & KundenNr & " AND kv_vertragArtId='" & kv_vertragArtId & "'", "FMZOLL")) > 0) + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblKundenVertraege With(updlock, serializable) WHERE kv_Id=@kv_Id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM tblKundenVertraege WHERE kv_Id=@kv_Id ", conn) + cmd.Parameters.AddWithValue("@kv_Id", kv_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblKundenVertraege] SET " & str & " WHERE kv_Id=@kv_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblKundenVertraege (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblKundenVertraege] WITH(updlock,serializable) WHERE kv_Id=" & Me.kv_Id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb new file mode 100644 index 0000000..29c3b41 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb @@ -0,0 +1,172 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cLanguageText_LIST + Dim LIST As New List(Of cLanguageText) + + Sub New(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3) + LOAD_LIST(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3) + End Sub + Public Sub LOAD_LIST(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3) + Try + List.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionWEB() + Using cmd As New SqlCommand("SELECT * FROM tblLanguageText WHERE tlan_kategorie=@tlan_kategorie AND tlan_ukategorie1=@tlan_ukategorie1 AND tlan_ukategorie2=@tlan_ukategorie2 AND tlan_ukategorie3=@tlan_ukategorie3 ", conn) + cmd.Parameters.AddWithValue("@tlan_kategorie", tlan_kategorie) + cmd.Parameters.AddWithValue("@tlan_ukategorie1", tlan_ukategorie1) + cmd.Parameters.AddWithValue("@tlan_ukategorie2", tlan_ukategorie2) + cmd.Parameters.AddWithValue("@tlan_ukategorie3", tlan_ukategorie3) + + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cLanguageText + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getTxt(tlan_Id, tlan_language, defaultTXT) As String + For Each l In LIST + If l.tlan_Id = tlan_Id And l.tlan_language = tlan_language Then + Return l.tlan_TEXT + End If + Next + Return defaultTXT + End Function + +End Class + + +Public Class cLanguageText + Property tlan_Id As Integer + Property tlan_kategorie As String = "" + Property tlan_ukategorie1 As String = "" + Property tlan_ukategorie2 As String = "" + Property tlan_ukategorie3 As String = "" + Property tlan_language As String = "" + Property tlan_TEXT As String = "" + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(tlan_Id, tlan_language) + Me.tlan_Id = tlan_Id + Me.tlan_language = tlan_language + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_Id", tlan_Id)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_kategorie", tlan_kategorie)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie1", tlan_ukategorie1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie2", tlan_ukategorie2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie3", tlan_ukategorie3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_language", tlan_language)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_TEXT", tlan_TEXT)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblLanguageText WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "WEB", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionWEB() + Using cmd As New SqlCommand("SELECT * FROM tblLanguageText WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language ", conn) + cmd.Parameters.AddWithValue("@tlan_Id", tlan_Id) + cmd.Parameters.AddWithValue("@tlan_language", tlan_language) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblLanguageText] SET " & str & " WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblLanguageText (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb new file mode 100644 index 0000000..34328a5 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb @@ -0,0 +1,163 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cLeistungen + + Property LeistungsNr As Object = Nothing + Property LeistungsBez As Object = Nothing + Property BezeichnungAusListe As Object = Nothing + Property BerechnungsartNr As Object = Nothing + Property Steuerpflichtig As Object = Nothing + Property SKR As Object = Nothing + Property Vorlageprovision As Object = Nothing + Property Kreditaufwendungen As Object = Nothing + Property FixeTaxe As Object = Nothing + Property Abfertigungskosten As Object = Nothing + Property Preissperre As Object = Nothing + Property Kostenstelle As Object = Nothing + Property AufschubkontoNr As Object = Nothing + Property Gl_account As Object = Nothing + Property Analysis_type As Object = Nothing + Property Analysis_code As Object = Nothing + Property SachkontoInlandSteuerpflichtig As Object = Nothing + Property SachkontoInlandSteuerfrei As Object = Nothing + Property SachkontoEUSteuerpflichtig As Object = Nothing + Property SachkontoEUSteuerfrei As Object = Nothing + Property Sachkonto3Land As Object = Nothing + Property BS415 As Object = Nothing + Property BGebUStV As Object = Nothing + + Property IMEX_Gl_account As Object = Nothing + Property IMEX_SachkontoInlandSteuerpflichtig As Object = Nothing + Property IMEX_SachkontoInlandSteuerfrei As Object = Nothing + Property IMEX_SachkontoEUSteuerpflichtig As Object = Nothing + Property IMEX_SachkontoEUSteuerfrei As Object = Nothing + Property IMEX_Sachkonto3Land As Object = Nothing + + Dim SQL As New SQL + + Sub New(LeistungsNr) + Me.LeistungsNr = LeistungsNr + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BezeichnungAusListe", BezeichnungAusListe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SKR", SKR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision", Vorlageprovision)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen", Kreditaufwendungen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FixeTaxe", FixeTaxe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungskosten", Abfertigungskosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preissperre", Preissperre)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kostenstelle", Kostenstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubkontoNr", AufschubkontoNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gl_account", Gl_account)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Analysis_type", Analysis_type)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Analysis_code", Analysis_code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerpflichtig", SachkontoInlandSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerfrei", SachkontoInlandSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerpflichtig", SachkontoEUSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerfrei", SachkontoEUSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto3Land", Sachkonto3Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BS415", BS415)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebUStV", BGebUStV)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_Gl_account", IMEX_Gl_account)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoInlandSteuerpflichtig", IMEX_SachkontoInlandSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoInlandSteuerfrei", IMEX_SachkontoInlandSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoEUSteuerpflichtig", IMEX_SachkontoEUSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoEUSteuerfrei", IMEX_SachkontoEUSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_Sachkonto3Land", IMEX_Sachkonto3Land)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Leistungen WITH(updlock,serializable) WHERE LeistungsNr=@LeistungsNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Leistungen WHERE LeistungsNr=@LeistungsNr ", conn) + cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Leistungen] SET " & str & " WHERE LeistungsNr=@LeistungsNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Leistungen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb new file mode 100644 index 0000000..d569c65 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb @@ -0,0 +1,127 @@ + + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cLeistungenBUKonten + + + Property LeistungsNr As Integer + Property Firma_ID As Integer + Property Gl_account As Object = Nothing + + Property SachkontoInlandSteuerpflichtig As Object = Nothing + Property SachkontoInlandSteuerfrei As Object = Nothing + Property SachkontoEUSteuerpflichtig As Object = Nothing + Property SachkontoEUSteuerfrei As Object = Nothing + Property Sachkonto3Land As Object = Nothing + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New(LeistungsNr, Firma_ID) + Me.LeistungsNr = LeistungsNr + Me.Firma_ID = Firma_ID + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gl_account", Gl_account)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerpflichtig", SachkontoInlandSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerfrei", SachkontoInlandSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerpflichtig", SachkontoEUSteuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerfrei", SachkontoEUSteuerfrei)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto3Land", Sachkonto3Land)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM LeistungenBUKonten WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM LeistungenBUKonten WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID ", conn) + cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr) + cmd.Parameters.AddWithValue("@Firma_ID", Firma_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [LeistungenBUKonten] SET " & str & " WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO LeistungenBUKonten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb new file mode 100644 index 0000000..2896273 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb @@ -0,0 +1,482 @@ + + +Imports System.Net, System.Net.Sockets +Imports System.Text +Imports System.Threading +Imports VERAG_PROG_ALLGEMEIN + + +Public Class cMessangerListender + Dim serverSocket As Socket = Nothing + Dim clientSocket As Socket + Dim byteData(1023) As Byte + + Public Shared boolInitAufschub As Boolean = False + Public Shared boolFSSAtlas As Boolean = False + Public Shared boolDatenserver As Boolean = False + + Dim splitPanelDefaultHeight As Integer = 0 + + Public Sub START() + DIENST_InitSocket() 'initialisieren + End Sub + + Sub DIENST_InitSocket() + Try + + If serverSocket IsNot Nothing AndAlso serverSocket.IsBound Then + Else + If serverSocket IsNot Nothing Then Exit Sub 'Falls es schon läuft + serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) + Dim IpEndPoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8800) + serverSocket.Bind(IpEndPoint) + serverSocket.Listen(5) + serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing) + + End If + + Catch ex As Exception + 'LEIDER KEINE ANDRES LÖSUNG + End Try + End Sub + + Private Sub OnAccept(ByVal ar As IAsyncResult) + clientSocket = serverSocket.EndAccept(ar) + serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing) + AddClient(clientSocket) + End Sub + + Delegate Sub _AddClient(ByVal client As Socket) + Private Sub AddClient(ByVal client As Socket) ' Neunen Client hinzufügen + 'If InvokeRequired Then + ' Invoke(New _AddClient(AddressOf AddClient), client) + ' Exit Sub + 'End If + ' writeToFrmLog(client, "", "Verbindungsaufbau.. ") + Send("ConSuccess", client) ' Der Client bekommt die Nachricht, dass die Verbindung steht... + '... jetzt kann der Client senden, der Server horcht... + clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, + New AsyncCallback(AddressOf OnRecieve), clientSocket) + End Sub + + Private Sub Send(ByVal msg As String, ByVal client As Socket) 'An den Client senden + Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg) + client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client) + End Sub + Private Sub OnSend(ByVal ar As IAsyncResult) + Dim client As Socket = ar.AsyncState + client.EndSend(ar) + End Sub + + Private Sub OnRecieve(ByVal ar As IAsyncResult) ' Wenn ein Task-Befehl vom Client empfangen wurde + Dim client As Socket = ar.AsyncState + Try + client.EndReceive(ar) + Dim bytesRec As Byte() = byteData + Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec) '.Replace(Convert.ToChar(0), "") + Dim s As String = Read(message, client) + If s <> "" Then Send(s, client) ' Die Aufgabe wird abgearbeitet, der Client bekommt bei Fehler eine Antwort... + Catch ex As Exception + client.Shutdown(SocketShutdown.Both) + client.Close() + End Try + End Sub + Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) + + End Sub + + Delegate Function _Read(ByVal msg As String, client As Socket, messageFile() As Byte, fileName As String) + Private Function Read(ByVal msg As String, client As Socket, Optional messageFile() As Byte = Nothing, Optional fileName As String = "") As String + 'If InvokeRequired Then + ' Invoke(New _Read(AddressOf Read), msg, client, messageFile, fileName) + ' Return "" + 'End If + msg = msg.Replace(Convert.ToChar(0), "") + ' MsgBox("MESSSSS:::::::::::: " & msg) + Select Case msg + Case "test" 'nur ein Test, des Ergbnis ist immer Positiv + ' writeToFrmLog(client, "test", "test ") + ' Return "Task successful" + Send("Task successful", client) 'Client-Mittelung + Case "NEW_MESSAGE" 'der Task initAufschubkonten wird aufgerufen + ' MsgBox("NEW_MESSAGE!!!!!") + ' If Not boolInitAufschub Then Me.writeToFrmLog(client, "initAufschubkonten", "Abgebrochen - Task nicht aktiv " & msg) : Return "Task inactive" + + ' die eigentliche Funktion wird in einem Tread aufgrufen + Dim thread As New Thread(AddressOf NEW_MESSAGE) + thread.IsBackground = True + 'thread.Start(client) + thread.Start() + + 'Ein zweiter Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf. + 'Dim st As New Thread(AddressOf stopThread) + 'st.IsBackground = True + 'Dim param_obj(3) As Object + ''Übergabeparameter des 2. Threads + 'param_obj(0) = thread + 'param_obj(1) = client + 'param_obj(2) = 60 + 'st.Start(param_obj) + + 'Send("Task successful", client) 'Client-Mittelung + + Return "" + + + End Select + + Return "Task not found" + ' Me.writeToFrmLog(client, "", "ERROR: Undefinierter Task: " & msg) + + End Function + + Sub NEW_MESSAGE() + VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True + ' MsgBox("jojo") + 'For Each openForm In Application.OpenForms() + ' If TypeOf (openForm) Is frmMessenger Then + ' 'MsgBox("Sendungsfenster bereits geöffnet!") + ' 'CType(openForm, frmSendungsdetailsNEU).BringToFront() + ' 'Return Nothing + ' CType(openForm, frmMessenger).REFRESH_CHAT() + ' CType(openForm, frmMessenger).btnTEST.Visible = True + ' Exit For + ' End If + 'Next + End Sub + + Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout } + Thread.Sleep(param_obj(2) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde. + If param_obj(0).IsAlive Then + param_obj(0).Abort() ' Wenn der Hauptthread noch immer läuft, wird er jetzt beendet. + Else + Exit Sub + End If + Send("Task timeout", param_obj(1)) 'Client-Mittelung + 'Me.writeToFrmLog(param_obj(1), "ERROR: Task wurde aufgrund eines Timeouts abgebrochen.") 'Log-Mittelung + End Sub + + + + + + ''Threadsichere Funktion zum schreiben in die TextBox: + 'Delegate Sub writeToFrmLogCallback(ByVal client As Socket, ByVal nameTask As String, ByVal text As String) + 'Public Sub writeToFrmLog(ByVal client As Socket, ByVal nameTask As String, ByVal text As String) + + ' ' InvokeRequired required compares the thread ID of the + ' ' calling thread to the thread ID of the creating thread. + ' ' If these threads are different, it returns true. + ' If Me.txtLog.InvokeRequired Then + ' Dim d As New writeToFrmLogCallback(AddressOf writeToFrmLog) + ' Me.Invoke(d, New Object() {client, nameTask, text}) + ' Else + ' Dim remoteIpEndPoint As IPEndPoint = client.RemoteEndPoint + ' Me.txtLog.Text &= Now.ToString("dd.MM.yyyy HH:mm ") & nameTask & " (" & remoteIpEndPoint.Address.ToString & "): " & text & vbNewLine + ' If Me.txtLog.Lines.Count > 35 Then + ' Dim arr As String() = Me.txtLog.Lines + ' Me.txtLog.Text = "" + ' For i = arr.Count - 35 To arr.Count - 1 + ' Me.txtLog.Text &= arr(i) & vbNewLine + ' Next i + ' End If + ' End If + ' Me.txtLog.SelectionLength = 0 + 'End Sub + + 'Public Sub writeToFrmLog(ByVal nameTask As String, ByVal text As String) + ' Me.txtLog.Text &= Now.ToString("dd.MM.yyyy HH:mm ") & nameTask & ": " & text & vbNewLine + ' If Me.txtLog.Lines.Count > 35 Then + ' Dim arr As String() = Me.txtLog.Lines + ' Me.txtLog.Text = "" + ' For i = arr.Count - 35 To arr.Count - 1 + ' Me.txtLog.Text &= arr(i) & vbNewLine + ' Next i + ' End If + 'End Sub + + + + 'Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'geht nicht + ' clientSocket.Close() + + ' If clientSocket.Connected Then + ' clientSocket.Shutdown(SocketShutdown.Both) + ' clientSocket.Close() + ' End If + ' clientSocket.Disconnect(True) + + ' txtInitAufschubStatus.Text = "angehalten" + ' txtInitAufschubStatus.ForeColor = Color.DarkRed + 'End Sub + + Public Sub STOP_MSG_LISTENDER() + clientSocket.Shutdown(SocketShutdown.Both) + clientSocket.Close() + serverSocket.Shutdown(SocketShutdown.Both) + serverSocket.Close() + serverSocket = Nothing + DIENST_InitSocket() + End Sub + + + + + + Private Result As Object = Nothing 'Store the worked result of abc() + Private Sub Worker(ByVal state As Object) + Dim are As AutoResetEvent = DirectCast(state, AutoResetEvent) + ' do anything you want here: + + + + + + Dim result As Integer = 0 + 'result = abc(input_val); + + SyncLock Me.Result + Me.Result = result + End SyncLock + are.[Set]() + End Sub + 'Private Sub method() + + ' Const TimeOut As Int32 = 5000 + ' Dim [handles] As WaitHandle() = New WaitHandle() {New AutoResetEvent(False)} + + ' ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Worker), [handles](0)) + ' Dim finished As Boolean = WaitHandle.WaitAll([handles], TimeOut, True) + ' 'ThreadPool.RegisterWaitForSingleObject () + + ' If finished Then + ' ' step 2 + ' MessageBox.Show("Worker function finished sucessfully, go to Step2") + ' Else + ' ' step 3 + ' MessageBox.Show([String].Format("Worker function time out({0})!, go to Step3", TimeOut)) + ' End If + 'End Sub + + +End Class + +Public Class cServerClient + Dim clientSocket As Socket + Dim byteData(1023) As Byte + Dim doThis As String + Dim params() As String + Public status As String = "begin" + ' Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + ' begin() + ' End Sub + + Public Event FunctionFinished(ByVal sender As Object, ByVal e As FunctionFinishedArgs) + + + Public Sub begin(ip, doThis_tmp, Optional params() = Nothing) + Try + + doThis = doThis_tmp + params = params + Dim timeOut As Integer = 60 + Select Case doThis + Case "test" : timeOut = 5 ' nach 5 Sekunden wird abgebrochen + Case "NEW_MESSAGE" : timeOut = 5 ' nach 120 Sekunden wird abgebrochen + 'Case "initAufschubkonten" : timeOut = 60 ' nach 60 Sekunden wird abgebrochen + End Select + + 'Ein Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf. + 'Dim st As New Thread(AddressOf stopThread) + 'st.IsBackground = True + 'Dim param_obj(1) As Object + ''Übergabeparameter des 2. Threads + 'param_obj(0) = timeOut + 'st.Start(param_obj) + + + clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) + Dim ipAddress As IPAddress = IPAddress.Parse(ip) + + ' Dim ipAddress As IPAddress = ipAddress.Parse("192.168.0.90") + Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8800) + clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing) + status = "beginConnect" + ' endconnect(clientSocket) + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + End Sub + + Public Sub waitTillFinished() + While Not (status = "TaskError" Or status = "TaskSuccess") + 'wait + End While + 'Return True + End Sub + + Private Sub OnConnect(ByVal ar As IAsyncResult) + Try + clientSocket.EndConnect(ar) + clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, + New AsyncCallback(AddressOf OnRecieve), clientSocket) + Catch ex As Exception + ' MsgBox("Verbindung zum Server konnte nicht aufgebaut werden!") + End Try + End Sub + + Private Sub OnSend(ByVal ar As IAsyncResult) + Dim client As Socket = ar.AsyncState + client.EndSend(ar) + End Sub + Private Sub Send(ByVal msg As String, ByVal client As Socket) + Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg) + client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client) + End Sub + Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String + Dim enc As System.Text.Encoding = Encoding.BigEndianUnicode + Return enc.GetString(Barr) + End Function + + Private Sub OnRecieve(ByVal ar As IAsyncResult) + Try + Dim client As Socket = ar.AsyncState + client.EndReceive(ar) + Dim bytesRec As Byte() = byteData + Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec) + ' MsgBox("FROM SERVER: " & message) + Dim b(1023) As Byte + + ' MsgBox("SERVER RECIEVE: " & Encoding.BigEndianUnicode.GetString(b)) + + byteData = b + Read(message) + clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, + New AsyncCallback(AddressOf OnRecieve), clientSocket) + + Catch ex As Exception + ' MsgBox("Verbindung zum Server wurde unterbrochen!") + End Try + End Sub + + Delegate Sub _Read(ByVal msg As String) + Private Sub Read(ByVal msg As String) + 'If frmMain.InvokeRequired Then + ' frmMain.Invoke(New _Read(AddressOf Read), msg) + ' Exit Sub + 'End If + + 'frmMain.icoVERAGMonitoring.Visible = False + + 'if richtige nsachricht + ' Dim asciis As Byte() = Encoding.BigEndianUnicode.GetBytes(msg) + ' Dim a As Char = msg(msg.Length - 1) + ' msg = msg.Replace(a, "") + ' MsgBox(msg.Length) + + ' MsgBox(msg(msg.Length - 1)) + ' MsgBox(msg(msg.Length - 1)) + ' MsgBox(Asc(msg(msg.Length - 1))) + ' MsgBox(Asc(msg(msg.Length - 2))) + msg = msg.Replace(Convert.ToChar(0), "") + Try + + ' MsgBox("-" & msg & "-" & vbNewLine & "ConSuccess" & "-") + If msg = "ConSuccess" Then + status = "ConSuccess" + Select Case doThis + Case "test" + Send("test", clientSocket) + status = "sendTask" + Case "NEW_MESSAGE" + Send("NEW_MESSAGE", clientSocket) + status = "sendTask" + End Select + + ' MsgBox("!!!!!ConSuccess --> initAufschubkonten") + ' Send("FSSAtlasStart", clientSocket) + 'Send("test", clientSocket) + 'Send("initAufschubkonten", clientSocket) + + 'ElseIf msg = "Task successful" Then + ' status = "TaskSuccess" + ' clientSocket.Disconnect(False) + ' clientSocket.Shutdown(SocketShutdown.Both) + ' clientSocket.Close() + ' 'endconnect(clientSocket)'geht ned + ' ' MsgBox("Task erfolgreich!", vbSystemModal, doThis) + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.OK, "Task erfolgreich!")) + 'ElseIf msg = "Task not found" Then + ' MsgBox("SERVERERROR: Der Dienst wurde nicht gefunden!", vbSystemModal, "NEW_MESSAGE") + ' status = "TaskError" + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienst wurde nicht gefunden!")) + 'ElseIf msg = "Task inactive" Then + ' MsgBox("SERVERERROR: Der Dienste ist nicht aktiv!", vbSystemModal, "NEW_MESSAGE") + ' status = "TaskError" + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienste ist nicht aktiv!")) + 'ElseIf msg = "Task timeout" Then + ' MsgBox("SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!", vbSystemModal, "NEW_MESSAGE") + ' status = "TaskError" + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!")) + 'ElseIf msg = "Task error" Then + ' MsgBox("SERVERERROR: Server-Fehler!", vbSystemModal, "NEW_MESSAGE") + ' status = "TaskError" + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Server-Fehler!")) + 'Else + ' MsgBox("SERVER_NACHRICHT NICHT VERSTANDEN: " & msg, vbSystemModal) + ' status = "TaskError" + ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVER_NACHRICHT NICHT VERSTANDEN: " & msg)) + + ' clientSocket.Shutdown(SocketShutdown.Both) + ' clientSocket.Close() + End If + + Catch ex As Exception + MsgBox("Verbindungs-Fehler beim Senden", vbSystemModal) + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "Verbindungs-Fehler beim Senden")) + clientSocket.Close() + End Try + ' byteData = Encoding.BigEndianUnicode.GetBytes("") + + End Sub + + + + Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout } + Thread.Sleep(param_obj(0) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde. + If status = "TaskError" Or status = "TaskSuccess" Then Exit Sub + status = "TaskError" + Try + clientSocket.Disconnect(False) + clientSocket.Shutdown(SocketShutdown.Both) + clientSocket.Close() + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "Task wurde aufgrund eines Timeouts vom Client abgebrochen.")) + MsgBox("ERROR: Task wurde aufgrund eines Timeouts vom Client abgebrochen.") 'Log-Mittelung + End Sub + + +End Class + +Public Class FunctionFinishedArgs + Inherits EventArgs + 'das was man später unter e sehen kann + Public Result As EventResult + 'hier - als Beispiel - einfach eine Enum + Public Enum EventResult + OK + ERR + End Enum + Public Message As String + 'Zum übergeben der Parameter + Public Sub New(ByVal r As EventResult, m As String) + Result = r + Message = m + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb new file mode 100644 index 0000000..2b67fa6 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb @@ -0,0 +1,832 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cMessenger + + Public Shared NEW_MESSGE As Boolean = False + Public Shared UNREAD_MESAGES As Integer = 0 + + Shared SQL As New SQL + + Public Shared Function GEN_NEW_CHAT(chat_name As String, MaIds As List(Of Integer), Optional ByRef CHAT As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat = Nothing) As Boolean + CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat + CHAT.chat_erstelltAm = Now + CHAT.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + CHAT.chat_name = chat_name + + For Each maId In MaIds + Dim MB As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMembers(CHAT.chat_id, maId) + MB.chatMb_maId = maId + CHAT.CHAT_MEMBERS.Add(MB) + Next + Return CHAT.SAVE(True) + + End Function + + Public Shared Function CHECK_EXISTS(MaId As Integer, Optional ByRef toChatID As Integer = -1) As Boolean + Dim sqlStr = "Select TOP 1 chat_id FROM [tblMessenger_Chat] inner join tblMessenger_ChatMembers On chatMb_chatId=chat_id where chat_name='' AND [chat_aktiv]=1 + And (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMb_chatId=chat_id And chatMb_maId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "' ) >0 + And (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMb_chatId=chat_id And chatMb_maId='" & MaId & "' ) >0 + order by chat_id DESC" + + toChatID = SQL.getValueTxtBySql(sqlStr, "ADMIN",,, -1) + Return (toChatID > 0) + End Function + + + Public Shared Function GET_NewMSG_COUNT(Optional maId = -1) As Integer + If maId < 0 Then maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0", "ADMIN",,, 0) + End Function + + Public Shared Function GET_CHAT_LIST() As List(Of cMessenger_Chat) + Dim LIST As New List(Of cMessenger_Chat) + Dim dt = SQL.loadDgvBySql("SELECT [chat_id] FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0", "ADMIN") + + For Each r In dt.Rows + Dim CHAT As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(r("chat_id")) + LIST.Add(CHAT) + Next + Return LIST + + End Function + + Public Class cMessenger_Chat + + Property chat_id As Integer = -1 + Property chat_name As String + Property chat_erstelltAm As Date = Now + Property chat_erstelltMaId As Integer + Property chat_aktiv As Boolean = True + + Public CHAT_MEMBERS As New List(Of cMessenger_ChatMembers) + Public CHAT_MESSAGES As New List(Of cMessenger_ChatMessages) + Dim SQL As New SQL + + Sub New() + Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.chat_erstelltAm = Now + LOAD() + End Sub + + + Sub New(chat_id As Integer, Optional topMax As String = "", Optional dateTmp As Object = Nothing) + Me.chat_id = chat_id + Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.chat_erstelltAm = Now + LOAD(topMax, dateTmp) + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_id", chat_id,, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_name", chat_name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_erstelltAm", chat_erstelltAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_erstelltMaId", chat_erstelltMaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_aktiv", chat_aktiv)) + + Return list + End Function + + + + Public Function SAVE(saveAll As Boolean) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_Chat WHERE chat_id=@chat_id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + chat_id = SQL.doSQLVarListID(chat_id, sqlstr, "ADMIN", , list) + + If saveAll Then + SAVE_MEMBERS() + End If + + Return chat_id > 0 + End Function + + Public Sub LOAD(Optional topMax As String = "", Optional dateTmp As Object = Nothing) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("Select * FROM tblMessenger_Chat WHERE chat_id=@chat_id ", conn) + cmd.Parameters.AddWithValue("@chat_id", chat_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + Me.LOAD_MEMBERS() + If dateTmp Is Nothing Then + Me.LOAD_MESSAGES(topMax) + Else + Me.LOAD_MESSAGES_DATE(dateTmp) + End If + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function SAVE_MEMBERS() As Boolean + Try + DELETE_MEMBERS() + For Each MB In Me.CHAT_MEMBERS + MB.chatMb_chatId = Me.chat_id + MB.SAVE() + Next + Return True + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + Return False + End Try + End Function + + Public Function READ_ALL_MESSAGES() As Boolean + Dim sqlstr = "UPDATE tblMessenger_ChatMessageStatus SET chatMgSt_gelesen=1 FROM [tblMessenger_Chat] INNER JOIN tblMessenger_ChatMessages ON [chat_id]=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chat_id=" & Me.chat_id & " AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0 " + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + Public Function DELETE_MEMBERS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=" & Me.chat_id + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + Public Sub LOAD_MEMBERS() + Try + Me.CHAT_MEMBERS.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMembers WHERE chatMb_chatId=@chat_id ", conn) + cmd.Parameters.AddWithValue("@chat_id", chat_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim MB As New cMessenger_ChatMembers(Me.chat_id, dr.Item("chatMb_maId")) + Me.CHAT_MEMBERS.Add(MB) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub LOAD_MESSAGES(Optional top As Integer = 100) + Try + Me.CHAT_MESSAGES.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM(SELECT TOP " & top & " * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn) + cmd.Parameters.AddWithValue("@chat_id", chat_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc + Me.CHAT_MESSAGES.Add(MSG) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOAD_MESSAGES_DATE(dateTmp As Date) + Try + Me.CHAT_MESSAGES.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id AND CAST(chatMg_datetime as date)>=@dateTmp order by chatMg_datetime asc", conn) + cmd.Parameters.AddWithValue("@chat_id", chat_id) + cmd.Parameters.AddWithValue("@dateTmp", dateTmp) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc + Me.CHAT_MESSAGES.Add(MSG) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblMessenger_Chat] SET " & str & " WHERE chat_id=@chat_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblMessenger_Chat (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblMessenger_Chat] WHERE chat_id=" & Me.chat_id + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + + End Class + + Public Class cMessenger_ChatMembers + + Property chatMb_chatId As Integer = -1 + Property chatMb_maId As Integer = -1 + Property chatMb_beitritt As Date = Now + + Dim SQL As New SQL + + + + Sub New(chatMb_chatId, chatMb_maId) + Me.chatMb_chatId = chatMb_chatId + Me.chatMb_maId = chatMb_maId + Me.chatMb_beitritt = Now + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_chatId", chatMb_chatId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_maId", chatMb_maId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_beitritt", chatMb_beitritt)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "ADMIN", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId ", conn) + cmd.Parameters.AddWithValue("@chatMb_chatId", chatMb_chatId) + cmd.Parameters.AddWithValue("@chatMb_maId", chatMb_maId) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblMessenger_ChatMembers] SET " & str & " WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO [tblMessenger_ChatMembers] (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE([chatMb_maId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblMessenger_ChatMembers] WHERE [chatMb_chatId]=" & Me.[chatMb_chatId] & " AND [chatMb_maId] ='" & [chatMb_maId] & "'" + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + + End Class + + Public Class cMessenger_ChatStatus + + Property chatMgSt_chatMsgId As Integer + Property chatMgSt_MaId As Integer + Property chatMgSt_gelesen As Boolean = False + Property chatMgSt_datetime As Date = Now + + Dim SQL As New SQL + + + Sub New(chatMgSt_chatMsgId, chatMgSt_MaId, chatMgSt_gelesen) + Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId + Me.chatMgSt_MaId = chatMgSt_MaId + Me.chatMgSt_gelesen = chatMgSt_gelesen + Me.chatMgSt_datetime = Now + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_chatMsgId", chatMgSt_chatMsgId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_MaId", chatMgSt_MaId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_gelesen", chatMgSt_gelesen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_datetime", chatMgSt_datetime)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessages WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "ADMIN", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessages WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ", conn) + cmd.Parameters.AddWithValue("@chatMgSt_chatMsgId", chatMgSt_chatMsgId) + cmd.Parameters.AddWithValue("@chatMgSt_MaId", chatMgSt_MaId) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE tblMessenger_ChatMessages SET " & str & " WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblMessenger_ChatMessages (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM tblMessenger_ChatMessages WHERE [chatMgSt_chatMsgId]=" & Me.chatMgSt_chatMsgId & " AND [chatMgSt_MaId] ='" & chatMgSt_MaId & "'" + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + + End Class + + + Public Class cMessenger_ChatMessages + + Property chatMg_id As Integer ' INT Not NULL PRIMARY KEY IDENTITY, + + Property chatMg_chatId As Integer ' INT Not NULL, + Property chatMg_maId As Integer ' INT Not NULL, + Property chatMg_datetime As Date = Now + Property chatMg_maName As String = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname + Property chatMg_maFirma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Property chatMg_type As String = "TEXT" + Property chatMg_text As String = "" + Property chatMg_anhang_docId As Integer ' int NULL, + Property chatMg_referenz_AvisoId As Integer ' int NULL, + Property chatMg_referenz_SendungsId As Integer ' int NULL, + Property chatMg_referenz_KundenNr As Integer ' int NULL + + Public CHAT_MESSAGES_STATUS_LIST As New List(Of cMessenger_ChatMessageStatus) + + Dim SQL As New SQL + + + Sub New(chatMg_id) + Me.chatMg_id = chatMg_id + LOAD() + End Sub + Sub New(chatMg_chatId, chatMg_maId) + Me.chatMg_chatId = chatMg_chatId + Me.chatMg_maId = chatMg_maId + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_id", chatMg_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maId", chatMg_maId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_chatId", chatMg_chatId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_datetime", chatMg_datetime)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maName", chatMg_maName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maFirma", chatMg_maFirma)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_type", chatMg_type)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_text", chatMg_text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_anhang_docId", chatMg_anhang_docId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_AvisoId", chatMg_referenz_AvisoId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_SendungsId", chatMg_referenz_SendungsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_KundenNr", chatMg_referenz_KundenNr)) + + Return list + End Function + + + + Public Function SAVE(saveStat As Boolean, Optional CHAT_MEMBERS As List(Of cMessenger_ChatMembers) = Nothing) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessages WHERE chatMg_id=@chatMg_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + Dim tmp_id = SQL.doSQLVarListID(Me.chatMg_id, sqlstr, "ADMIN", , list) + If tmp_id > 0 Then + Me.chatMg_id = tmp_id + If saveStat Then SAVE_STATUS_FIRST(CHAT_MEMBERS) + UPDATE_LASTMSG() ' Versucht einen TSTMP der letzten Nachricht einzutragen + Return True + Else + Return False + End If + + + ''Return SQL.doSQLVarList(sqlstr, "ADMIN", , list) + End Function + + + Public Function UPDATE_LASTMSG() As Boolean + Dim sqlstr = " UPDATE tblMessenger_Chat SET chat_lastMsg=getDate() WHERE [chat_id]=" & Me.chatMg_chatId & " " + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessages WHERE chatMg_id=@chatMg_id ", conn) + cmd.Parameters.AddWithValue("@chatMg_id", chatMg_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + LOAD_STATUS() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE tblMessenger_ChatMessages SET " & str & " WHERE chatMg_id=@chatMg_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblMessenger_ChatMessages (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM tblMessenger_ChatMessages WHERE [chatMg_id]=" & Me.chatMg_id & " " + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + Public Sub SAVE_STATUS_FIRST(CHAT_MEMBERS As List(Of cMessenger_ChatMembers)) + Try + If CHAT_MEMBERS IsNot Nothing Then + For Each MB In CHAT_MEMBERS + Dim gelesen = False + If MB.chatMb_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + gelesen = True + End If + Dim STAT As New cMessenger_ChatMessageStatus(Me.chatMg_id, MB.chatMb_maId, gelesen) + + STAT.SAVE() + Next + End If + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + 'Public Function DELETE_STATUS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim sqlstr = " DELETE FROM [tblMessenger_ChatMessageStatus] WHERE chatMb_chatId=" & Me.chatMg_chatId + ' Return SQL.doSQL(sqlstr, "ADMIN") + 'End Function + + Public Sub LOAD_STATUS() + Try + Me.CHAT_MESSAGES_STATUS_LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMg_id ", conn) + cmd.Parameters.AddWithValue("@chatMg_id", Me.chatMg_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim MB As New cMessenger_ChatMessageStatus(Me.chatMg_id, dr.Item("chatMgSt_MaId")) + Me.CHAT_MESSAGES_STATUS_LIST.Add(MB) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + End Class + + + + + Public Class cMessenger_ChatMessageStatus + + Property chatMgSt_chatMsgId As Integer + Property chatMgSt_MaId As Integer + Property chatMgSt_datetime As Date = Now + Property chatMgSt_gelesen As Boolean = False + + Dim SQL As New SQL + + + Sub New(chatMgSt_chatMsgId, chatMgSt_MaId) + Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId + Me.chatMgSt_MaId = chatMgSt_MaId + LOAD() + End Sub + Sub New(chatMgSt_chatMsgId, chatMgSt_MaId, chatMgSt_gelesen) + Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId + Me.chatMgSt_MaId = chatMgSt_MaId + Me.chatMgSt_gelesen = chatMgSt_gelesen + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_chatMsgId", chatMgSt_chatMsgId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_MaId", chatMgSt_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_datetime", chatMgSt_datetime)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_gelesen", chatMgSt_gelesen)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "ADMIN", , list) + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ", conn) + cmd.Parameters.AddWithValue("@chatMgSt_chatMsgId", chatMgSt_chatMsgId) + cmd.Parameters.AddWithValue("@chatMgSt_MaId", chatMgSt_MaId) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE tblMessenger_ChatMessageStatus SET " & str & " WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblMessenger_ChatMessageStatus (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM tblMessenger_ChatMessageStatus WHERE [chatMgSt_chatMsgId]=" & Me.chatMgSt_chatMsgId & " AND [chatMgSt_MaId]=" & Me.chatMgSt_MaId & " " + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + End Class + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb new file mode 100644 index 0000000..2111ba8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb @@ -0,0 +1,403 @@ +Imports System.Data.SqlClient + + +Public Class cMitarbeiter + Property mit_id As Integer + Property mit_username As String = "" + Property mit_pwd As String = "" + Property mit_geschlecht As String = "" + Property mit_affix As String = "" + Property mit_vname As String = "" + Property mit_nname As String = "" + Property mit_gebdat As String = "" + Property mit_strasse As String = "" + Property mit_hausnr As String = "" + Property mit_land As String = "" + Property mit_plz As String = "" + Property mit_ort As String = "" + Property mit_niederlassung As String = "" + Property mit_abteilung As String = "" + Property mit_position As String = "" + Property mit_durchwahl As String = "" + Property mit_email As String = "" + Property mit_mobiltel As String = "" + Property mit_allowAnruf As Boolean + Property mit_info As String = "" + Property mit_einstiegsdatum As String = "" + Property mit_gekuendigt As Boolean + Property mit_kuendigungsdatum As String = "" + Property mit_foto As String = "" + Property mit_firma As String = "VERAG" + Property mit_firmaFMZoll As Object = Nothing + Property mit_FMZollPersID As Object = Nothing + Property mit_standartFiliale As Integer = -1 + Property mit_standardPreisliste As Integer = -1 + Property mit_FMZollPersIDKasseIsnotSpedBuch As Boolean = False + Property mit_FMZollPersIDSpedBuch As Object = Nothing + Property mit_DpUserStandardDP As Object = Nothing + Property mit_DpUserStandardFirma As Object = Nothing + Property mit_DpUserStandardFirma2 As Object = Nothing + + Property mit_EZOLL_SB As Object = Nothing + Property mit_ATLAS_SB As Object = Nothing + Property mit_pseudoUser As Boolean = False + + Property mit_FirmenDatenAnzeige As Object = Nothing + + Property mit_DAKOSY_SB As Object = Nothing + Property mit_DAKOSY_SBFull As Object = Nothing + Property mit_TESTonly As Object = Nothing + Property mit_PasswortChanged As Object = Nothing + Property mit_TELOTEC_SB As Object = Nothing + + + Property mit_AliasAD_Domain As Object = Nothing + Property mit_AliasAD_Username As Object = Nothing + Property mit_AliasAD_Domain2 As Object = Nothing + Property mit_AliasAD_Username2 As Object = Nothing + + Property mit_teamId As Object = Nothing + Property mit_ChatBenutzer As Boolean = True + Property mit_FirmaHaupt As Object = Nothing + Property mit_ChatEasteregg As Boolean = False + + + + Property mit_MAVerzeichnis_SettingsTstmp As Object = Nothing + Property mit_MAVerzeichnis_allowGebDat As Boolean = False + Property mit_MAVerzeichnis_allowWohnadresse As Boolean = False + Property mit_MAVerzeichnis_allowGebDatOhneJahr As Boolean = False + Property mit_MAVerzeichnis_allowHandynummer As Boolean = False + Property mit_MAVerzeichnis_allowFoto As Boolean = False + + + Property mit_MAVerzeichnis_Motto As Object = Nothing + Property mit_MAVerzeichnis_Spitzname As Object = Nothing + + Property mit_foto_DocId As Object = Nothing + Property mit_sprache As String = "DE" + + + Dim SQL As New SQL + + Sub New() + + End Sub + + Sub New(id) + Me.mit_id = id + LOAD(id) + + End Sub + ' Dim SQL As New SQL + + Public Function Fullname() As String + Return (If(mit_vname, "") & " " & If(mit_nname, "")).Trim + End Function + + + Public Function getFirma() As String + If mit_firma Is Nothing Then Return "" + Select Case mit_firma + Case "ALLE", "BEIDE", "ALL" + Return If(mit_FirmaHaupt, "") + End Select + Return mit_firma + End Function + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_id", mit_id,, True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_username", mit_username)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_pwd", mit_pwd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_geschlecht", mit_geschlecht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_affix", mit_affix)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_vname", mit_vname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_nname", mit_nname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_gebdat", mit_gebdat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_strasse", mit_strasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_hausnr", mit_hausnr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_land", mit_land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_plz", mit_plz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ort", mit_ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_niederlassung", mit_niederlassung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_abteilung", mit_abteilung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_position", mit_position)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_durchwahl", mit_durchwahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_email", mit_email)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_mobiltel", mit_mobiltel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_allowAnruf", mit_allowAnruf)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_info", mit_info)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_einstiegsdatum", mit_einstiegsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_gekuendigt", mit_gekuendigt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_kuendigungsdatum", mit_kuendigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_foto", mit_foto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_firma", mit_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_firmaFMZoll", mit_firmaFMZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersID", mit_FMZollPersID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_standartFiliale", mit_standartFiliale)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_standardPreisliste", mit_standardPreisliste)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersIDKasseIsnotSpedBuch", mit_FMZollPersIDKasseIsnotSpedBuch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersIDSpedBuch", mit_FMZollPersIDSpedBuch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardDP", mit_DpUserStandardDP)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardFirma", mit_DpUserStandardFirma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardFirma2", mit_DpUserStandardFirma2)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_EZOLL_SB", mit_EZOLL_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ATLAS_SB", mit_ATLAS_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_pseudoUser", mit_pseudoUser)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FirmenDatenAnzeige", mit_FirmenDatenAnzeige)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DAKOSY_SB", mit_DAKOSY_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DAKOSY_SBFull", mit_DAKOSY_SBFull)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_TESTonly", mit_TESTonly)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_PasswortChanged", mit_PasswortChanged)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_TELOTEC_SB", mit_TELOTEC_SB)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Domain", mit_AliasAD_Domain)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Username", mit_AliasAD_Username)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Domain2", mit_AliasAD_Domain2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Username2", mit_AliasAD_Username2)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_teamId", mit_teamId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ChatBenutzer", mit_ChatBenutzer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FirmaHaupt", mit_FirmaHaupt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ChatEasteregg", mit_ChatEasteregg)) + + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_SettingsTstmp", mit_MAVerzeichnis_SettingsTstmp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowGebDat", mit_MAVerzeichnis_allowGebDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowWohnadresse", mit_MAVerzeichnis_allowWohnadresse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowGebDatOhneJahr", mit_MAVerzeichnis_allowGebDatOhneJahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowHandynummer", mit_MAVerzeichnis_allowHandynummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowFoto", mit_MAVerzeichnis_allowFoto)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_Motto", mit_MAVerzeichnis_Motto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_Spitzname", mit_MAVerzeichnis_Spitzname)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_foto_DocId", mit_foto_DocId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_sprache", mit_sprache)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMitarbeiter WHERE mit_id=@mit_id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + Dim id = SQL.doSQLVarListID(mit_id, sqlstr, "ADMIN", , list) + If id > 0 Then + mit_id = id + Return mit_id + Else + Return -1 + End If + + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblMitarbeiter] SET " & str & " WHERE mit_id=@mit_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblMitarbeiter (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblMitarbeiter] WHERE mit_id=" & Me.mit_id + Return SQL.doSQL(sqlstr, "ADMIN") + End Function + + + + 'Public Sub LOAD(Optional topMax As String = "") + ' Try + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + ' Using cmd As New SqlCommand("Select * FROM tblMitarbeiter WHERE mit_id=@mit_id ", conn) + ' cmd.Parameters.AddWithValue("@mit_id", mit_id) + ' Dim dr = cmd.ExecuteReader() + ' If dr.Read Then + ' For Each l In getParameterList() + ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + ' If dr.Item(l.Text) Is DBNull.Value Then + ' propInfo.SetValue(Me, Nothing) + ' Else + ' propInfo.SetValue(Me, dr.Item(l.Text)) + ' End If + + ' Next + ' Me.LOAD_MEMBERS() + ' Me.LOAD_MESSAGES(topMax) + ' End If + ' dr.Close() + ' End Using + ' End Using + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + 'End Sub + + + Public Function LOAD(ByVal id As Integer) As Boolean + Dim sqlstr As String = "SELECT * FROM tblMitarbeiter WHERE mit_id = " & id & "" + ' adasdas() + ' Dim d As VERAG_PROG_ALLGEMEIN.cMitarbeiter = Nothing + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN + Using cmd As New SqlCommand(sqlstr, conn) + Dim dr = cmd.ExecuteReader() + If dr.HasRows Then + dr.Read() + ' d = New VERAG_PROG_ALLGEMEIN.cMitarbeiter() + Try + Me.mit_id = dr.Item("mit_id") + Me.mit_username = dr.Item("mit_username") + Me.mit_pwd = dr.Item("mit_pwd") + Me.mit_affix = dr.Item("mit_affix") + If Not dr.Item("mit_geschlecht") Is DBNull.Value Then Me.mit_geschlecht = dr.Item("mit_geschlecht") + Me.mit_vname = dr.Item("mit_vname") + Me.mit_nname = dr.Item("mit_nname") + If Not dr.Item("mit_gebdat") Is DBNull.Value Then Me.mit_gebdat = dr.Item("mit_gebdat") + Me.mit_strasse = dr.Item("mit_strasse") + Me.mit_hausnr = dr.Item("mit_hausnr") + Me.mit_land = dr.Item("mit_land") + Me.mit_plz = dr.Item("mit_plz") + Me.mit_ort = dr.Item("mit_ort") + Me.mit_niederlassung = dr.Item("mit_niederlassung") + Me.mit_abteilung = dr.Item("mit_abteilung") + Me.mit_position = dr.Item("mit_position") + Me.mit_durchwahl = dr.Item("mit_durchwahl") + Me.mit_email = dr.Item("mit_email") + Me.mit_mobiltel = dr.Item("mit_mobiltel") + Me.mit_allowAnruf = dr.Item("mit_allowAnruf") + If Not dr.Item("mit_FMZollPersID") Is DBNull.Value Then Me.mit_FMZollPersID = dr.Item("mit_FMZollPersID") + If Not dr.Item("mit_FMZollPersIDKasseIsnotSpedBuch") Is DBNull.Value Then Me.mit_FMZollPersIDKasseIsnotSpedBuch = dr.Item("mit_FMZollPersIDKasseIsnotSpedBuch") + If Not dr.Item("mit_FMZollPersIDSpedBuch") Is DBNull.Value Then Me.mit_FMZollPersIDSpedBuch = dr.Item("mit_FMZollPersIDSpedBuch") + If Not dr.Item("mit_DpUserStandardDP") Is DBNull.Value Then Me.mit_DpUserStandardDP = dr.Item("mit_DpUserStandardDP") + If Not dr.Item("mit_DpUserStandardFirma") Is DBNull.Value Then Me.mit_DpUserStandardFirma = dr.Item("mit_DpUserStandardFirma") + If Not dr.Item("mit_DpUserStandardFirma2") Is DBNull.Value Then Me.mit_DpUserStandardFirma2 = dr.Item("mit_DpUserStandardFirma2") + + + If Not dr.Item("mit_standartFiliale") Is DBNull.Value Then Me.mit_standartFiliale = dr.Item("mit_standartFiliale") + If Not dr.Item("mit_standardPreisliste") Is DBNull.Value Then Me.mit_standardPreisliste = dr.Item("mit_standardPreisliste") + + Me.mit_info = dr.Item("mit_info") + If Not dr.Item("mit_einstiegsdatum") Is DBNull.Value Then Me.mit_einstiegsdatum = dr.Item("mit_einstiegsdatum") + Me.mit_gekuendigt = dr.Item("mit_gekuendigt") + If Not dr.Item("mit_kuendigungsdatum") Is DBNull.Value Then Me.mit_kuendigungsdatum = dr.Item("mit_kuendigungsdatum") + If Not dr.Item("mit_foto") Is DBNull.Value Then Me.mit_foto = dr.Item("mit_foto") + Me.mit_firma = dr.Item("mit_firma") + If Not dr.Item("mit_firmaFMZoll") Is DBNull.Value Then Me.mit_firmaFMZoll = dr.Item("mit_firmaFMZoll") + If Not dr.Item("mit_EZOLL_SB") Is DBNull.Value Then Me.mit_EZOLL_SB = dr.Item("mit_EZOLL_SB") + If Not dr.Item("mit_ATLAS_SB") Is DBNull.Value Then Me.mit_ATLAS_SB = dr.Item("mit_ATLAS_SB") + Me.mit_pseudoUser = dr.Item("mit_pseudoUser") + If Not dr.Item("mit_DAKOSY_SB") Is DBNull.Value Then Me.mit_DAKOSY_SB = dr.Item("mit_DAKOSY_SB") + If Not dr.Item("mit_DAKOSY_SBFull") Is DBNull.Value Then Me.mit_DAKOSY_SBFull = dr.Item("mit_DAKOSY_SBFull") + If Not dr.Item("mit_TESTonly") Is DBNull.Value Then Me.mit_TESTonly = dr.Item("mit_TESTonly") + If Not dr.Item("mit_PasswortChanged") Is DBNull.Value Then Me.mit_PasswortChanged = dr.Item("mit_PasswortChanged") + + If Not dr.Item("mit_FirmenDatenAnzeige") Is DBNull.Value Then Me.mit_FirmenDatenAnzeige = dr.Item("mit_FirmenDatenAnzeige") + If Not dr.Item("mit_TELOTEC_SB") Is DBNull.Value Then Me.mit_TELOTEC_SB = dr.Item("mit_TELOTEC_SB") + If Not dr.Item("mit_AliasAD_Domain") Is DBNull.Value Then Me.mit_AliasAD_Domain = dr.Item("mit_AliasAD_Domain") + If Not dr.Item("mit_AliasAD_Username") Is DBNull.Value Then Me.mit_AliasAD_Username = dr.Item("mit_AliasAD_Username") + If Not dr.Item("mit_AliasAD_Domain2") Is DBNull.Value Then Me.mit_AliasAD_Domain2 = dr.Item("mit_AliasAD_Domain2") + If Not dr.Item("mit_AliasAD_Username2") Is DBNull.Value Then Me.mit_AliasAD_Username2 = dr.Item("mit_AliasAD_Username2") + If Not dr.Item("mit_teamId") Is DBNull.Value Then Me.mit_teamId = dr.Item("mit_teamId") + + + Me.mit_ChatBenutzer = dr.Item("mit_ChatBenutzer") + Me.mit_ChatEasteregg = dr.Item("mit_ChatEasteregg") + + + If Not dr.Item("mit_FirmaHaupt") Is DBNull.Value Then Me.mit_FirmaHaupt = dr.Item("mit_FirmaHaupt") + + + If Not dr.Item("mit_MAVerzeichnis_SettingsTstmp") Is DBNull.Value Then Me.mit_MAVerzeichnis_SettingsTstmp = dr.Item("mit_MAVerzeichnis_SettingsTstmp") + Me.mit_MAVerzeichnis_allowGebDat = dr.Item("mit_MAVerzeichnis_allowGebDat") + Me.mit_MAVerzeichnis_allowGebDatOhneJahr = dr.Item("mit_MAVerzeichnis_allowGebDatOhneJahr") + Me.mit_MAVerzeichnis_allowWohnadresse = dr.Item("mit_MAVerzeichnis_allowWohnadresse") + Me.mit_MAVerzeichnis_allowHandynummer = dr.Item("mit_MAVerzeichnis_allowHandynummer") + Me.mit_MAVerzeichnis_allowFoto = dr.Item("mit_MAVerzeichnis_allowFoto") + + If Not dr.Item("mit_foto_DocId") Is DBNull.Value Then Me.mit_foto_DocId = dr.Item("mit_foto_DocId") + If Not dr.Item("mit_MAVerzeichnis_Spitzname") Is DBNull.Value Then Me.mit_MAVerzeichnis_Spitzname = dr.Item("mit_MAVerzeichnis_Spitzname") + If Not dr.Item("mit_MAVerzeichnis_Motto") Is DBNull.Value Then Me.mit_MAVerzeichnis_Motto = dr.Item("mit_MAVerzeichnis_Motto") + If Not dr.Item("mit_sprache") Is DBNull.Value Then Me.mit_sprache = dr.Item("mit_sprache") + + + + + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler beim Einlesen der Mitarbeiter-Details " & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.Exclamation) + End Try + End If + dr.Close() + End Using + End Using + Return True + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler beim Lesen der Mitarbeiter-Details:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Return Nothing + End Try + Return False + End Function + + Public Shared Sub UPDATE_EASTEREGG(egg As Boolean, Optional mit_id As Integer = -1) + Try + If cAllgemein.MITARBEITER IsNot Nothing Then + If mit_id <= 0 Then + mit_id = cAllgemein.MITARBEITER.mit_id + End If + End If + Dim sql As New SQL + If mit_id > 0 Then sql.doSQL("UPDATE tblMitarbeiter SET mit_ChatEasteregg='" & If(egg, 1, 0) & "' WHERE mit_id=" & mit_id, "ADMIN") + + Catch ex As Exception + + End Try + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb new file mode 100644 index 0000000..8516582 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb @@ -0,0 +1,151 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cNCTSGestellungsadressen + Property nga_id As Integer + Property nga_name As String = "" + Property nga_strasse As Object = Nothing + Property nga_land As Object = Nothing + Property nga_plz As Object = Nothing + Property nga_ort As Object = Nothing + Property nga_EORI As Object = Nothing + Property nga_EORI_NL As Object = Nothing + Property nga_Ansprechpartner As Object = Nothing + Property nga_bestZollst As Object = Nothing + Property nga_SB As Object = Nothing + Property nga_firma As Object = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Property nga_Aenderungsdatum As Date = Now + + + Dim SQL As New SQL + + Sub New() + nga_SB = If(nga_SB, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) + 'If sms_SachbearbeiterId <= 0 Then sms_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + + End Sub + + Sub New(nga_id) + Me.nga_id = nga_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_id", nga_id, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_name", nga_name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_strasse", nga_strasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_land", nga_land)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_plz", nga_plz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_ort", nga_ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_EORI", nga_EORI)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_EORI_NL", nga_EORI_NL)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_Ansprechpartner", nga_Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_bestZollst", nga_bestZollst)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_SB", nga_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_firma", nga_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_Aenderungsdatum", nga_Aenderungsdatum)) + + Return list + End Function + + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTSGestellungsadressen WITH(updlock,serializable) WHERE nga_id=@nga_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + nga_id = SQL.doSQLVarListID(nga_id, sqlstr, "FMZOLL", , list) + Return nga_id > 0 + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTSGestellungsadressen WHERE nga_id=@nga_id ", conn) + cmd.Parameters.AddWithValue("@nga_id", nga_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblNCTSGestellungsadressen] SET " & str & " WHERE nga_id=@nga_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTSGestellungsadressen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblNCTSGestellungsadressen] WITH(updlock,serializable) WHERE nga_id=" & Me.nga_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb new file mode 100644 index 0000000..bdb318d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb @@ -0,0 +1,1493 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cNCTS_TR + + Property ncts_Id As Integer + Property ncts_Partnersystem As Object = Nothing 'DAKOSY_Worker.cDY_Statusliste.S_00 + Property ncts_Status As Object = Nothing ' DAKOSY_Worker.cDY_Statusliste.S_00 + Property ncts_Status_KEWILL_Equivalent As Object = Nothing 'DAKOSY_Worker.cDY_Statusliste.S_00 + Property ncts_dyaArt As String = "" + Property ncts_dyaAnmID As Integer + + Property ncts_ANR As Object = Nothing + Property ncts_MRN As Object = Nothing + + Property ncts_Erstellung As DateTime = Now + Property ncts_Erstellung_SB As Object = Nothing + Property ncts_LetzteBearbeitung As DateTime = Now + Property ncts_LetzteBearbeitung_SB As Object = Nothing + Property ncts_firma As Object = Nothing + Property ncts_niederlassung As Object = Nothing + + + Property ncts_Gestellt As Boolean = False + Property ncts_GestelltAm As Object = Nothing + Property ncts_Trans_Partner As Object = Nothing + Property ncts_Trans_Div1 As Object = Nothing + Property ncts_Trans_Div2 As Object = Nothing + Property ncts_Trans_Div3 As Object = Nothing + Property ncts_Trans_Referenz As Object = Nothing + Property ncts_Trans_DatumZeit As DateTime = Now + Property ncts_Trans_Version As Object = Nothing + Property ncts_NachrichtenSenderTIN As Object = Nothing + Property ncts_NachrichtenSenderNLNR As Object = Nothing + Property ncts_NachrichtenempfaengerDST As Object = Nothing + + Property ncts_ObjectName As Object = Nothing + Property ncts_ObjectAlias As Object = Nothing + Property ncts_BezugsnummerVorblendung As Object = Nothing + Property ncts_Bearbeiter As Object = Nothing + Property ncts_VersendungsLandCode As Object = Nothing + Property ncts_BestimmungslandCode As Object = Nothing + Property ncts_ArtAnmeldung As Object = Nothing + Property ncts_BeladungsOrt As Object = Nothing + + Property ncts_DurchgangszollstelleDienststellnummer1 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer2 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer3 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer4 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer5 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer6 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer7 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer8 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer9 As Object = Nothing + + Property ncts_BestimmungsstelleDienststellennummer As Object = Nothing + Property ncts_AbgangsDienststellennummer As Object = Nothing + Property ncts_Wiedergestellungsdatum As Object = Nothing + Property ncts_KzVereinfachtesVerfahren As Object = Nothing + Property ncts_GesamtRohmasse As Object = Nothing + Property ncts_GesamtAnzahlPackstuecke As Object = Nothing + Property ncts_Verschluss_ArtCode As Object = Nothing + Property ncts_Verschluss_Anzahl As Object = Nothing + Property ncts_Verschluss_Zeichen1 As Object = Nothing + Property ncts_Verschluss_Zeichen2 As Object = Nothing + Property ncts_Verschluss_Zeichen3 As Object = Nothing + Property ncts_Verschluss_Zeichen4 As Object = Nothing + Property ncts_Verschluss_Zeichen5 As Object = Nothing + Property ncts_Verschluss_Zeichen6 As Object = Nothing + Property ncts_Verschluss_Zeichen7 As Object = Nothing + Property ncts_Verschluss_Zeichen8 As Object = Nothing + Property ncts_Verschluss_Zeichen9 As Object = Nothing + Property ncts_Verschluss_Zeichen10 As Object = Nothing + Property ncts_Verschluss_Zeichen11 As Object = Nothing + Property ncts_Verschluss_Zeichen12 As Object = Nothing + Property ncts_Verschluss_Zeichen13 As Object = Nothing + Property ncts_Verschluss_Zeichen14 As Object = Nothing + Property ncts_Verschluss_Zeichen15 As Object = Nothing + Property ncts_Verschluss_Zeichen16 As Object = Nothing + Property ncts_Befoerderungsmittel_KennzeichenAbgang As Object = Nothing + Property ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode As Object = Nothing + Property ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent As Object = Nothing + Property ncts_Befoerderungsmittel_ArtGrenzueberschreitung As Object = Nothing + Property ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend As Object = Nothing + Property ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode As Object = Nothing + Property ncts_Versender_EORI As Object = Nothing + Property ncts_Versender_NLNR As Object = Nothing + Property ncts_Versender_TIN As Object = Nothing + Property ncts_Versender_Name As Object = Nothing + Property ncts_Versender_StrasseHausnummer As Object = Nothing + Property ncts_Versender_Ort As Object = Nothing + Property ncts_Versender_PLZ As Object = Nothing + Property ncts_Versender_Land As Object = Nothing + Property ncts_Empfaenger_EORI As Object = Nothing + Property ncts_Empfaenger_NLNR As Object = Nothing + Property ncts_Empfaenger_TIN As Object = Nothing + Property ncts_Empfaenger_Name As Object = Nothing + Property ncts_Empfaenger_StrasseHausnummer As Object = Nothing + Property ncts_Empfaenger_Ort As Object = Nothing + Property ncts_Empfaenger_PLZ As Object = Nothing + Property ncts_Empfaenger_Land As Object = Nothing + Property ncts_Hauptverpflichteter_EORI As Object = Nothing + Property ncts_Hauptverpflichteter_NLNR As Object = Nothing + Property ncts_Hauptverpflichteter_TIN As Object = Nothing + Property ncts_Hauptverpflichteter_Name As Object = Nothing + Property ncts_Hauptverpflichteter_StrasseHausnummer As Object = Nothing + Property ncts_Hauptverpflichteter_Ort As Object = Nothing + Property ncts_Hauptverpflichteter_PLZ As Object = Nothing + Property ncts_Hauptverpflichteter_Land As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_IDCarnet As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_EORI As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_TIN As Object = Nothing + + Property ncts_SumA_KzSumASicherheit As Object = Nothing + Property ncts_SumA_KennnummerSendung As Object = Nothing + Property ncts_SumA_BesondereUmstaende As Object = Nothing + Property ncts_SumA_NummerBefoerderung As Object = Nothing + Property ncts_SumA_Ladeort As Object = Nothing + Property ncts_SumA_Entladeort As Object = Nothing + Property ncts_SumA_BefoerderungskostenZahlungsweise As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand1 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand2 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand3 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand4 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand5 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand6 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand7 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand8 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand9 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand10 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand11 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand12 As Object = Nothing + Property ncts_SumA_Versender_EORI As Object = Nothing + Property ncts_SumA_Versender_NLNR As Object = Nothing + Property ncts_SumA_Versender_TIN As Object = Nothing + Property ncts_SumA_Versender_Name As Object = Nothing + Property ncts_SumA_Versender_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Versender_Land As Object = Nothing + Property ncts_SumA_Versender_PLZ As Object = Nothing + Property ncts_SumA_Versender_Ort As Object = Nothing + + Property ncts_SumA_Empfaenger_EORI As Object = Nothing + Property ncts_SumA_Empfaenger_NLNR As Object = Nothing + Property ncts_SumA_Empfaenger_TIN As Object = Nothing + Property ncts_SumA_Empfaenger_Name As Object = Nothing + Property ncts_SumA_Empfaenger_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Empfaenger_Land As Object = Nothing + Property ncts_SumA_Empfaenger_PLZ As Object = Nothing + Property ncts_SumA_Empfaenger_Ort As Object = Nothing + + Property ncts_SumA_Befoerderer_EORI As Object = Nothing + Property ncts_SumA_Befoerderer_NLNR As Object = Nothing + Property ncts_SumA_Befoerderer_TIN As Object = Nothing + Property ncts_SumA_Befoerderer_Name As Object = Nothing + Property ncts_SumA_Befoerderer_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Befoerderer_Land As Object = Nothing + Property ncts_SumA_Befoerderer_PLZ As Object = Nothing + Property ncts_SumA_Befoerderer_Ort As Object = Nothing + Property ncts_Stammreferenz As Object = Nothing + + Property ncts_GUID As Object = Nothing + Property ncts_Eroeffnung As Object = Nothing + Property ncts_Ankunft As Object = Nothing + Property ncts_Erledigung As Object = Nothing + Property ncts_AVISO_einarbeitet As Boolean = False + + Property ncts_SICHERHEITSANGABEN As New List(Of cNCTS_TR_Sicherheitsangaben) + Property ncts_WARENPOS As New List(Of cNCTS_TR_Warenposition) + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + + Function GET_SHIPMENTS(Partnersystem, VorpapierArt, VorpapierNr) As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL) + GET_SHIPMENTS = New List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL) + Dim dt = SQL.loadDgvBySql("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'", "FMZOLL") + ' MsgBox("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'") + If dt IsNot Nothing Then + For Each r In dt.Rows + Dim SH As New VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL(CInt(r("shTr_id"))) + If SH IsNot Nothing Then + GET_SHIPMENTS.Add(SH) + End If + Next + End If + + End Function + + Sub New() + + End Sub + + Sub New(ncts_dyaAnmID As Integer, ncts_Erstellung_SB As Integer) + Me.ncts_dyaAnmID = ncts_dyaAnmID + Me.ncts_Erstellung_SB = ncts_Erstellung_SB + Me.ncts_LetzteBearbeitung_SB = ncts_Erstellung_SB + End Sub + + Sub New(ncts_Id) + Me.ncts_Id = ncts_Id + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Partnersystem", ncts_Partnersystem)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", ncts_Status)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", ncts_Status_KEWILL_Equivalent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_dyaArt", ncts_dyaArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_dyaAnmID", ncts_dyaAnmID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ANR", ncts_ANR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_MRN", ncts_MRN)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erstellung", ncts_Erstellung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erstellung_SB", ncts_Erstellung_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_LetzteBearbeitung", ncts_LetzteBearbeitung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_LetzteBearbeitung_SB", ncts_LetzteBearbeitung_SB)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_firma", ncts_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_niederlassung", ncts_niederlassung)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Gestellt", ncts_Gestellt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GestelltAm", ncts_GestelltAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Partner", ncts_Trans_Partner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div1", ncts_Trans_Div1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div2", ncts_Trans_Div2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div3", ncts_Trans_Div3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Referenz", ncts_Trans_Referenz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_DatumZeit", ncts_Trans_DatumZeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Version", ncts_Trans_Version)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenSenderTIN", ncts_NachrichtenSenderTIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenSenderNLNR", ncts_NachrichtenSenderNLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenempfaengerDST", ncts_NachrichtenempfaengerDST)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ObjectName", ncts_ObjectName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ObjectAlias", ncts_ObjectAlias)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BezugsnummerVorblendung", ncts_BezugsnummerVorblendung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Bearbeiter", ncts_Bearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_VersendungsLandCode", ncts_VersendungsLandCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BestimmungslandCode", ncts_BestimmungslandCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ArtAnmeldung", ncts_ArtAnmeldung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BeladungsOrt", ncts_BeladungsOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer1", ncts_DurchgangszollstelleDienststellnummer1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer2", ncts_DurchgangszollstelleDienststellnummer2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer3", ncts_DurchgangszollstelleDienststellnummer3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer4", ncts_DurchgangszollstelleDienststellnummer4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer5", ncts_DurchgangszollstelleDienststellnummer5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer6", ncts_DurchgangszollstelleDienststellnummer6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer7", ncts_DurchgangszollstelleDienststellnummer7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer8", ncts_DurchgangszollstelleDienststellnummer8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer9", ncts_DurchgangszollstelleDienststellnummer9)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BestimmungsstelleDienststellennummer", ncts_BestimmungsstelleDienststellennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AbgangsDienststellennummer", ncts_AbgangsDienststellennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Wiedergestellungsdatum", ncts_Wiedergestellungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_KzVereinfachtesVerfahren", ncts_KzVereinfachtesVerfahren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GesamtRohmasse", ncts_GesamtRohmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GesamtAnzahlPackstuecke", ncts_GesamtAnzahlPackstuecke)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_ArtCode", ncts_Verschluss_ArtCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Anzahl", ncts_Verschluss_Anzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen1", ncts_Verschluss_Zeichen1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen2", ncts_Verschluss_Zeichen2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen3", ncts_Verschluss_Zeichen3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen4", ncts_Verschluss_Zeichen4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen5", ncts_Verschluss_Zeichen5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen6", ncts_Verschluss_Zeichen6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen7", ncts_Verschluss_Zeichen7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen8", ncts_Verschluss_Zeichen8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen9", ncts_Verschluss_Zeichen9)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen10", ncts_Verschluss_Zeichen10)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen11", ncts_Verschluss_Zeichen11)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen12", ncts_Verschluss_Zeichen12)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen13", ncts_Verschluss_Zeichen13)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen14", ncts_Verschluss_Zeichen14)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen15", ncts_Verschluss_Zeichen15)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen16", ncts_Verschluss_Zeichen16)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_KennzeichenAbgang", ncts_Befoerderungsmittel_KennzeichenAbgang)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode", ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent", ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_ArtGrenzueberschreitung", ncts_Befoerderungsmittel_ArtGrenzueberschreitung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend", ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode", ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_EORI", ncts_Versender_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_NLNR", ncts_Versender_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_TIN", ncts_Versender_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Name", ncts_Versender_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_StrasseHausnummer", ncts_Versender_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Ort", ncts_Versender_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_PLZ", ncts_Versender_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Land", ncts_Versender_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_EORI", ncts_Empfaenger_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_NLNR", ncts_Empfaenger_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_TIN", ncts_Empfaenger_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Name", ncts_Empfaenger_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_StrasseHausnummer", ncts_Empfaenger_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Ort", ncts_Empfaenger_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_PLZ", ncts_Empfaenger_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Land", ncts_Empfaenger_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_EORI", ncts_Hauptverpflichteter_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_NLNR", ncts_Hauptverpflichteter_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_TIN", ncts_Hauptverpflichteter_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Name", ncts_Hauptverpflichteter_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_StrasseHausnummer", ncts_Hauptverpflichteter_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Ort", ncts_Hauptverpflichteter_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_PLZ", ncts_Hauptverpflichteter_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Land", ncts_Hauptverpflichteter_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_IDCarnet", ncts_ZugelassenerEmpfaenger_IDCarnet)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender", ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_EORI", ncts_ZugelassenerEmpfaenger_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_TIN", ncts_ZugelassenerEmpfaenger_TIN)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_KzSumASicherheit", ncts_SumA_KzSumASicherheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_KennnummerSendung", ncts_SumA_KennnummerSendung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_NummerBefoerderung", ncts_SumA_NummerBefoerderung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BesondereUmstaende", ncts_SumA_BesondereUmstaende)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Ladeort", ncts_SumA_Ladeort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Entladeort", ncts_SumA_Entladeort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungskostenZahlungsweise", ncts_SumA_BefoerderungskostenZahlungsweise)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand1", ncts_SumA_BefoerderungsrouteLand1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand2", ncts_SumA_BefoerderungsrouteLand2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand3", ncts_SumA_BefoerderungsrouteLand3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand4", ncts_SumA_BefoerderungsrouteLand4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand5", ncts_SumA_BefoerderungsrouteLand5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand6", ncts_SumA_BefoerderungsrouteLand6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand7", ncts_SumA_BefoerderungsrouteLand7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand8", ncts_SumA_BefoerderungsrouteLand8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand9", ncts_SumA_BefoerderungsrouteLand9)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand10", ncts_SumA_BefoerderungsrouteLand10)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand11", ncts_SumA_BefoerderungsrouteLand11)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand12", ncts_SumA_BefoerderungsrouteLand12)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_EORI", ncts_SumA_Versender_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_NLNR", ncts_SumA_Versender_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_TIN", ncts_SumA_Versender_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Name", ncts_SumA_Versender_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_StrasseHausnummer", ncts_SumA_Versender_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Land", ncts_SumA_Versender_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_PLZ", ncts_SumA_Versender_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Ort", ncts_SumA_Versender_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_EORI", ncts_SumA_Empfaenger_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_NLNR", ncts_SumA_Empfaenger_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_TIN", ncts_SumA_Empfaenger_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Name", ncts_SumA_Empfaenger_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_StrasseHausnummer", ncts_SumA_Empfaenger_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Land", ncts_SumA_Empfaenger_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_PLZ", ncts_SumA_Empfaenger_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Ort", ncts_SumA_Empfaenger_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_EORI", ncts_SumA_Befoerderer_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_NLNR", ncts_SumA_Befoerderer_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_TIN", ncts_SumA_Befoerderer_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Name", ncts_SumA_Befoerderer_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_StrasseHausnummer", ncts_SumA_Befoerderer_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Land", ncts_SumA_Befoerderer_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_PLZ", ncts_SumA_Befoerderer_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Ort", ncts_SumA_Befoerderer_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Stammreferenz", ncts_Stammreferenz)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GUID", ncts_GUID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Eroeffnung", ncts_Eroeffnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Ankunft", ncts_Ankunft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erledigung", ncts_Erledigung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AVISO_einarbeitet", ncts_AVISO_einarbeitet)) + + Return list + End Function + + Public Function UPDATE_STATUS(status) As Boolean + Me.ncts_Status = status + Return Me.SAVE + End Function + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTS_TR WITH(updlock,serializable) WHERE ncts_Id=@ncts_Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Dim ncts_IdTMP = ncts_Id + ncts_IdTMP = SQL.doSQLVarListID(ncts_IdTMP, sqlstr, "FMZOLL", , list, , errHinweis) + If ncts_Id <= 0 Then ncts_Id = ncts_IdTMP + Return ncts_Id > 0 + End Function + + Public Function SAVE_ALL(Optional errHinweis = "") As Boolean + If Not SAVE(errHinweis) Then Return False + If Not SAVE_Warenposition() Or Not SAVE_Sicherheitsangaben() Then Return False + + Return True + End Function + + Public Function LOAD(Optional loadALL As Boolean = True) As Boolean + Try + LOAD = False + If loadALL Then + ncts_SICHERHEITSANGABEN.Clear() + ncts_WARENPOS.Clear() + End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR WHERE ncts_Id=@ncts_Id ", conn) + cmd.Parameters.AddWithValue("@ncts_Id", ncts_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + If loadALL Then + LOAD_Sicherheitsangaben() + LOAD_Warenposition() + End If + LOAD = True + End If + dr.Close() + + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return LOAD + End Function + + + + + Shared Function LOADByAnmIDFull(ncts_dyaAnmID As String, loadALL As Boolean) As cNCTS_TR + Try + Dim NCTS As New cNCTS_TR + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_dyaAnmID=@ncts_dyaAnmID ", conn) + cmd.Parameters.AddWithValue("@ncts_dyaAnmID", ncts_dyaAnmID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In NCTS.getParameterList() + Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(NCTS, Nothing) + Else + propInfo.SetValue(NCTS, dr.Item(l.Text)) + End If + + Next + If loadALL Then + NCTS.LOAD_Sicherheitsangaben() + NCTS.LOAD_Warenposition() + End If + + dr.Close() + Return NCTS + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + Shared Function UPDATE_StatusById(ncts_Id As Integer, status As Integer) As String + If ncts_Id > 0 Then + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", status, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", status, , True)) + 'dy_Status_KEWILL_Equivalent = status + 'dy_Status = status + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_Status_KEWILL_Equivalent=@ncts_Status_KEWILL_Equivalent,ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + + Public Function LOADByAnmID(ncts_dyaAnmID As String, loadALL As Boolean) As Boolean + Try + LOADByAnmID = False + If loadALL Then + ncts_SICHERHEITSANGABEN.Clear() + ncts_WARENPOS.Clear() + End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_dyaAnmID=@ncts_dyaAnmID ", conn) + cmd.Parameters.AddWithValue("@ncts_dyaAnmID", ncts_dyaAnmID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + If loadALL Then + LOAD_Sicherheitsangaben() + LOAD_Warenposition() + End If + LOADByAnmID = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return LOADByAnmID + End Function + + Shared Function LOADByBezugsNr_or_GUID_or_MRN(bezugsNr As String, GUID As String, MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR + LOADByBezugsNr_or_GUID_or_MRN = Nothing + + If bezugsNr <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByBezugsNr(bezugsNr, loadALL, checkValidStatus, Partnersystem) + + If LOADByBezugsNr_or_GUID_or_MRN Is Nothing Then + If GUID <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByGUID(GUID, loadALL, checkValidStatus, Partnersystem) + End If + If LOADByBezugsNr_or_GUID_or_MRN Is Nothing Then + If MRN <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByMRN(MRN, loadALL, checkValidStatus, Partnersystem) + End If + End Function + + + Shared Function LOADByMRN(MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR + Try + Dim NCTS As New cNCTS_TR + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_MRN LIKE @MRN " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn) + 'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ") + cmd.Parameters.AddWithValue("@MRN", MRN) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In NCTS.getParameterList() + Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(NCTS, Nothing) + Else + propInfo.SetValue(NCTS, dr.Item(l.Text)) + End If + + Next + If loadALL Then + NCTS.LOAD_Sicherheitsangaben() + NCTS.LOAD_Warenposition() + End If + + dr.Close() + Return NCTS + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + + End Function + Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR + Try + Dim NCTS As New cNCTS_TR + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn) + ' MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE '" & bezugsNr & "' " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc") + cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In NCTS.getParameterList() + Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(NCTS, Nothing) + Else + propInfo.SetValue(NCTS, dr.Item(l.Text)) + End If + + Next + If loadALL Then + NCTS.LOAD_Sicherheitsangaben() + NCTS.LOAD_Warenposition() + End If + + dr.Close() + Return NCTS + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + Shared Function LOADByGUID(GUID As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR + Try + Dim NCTS As New cNCTS_TR + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn) + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_GUID LIKE @GUID " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn) + 'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ") + cmd.Parameters.AddWithValue("@GUID", GUID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In NCTS.getParameterList() + Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(NCTS, Nothing) + Else + propInfo.SetValue(NCTS, dr.Item(l.Text)) + End If + + Next + If loadALL Then + NCTS.LOAD_Sicherheitsangaben() + NCTS.LOAD_Warenposition() + End If + + dr.Close() + Return NCTS + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + Public Function UPDATE_Status(status As Integer) As String + If ncts_Id > 0 Then + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", status, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", status, , True)) + ncts_Status = status + ncts_Status_KEWILL_Equivalent = status + Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + + Public Function UPDATE_AVISO_Einarbeitet(ncts_AVISO_einarbeitet As Boolean) As String + If ncts_Id > 0 Then + Try + + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AVISO_einarbeitet", ncts_AVISO_einarbeitet)) + ncts_AVISO_einarbeitet = ncts_AVISO_einarbeitet + Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_AVISO_einarbeitet=@ncts_AVISO_einarbeitet WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblNCTS_TR] SET " & str & " WHERE ncts_Id=@ncts_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTS_TR (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Sub LOAD_Sicherheitsangaben() + Try + ncts_SICHERHEITSANGABEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Sicherheitsangaben WHERE nctsSA_NctsId=@ncts_Id ", conn) + cmd.Parameters.AddWithValue("@ncts_Id", Me.ncts_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cNCTS_TR_Sicherheitsangaben + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + ncts_SICHERHEITSANGABEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOAD_Warenposition() + Try + ncts_WARENPOS.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Warenposition WHERE nctsWP_NctsId=@ncts_Id ", conn) + cmd.Parameters.AddWithValue("@ncts_Id", Me.ncts_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cNCTS_TR_Warenposition() + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + l.LOAD_WarenpositionPackstuecke() + 'l.LOAD_WarenpositionUnterlagen() + ncts_WARENPOS.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Shared Function get_Warenposition(ncts_Id As Integer, Optional loadAll As Boolean = False) As List(Of cNCTS_TR_Warenposition) + Try + Dim ncts_WARENPOS As New List(Of cNCTS_TR_Warenposition) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Warenposition WHERE nctsWP_NctsId=@ncts_Id ", conn) + cmd.Parameters.AddWithValue("@ncts_Id", ncts_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cNCTS_TR_Warenposition() + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + l.LOAD_WarenpositionPackstuecke() + ' l.LOAD_WarenpositionUnterlagen() + ncts_WARENPOS.Add(l) + End While + dr.Close() + End Using + End Using + Return ncts_WARENPOS + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + Function DELETE_Warenpositionen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblNCTS_TR_Warenposition] WHERE nctsWP_NctsId=" & Me.ncts_Id & " " + ' MsgBox(sqlstr) + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionPackstuecke] WHERE nctsWpPk_NctsId=" & Me.ncts_Id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + 'Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionVorgelegteUnterlagen] WHERE nctsWpUl_NctsId =" & Me.ncts_Id & " " + ' Return SQL.doSQL(sqlstr, "FMZOLL") + 'End Function + + Public Function SAVE_Warenposition() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Warenpositionen() And DELETE_WarenpositionPackstuecke() Then 'And DELETE_WarenpositionUnterlagen() Then + 'jetzt die Standartofferten einfügen + For Each p In ncts_WARENPOS + p.nctsWP_NctsId = ncts_Id + If p.INSERT() Then + p.INSERT_WarenpositionPackstuecke(p.nctsWP_Id, Me.ncts_Id) + 'p.INSERT_WarenpositionUnterlagen(p.nctsWP_Id, Me.ncts_Id) + Else + Return False + End If + Next + Else + Return False + End If + + Return True + End Function + + Function DELETE_Sicherheitsangaben() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblNCTS_TR_Sicherheitsangaben] WHERE nctsSA_NctsId=" & Me.ncts_Id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function SAVE_Sicherheitsangaben() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Sicherheitsangaben() Then + 'jetzt die Standartofferten einfügen + For Each p In ncts_SICHERHEITSANGABEN + p.nctsSA_NctsId = ncts_Id + If Not p.INSERT() Then + Return False + End If + Next + Else + Return False + End If + Return True + End Function + + Function countSpedbuchEntrys(filiale, ncts) As Integer + If If(ncts, "") = "" Then Return 0 + Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrNCTS='" & ncts & "'", "FMZOLL") + End Function + + + + Function countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) As Integer + If If(abfertigungsnummer, "") = "" Then Return 0 + Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AbfertigungsNr='" & abfertigungsnummer & "'", "FMZOLL") + End Function + + + + + + Shared Function getFiliale(ByVal bezugsNr, ByRef filialeBez) As String + getFiliale = "" + If If(bezugsNr, "").ToString.Length > 4 Then + Select Case bezugsNr.ToString.Substring(0, 4) + Case "4803" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case "4811" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case "5501", "5601", "5701", "5801" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + Case Else + If IsNumeric(bezugsNr.ToString.Substring(0, 4)) Then Return bezugsNr.ToString.Substring(0, 4) 'Case Else : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 + 'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803 + 'filialeBez SUB, NKD, WAI,.-.. + End Select + End If + End Function + + + Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String + getAbfertigungsnummer = "" + If If(bezugsNr, "").ToString.Length > 5 Then + + Dim abf = "" + For Each s In bezugsNr.ToString.Substring(5) + If Not IsNumeric(s) Then Exit For + abf &= s + Next + + + If IsNumeric(abf) Then + If CLng(abf) < 99000000 Then ' wenn zu groß, fehlerhaft + If CLng(abf) > 18000000 And CLng(abf) < 99000000 Then + Return abf + Else + Return "18" & CInt(abf).ToString("000000") + End If + End If + End If + End If + Return "" + End Function + Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId) + If dy_SendungsId IsNot Nothing AndAlso IsNumeric(dy_SendungsId) Then + Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(dy_SendungsId) + If SND IsNot Nothing Then + If SND.FilialenNr > 0 Then filiale = SND.FilialenNr + If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr + End If + End If + End Sub + + + + + Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL) + If EORI Is Nothing Then Return Nothing + If If(EORI, "") <> "" Then + Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL) + If IsNumeric(kdNrTmp) Then + Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp) + Return ADRESSE + End If + End If + Return Nothing + End Function + +End Class + + + +Public Class cNCTS_TR_Sicherheitsangaben + + Property nctsSA_Id As Integer + Property nctsSA_NctsId As Object = Nothing + Property nctsSA_ArtCode As Object = Nothing + Property nctsSA_BezeichnungBescheinigun As Object = Nothing + Property nctsSA_AbgabenBetrag As Object = Nothing + Property nctsSA_GRN As Object = Nothing + Property nctsSA_Zugriffcode As Object = Nothing + Property nctsSA_TIN As Object = Nothing + + + 'Public selButton As Object = Nothing ' Für die GUI + 'Public SA_OBJECT As Object = Nothing ' Für die GUI + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + 'Sub New(nctsSA_Id) + ' Me.nctsSA_Id = nctsSA_Id + ' LOAD() + ' End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_Id", nctsSA_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_NctsId", nctsSA_NctsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_ArtCode", nctsSA_ArtCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_BezeichnungBescheinigun", nctsSA_BezeichnungBescheinigun)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_AbgabenBetrag", nctsSA_AbgabenBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_GRN", nctsSA_GRN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_Zugriffcode", nctsSA_Zugriffcode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_TIN", nctsSA_TIN)) + + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + nctsSA_Id = SQL.doSQLVarListID(nctsSA_Id, getInsertCmd, "FMZOLL", , list) + Return nctsSA_Id > 0 + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTS_TR_Sicherheitsangaben (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + + +Public Class cNCTS_TR_Warenposition + Property nctsWP_Id As Integer + Property nctsWP_NctsId As Integer + Property nctsWP_PositionsNummer As Object = Nothing + Property nctsWP_Warennummer As Object = Nothing + Property nctsWP_ArtAnmeldungPositionCode As Object = Nothing + Property nctsWP_Warenbezeichnung As Object = Nothing + Property nctsWP_Warenwert As Object = Nothing + Property nctsWP_WarenwertWaehrung As Object = Nothing + Property nctsWP_SchaetzKz As Object = Nothing + Property nctsWP_WarenwertProzent As Object = Nothing + Property nctsWP_VersendungslandPositionCode As Object = Nothing + Property nctsWP_BestimmungslandPositionCode As Object = Nothing + Property nctsWP_Rohmasse As Object = Nothing + Property nctsWP_Eigenmasse As Object = Nothing + + + Property nctsWP_VorpapierTyp As Object = Nothing + Property nctsWP_VorpapierReferenz1 As Object = Nothing + Property nctsWP_VorpapierZusatz1 As Object = Nothing + Property nctsWP_VorpapierReferenz2 As Object = Nothing + Property nctsWP_VorpapierZusatz2 As Object = Nothing + Property nctsWP_VorpapierReferenz3 As Object = Nothing + Property nctsWP_VorpapierZusatz3 As Object = Nothing + Property nctsWP_VorpapierReferenz4 As Object = Nothing + Property nctsWP_VorpapierZusatz4 As Object = Nothing + Property nctsWP_VorpapierReferenz5 As Object = Nothing + Property nctsWP_VorpapierZusatz5 As Object = Nothing + Property nctsWP_VorpapierReferenz6 As Object = Nothing + Property nctsWP_VorpapierZusatz6 As Object = Nothing + Property nctsWP_VorpapierReferenz7 As Object = Nothing + Property nctsWP_VorpapierZusatz7 As Object = Nothing + Property nctsWP_VorpapierReferenz8 As Object = Nothing + Property nctsWP_VorpapierZusatz8 As Object = Nothing + Property nctsWP_VorpapierReferenz9 As Object = Nothing + Property nctsWP_VorpapierZusatz9 As Object = Nothing + + + + Property nctsWP_BesondereVermeke_ExportAusEU As Object = Nothing + Property nctsWP_BesondereVermeke_ExportAusLand As Object = Nothing + Property nctsWP_BesondereVermeke_Export As Object = Nothing + + Property nctsWP_BesondereVermeke_ExportBeschraenkung As Object = Nothing + Property nctsWP_BesondereVermeke_ExportAbgaben As Object = Nothing + Property nctsWP_BesondereVermeke_Vermerk As Object = Nothing + Property nctsWP_BesondereVermeke_Kz10600 As Object = Nothing + + + Property nctsWP_Versender_EORI As Object = Nothing + Property nctsWP_Versender_NLNR As Object = Nothing + Property nctsWP_Versender_TIN As Object = Nothing + Property nctsWP_Versender_Name As Object = Nothing + Property nctsWP_Versender_StrasseHausnummer As Object = Nothing + Property nctsWP_Versender_Ort As Object = Nothing + Property nctsWP_Versender_PLZ As Object = Nothing + Property nctsWP_Versender_Land As Object = Nothing + Property nctsWP_Empfaenger_EORI As Object = Nothing + Property nctsWP_Empfaenger_NLNR As Object = Nothing + Property nctsWP_Empfaenger_TIN As Object = Nothing + Property nctsWP_Empfaenger_Name As Object = Nothing + Property nctsWP_Empfaenger_StrasseHausnummer As Object = Nothing + Property nctsWP_Empfaenger_Ort As Object = Nothing + Property nctsWP_Empfaenger_PLZ As Object = Nothing + Property nctsWP_Empfaenger_Land As Object = Nothing + Property nctsWP_SumAKennnummerSendung As Object = Nothing + Property nctsWP_SumABefoerderungskostenZahlungsweise As Object = Nothing + Property nctsWP_SumAUNGefahrgutnummer As Object = Nothing + Property nctsWP_SumAVersender_EORI As Object = Nothing + Property nctsWP_SumAVersender_NLNR As Object = Nothing + Property nctsWP_SumAVersender_TIN As Object = Nothing + Property nctsWP_SumAVersender_Name As Object = Nothing + Property nctsWP_SumAVersender_StrasseHausnummer As Object = Nothing + Property nctsWP_SumAVersender_Ort As Object = Nothing + Property nctsWP_SumAVersender_PLZ As Object = Nothing + Property nctsWP_SumAVersender_Land As Object = Nothing + Property nctsWP_SumAEmpfaenger_EORI As Object = Nothing + Property nctsWP_SumAEmpfaenger_NLNR As Object = Nothing + Property nctsWP_SumAEmpfaenger_TIN As Object = Nothing + Property nctsWP_SumAEmpfaenger_Name As Object = Nothing + Property nctsWP_SumAEmpfaenger_StrasseHausnummer As Object = Nothing + Property nctsWP_SumAEmpfaenger_Ort As Object = Nothing + Property nctsWP_SumAEmpfaenger_PLZ As Object = Nothing + Property nctsWP_SumAEmpfaenger_Land As Object = Nothing + + + Property nctsWP_KdRefNr As Object = Nothing + + + Property nctsWP_PACKSTUECKE As New List(Of cNCTS_TR_WarenpositionPackstuecke) + Property nctsWP_UNTERLAGEN As New List(Of cNCTS_TR_WarenpositionVorgelegteUnterlagen) 'NOCH NCIHT SQL!! + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWP_NctsId = nctsWP_NctsId + End Sub + + 'Sub New(nctsSA_Id) + ' Me.nctsSA_Id = nctsSA_Id + ' LOAD() + ' End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Id", nctsWP_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_NctsId", nctsWP_NctsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_PositionsNummer", nctsWP_PositionsNummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warennummer", nctsWP_Warennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_ArtAnmeldungPositionCode", nctsWP_ArtAnmeldungPositionCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warenbezeichnung", nctsWP_Warenbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warenwert", nctsWP_Warenwert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_WarenwertWaehrung", nctsWP_WarenwertWaehrung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SchaetzKz", nctsWP_SchaetzKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_WarenwertProzent", nctsWP_WarenwertProzent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VersendungslandPositionCode", nctsWP_VersendungslandPositionCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BestimmungslandPositionCode", nctsWP_BestimmungslandPositionCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Rohmasse", nctsWP_Rohmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Eigenmasse", nctsWP_Eigenmasse)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierTyp", nctsWP_VorpapierTyp)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz1", nctsWP_VorpapierReferenz1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz1", nctsWP_VorpapierZusatz1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz2", nctsWP_VorpapierReferenz2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz2", nctsWP_VorpapierZusatz2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz3", nctsWP_VorpapierReferenz3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz3", nctsWP_VorpapierZusatz3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz4", nctsWP_VorpapierReferenz4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz4", nctsWP_VorpapierZusatz4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz5", nctsWP_VorpapierReferenz5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz5", nctsWP_VorpapierZusatz5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz6", nctsWP_VorpapierReferenz6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz6", nctsWP_VorpapierZusatz6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz7", nctsWP_VorpapierReferenz7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz7", nctsWP_VorpapierZusatz7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz8", nctsWP_VorpapierReferenz8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz8", nctsWP_VorpapierZusatz8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz9", nctsWP_VorpapierReferenz9)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz9", nctsWP_VorpapierZusatz9)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAusEU", nctsWP_BesondereVermeke_ExportAusEU)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAusLand", nctsWP_BesondereVermeke_ExportAusLand)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Export", nctsWP_BesondereVermeke_Export)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportBeschraenkung", nctsWP_BesondereVermeke_ExportBeschraenkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAbgaben", nctsWP_BesondereVermeke_ExportAbgaben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Vermerk", nctsWP_BesondereVermeke_Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Kz10600", nctsWP_BesondereVermeke_Kz10600)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_EORI", nctsWP_Versender_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_NLNR", nctsWP_Versender_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_TIN", nctsWP_Versender_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Name", nctsWP_Versender_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_StrasseHausnummer", nctsWP_Versender_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Ort", nctsWP_Versender_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_PLZ", nctsWP_Versender_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Land", nctsWP_Versender_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_EORI", nctsWP_Empfaenger_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_NLNR", nctsWP_Empfaenger_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_TIN", nctsWP_Empfaenger_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Name", nctsWP_Empfaenger_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_StrasseHausnummer", nctsWP_Empfaenger_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Ort", nctsWP_Empfaenger_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_PLZ", nctsWP_Empfaenger_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Land", nctsWP_Empfaenger_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAKennnummerSendung", nctsWP_SumAKennnummerSendung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumABefoerderungskostenZahlungsweise", nctsWP_SumABefoerderungskostenZahlungsweise)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAUNGefahrgutnummer", nctsWP_SumAUNGefahrgutnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_EORI", nctsWP_SumAVersender_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_NLNR", nctsWP_SumAVersender_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_TIN", nctsWP_SumAVersender_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Name", nctsWP_SumAVersender_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_StrasseHausnummer", nctsWP_SumAVersender_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Ort", nctsWP_SumAVersender_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_PLZ", nctsWP_SumAVersender_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Land", nctsWP_SumAVersender_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_EORI", nctsWP_SumAEmpfaenger_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_NLNR", nctsWP_SumAEmpfaenger_NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_TIN", nctsWP_SumAEmpfaenger_TIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Name", nctsWP_SumAEmpfaenger_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_StrasseHausnummer", nctsWP_SumAEmpfaenger_StrasseHausnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Ort", nctsWP_SumAEmpfaenger_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_PLZ", nctsWP_SumAEmpfaenger_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Land", nctsWP_SumAEmpfaenger_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_KdRefNr", nctsWP_KdRefNr)) + + + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + nctsWP_Id = SQL.doSQLVarListID(nctsWP_Id, getInsertCmd, "FMZOLL", , list) + Return nctsWP_Id > 0 + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTS_TR_Warenposition (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + + + Public Sub LOAD_WarenpositionPackstuecke() + Try + nctsWP_PACKSTUECKE.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_WarenpositionPackstuecke WHERE nctsWpPk_nctsWPId=@nctsWP_Id ", conn) + cmd.Parameters.AddWithValue("@nctsWP_Id", Me.nctsWP_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cNCTS_TR_WarenpositionPackstuecke() + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + nctsWP_PACKSTUECKE.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionPackstuecke] WHERE nctsWpPk_nctsWPId=" & Me.nctsWP_Id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function INSERT_WarenpositionPackstuecke(wp_id, ncts_id) As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + + 'jetzt die Standartofferten einfügen + For Each p In nctsWP_PACKSTUECKE + p.nctsWpPk_nctsWPId = wp_id + p.nctsWpPk_NctsId = ncts_id + If Not p.INSERT() Then + Return False + End If + Next + + Return True + End Function + + + + 'Public Sub LOAD_WarenpositionUnterlagen() + ' Try + ' nctsWP_UNTERLAGEN.Clear() + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_WarenpositionVorgelegteUnterlagen WHERE nctsWpUl_nctsWPId=@nctsWP_Id ", conn) + ' cmd.Parameters.AddWithValue("@nctsWP_Id", Me.nctsWP_Id) + ' Dim dr = cmd.ExecuteReader() + ' While dr.Read + ' Dim l As New cNCTS_TR_WarenpositionVorgelegteUnterlagen + ' For Each i In l.getParameterList() + ' Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + ' If dr.Item(i.Text) Is DBNull.Value Then + ' propInfo.SetValue(l, Nothing) + ' Else + ' propInfo.SetValue(l, dr.Item(i.Text)) + ' End If + ' Next + ' nctsWP_UNTERLAGEN.Add(l) + ' End While + ' dr.Close() + ' End Using + ' End Using + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + 'End Sub + + 'Public Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionVorgelegteUnterlagen] WHERE nctsWpUl_nctsWPId=" & Me.nctsWP_Id & " " + ' Return SQL.doSQL(sqlstr, "FMZOLL") + 'End Function + + 'Public Function INSERT_WarenpositionUnterlagen(wp_id, ncts_id) As Boolean + ' 'Zuserst alle OffertenPos von dem Offert löschen + + ' 'jetzt die Standartofferten einfügen + ' For Each p In nctsWP_UNTERLAGEN + ' p.nctsWpUl_nctsWPId = wp_id + ' p.nctsWpUl_NctsId = ncts_id + ' If Not p.INSERT() Then + ' Return False + ' End If + ' Next + + ' Return True + 'End Function + + + + +End Class + + + +Public Class cNCTS_TR_WarenpositionPackstuecke + + Property nctsWpPk_Id As Integer + Property nctsWpPk_nctsWPId As Integer + Property nctsWpPk_NctsId As Integer + + Property nctsWpPk_PackstueckeAnzahl As Object = Nothing + Property nctsWpPk_Verpackungsart As Object = Nothing + Property nctsWpPk_ZeichenNummern As Object = Nothing + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWpPk_nctsWPId = nctsWpPk_nctsWPId + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_Id", nctsWpPk_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_nctsWPId", nctsWpPk_nctsWPId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_NctsId", nctsWpPk_NctsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_PackstueckeAnzahl", nctsWpPk_PackstueckeAnzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_Verpackungsart", nctsWpPk_Verpackungsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_ZeichenNummern", nctsWpPk_ZeichenNummern)) + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + nctsWpPk_Id = SQL.doSQLVarListID(nctsWpPk_Id, getInsertCmd(), "FMZOLL", , list) + Return nctsWpPk_Id > 0 + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTS_TR_WarenpositionPackstuecke (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + + + +'NOCH NCIHT IM SQL!!!!!!!!!!!!!!! +Public Class cNCTS_TR_WarenpositionVorgelegteUnterlagen + + Property nctsWpUl_Id As Integer + Property nctsWpUl_nctsWPId As Integer + Property nctsWpUl_NctsId As Integer + Property nctsWpUl_Typ As Object = Nothing + Property nctsWpUl_Referenz As Object = Nothing + Property nctsWpUl_Zusatz As Object = Nothing + + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWpUl_nctsWPId = nctsWpUl_nctsWPId + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Id", nctsWpUl_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_nctsWPId", nctsWpUl_nctsWPId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_NctsId", nctsWpUl_NctsId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Typ", nctsWpUl_Typ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Referenz", nctsWpUl_Referenz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Zusatz", nctsWpUl_Zusatz)) + Return list + End Function + + + Public Function INSERT() As Boolean + Return True 'NOCH NCIHT!!!!! + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + nctsWpUl_Id = SQL.doSQLVarListID(nctsWpUl_Id, getInsertCmd(), "FMZOLL", , list) + Return nctsWpUl_Id > 0 + End Function + + Public Function getInsertCmd() As String + + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblNCTS_TR_WarenpositionVorgelegteUnterlagen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb new file mode 100644 index 0000000..804fa63 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb @@ -0,0 +1,156 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cOffenePostenDVO + + Property OP_ID As Integer + Property Konto As Integer + Property KundenNr As Integer + Property Rechnung As Object = Nothing + Property Datum As Object = Nothing + Property Buchungsbetrag As Object = Nothing + Property Steuercode As Object = Nothing + Property Ländercode As Object = Nothing + Property Steuerbetrag As Object = Nothing + Property Buchungstext As Object = Nothing + Property Faell_Tage1 As Object = Nothing + Property Faell_Prozent1 As Object = Nothing + Property Faell_Tage2 As Object = Nothing + Property Faell_Prozent2 As Object = Nothing + Property Faell_Tage3 As Object = Nothing + Property Faell_Prozent3 As Object = Nothing + Property Mahnstufe As Object = Nothing + Property Rechnung_Gutschrift As Object = Nothing + Property Storno As Object = Nothing + Property Jahr As Object = Nothing + + + Shared SQL As New SQL + + Sub New() + End Sub + + Sub New(OP_ID) + Me.OP_ID = OP_ID + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OP_ID", OP_ID, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konto", Konto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung", Rechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum", Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag", Buchungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuercode", Steuercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ländercode", Ländercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerbetrag", Steuerbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage1", Faell_Tage1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent1", Faell_Prozent1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage2", Faell_Tage2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent2", Faell_Prozent2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage3", Faell_Tage3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent3", Faell_Prozent3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mahnstufe", Mahnstufe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung_Gutschrift", Rechnung_Gutschrift)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Storno", Storno)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offene_Posten_DVO WITH(updlock,serializable) WHERE OP_ID=@OP_ID) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + OP_ID = SQL.doSQLVarListID(OP_ID, sqlstr, "FMZOLL", , list) + Return OP_ID > 0 + End Function + + Public Shared Function LOADByKdNr(KundenNr As Integer) As DataTable + Return SQL.loadDgvBySql("SELECT * FROM Offene_Posten_DVO WHERE KundenNr=@KundenNr ", "FMZOLL") + End Function + + Public Shared Function DELETE_ALL_ENTRYS() As Boolean + Return SQL.doSQL("DELETE FROM Offene_Posten_DVO ", "FMZOLL") + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Offene_Posten_DVO WHERE OP_ID=@OP_ID ", conn) + cmd.Parameters.AddWithValue("@OP_ID", OP_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Offene_Posten_DVO] SET " & str & " WHERE OP_ID=@OP_ID ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Offene_Posten_DVO (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb new file mode 100644 index 0000000..5fabb64 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb @@ -0,0 +1,170 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cOffene_Posten_DVO + + + Property OP_ID As Integer = -1 + Property Konto As Object = Nothing + Property KontoBez As Object = Nothing + Property KundenNr As Object = Nothing + Property Rechnung As Object = Nothing + Property Datum As Object = Nothing + Property Buchungsbetrag_SOLL As Object = Nothing + Property Buchungsbetrag_HABEN As Object = Nothing + Property Saldo As Object = Nothing + Property Steuercode As Object = Nothing + Property Ländercode As Object = Nothing + Property Steuerbetrag As Object = Nothing + Property Buchungstext As Object = Nothing + Property Faell_Tage1 As Object = Nothing + Property Faell_Prozent1 As Object = Nothing + Property Faell_Tage2 As Object = Nothing + Property Faell_Prozent2 As Object = Nothing + Property Faell_Tage3 As Object = Nothing + Property Faell_Prozent3 As Object = Nothing + Property Mahnstufe As Object = Nothing + Property Rechnung_Gutschrift As Object = Nothing + Property Storno As Object = Nothing + Property Jahr As Object = Nothing + Property Faelligkeit As Object = Nothing + + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(OP_ID) + Me.OP_ID = OP_ID + LOAD() + End Sub + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OP_ID", OP_ID, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konto", Konto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KontoBez", KontoBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung", Rechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum", Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag_SOLL", Buchungsbetrag_SOLL)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag_HABEN", Buchungsbetrag_HABEN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Saldo", Saldo)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuercode", Steuercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ländercode", (Ländercode))) '.ToString("N2"))) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerbetrag", Steuerbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage1", Faell_Tage1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent1", Faell_Prozent1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage2", Faell_Tage2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent2", Faell_Prozent2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage3", Faell_Tage3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent3", Faell_Prozent3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mahnstufe", Mahnstufe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung_Gutschrift", Rechnung_Gutschrift)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Storno", Storno)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faelligkeit", Faelligkeit)) + Return list + End Function + + Public Shared Function DELETE_ALL() As Boolean + Dim SQL As New SQL + Return SQL.doSQL("DELETE FROM Offene_Posten_DVO", "FMZOLL") + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offene_Posten_DVO WITH(updlock,serializable) WHERE OP_ID=@OP_ID) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + OP_ID = SQL.doSQLVarListID(OP_ID, sqlstr, "FMZOLL", , list) + Return OP_ID > 0 + End Function + + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Offene_Posten_DVO WHERE OP_ID=@OP_ID ", conn) + cmd.Parameters.AddWithValue("@OP_ID", OP_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Offene_Posten_DVO] SET " & str & " WHERE OP_ID=@OP_ID ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Offene_Posten_DVO (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [Offene_Posten_DVO] WITH(updlock,serializable) WHERE OP_ID=" & Me.OP_ID + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb new file mode 100644 index 0000000..a17255a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb @@ -0,0 +1,383 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cOfferteList + Property KundenNr As Object = Nothing + ' Property OffertenNr As Object = Nothing + Public LIST As New List(Of cOfferte) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + + Sub New(KundenNr, loadPos) + Me.KundenNr = KundenNr + ' Me.OffertenNr = OffertenNr + LOAD_LIST(Me.KundenNr, loadPos) + End Sub + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST(KundenNr, loadPos) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Offerten WHERE KundenNr=@KundenNr ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cOfferte + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + If loadPos Then l.LOAD_POSITIONEN() + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + 'Function SAVE() + ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then + ' For Each l In LIST + ' If Not l.INSERT() Then Return False + ' Next + ' Return True + ' Else + ' Return False + ' End If + 'End Function +End Class + +Public Class cOfferte + Property KundenNr As Object = Nothing + Property OffertenNr As Object = Nothing + Property FilialenNr As Object = Nothing + Property Pauschalpreis As Object = Nothing + Property Standardofferte As Object = Nothing + Property Besonderheiten As Object = Nothing + Property Eingegeben_am As Object = Nothing + Property Geändert_am As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property Gesperrt As Object = Nothing + Property Gesperrt_Datum As Object = Nothing + Property Gesperrt_Grund As Object = Nothing + + Property POSITIONEN As New List(Of cOffertPosition) '= Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + Sub New(KundenNr, OffertenNr, loadPos) + Me.KundenNr = KundenNr + Me.OffertenNr = OffertenNr + LOAD(KundenNr, OffertenNr, loadPos) + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pauschalpreis", Pauschalpreis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Standardofferte", Standardofferte)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt", Gesperrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt_Datum", Gesperrt_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt_Grund", Gesperrt_Grund)) + + Return list + End Function + + Public Sub LOAD(KundenNr, OffertenNr, loadPos) + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Offerten WHERE KundenNr=@KundenNr AND OffertenNr=@OffertenNr ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + 'Dim l As New cOfferte + For Each i In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(i.Text)) + End If + Next + If loadPos Then LOAD_POSITIONEN() + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD_POSITIONEN() + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Offertenpositionen WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ", conn) + cmd.Parameters.AddWithValue("@KundenNr", Me.KundenNr) + cmd.Parameters.AddWithValue("@OffertenNr", Me.OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cOffertPosition + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + POSITIONEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function SAVE() As Boolean + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offerten WITH(updlock,serializable) WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + Me.Eingegeben_am = Now + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Offerten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Offerten] SET " & str & " WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Function RESET_STANDARTOFFERTEN(Sachbearbeiter) As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then + 'jetzt die Standartofferten einfügen + For Each r In SQL.loadDgvBySql("SELECT * FROM [Standardofferten] WHERE [OffertenNr]=" & Me.OffertenNr, "FMZOLL").Rows + Dim P As New cOffertPosition() + Dim Leistung As New cLeistungen(r("LeistungsNr")) + + + P.KundenNr = Me.KundenNr + P.OffertenNr = Me.OffertenNr + + P.LeistungsNr = r("LeistungsNr") + P.LeistungsBez = r("LeistungsBez") + P.BerechnungsartNr = Leistung.BerechnungsartNr + P.Preis = r("Preis") + P.Anzahl = r("Anzahl") + P.BGebLeistungsNr = r("BGebLeistungsNr") + P.BGebProzent = r("BGebProzent") + P.BGebMinBetrag = r("BGebMinBetrag") + P.Eingegeben_am = Now + 'P.Geändert_am = XXXXXXXXX + If r("BerechnungsartPosInkludiert") IsNot DBNull.Value Then P.BerechnungsartPosInkludiert = r("BerechnungsartPosInkludiert") + If r("BerechnungsartNr") IsNot DBNull.Value Then P.BerechnungsartNr = r("BerechnungsartNr") 'Falls hier, dann übernommen, sonst von Leistung + P.Sachbearbeiter = Sachbearbeiter + 'P.Preisänderung = XXXXXXXXX + 'P.PreisänderungProzent = XXXXXXXXX + 'P.PreisAlt = XXXXXXXXX + If Not P.INSERT() Then + Return False + End If + Next + Else + Return False + End If + Return True + End Function + Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter, Firma) As Boolean + If Firma = "" Or Firma = "VERAG" Then + Return RESET_STANDARTOFFERTEN(Sachbearbeiter) + Else + + 'Zuserst alle OffertenPos von dem Offert löschen + If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then + 'jetzt die Standartofferten einfügen + For Each r In SQL.loadDgvBySql("SELECT * FROM [StandardoffertenFirma] WHERE Firma='" & Firma & "' AND [OffertenNr]=" & Me.OffertenNr, "FMZOLL").Rows + Dim P As New cOffertPosition() + Dim Leistung As New cLeistungen(r("LeistungsNr")) + + + P.KundenNr = Me.KundenNr + P.OffertenNr = Me.OffertenNr + + P.LeistungsNr = r("LeistungsNr") + P.LeistungsBez = r("LeistungsBez") + P.BerechnungsartNr = Leistung.BerechnungsartNr + P.Preis = r("Preis") + P.Anzahl = r("Anzahl") + P.BGebLeistungsNr = r("BGebLeistungsNr") + P.BGebProzent = r("BGebProzent") + P.BGebMinBetrag = r("BGebMinBetrag") + P.Eingegeben_am = Now + 'P.Geändert_am = XXXXXXXXX + P.Sachbearbeiter = Sachbearbeiter + If r("BerechnungsartPosInkludiert") IsNot DBNull.Value Then P.BerechnungsartPosInkludiert = r("BerechnungsartPosInkludiert") + If r("BerechnungsartNr") IsNot DBNull.Value Then P.BerechnungsartNr = r("BerechnungsartNr") 'Falls hier, dann übernommen, sonst von Leistung + 'P.Preisänderung = XXXXXXXXX + 'P.PreisänderungProzent = XXXXXXXXX + 'P.PreisAlt = XXXXXXXXX + If Not P.INSERT() Then + Return False + End If + Next + Else + Return False + End If + Return True + End If + End Function + + +End Class + + +Public Class cOffertPosition + Property KundenNr As Object = Nothing + Property OffertenNr As Object = Nothing + Property LeistungsNr As Object = Nothing + Property LeistungsBez As Object = Nothing + Property BerechnungsartNr As Object = Nothing + Property Preis As Object = Nothing + Property Anzahl As Object = Nothing + Property BGebLeistungsNr As Object = Nothing + Property BGebProzent As Object = Nothing + Property BGebMinBetrag As Object = Nothing + Property Eingegeben_am As Object = Nothing + Property Geändert_am As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property Preisänderung As Object = Nothing + Property PreisänderungProzent As Object = Nothing + Property PreisAlt As Object = Nothing + Property BerechnungsartPosInkludiert As Object = Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preisänderung", Preisänderung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisänderungProzent", PreisänderungProzent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisAlt", PreisAlt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert)) + Return list + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + Public Function getInsertCmd() As String + Try + Me.Eingegeben_am = Now + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Offertenpositionen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb new file mode 100644 index 0000000..0200fca --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb @@ -0,0 +1,84 @@ + +Public Class cPDFWriteValues + Private sText As String + Private X As Double + Private Y As Double + Private width As Double + Private height As Double + Private mfont As String + Private mSize As Integer + Private maxlength As Integer = -1 + Private align As Integer = iTextSharp.text.Element.ALIGN_LEFT 'PdfContentByte.ALIGN_LEFT + + + Public Sub New(ByVal sText As String, ByVal X As Double, ByVal Y As Double, ByVal width As Double, ByVal height As Double, ByVal mfont As String, ByVal mSize As Integer, Optional ByVal maxlength As Integer = -1, Optional ByVal align As Integer = iTextSharp.text.Element.ALIGN_LEFT) + Me.sText = sText + Me.X = X + Me.Y = Y + Me.width = width + Me.height = height + Me.mfont = mfont + Me.mSize = mSize + Me.maxlength = maxlength + Me.align = align + End Sub + + Public ReadOnly Property Text() As Object + Get + Return sText + End Get + End Property + + Public ReadOnly Property getX() As Object + Get + Return X + End Get + End Property + Public ReadOnly Property getY() As Object + Get + Return Y + End Get + End Property + + Public ReadOnly Property getWidth() As Object + Get + Return width + End Get + End Property + Public ReadOnly Property getHeight() As Object + Get + Return height + End Get + End Property + + Public ReadOnly Property font() As Object + Get + Return mfont + End Get + End Property + + Public ReadOnly Property Size() As Object + Get + Return mSize + End Get + End Property + Public ReadOnly Property getMaxlength() As Object + Get + Return maxlength + End Get + End Property + Public ReadOnly Property getAlign() As Object + Get + Return align + End Get + End Property + + ' Public Overrides Function ToString() As Object + ' Return mText + ' End Function + + + + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb new file mode 100644 index 0000000..f59f5ba --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb @@ -0,0 +1,105 @@ + + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cParameterList + Property ProgId As Object = Nothing + Property firma As Object = Nothing + ' Property OffertenNr As Object = Nothing + Public LIST As New List(Of cParameter) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + + Sub New(ProgId) + Me.ProgId = ProgId + ' Me.OffertenNr = OffertenNr + LOAD_LIST(Me.ProgId) + End Sub + Sub New(ProgId, firma) + Me.ProgId = ProgId + Me.firma = firma + ' Me.OffertenNr = OffertenNr + LOAD_LIST(Me.ProgId, Me.firma) + End Sub + + Public Sub CLEAR() + LIST.Clear() + End Sub + Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False) + ' Dim l As New cOfferte + 'l.eb_bcc = bcc + 'LIST.Add(l) + End Sub + + Public Sub LOAD_LIST(KundenNr, Optional firma = Nothing) + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN + Using cmd As New SqlCommand("SELECT * FROM [tblParameter] WHERE progId IN (0,@ProgId) " & If(firma IsNot Nothing, " AND firma=@firma", ""), conn) + cmd.Parameters.AddWithValue("@ProgId", ProgId) + cmd.Parameters.AddWithValue("@firma", firma) + ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cParameter + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function GET_PARAMETER_VALUE(param As String) As String + For Each p In LIST + If p.bezeichnung = param Then + Return p.wert + End If + Next + Return "" + End Function + + Public Function GET_PARAMETER_VALUE_BOOL(param As String) As Boolean + For Each p In LIST + If p.bezeichnung = param Then + Return (p.wert = "1" Or p.wert = "true") + End If + Next + Return False + End Function + +End Class + +Public Class cParameter + Property Id As Integer + Property bezeichnung As String + Property wert As String + Property firma As Object = Nothing + Property beschreibung As Object = Nothing + Property progId As Object = Nothing + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Id", Id,, True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bezeichnung", bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wert", wert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("firma", firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beschreibung", beschreibung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("progId", progId)) + + Return list + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb new file mode 100644 index 0000000..942d038 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb @@ -0,0 +1,203 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + +Public Class cPostversand + + + Property post_id As Integer = -1 + Property post_AvisoId As Object = Nothing ' INT NULL, + Property post_SendungsId As Object = Nothing ' INT NULL, + Property post_FilialenNr As Object = Nothing ' INT NULL, + Property post_AbfertigungsNr As Object = Nothing ' INT NULL, + Property post_art As Object = Nothing ' VARCHAR(200) Not NULL, + Property post_Empfaenger_Name1 As Object = Nothing ' VARCHAR(40) Not NULL, + Property post_Empfaenger_Name2 As Object = Nothing ' VARCHAR(40) NULL, + Property post_Empfaenger_Adresse1 As Object = Nothing ' VARCHAR(40) Not NULL, + Property post_Empfaenger_Adresse2 As Object = Nothing ' VARCHAR(60) Not NULL, + Property post_Empfaenger_Adresse3 As Object = Nothing ' VARCHAR(40) NULL, + Property post_ReferenzPaketdienst As Object = Nothing ' VARCHAR(200) NULL, + Property post_ContainerLKWNr As Object = Nothing ' VARCHAR(200) Not NULL, + Property post_Datum As Object = Nothing ' DATETIME Default (getdate()) Not NULL, + Property post_Sachbearbeiter As Object = Nothing ' VARCHAR(200) Not NULL, + Property post_SachbearbeiterId As Object = Nothing ' INT Not NULL, + Property post_FirmaInAuftragKdnr As Object = Nothing ' INT NULL, + Property post_FirmaInAuftrag As Object = Nothing ' VARCHAR(200) NULL, + Property post_Rolle As Object = Nothing ' VARCHAR(200) NULL, + 'Property post_LKW As Object = Nothing ' VARCHAR(200) NULL, + Property post_Empfaenger_KdNr As Object = Nothing ' VARCHAR(200) NULL, + ' Property post_Rolle As Object = Nothing ' VARCHAR(200) NULL, + + + + Property post_KdAuftrNrAvisierer As Object = Nothing + Property post_RgEmpfaenger_KdNr As Object = Nothing + Property post_RgEmpfaenger_Name As Object = Nothing + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(post_id) + Me.post_id = post_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_id", post_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_AvisoId", post_AvisoId)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_SendungsId", post_SendungsId)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FilialenNr", post_FilialenNr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_AbfertigungsNr", post_AbfertigungsNr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_art", post_art)) ' VARCHAR(200) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Name1", post_Empfaenger_Name1)) ' VARCHAR(40) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Name2", post_Empfaenger_Name2)) ' VARCHAR(40) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse1", post_Empfaenger_Adresse1)) 'VARCHAR(40) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse2", post_Empfaenger_Adresse2)) 'VARCHAR(60) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse3", post_Empfaenger_Adresse3)) ' VARCHAR(40) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_ReferenzPaketdienst", post_ReferenzPaketdienst)) ' VARCHAR(200) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_ContainerLKWNr", post_ContainerLKWNr)) '# VARCHAR(200) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Datum", post_Datum)) ' DATETIME Default (getdate()) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Sachbearbeiter", post_Sachbearbeiter)) ' VARCHAR(200) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_SachbearbeiterId", post_SachbearbeiterId)) ' INT Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FirmaInAuftragKdnr", post_FirmaInAuftragKdnr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FirmaInAuftrag", post_FirmaInAuftrag)) ' VARCHAR(200) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Rolle", post_Rolle)) ' VARCHAR(200) NULL, + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_LKW", post_LKW)) ' VARCHAR(200) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_KdNr", post_Empfaenger_KdNr)) ' VARCHAR(200) NULL, + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_KdAuftrNrAvisierer", post_KdAuftrNrAvisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_RgEmpfaenger_KdNr", post_RgEmpfaenger_KdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_RgEmpfaenger_Name", post_RgEmpfaenger_Name)) + + Return list + End Function + + + + Public Shared Function LOADByFilialeAbfNr(FilialeNr As Integer, AbfertigungsNr As Integer, Optional post_Rolle As String = "") As cPostversand + Try + Dim VK As New cPostversand + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblPostversand WHERE post_AbfertigungsNr=@post_AbfertigungsNr AND post_FilialenNr=@post_FilialenNr " & If(If(post_Rolle, "") <> "", "AND post_Rolle=@post_Rolle ", ""), conn) + cmd.Parameters.AddWithValue("@post_FilialenNr", FilialeNr) + cmd.Parameters.AddWithValue("@post_AbfertigungsNr", AbfertigungsNr) + cmd.Parameters.AddWithValue("@post_Rolle", post_Rolle) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In VK.getParameterList() + Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(VK, Nothing) + Else + propInfo.SetValue(VK, dr.Item(l.Text)) + End If + Next + dr.Close() + Return VK + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblPostversand WITH(updlock,serializable) WHERE post_id=@post_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + post_id = SQL.doSQLVarListID(post_id, sqlstr, "FMZOLL", , list) + Return post_id > 0 + End Function + + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblPostversand WHERE post_id=@post_id ", conn) + cmd.Parameters.AddWithValue("@post_id", post_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblPostversand] SET " & str & " WHERE post_id=@post_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblPostversand (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblPostversand] WITH(updlock,serializable) WHERE post_id=" & Me.post_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb new file mode 100644 index 0000000..f260220 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb @@ -0,0 +1,254 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cProgrammeUpdate + Property pud_progId As Object = Nothing + Property pud_codename As String + Property pud_version As String + Property pud_fileName As String + Property pud_filePathFolder As Object = Nothing + Property pud_datum As Date = Now + + Property pud_file_Verion As String + Property pud_file_Date As Date + Property pud_file_Size As Integer + + Dim SQL As New SQL + + + Shared Function getParameterList(UD As cProgrammeUpdate) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_progId", UD.pud_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_codename", UD.pud_codename)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_version", UD.pud_version)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_fileName", UD.pud_fileName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_filePathFolder", UD.pud_filePathFolder)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_datum", UD.pud_datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Verion", UD.pud_file_Verion)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Date", UD.pud_file_Date)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Size", UD.pud_file_Size)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me) + Return SQL.doSQLVarList(getInsertCmd, "ADMIN", , list) + End Function + + Public Shared Function LOAD_AKT_LIST(pud_progId) As List(Of cProgrammeUpdate) + Dim LIST As New List(Of cProgrammeUpdate) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblProgrammeUpdate WHERE pud_progId=@pud_progId AND pud_version=(SELECT TOP (1) pud_version FROM tblProgrammeUpdate WHERE pud_progId=@pud_progId order by pud_version DESC) ", conn) + cmd.Parameters.AddWithValue("@pud_progId", pud_progId) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim UD As New cProgrammeUpdate + For Each l In cProgrammeUpdate.getParameterList(UD) + Dim propInfo As PropertyInfo = UD.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(UD, Nothing) + Else + propInfo.SetValue(UD, dr.Item(l.Text)) + End If + + Next + LIST.Add(UD) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return LIST + End Function + + Public Shared Function SAVE_LIST(pud_progId As Integer, pud_version As String, pud_codename As String, LIST As List(Of cProgrammeUpdate)) As Boolean + Dim SQL As New SQL + SQL.doSQL("DELETE FROM tblProgrammeUpdate WHERE pud_version='" & pud_version & "'", "ADMIN") + SAVE_LIST = True + For Each UD In LIST + UD.pud_progId = pud_progId + UD.pud_version = pud_version + UD.pud_codename = pud_codename + If Not UD.SAVE() Then SAVE_LIST = False + Next + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me) + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblProgrammeUpdate] SET " & str & " WHERE gb_nr=@gb_nr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me) + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblProgrammeUpdate (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Shared Function isNewFile(ByRef file As VERAG_PROG_ALLGEMEIN.cProgrammeUpdate, LIST_DEST As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)) As Boolean + For Each l In LIST_DEST + If l.pud_filePathFolder = file.pud_filePathFolder And l.pud_fileName = file.pud_fileName And l.pud_file_Size = file.pud_file_Size And l.pud_file_Date = file.pud_file_Date Then + Return False + End If + Next + Return True + End Function + + Public Shared Function isOldFile(ByRef file As VERAG_PROG_ALLGEMEIN.cProgrammeUpdate, LIST_SOURCE As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)) As Boolean + For Each l In LIST_SOURCE + If l.pud_filePathFolder = file.pud_filePathFolder And l.pud_fileName = file.pud_fileName And l.pud_file_Size = file.pud_file_Size And l.pud_file_Date = file.pud_file_Date Then + Return False + End If + Next + Return True + End Function + + + Public Shared Function copyProgramLIST(ByRef sourcePfad As String, ByVal destPfad As String, ignoreFilesBeginWith As String()) As Boolean + Try + + If destPfad.Trim = "" Then Return False + If sourcePfad.Trim = "" Then Return False + + If Not My.Computer.FileSystem.DirectoryExists(sourcePfad) Then + MsgBox("ERROR_COPY_01: Quell-Ordner existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False + End If + ' MsgBox(destPfad) + If Not My.Computer.FileSystem.DirectoryExists(destPfad) Then + MsgBox("ERROR_COPY_02: Ziel-Ordner existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False + End If + + Dim LIST_SOURCE As New List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate) + Dim dirNameReplace_SOURCE = "" + Dim DI_SOURCE As New IO.DirectoryInfo(sourcePfad) + RekursivGetFiles(DI_SOURCE, dirNameReplace_SOURCE, LIST_SOURCE, {}) + + Dim LIST_DEST As New List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate) + Dim dirNameReplace_DEST = "" + Dim DI_DEST As New IO.DirectoryInfo(destPfad) + RekursivGetFiles(DI_DEST, dirNameReplace_DEST, LIST_DEST, ignoreFilesBeginWith) + + If LIST_SOURCE.Count = 0 Then + MsgBox("ERROR_COPY_01: Quell-Daten existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False + End If + 'If LIST_DEST.Count = 0 Then + ' MsgBox("ERROR_COPY_02: Ziel-Daten existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False + 'End If + + 'ORDNER erstellen: + For Each f In LIST_SOURCE + If If(f.pud_filePathFolder, "") <> "" Then + If Not IO.Directory.Exists(dirNameReplace_DEST & "\" & f.pud_filePathFolder) Then '.Replace("\\", "\") + IO.Directory.CreateDirectory(dirNameReplace_DEST & "\" & f.pud_filePathFolder) '.Replace("\\", "\") + End If + End If + Next + + 'Löschen der unbenötigten Files: + For Each f In LIST_DEST + If isOldFile(f, LIST_SOURCE) Then + IO.File.Delete(dirNameReplace_DEST & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName) '.Replace("\\", "\") + End If + Next + + If dirNameReplace_DEST = "" Then dirNameReplace_DEST = destPfad + 'Kopieren/Überschreiben der neuen Files: + For Each f In LIST_SOURCE + If isNewFile(f, LIST_DEST) Then + Dim s_path = dirNameReplace_SOURCE & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName '.Replace("\\", "\") + Dim d_path = dirNameReplace_DEST & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName '.Replace("\\", "\") + d_path = d_path '.replace("\\", "\") + IO.File.Copy(s_path, d_path) + End If + Next + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + ' If isNewFile(destPfad) Then Return FileCopier(sourcePfad, destPfad) + Return True + End Function + + Public Shared Function fileStartsWith(fileName As String, ignoreFilesBeginWith As String()) + For Each s In ignoreFilesBeginWith + If fileName.StartsWith(s) Then Return True + Next + Return False + End Function + Public Shared Sub RekursivGetFiles(ByVal oDir As IO.DirectoryInfo, ByRef dirNameReplace As String, ByRef LIST As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate), ignoreFilesBeginWith As String()) + Dim oSubDir As IO.DirectoryInfo + Dim FI As IO.FileInfo + + ' zunächst alle Dateien des Ordners aufspüren + For Each FI In oDir.GetFiles() + If Not fileStartsWith(FI.Name, ignoreFilesBeginWith) Then 'DATEIEN beginnen mit betimmten Namen, z.B. UPDATER + + + ' Dim FI As New IO.FileInfo(oFile) + If dirNameReplace = "" Then + dirNameReplace = FI.DirectoryName + End If + + Dim UD As New VERAG_PROG_ALLGEMEIN.cProgrammeUpdate + UD.pud_fileName = FI.Name + UD.pud_filePathFolder = FI.DirectoryName.Replace(dirNameReplace, "") + If UD.pud_filePathFolder = "" Then UD.pud_filePathFolder = Nothing + UD.pud_file_Size = FI.Length + UD.pud_file_Date = FI.LastWriteTime + UD.pud_file_Verion = "" 'FI. + LIST.Add(UD) + + End If + 'With oFile + ' ListBox1.Items.Add(.DirectoryName & "\" & .Name & vbTab & + ' .Length & vbTab & .LastWriteTime) + 'End With + Next + + ' Jetzt alle Unterverzeichnis durchlaufen + ' und die Prozedur rekursiv selbst aufrufen + For Each oSubDir In oDir.GetDirectories() + RekursivGetFiles(oSubDir, dirNameReplace, LIST, {}) + Next + End Sub + +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb new file mode 100644 index 0000000..e494b56 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb @@ -0,0 +1,247 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + +Public Class cQSTeams + Property LIST As New List(Of cQSTeam) + + Dim SQL As New SQL + + Sub New() + LOAD_LIST() + End Sub + + Public Sub LOAD_LIST() + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT qstm_Id FROM [tblQS_Teams] ", conn) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cQSTeam(dr.Item("qstm_Id")) + LIST.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getTeamById(id) + For Each T In LIST + If T.qstm_Id = id Then + Return T + End If + Next + Return Nothing + End Function + + Public Shared Function genNewTeam(teamName) As Boolean + If teamName = "" Then Return False + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("INSERT INTO [tblQS_Teams] ([qstm_bezeichnung]) VALUES('" & teamName & "') ", conn) + cmd.ExecuteNonQuery() + Return True + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + +End Class + + + +Public Class cQSTeam + + Property qstm_Id As Integer = -1 + Property qstm_bezeichnung As String + + Property MEMBER As New List(Of cQSTeamMA) + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qstm_Id", qstm_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qstm_bezeichnung", qstm_bezeichnung)) + + Return list + End Function + + Sub New(qstm_Id) + Me.qstm_Id = qstm_Id + LOAD(qstm_Id) + End Sub + + Sub New() + End Sub + + + + Public Sub LOAD(qstm_Id) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM [tblQS_Teams] WHERE qstm_Id=@qstm_Id ", conn) + cmd.Parameters.AddWithValue("@qstm_Id", qstm_Id) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + LOAD_POSITIONEN() + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + + + Public Sub LOAD_POSITIONEN() + Try + MEMBER.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM [tblQS_TeamsMA] WHERE qtma_QstmId=@qtma_QstmId ", conn) + cmd.Parameters.AddWithValue("@qtma_QstmId", qstm_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cQSTeamMA + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + MEMBER.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + +End Class + + +Public Class cQSTeamMA + + Property qtma_Id As Integer = -1 + Property qtma_QstmId As Integer + Property qtma_MaId As Integer + Property qtma_name As String = "" + Property qtma_funktion As Object = Nothing + + Dim SQL As New SQL + Sub New() + End Sub + + Sub New(qtma_Id) + Me.qtma_Id = qtma_Id + LOAD(qtma_Id) + End Sub + + + + + Public Sub LOAD(qtma_Id) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM [tblQS_TeamsMA] WHERE qtma_Id=@qtma_Id ", conn) + cmd.Parameters.AddWithValue("@qtma_Id", qtma_Id) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_Id", qtma_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_QstmId", qtma_QstmId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_MaId", qtma_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_name", qtma_name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_funktion", qtma_funktion)) + + Return list + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblQS_TeamsMA] WITH(updlock,serializable) WHERE qtma_Id=" & Me.qtma_Id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Public Function getInsertCmd() As String + Try + + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblQS_TeamsMA (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb new file mode 100644 index 0000000..ca6a81b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb @@ -0,0 +1,33 @@ +Imports System.Threading + +Public Class cRKSV_DE + Sub SignRKSV_DE() + + Dim SC As New cServerClient_RKSV_DE + + + Try + Dim sendString = "RKSV_DE" + + SC.begin("192.168.0.90", sendString, {"VERAG_DE"}) '192.168.0.90 = Developer + + SC.waitTillFinished() + Thread.Sleep(100) + + If SC.status = "TaskSuccess" Then + MsgBox("OK") '& vbNewLine & SC.ev.Message) + Else + MsgBox("FEHLER!") + 'MsgBox(SC.ev.Message) + Exit Sub + End If + + Catch ex As Exception + MsgBox(ex.Message) + End Try + + + + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb new file mode 100644 index 0000000..f069787 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -0,0 +1,637 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cRechnungsausgang + + Property RK_ID As Integer + Property FilialenNr As Integer + Property AbfertigungsNr As Integer + Property UnterNr As Integer = -1 + Property Abfertigungsdatum As Date + Property RechnungsNr As Object = Nothing + Property RechnungsDatum As Object = Nothing + Property Sammelrechnung As Integer + Property BelegartenNr As Integer = 70 'Nothing + Property BelegartenKz As String = "" + Property BelegartenBez As String = "" + Property Vorzeichen As String = "" + Property BelegNr As Object = Nothing + Property AbsenderLandKz As Object = Nothing + Property AbsenderKundenNr As Object = Nothing + Property AbsenderName_1 As Object = Nothing '!!!! + Property AbsenderName_2 As Object = Nothing '!!!! + Property AbsenderStraße As Object = Nothing + Property AbsenderOrt As Object = Nothing + Property AbsenderOffertenNr As Object = Nothing + Property EmpfängerLandKz As Object = Nothing + Property EmpfängerKundenNr As Object = Nothing + Property EmpfängerName_1 As Object = Nothing '!!!! + Property EmpfängerName_2 As Object = Nothing '!!!! + Property EmpfängerStraße As Object = Nothing + Property EmpfängerOrt As Object = Nothing + Property EmpfängerOffertenNr As Object = Nothing + Property VermittlerLandKz As Object = Nothing + Property VermittlerKundenNr As Object = Nothing + Property VermittlerName_1 As Object = Nothing '!!!! + Property VermittlerName_2 As Object = Nothing '!!!! + Property VermittlerStraße As Object = Nothing + Property VermittlerOrt As Object = Nothing + Property VermittlerOffertenNr As Object = Nothing + Property Rechnung_an As Integer + Property KundenNrZentrale As Object = Nothing + Property RechnungsLandKz As Object = Nothing + Property RechnungsKundenNr As Integer + Property RechnungsName_1 As Object = Nothing '!!!! + Property RechnungsName_2 As Object = Nothing '!!!! + Property RechnungsStraße As Object = Nothing + Property RechnungsOrt As Object = Nothing + Property RechnungsUstIdKz As Object = Nothing + Property RechnungsUstIdNr As Object = Nothing + Property RechnungsUstIdGeprüft As Object = Nothing 'Date = CDate("01.01.2000") + Property Lastschrift As Boolean = False + Property Kunden_SVS As Boolean = False + Property Steuerschlüssel As Integer + Property Steuersatz_Proz As Double + Property LKW_Kennzeichen As Object = Nothing '!!!! + Property WährungsNr As Object = Nothing + Property Wert As Object = Nothing + Property Umrechnungskurs As Object = Nothing + Property Packstücke_und_Warenbezeichnung As Object = Nothing '!!!! + Property Vermerk As Object = Nothing + Property Anlage_1 As Object = Nothing '!!!! + Property Anlage_2 As Object = Nothing '!!!! + Property Anlage_3 As Object = Nothing '!!!! + Property Anlage_4 As Object = Nothing '!!!! + Property Anlage_5 As Object = Nothing '!!!! + Property Anlage_6 As Object = Nothing '!!!! + Property OffertenNr As Object = Nothing + Property Vorlageprovision_Proz As Object = Nothing '!!!!% + Property Kreditaufwendungen_Proz As Object = Nothing '!!!!% + Property Besonderheiten As Object = Nothing + Property Vorkasse As Boolean = False + Property Text As Object = Nothing + Property SteuerpflichtigerGesamtbetrag As Decimal = 0 + Property SteuerfreierGesamtbetrag As Decimal = 0 + Property Status As Object = 0 + Property DruckDatumZeit As Object = Nothing + Property Abfertigungskosten As Object = Nothing + Property Vorkosten As Object = Nothing + Property Erlös As Object = Nothing + Property Buchungsjahr As Object = Nothing + Property Währungscode As Object = "EUR" + Property Sachbearbeiter As Object = Nothing + Property Trdin As Boolean = False + Property KartenNr As Object = Nothing + Property RefFilialenNr As Object = Nothing + Property RefAbfertigungsNr As Object = Nothing + Property RefUnterNr As Object = Nothing + Property Notiz As Object = Nothing + Property Zucker_MRN_Nr As Object = Nothing + Property Zucker_MRN_Datum As Object = Nothing + Property Zucker_Aufschub As Object = Nothing + Property ReErfZeitstempel As Object = Nothing + Property Nettozahlungsziel As Object = Nothing + Property Firma_ID As Integer = 0 + Property SpeditionsbuchUnterNr As Object = Nothing + Property ErfassungsNr As Object = Nothing + 'Property upsize_ts As Object = Nothing + Property AvisiererKundenNr As Object = Nothing + Property Avisierer As Object = Nothing + Property EMailRechnungstext As Object = Nothing + Property AvisoID As Object = Nothing + Property KdAuftragsNr As Object = Nothing + Property Handling As Object = Nothing + Property VorschauID As Object = Nothing + Property Grenze As Object = Nothing + Property RechnungSprache As Object = Nothing + + + ' FROM [VERAG as object=nothing.[dbo as object=nothing.[Rechnungsausgang as object=nothing + + Public POSITIONEN As New List(Of cRechnungsausgangPositionen) + Shared SQL As New SQL + + Sub New() + End Sub + + Sub New(RK_ID) + Me.RK_ID = RK_ID + LOAD() : LOAD_POSITIONEN() + End Sub + + Sub New(FilialenNr, AbfertigungsNr) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + LOAD(FilialenNr, AbfertigungsNr) + End Sub + + + + Public Function getMaxRGUnterNr() As Integer + Return getMaxRGUnterNr(FilialenNr, AbfertigungsNr, SpeditionsbuchUnterNr) + End Function + + Public Shared Function getMaxRGUnterNr(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As Integer + ' Dim Nr = SQL.getValueTxtBySql("Select isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' And SpeditionsbuchUnterNr='" & SpeditionsbuchUnterNr & "' ORDER BY [UnterNr] desc", "FMZOLL") + Dim Nr = SQL.getValueTxtBySql("Select TOP 1 isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' ORDER BY [UnterNr] desc", "FMZOLL") + Return If(IsNumeric(Nr), Nr, 0) + End Function + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", RechnungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsDatum", RechnungsDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sammelrechnung", Sammelrechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenKz", BelegartenKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenBez", BelegartenBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorzeichen", Vorzeichen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderLandKz", AbsenderLandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", AbsenderKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 1", AbsenderName_1, "AbsenderName_1")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 2", AbsenderName_2, "AbsenderName_2")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderStraße", AbsenderStraße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOrt", AbsenderOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOffertenNr", AbsenderOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerLandKz", EmpfängerLandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", EmpfängerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 1", EmpfängerName_1, "EmpfängerName_1")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 2", EmpfängerName_2, "EmpfängerName_2")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerStraße", EmpfängerStraße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOrt", EmpfängerOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOffertenNr", EmpfängerOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerLandKz", VermittlerLandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", VermittlerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 1", VermittlerName_1, "VermittlerName_1")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 2", VermittlerName_2, "VermittlerName_2")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerStraße", VermittlerStraße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOrt", VermittlerOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOffertenNr", VermittlerOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung an", Rechnung_an, "Rechnung_an")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 1", RechnungsName_1, "RechnungsName_1")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 2", RechnungsName_2, "RechnungsName_2")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsStraße", RechnungsStraße)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsOrt", RechnungsOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdGeprüft", RechnungsUstIdGeprüft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden-SVS", Kunden_SVS, "Kunden_SVS")) '!!!!- + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz_Proz, "Steuersatz_Proz")) '!!!! % + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW Kennzeichen", LKW_Kennzeichen, "LKW_Kennzeichen")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungsNr", WährungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Wert", Wert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umrechnungskurs", Umrechnungskurs)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstücke und Warenbezeichnung", Packstücke_und_Warenbezeichnung, "Packstücke_und_Warenbezeichnung")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 1", Anlage_1, "Anlage_1")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 2", Anlage_2, "Anlage_2")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 3", Anlage_3, "Anlage_3")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 4", Anlage_4, "Anlage_4")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 5", Anlage_5, "Anlage_5")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 6", Anlage_6, "Anlage_6")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision %", Vorlageprovision_Proz, "Vorlageprovision_Proz")) '!!!!% + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen %", Kreditaufwendungen_Proz, "Kreditaufwendungen_Proz")) '!!!!% + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkasse", Vorkasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Text", Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerGesamtbetrag", SteuerpflichtigerGesamtbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierGesamtbetrag", SteuerfreierGesamtbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DruckDatumZeit", DruckDatumZeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungskosten", Abfertigungskosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkosten", Vorkosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erlös", Erlös)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsjahr", Buchungsjahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Trdin", Trdin)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenNr", KartenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefFilialenNr", RefFilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefAbfertigungsNr", RefAbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefUnterNr", RefUnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Notiz", Notiz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Nr", Zucker_MRN_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Datum", Zucker_MRN_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_Aufschub", Zucker_Aufschub)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ReErfZeitstempel", ReErfZeitstempel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SpeditionsbuchUnterNr", SpeditionsbuchUnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErfassungsNr", ErfassungsNr)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", AvisiererKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", Avisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EMailRechnungstext", EMailRechnungstext)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoID", AvisoID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Handling", Handling)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VorschauID", VorschauID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Grenze", Grenze)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungSprache", RechnungSprache)) + + Return list + End Function + + + + Public Sub LOAD(FilialeNr As Integer, AbfertigungsNr As Integer, Optional loadPos As Boolean = True) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialeNr=@FilialeNr AND AbfertigungsNr=@AbfertigungsNr ", conn) + cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr) + cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + If loadPos Then LOAD_POSITIONEN() + End If + dr.Close() + End Using + doVorzeichen() + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Shared Function LOADByFilialeAbfNrsssasdssssssssss(FilialeNr As Integer, AbfertigungsNr As Integer) As cVorauskasse + Try + Dim VK As New cVorauskasse + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE vk_AbfertigungsNr=@vk_AbfertigungsNr AND vk_FilialeNr=@vk_FilialeNr ", conn) + cmd.Parameters.AddWithValue("@vk_FilialeNr", FilialeNr) + cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In VK.getParameterList() + Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(VK, Nothing) + Else + propInfo.SetValue(VK, dr.Item(l.Text)) + End If + Next + dr.Close() + Return VK + End If + dr.Close() + End Using + 'VOREZEICHENCNENCNECNENCN!!! + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + Public Function SAVE(Optional saveAll As Boolean = True) As Boolean + doVorzeichen() + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + RK_ID = SQL.doSQLVarListID(RK_ID, sqlstr, "FMZOLL", , list) + + + If RK_ID > 0 Then + doVorzeichenPOS() + If saveAll Then SAVE_POSITIONEN(RK_ID) ' positionen speicehrn + doVorzeichenPOS() + End If + doVorzeichen() + Return RK_ID > 0 + End Function + + Public Function SAVE_DruckDatumZeit() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim sqlstr = " UPDATE Rechnungsausgang SET DruckDatumZeit=@DruckDatumZeit WHERE RK_ID=@RK_ID " + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + + Public Sub doVorzeichen() + Dim vz = If(Vorzeichen = "-", -1, 1) + Me.SteuerfreierGesamtbetrag *= vz + Me.SteuerpflichtigerGesamtbetrag *= vz + Me.Abfertigungskosten *= vz + End Sub + Public Sub doVorzeichenPOS() + Dim vz = If(Vorzeichen = "-", -1, 1) + For Each p In POSITIONEN + p.doVorzeichen(Vorzeichen) + Next + End Sub + + Public Function CHECK_Validation(ByRef errMsg As String) As Boolean + If Firma_ID <= 0 Then errMsg = "ERROR: Firma auswählen!" : Return False + If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False + If SpeditionsbuchUnterNr Is Nothing Then errMsg = "ERROR: Speditionsbuch-UnterNr auswählen!" : Return False + ' If Steuerschlüssel Then errMsg = "ERROR: Steuerschlüssel muss angegeben werden!" : Return False + + Return True + End Function + + Public Function SAVE_POSITIONEN(RK_ID) As Boolean + If DELETE_POSITIONEN() Then ' zuerst Einträge löschen... + ORDER_POSITIONEN() ' ... dann ordnen ... + For Each p In POSITIONEN + If Not p.INSERT(RK_ID) Then Return False ' ... dann insert + Next + Else : Return False + End If + Return True + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID ", conn) + cmd.Parameters.AddWithValue("@RK_ID", RK_ID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + doVorzeichen() + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Rechnungsausgang] SET " & str & " WHERE RK_ID=@RK_ID ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Rechnungsausgang (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function SET_DruckdatumUhrzeit() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " UPDATE [Rechnungsausgang] SET DruckDatumZeit=GETDATE WHERE RK_ID=" & Me.RK_ID + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function isReverseChargeSumme() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + 'Wenn selbes Land --> Kein Reversecharge + Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID) + ' MsgBox(RechnungsLandKz & " - " & FIRMA.Firma_LandKz) + If RechnungsLandKz = FIRMA.Firma_LandKz Then + Return False + End If + + + Dim sqlstr = " SELECT SUM(POS.SteuerfreierBetrag) AS ReverseChargeSumme " + sqlstr &= " FROM Rechnungsausgang as RA INNER JOIN RechnungsausgangPositionen as POS ON RA.RK_ID = POS.RK_ID INNER JOIN Leistungen ON POS.LeistungsNr = Leistungen.LeistungsNr INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] AS LD ON RA.RechnungsUstIdKz = LD.LandKz" + sqlstr &= " WHERE RA.rk_id='" & Me.RK_ID & "' AND LD.ReverseCharge = 1 AND Leistungen.ReverseCharge = 1" + + If Not CBool(SQL.DLookup("isnull([MitgliedslandEU],0)", "Währungstabelle", "LandKz='" & If(RechnungsLandKz, "") & "'", "FMZOLL", 0)) Then + Return False + End If + + Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0) = 0, False, True) + End Function + + Public Function setSPEDBUCH_FAKTURIERT(Optional wert As Boolean = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " UPDATE Speditionsbuch SET Fakturiert='" & If(wert, 1, 0) & "' WHERE FilialenNr = '" & Me.FilialenNr & "' AND AbfertigungsNr = '" & Me.[AbfertigungsNr] & "' AND UnterNr = '" & Me.[SpeditionsbuchUnterNr] & "'" + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [Rechnungsausgang] WHERE RK_ID=" & Me.RK_ID + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function DELETE_POSITIONEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [RechnungsausgangPositionen] WHERE RK_ID=" & Me.RK_ID + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Sub LOAD_POSITIONEN() + Try + POSITIONEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM RechnungsausgangPositionen WHERE RK_ID=@RK_ID ", conn) + cmd.Parameters.AddWithValue("@RK_ID", Me.RK_ID) + + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cRechnungsausgangPositionen + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + POSITIONEN.Add(l) + End While + dr.Close() + End Using + End Using + doVorzeichenPOS() + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub ORDER_POSITIONEN() + Try + ' Dim POSITIONEN_Tmp As New List(Of cRechnungsausgangPositionen) + Try + POSITIONEN = POSITIONEN.OrderByDescending(Function(x) x.Preis).ToList() + Catch ex As Exception + 'Preis null?? + End Try + POSITIONEN = POSITIONEN.OrderBy(Function(x) x.LeistungsNr).ToList() + + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + +End Class + + + +Public Class cRechnungsausgangPositionen + + Property RK_ID As Integer + Property LeistungsNr As Integer + Property Steuerpflichtig As Boolean + Property LeistungsBez As String = Nothing + Property IndexZkteing As Integer = 0 + Property BerechnungsartNr As Integer = 1 + Property Preis As Object = Nothing + Property Anzahl As Object = Nothing + Property SteuerpflichtigerBetrag As Decimal = 0 + Property SteuerfreierBetrag As Decimal = 0 + Property AufschubkontoNr As Object = Nothing + Property Aufschubfälligkeit As Object = Nothing + Property Prüfsumme_berechnen As Boolean '!!!! + Property DateiNameAufschub As Object = Nothing + Property Preisbindung As Boolean '!!!! + Property Belegdaten As Object = Nothing + Property Fremdwährung As Object = Nothing + Property BGebLeistungsNr As Object = Nothing + Property BGebProzent As Object = Nothing + Property BGebBgl As Object = Nothing + Property BGebMinBetrag As Object = Nothing + Property RePosZeitstempel As Object = Nothing + + 'FROM [VERAG].[dbo].[RechnungsausgangPositionen] + + + Dim SQL As New SQL + + Sub New() + End Sub + + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IndexZkteing", IndexZkteing)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetrag", SteuerpflichtigerBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetrag", SteuerfreierBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubkontoNr", AufschubkontoNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubfälligkeit", Aufschubfälligkeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Prüfsumme berechnen", Prüfsumme_berechnen, "Prüfsumme_berechnen")) '!!!! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DateiNameAufschub", DateiNameAufschub)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preisbindung", Preisbindung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremdwährung", Fremdwährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebBgl", BGebBgl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RePosZeitstempel", RePosZeitstempel)) + + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("upsize_ts", XXXXXXXXXXXXX)) + Return list + End Function + + Public Function INSERT(RK_ID) As Boolean + Me.RK_ID = RK_ID + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + End Function + + + Public Sub doVorzeichen(Vorzeichen) + Dim vz = If(Vorzeichen = "-", -1, 1) + Me.Preis *= vz + Me.SteuerfreierBetrag *= vz + Me.SteuerpflichtigerBetrag *= vz + End Sub + + Public Function getInsertCmd() As String + Try + 'Me.Eingegeben_am = Now + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO RechnungsausgangPositionen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb new file mode 100644 index 0000000..430d349 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb @@ -0,0 +1,170 @@ + +Imports System.Data.SqlClient + +Public Class cRechnungsnummern + Property SpeditionsbuchNr As String = "" 'FIRMA! + Property Buchungsjahr As String = "" + + + Property VonRechnungsNr As Integer = -1 + Property BisRechnungsNr As Integer = -1 + Property LfdRechnungsNr As Integer = 0 + + Dim SQL As New SQL + + Public Sub New(SpeditionsbuchNr As String, Buchungsjahr As String) + Me.SpeditionsbuchNr = SpeditionsbuchNr + Me.Buchungsjahr = Buchungsjahr + + 'Default-Werte: + '------------------------------------- + Select Case SpeditionsbuchNr + Case 1 + VonRechnungsNr = Now.ToString("yy") & "100001" + BisRechnungsNr = Now.ToString("yy") & "199999" + Case 3 + VonRechnungsNr = Now.ToString("yy") & "300001" + BisRechnungsNr = Now.ToString("yy") & "399999" + Case 7 + VonRechnungsNr = Now.ToString("yy") & "700001" + BisRechnungsNr = Now.ToString("yy") & "799999" + Case 11 + VonRechnungsNr = Now.ToString("yy") & "900001" + BisRechnungsNr = Now.ToString("yy") & "999999" + Case 15 + VonRechnungsNr = Now.ToString("yy") & "200001" + BisRechnungsNr = Now.ToString("yy") & "299999" + Case 20 + VonRechnungsNr = Now.ToString("yy") & "400001" + BisRechnungsNr = Now.ToString("yy") & "499999" + Case 17 'FrontOffice + VonRechnungsNr = Now.ToString("yy") & "500001" + BisRechnungsNr = Now.ToString("yy") & "599999" + + Case 21 ' UNISPED AT + VonRechnungsNr = Now.ToString("yy") & "7000000" + BisRechnungsNr = Now.ToString("yy") & "7999999" + Case 22 ' UNISPED DE + VonRechnungsNr = Now.ToString("yy") & "9000000" + BisRechnungsNr = Now.ToString("yy") & "9999999" + Case 23 ' UNISPED Zollservice + VonRechnungsNr = Now.ToString("yy") & "5000000" + BisRechnungsNr = Now.ToString("yy") & "5999999" + End Select + LfdRechnungsNr = VonRechnungsNr + '------------------------------------- + + + LOAD(SpeditionsbuchNr, Buchungsjahr) + End Sub + + + Public Function INCREASE_RGNR() As Integer + If LfdRechnungsNr > 0 Then + LfdRechnungsNr += 1 + Else + LfdRechnungsNr = 1 + End If + SAVE() + Return LfdRechnungsNr + End Function + + + Public Function CHECK_RGNR() As Integer ' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr. + Dim increased = False + While SQL.DLookup("count(*)", "Rechnungsausgang", " RechnungsNr='" & LfdRechnungsNr & "' and Firma_ID='" & SpeditionsbuchNr & "' ", "FMZOLL", 0) > 0 + LfdRechnungsNr += 1 + increased = True + End While + If increased Then SAVE() + Return LfdRechnungsNr + End Function + + + Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [Rechnungsnummern] WITH(updlock,serializable) WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + 'MsgBox(sqlstr) + Return SQL.doSQL(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD(SpeditionsbuchNr As String, Buchungsjahr As String) + Try + Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Rechnungsnummern WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr ", conn) + cmd.Parameters.AddWithValue("@SpeditionsbuchNr", SpeditionsbuchNr) + cmd.Parameters.AddWithValue("@Buchungsjahr", Buchungsjahr) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Me.SpeditionsbuchNr = cSqlDb.checkNullStr(dr.Item("SpeditionsbuchNr")) + Me.Buchungsjahr = cSqlDb.checkNullStr(dr.Item("Buchungsjahr")) + Me.LfdRechnungsNr = cSqlDb.checkNullStr(dr.Item("LfdRechnungsNr")) + Me.VonRechnungsNr = cSqlDb.checkNullInteger(dr.Item("VonRechnungsNr")) + Me.BisRechnungsNr = cSqlDb.checkNullInteger(dr.Item("BisRechnungsNr")) + + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("SpeditionsbuchNr", SpeditionsbuchNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("Buchungsjahr", Buchungsjahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("LfdRechnungsNr", LfdRechnungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("VonRechnungsNr", VonRechnungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("BisRechnungsNr", BisRechnungsNr)) + Return list + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList() + + Dim str As String = "" + For Each i In list + str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & "," + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Rechnungsnummern] SET " & str & " WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO [Rechnungsnummern] (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb new file mode 100644 index 0000000..0fdec61 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb @@ -0,0 +1,249 @@ + + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cSDL + Property KundenNr As Integer + Property KfzKennzeichen As String = "" + Property SDLNr As Integer + Property History As Integer + Property RefKundenNr As Object = Nothing + Property MSE_Kd_Nr As Object = Nothing + Property TELEPASS_Kd_Nr As Object = Nothing + Property CLIENT_Nr As Object = Nothing + Property BestellNr As Object = Nothing + Property Bestelldatum As Object = Nothing + Property Lieferdatum As Object = Nothing + Property Ausstellungsdatum As Object = Nothing + Property Umstellungsdatum As Object = Nothing + Property KartenNr As Object = Nothing + Property PAN_Nr As Object = Nothing + Property VIACARD As Object = Nothing + Property MOTORWAY_CARD_Nr As Object = Nothing + Property CARD_Nr As Object = Nothing + Property KartenSchlüsselNr As Object = Nothing + Property FREJUS_CARD_Nr As Object = Nothing + Property ECO As Object = Nothing + Property GültigBis As Object = Nothing + Property OBUID As Object = Nothing + Property SERIE_Nr As Object = Nothing + Property TELEPASS_Nr As Object = Nothing + Property Vermerk As Object = Nothing + Property Partner As Object = Nothing + Property BenutzerNr As Object = Nothing + Property PIN As Object = Nothing + Property FlottenPIN As Object = Nothing + Property MasterPIN As Object = Nothing + Property VertragsNr As Object = Nothing + Property Vertragsabschlussdatum As Object = Nothing + Property Kategorie As Object = Nothing + Property Schadstoffklasse As Object = Nothing + Property Status As Object = Nothing + Property Ersatzkarte As Object = Nothing + Property Gesperrt As Object = Nothing + Property Defekt As Object = Nothing + Property Verloren As Object = Nothing + Property Gestohlen As Object = Nothing + Property Erfassungsdatum As Object = Nothing + Property Änderungsdatum As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property Retourniert As Object = Nothing + Property RetourniertAm As Object = Nothing + + Property GesperrtAm As Object = Nothing + Property DefektAm As Object = Nothing + Property VerlorenAm As Object = Nothing + Property GestohlenAm As Object = Nothing + Property ErsatzkarteAm As Object = Nothing + Property TelepassErsatzkarte As Object = Nothing + Property TelepassErsatzkarteAm As Object = Nothing + Property Archiviert As Boolean = False + Property LKWAbgemeldet As Boolean = False + Property LKWAbgemeldetAM As Object = Nothing + + Property Fahrer As Object = Nothing + Property Kaution As Object = Nothing + Property BelegNr As Object = Nothing + + + Public hasentry + Dim SQL As New SQL + + Sub New() + + End Sub + + Sub New(KundenNr, KfzKennzeichen, SDLNr, History) + Me.KundenNr = KundenNr + Me.KfzKennzeichen = KfzKennzeichen + Me.SDLNr = SDLNr + Me.History = History + LOAD() + End Sub + + + Sub New(KundenNr, KfzKennzeichen, SDLNr) + Me.KundenNr = KundenNr + Me.KfzKennzeichen = KfzKennzeichen + Me.SDLNr = SDLNr + Me.History = SQL.getValueTxtBySql("SELECT TOP 1 History FROM SDL WHERE KundenNr='" & KundenNr & "' AND KfzKennzeichen='" & KfzKennzeichen & "' AND SDLNr='" & SDLNr & "' ORDER BY History DESC", "SDL") + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KfzKennzeichen", KfzKennzeichen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SDLNr", SDLNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("History", History)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefKundenNr", RefKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSE-Kd-Nr", MSE_Kd_Nr, "MSE_Kd_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Kd-Nr", TELEPASS_Kd_Nr, "TELEPASS_Kd_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CLIENT-Nr", CLIENT_Nr, "CLIENT_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BestellNr", BestellNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestelldatum", Bestelldatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferdatum", Lieferdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ausstellungsdatum", Ausstellungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umstellungsdatum", Umstellungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenNr", KartenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PAN-Nr", PAN_Nr, "PAN_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VIACARD", VIACARD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MOTORWAY-CARD-Nr", MOTORWAY_CARD_Nr, "MOTORWAY_CARD_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CARD-Nr", CARD_Nr, "CARD_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenSchlüsselNr", KartenSchlüsselNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FREJUS-CARD-Nr", FREJUS_CARD_Nr, "FREJUS_CARD_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ECO", ECO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GültigBis", GültigBis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERIE-Nr", SERIE_Nr, "SERIE_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Nr", TELEPASS_Nr, "TELEPASS_Nr")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Partner", Partner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BenutzerNr", BenutzerNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PIN", PIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FlottenPIN", FlottenPIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MasterPIN", MasterPIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VertragsNr", VertragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertragsabschlussdatum", Vertragsabschlussdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kategorie", Kategorie)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Schadstoffklasse", Schadstoffklasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ersatzkarte", Ersatzkarte)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt", Gesperrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Defekt", Defekt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verloren", Verloren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gestohlen", Gestohlen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Retourniert", Retourniert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RetourniertAm", RetourniertAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GesperrtAm", GesperrtAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DefektAm", DefektAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VerlorenAm", VerlorenAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GestohlenAm", GestohlenAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErsatzkarteAm", ErsatzkarteAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TelepassErsatzkarte", TelepassErsatzkarte)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TelepassErsatzkarteAm", TelepassErsatzkarteAm)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Archiviert", Archiviert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKWAbgemeldet", LKWAbgemeldet)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKWAbgemeldetAM", LKWAbgemeldetAM)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fahrer", Fahrer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kaution", Kaution)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM SDL WITH(updlock,serializable) WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "SDL", , list) + End Function + + Public Sub LOAD() + Try + hasentry = False + Using conn As SqlConnection = cSqlDb.GetNewOpenConnection() + Using cmd As New SqlCommand("SELECT * FROM SDL WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + cmd.Parameters.AddWithValue("@KfzKennzeichen", KfzKennzeichen) + cmd.Parameters.AddWithValue("@SDLNr", SDLNr) + cmd.Parameters.AddWithValue("@History", History) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasentry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [SDL] SET " & str & " WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO SDL (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb new file mode 100644 index 0000000..ec3c64e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb @@ -0,0 +1,138 @@ + + + +Imports System.Data.SqlClient + Imports System.Reflection +Public Class cSDL_LKW + Property KundenNr As Integer + Property KfzKennzeichen As String + Property Nationalität As Object = Nothing + Property Verkauft As Object = Nothing + Property Abgemeldet As Object = Nothing + Property Vermerk As Object = Nothing + Property Erfassungsdatum As Object = Nothing + Property Änderungsdatum As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property KZAenderung As Object = Nothing + Property ts As Object = Nothing + Property Baujahr As Object = Nothing + Property KzMiete As Object = Nothing + Property KzLeasing As Object = Nothing + Property KzFinanzierungBank As Object = Nothing + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New(KundenNr, KfzKennzeichen) + Me.KundenNr = KundenNr + Me.KfzKennzeichen = KfzKennzeichen + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KfzKennzeichen", KfzKennzeichen)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nationalität", Nationalität)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verkauft", Verkauft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abgemeldet", Abgemeldet)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KZAenderung", KZAenderung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Baujahr", Baujahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzMiete", KzMiete)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzLeasing", KzLeasing)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzFinanzierungBank", KzFinanzierungBank)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM LKW WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "SDL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL() + Using cmd As New SqlCommand("SELECT * FROM LKW WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen ", conn) + cmd.Parameters.AddWithValue("@KundenNr", KundenNr) + cmd.Parameters.AddWithValue("@KfzKennzeichen", KfzKennzeichen) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [LKW] SET " & str & " WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO LKW (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb new file mode 100644 index 0000000..b31b2e9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb @@ -0,0 +1,242 @@ +Imports com.esendex.sdk.messaging +Imports com.esendex.sdk.sent +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cSMS + Property sms_id As Integer + Property sms_Datum As Date = Now + Property sms_Firma As Object = Nothing + Property sms_Account As Object = Nothing + + Property sms_Fahrername As Object = Nothing + Property sms_KundenNr As Object = Nothing + Property sms_Kunde As Object = Nothing + + + + Property sms_Vorwahl As Object = Nothing + Property sms_Handynummer As Object = Nothing + Property sms_Nachricht As Object = Nothing + Property sms_BatchId As Object = Nothing + Property sms_MessageIds As Object = Nothing + Property sms_Uris As Object = Nothing + Property sms_Sachbearbeiter As String = Nothing + Property sms_SachbearbeiterId As Integer + Property sms_AvisoId As Object = Nothing + + Property sms_Status As Integer = -1 + Property sms_Queued As Object = Nothing + Property sms_Sent As Object = Nothing + Property sms_Delivered As Object = Nothing + Property sms_Failure As Object = Nothing + + + Dim ESENDEX_USER As String = "al@verag.ag" + Dim ESENDEX_PWD As String = "Developer#2" + + Dim SQL As New SQL + + Sub New() + sms_Sachbearbeiter = If(sms_Sachbearbeiter, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) + If sms_SachbearbeiterId <= 0 Then sms_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + + End Sub + + Sub New(sms_id) + Me.sms_id = sms_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_id", sms_id, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Datum", sms_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Firma", sms_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Account", sms_Account)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Fahrername", sms_Fahrername)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_KundenNr", sms_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Kunde", sms_Kunde)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Vorwahl", sms_Vorwahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Handynummer", sms_Handynummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Nachricht", sms_Nachricht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_BatchId", sms_BatchId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_MessageIds", sms_MessageIds)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Uris", sms_Uris)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Sachbearbeiter", sms_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_SachbearbeiterId", sms_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_AvisoId", sms_AvisoId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Status", sms_Status)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Queued", sms_Queued)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Sent", sms_Sent)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Delivered", sms_Delivered)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Failure", sms_Failure)) + + + Return list + End Function + + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSMS WITH(updlock,serializable) WHERE sms_id=@sms_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + sms_id = SQL.doSQLVarListID(sms_id, sqlstr, "FMZOLL", , list) + Return sms_id > 0 + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblSMS WHERE sms_id=@sms_id ", conn) + cmd.Parameters.AddWithValue("@sms_id", sms_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblSMS] SET " & str & " WHERE sms_id=@sms_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblSMS (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblSMS] WITH(updlock,serializable) WHERE sms_id=" & Me.sms_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Function sendSMS() As Boolean + Try + + Dim messagingService As New MessagingService(ESENDEX_USER, ESENDEX_PWD) + 'SENDEN DER SMS + Dim result = messagingService.SendMessage(New SmsMessage(Me.sms_Handynummer, Me.sms_Nachricht, Me.sms_Account)) + + Dim Uris As String = "" + Dim msgIDs As String = "" + Try + Me.sms_BatchId = result.BatchId + + If result.MessageIds IsNot Nothing Then + For Each m In result.MessageIds + Uris &= m.Uri & ";;" + msgIDs &= m.Id.ToString & ";;" + Next + End If + Catch ex As Exception + End Try + While Uris.EndsWith(";;") + Uris = Uris.Substring(0, Uris.Length - 2) + End While + While msgIDs.EndsWith(";;") + msgIDs = msgIDs.Substring(0, msgIDs.Length - 2) + End While + + Me.sms_MessageIds = msgIDs + Me.sms_Uris = Uris + + If Not Me.SAVE() Then + MsgBox("Fehler: SMS Daten wurden nicht gespeichert!") + End If + + Return True + Catch ex As Exception + MsgBox("Fehler beim Senden der SMS!" & vbNewLine & ex.Message & ex.StackTrace) + Return False + End Try + + End Function + Function checkSMSStatus() As String + Try + If Me.sms_Status >= 3 Then Return Me.sms_Status ' Bereits finaler Status, keine Abfrage nötig + If If(Me.sms_MessageIds, "") = "" Then MsgBox("Keine MessageId gefunden!") : Return False ' Keine MsgId + + Dim sendService As New SentService(ESENDEX_USER, ESENDEX_PWD) + + 'Send a message and retrieve the message ID + Dim MSG = sendService.GetMessage(New Guid(Me.sms_MessageIds.ToString)) + Dim messageStatus = MSG.Status + MsgBox(MSG.Status) + 'Status in DB Ubdaten + Me.sms_Status = messageStatus + Me.sms_Sent = MSG.SentAt + Me.sms_Delivered = MSG.DeliveredAt + If MSG.FailureReason IsNot Nothing Then Me.sms_Failure = MSG.FailureReason.Description + Me.SAVE() + + Return messageStatus + Catch ex As Exception + MsgBox("Fehler beim Prüfen des SMS Status!" & vbNewLine & ex.Message & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb new file mode 100644 index 0000000..2ec9b59 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb @@ -0,0 +1,263 @@ +'Imports System.Runtime.InteropServices +'Imports System.Windows.Forms +'Imports System.IO + + +'Namespace SendFileTo +' Public Class cSendMailAttach +' Public Function AddRecipientTo(ByVal email As String) As Boolean +' Return AddRecipient(email, howTo.MAPI_TO) +' End Function + +' Public Function AddRecipientCC(ByVal email As String) As Boolean +' Return AddRecipient(email, howTo.MAPI_TO) +' End Function + +' Public Function AddRecipientBCC(ByVal email As String) As Boolean +' Return AddRecipient(email, howTo.MAPI_TO) +' End Function + +' Public Sub AddAttachment(ByVal strAttachmentFileName As String) +' m_attachments.Add(strAttachmentFileName) +' End Sub + +' Public Function SendMailPopup(ByVal strSubject As String, +' ByVal strBody As String) As Integer +' Return SendMail(strSubject, strBody, MAPI_LOGON_UI Or MAPI_DIALOG) +' End Function + +' Public Function SendMailDirect(ByVal strSubject As String, +' ByVal strBody As String) As Integer +' Return SendMail(strSubject, strBody, MAPI_LOGON_UI) +' End Function + + +' +' Private Shared Function MAPISendMail(ByVal sess As IntPtr, +' ByVal hwnd As IntPtr, ByVal message As MapiMessage, +' ByVal flg As Integer, ByVal rsv As Integer) As Integer +' End Function + +' Private Function SendMail(ByVal strSubject As String, +' ByVal strBody As String, ByVal how As Integer) As Integer +' Dim msg As MapiMessage = New MapiMessage() +' msg.subject = strSubject +' msg.noteText = strBody + +' msg.recips = GetRecipients(msg.recipCount) +' msg.files = GetAttachments(msg.fileCount) + +' m_lastError = MAPISendMail(New IntPtr(0), New IntPtr(0), msg, how, +' 0) +' If m_lastError > 1 Then +' MessageBox.Show("MAPISendMail failed! " + GetLastError(), +' "MAPISendMail") +' End If + +' Cleanup(msg) +' Return m_lastError +' End Function + +' Private Function AddRecipient(ByVal email As String, +' ByVal howTo As howTo) As Boolean +' Dim recipient As MapiRecipDesc = New MapiRecipDesc() + +' recipient.recipClass = CType(howTo, Integer) +' recipient.name = email +' m_recipients.Add(recipient) + +' Return True +' End Function + +' Private Function GetRecipients(ByRef recipCount As Integer) As IntPtr +' recipCount = 0 +' If m_recipients.Count = 0 Then +' Return 0 +' End If + +' Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc)) +' Dim intPtr As IntPtr = Marshal.AllocHGlobal( +' m_recipients.Count * size) + +' Dim ptr As Integer = CType(intPtr, Integer) +' Dim mapiDesc As MapiRecipDesc +' For Each mapiDesc In m_recipients +' Marshal.StructureToPtr(mapiDesc, CType(ptr, IntPtr), False) +' ptr += size +' Next + +' recipCount = m_recipients.Count +' Return intPtr +' End Function + +' Private Function GetAttachments(ByRef fileCount As Integer) As IntPtr +' fileCount = 0 +' If m_attachments Is Nothing Then +' Return 0 +' End If + +' If (m_attachments.Count <= 0) Or (m_attachments.Count > +' maxAttachments) Then +' Return 0 +' End If + +' Dim size As Integer = Marshal.SizeOf(GetType(MapiFileDesc)) +' Dim intPtr As IntPtr = Marshal.AllocHGlobal( +' m_attachments.Count * size) + +' Dim mapiFileDesc As MapiFileDesc = New MapiFileDesc() +' mapiFileDesc.position = -1 +' Dim ptr As Integer = CType(intPtr, Integer) + +' Dim strAttachment As String +' For Each strAttachment In m_attachments +' mapiFileDesc.name = Path.GetFileName(strAttachment) +' mapiFileDesc.path = strAttachment +' Marshal.StructureToPtr(mapiFileDesc, CType(ptr, IntPtr), False) +' ptr += size +' Next + +' fileCount = m_attachments.Count +' Return intPtr +' End Function + +' Private Sub Cleanup(ByRef msg As MapiMessage) +' Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc)) +' Dim ptr As Integer = 0 + +' If msg.recips <> IntPtr.Zero Then +' ptr = CType(msg.recips, Integer) +' Dim i As Integer +' For i = 0 To msg.recipCount - 1 Step i + 1 +' Marshal.DestroyStructure(CType(ptr, IntPtr), +' GetType(MapiRecipDesc)) +' ptr += size +' Next +' Marshal.FreeHGlobal(msg.recips) +' End If + +' If msg.files <> IntPtr.Zero Then +' size = Marshal.SizeOf(GetType(MapiFileDesc)) + +' ptr = CType(msg.files, Integer) +' Dim i As Integer +' For i = 0 To msg.fileCount - 1 Step i + 1 +' Marshal.DestroyStructure(CType(ptr, IntPtr), +' GetType(MapiFileDesc)) +' ptr += size +' Next +' Marshal.FreeHGlobal(msg.files) +' End If + +' m_recipients.Clear() +' m_attachments.Clear() +' m_lastError = 0 +' End Sub + +' Public Function GetLastError() As String +' If m_lastError <= 26 Then +' Return errors(m_lastError) +' End If +' Return "MAPI error [" + m_lastError.ToString() + "]" +' End Function + +' ReadOnly errors() As String = New String() {"OK [0]", "User abort [1]", +' "General MAPI failure [2]", "MAPI login failure [3]", +' "Disk full [4]", "Insufficient memory [5]", "Access denied [6]", +' "-unknown- [7]", "Too many sessions [8]", +' "Too many files were specified [9]", +' "Too many recipients were specified [10]", +' "A specified attachment was not found [11]", +' "Attachment open failure [12]", "Attachment write failure [13]", +' "Unknown recipient [14]", "Bad recipient type [15]", +' "No messages [16]", "Invalid message [17]", "Text too large [18]", +' "Invalid session [19]", "Type not supported [20]", +' "A recipient was specified ambiguously [21]", +' "Message in use [22]", "Network failure [23]", +' "Invalid edit fields [24]", "Invalid recipients [25]", +' "Not supported [26]"} + +' Dim m_recipients As New List(Of MapiRecipDesc) +' Dim m_attachments As New List(Of String) +' Dim m_lastError As Integer = 0 + +' Private Const MAPI_LOGON_UI As Integer = &H1 +' Private Const MAPI_DIALOG As Integer = &H8 +' Private Const maxAttachments As Integer = 20 + +' Enum howTo +' MAPI_ORIG = 0 +' MAPI_TO +' MAPI_CC +' MAPI_BCC +' End Enum + +' End Class + +' +' Public Class MapiMessage +' Public reserved As Integer +' Public subject As String +' Public noteText As String +' Public messageType As String +' Public dateReceived As String +' Public conversationID As String +' Public flags As Integer +' Public originator As IntPtr +' Public recipCount As Integer +' Public recips As IntPtr +' Public fileCount As Integer +' Public files As IntPtr +' End Class + +' +' Public Class MapiFileDesc +' Public reserved As Integer +' Public flags As Integer +' Public position As Integer +' Public path As String +' Public name As String +' Public type As IntPtr +' End Class + +' +' Public Class MapiRecipDesc +' Public reserved As Integer +' Public recipClass As Integer +' Public name As String +' Public address As String +' Public eIDSize As Integer +' Public enTryID As IntPtr +' End Class +'End Namespace + + +Imports System +Imports System.IO +Imports System.Net.Mail +Imports System.Reflection +Imports System.Runtime.CompilerServices + +Namespace Fsolutions.Fbase.Common.Mail + Module MailUtility + + Sub Save(ByVal message As MailMessage, ByVal filename As String, ByVal Optional addUnsentHeader As Boolean = True) + Using filestream = File.Open(filename, FileMode.Create) + + If addUnsentHeader Then + Dim binaryWriter = New BinaryWriter(filestream) + binaryWriter.Write(System.Text.Encoding.UTF8.GetBytes("X-Unsent: 1" & Environment.NewLine)) + End If + + Dim assembly = GetType(SmtpClient).Assembly + Dim mailWriterType = assembly.[GetType]("System.Net.Mail.MailWriter") + Dim mailWriterContructor = mailWriterType.GetConstructor(BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, {GetType(Stream)}, Nothing) + Dim mailWriter = mailWriterContructor.Invoke(New Object() {filestream}) + Dim sendMethod = GetType(MailMessage).GetMethod("Send", BindingFlags.Instance Or BindingFlags.NonPublic) + sendMethod.Invoke(message, BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, New Object() {mailWriter, True, True}, Nothing) + Dim closeMethod = mailWriter.[GetType]().GetMethod("Close", BindingFlags.Instance Or BindingFlags.NonPublic) + closeMethod.Invoke(mailWriter, BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, New Object() {}, Nothing) + End Using + End Sub + End Module +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb new file mode 100644 index 0000000..9d9b017 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb @@ -0,0 +1,129 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cSendVorkosten + Property sndvk_id As Integer + Property sndvk_sendId As Object = Nothing + Property sndvk_LeistungsNr As Object = Nothing + Property sndvk_LeistungsBez As Object = Nothing + Property sndvk_Preis As Object = Nothing + Property sndvk_Firma As Object = Nothing + + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(sndvk_id) + Me.sndvk_id = sndvk_id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_id", sndvk_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_sendId", sndvk_sendId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsNr", sndvk_LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsBez", sndvk_LeistungsBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Preis", sndvk_Preis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Firma", sndvk_Firma)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "AVISO", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id ", conn) + cmd.Parameters.AddWithValue("@sndvk_id", sndvk_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblSendVorkosten] SET " & str & " WHERE sndvk_id=@sndvk_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblSendVorkosten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function INSERT() As Boolean + Try + Return SQL.doSQLVarList(getInsertCmd, "AVISO", , getParameterList) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb new file mode 100644 index 0000000..575cb0f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb @@ -0,0 +1,871 @@ +Imports System.Data.SqlClient + +Public Class cSendungen + Implements ICloneable + Property tblSnd_SendungID As Integer = Nothing + Property tblSnd_PosUnterNr As Integer = Nothing + Property tblSnd_AvisoID As Integer = Nothing + Property tblSnd_Abfertigungsart_ID As Integer = Nothing + Property tblSnd_EmpfaengerKdNr As Integer = Nothing + Property tblSnd_Empfaenger As String = Nothing + Property tblSnd_Ansprechperson As String = Nothing + Property tblSnd_Bonitaet As String = Nothing + Property tblSnd_Anmerkung As String = Nothing + Property tblSnd_AuftraggeberKdNr As Integer = Nothing + Property tblSnd_Auftraggeber As String = Nothing + Property tblSnd_SpeditionsbuchEingetragen As Boolean = False + Property FilialenNr As Integer = Nothing + Property AbfertigungsNr As Integer = Nothing + Property UnterNr As Integer = Nothing + Property tblSnd_Colli As String = Nothing + Property tblSnd_Gewicht As String = Nothing + Property tblSnd_Warenbezeichnung As String = Nothing + Property tblSnd_SachbearbeiterId As Integer = Nothing + Property tblSnd_AbsenderKdNr As Integer = Nothing + Property tblSnd_Absender As String = Nothing + Property tblSnd_AngabeZolltarif As Integer = Nothing + Property tblSnd_inBearbeitung As Boolean = False + Property tblSnd_Bearbeitung_MaId As Integer = Nothing + Property tblSnd_aufschub As String = Nothing + Property tblSnd_anzahlHandling As Object = Nothing + Property tblSnd_anzahlPOS As Object = Nothing + ' Property tblSnd_bar As Object = Nothing + ' Property tblSnd_barBeleg As Object = Nothing + ' Property tblSnd_betrag As Object = Nothing + Property tblSnd_Fremdspedition As Boolean = False + Property tblSnd_FremdspeditionText As String = "" + Property tblSnd_QS_MA As Object = Nothing + Property tblSnd_KdAuftragsNr As Object = "" + Property tblSnd_NCTSVerzollungsadresse As Object = "" + Property tblSnd_NCTSVerzollungsadresseKdNr As Object = "" + + Property NCTS_Verzollungsadresse_Strasse As Object = "" + Property NCTS_Verzollungsadresse_PLZ As Object = "" + Property NCTS_Verzollungsadresse_Ort As Object = "" + Property NCTS_Verzollungsadresse_Land As Object = "" + Property NCTS_Verzollungsadresse_EORI As Object = "" + Property NCTS_Verzollungsadresse_EORI_NL As Object = "" + Property NCTS_ngaId As Object = Nothing + + + Property NCTS_Verzollungsadresse_Ansprechpartner As Object = "" + Property NCTS_Bestimmungszollstelle As Object = "" + + Property tblSnd_Endempfaenger As Object = "" + Property tblSnd_EndempfaengerKdNr As Object = "" + Property tblSnd_EUFiskalEmpfaenger As Object = "" + Property tblSnd_EUFiskalEmpfaengerKdNr As Object = "" + Property tblSnd_BARzuKassieren As Object = Nothing + + Property tblSnd_KdAuftragsNrAvisierer As Object = Nothing + Property tblSnd_KdAuftragsNrEmpfaenger As Object = Nothing + Property tblSnd_KdAuftragsNrFrachtfuehrer As Object = Nothing + Property tblSnd_AnmerkungDispoliste As Object = Nothing + Property tblSnd_ATANr As Object = "" + Property tblSnd_ATCMRN_Fremd As Object = "" + Property tblSnd_Warenwert As Object = Nothing + Property tblSnd_WarenwertWaehrung As Object = Nothing + + + Property tblSnd_Status As Integer = 0 + Property tblSnd_Vorbereitet As Object = Nothing + Property tblSnd_Vorgeschrieben As Object = Nothing + + Property LetzterMitarbeiter As Object = Nothing + Property LetzterMitarbeiterId As Object = Nothing + Property tblSnd_VG_MA As Object = Nothing + Property tblSnd_NCTSaufDISPO As Boolean = True + + Property tblSnd_AvisiererKdNr As Object = Nothing + Property tblSnd_Avisierer As Object = Nothing + Property tblSnd_FrachtfuehrerKdNr As Object = Nothing + Property tblSnd_Frachtfuehrer As Object = Nothing + Property tblSnd_DakosyRef As Object = Nothing + Property tblSnd_TeamId As Object = Nothing + Property tblSnd_Fakturiert As Object = Nothing + Property VORSYSTEM As Object = Nothing + Property VORSYSTEM_Id As Object = Nothing + Property tblSnd_FilialeAbklaerung As Object = Nothing + + Property tblSnd_AbklaerungTR As Object = Nothing + Property tblSnd_AbklaerungTR_MA As Object = Nothing + + Property tblSnd_ATB_Nr As Object = Nothing + Property tblSnd_ATB_T1 As Object = Nothing + + Property tblSnd_Vorpapier As Object = Nothing + Property tblSnd_Vorpapier_Pos As Object = Nothing + Property tblSnd_Vorpapier2 As Object = Nothing + Property tblSnd_Vorpapier2_Pos As Object = Nothing + Property tblSnd_Vorpapier3 As Object = Nothing + Property tblSnd_Vorpapier3_Pos As Object = Nothing + Property tblSnd_Frachtkosten As Object = Nothing + + + Public saveSachbearbeiter As Boolean = False + + Property ABRECHNUNG As New List(Of cSendungAbrechnung) + Property HANDLING As New List(Of cSendHandling) + Property VORKOSTEN As New List(Of cSendVorkosten) + + 'Dim cDatenbank As New cDatenbank + + Public Function Clone() As Object Implements ICloneable.Clone + Return DirectCast(MemberwiseClone(), cSendungen) + End Function + + + Public Function CLEAR_ABRECHNUNG_NotLeistungen() As Boolean + + ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "ZOLL") + ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "EUST") + ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "CLEARING") + ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "ABFKOST") + + Return True + + End Function + + + Dim SQL As New SQL + + Shared Function VP_Enum(ByVal SENDUNG_LIST As List(Of cSendungen)) As List(Of String) + Dim list = New List(Of String) + 'If SENDUNG_LIST IsNot Nothing Then + ' For Each s In SENDUNG_LIST + ' If If(s.tblSnd_Vorpapier, "") <> "" Then + ' Dim found = False + ' For Each l In list + ' If l = s.tblSnd_Vorpapier Then found = True + ' Next + ' If found = False Then list.Add(s.tblSnd_Vorpapier) + ' End If + ' Next + 'End If + + If SENDUNG_LIST IsNot Nothing Then + For Each s In SENDUNG_LIST + If If(s.tblSnd_Vorpapier, "") <> "" Then + Dim found = False + For Each l In list + If l = s.tblSnd_Vorpapier Then found = True + Next + If found = False Then list.Add(s.tblSnd_Vorpapier) + End If + If If(s.tblSnd_Vorpapier2, "") <> "" Then + Dim found = False + For Each l In list + If l = s.tblSnd_Vorpapier2 Then found = True + Next + If found = False Then list.Add(s.tblSnd_Vorpapier2) + End If + If If(s.tblSnd_Vorpapier3, "") <> "" Then + Dim found = False + For Each l In list + If l = s.tblSnd_Vorpapier3 Then found = True + Next + If found = False Then list.Add(s.tblSnd_Vorpapier3) + End If + Next + End If + + Return list + End Function + + Shared Sub LOAD_LIST(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Optional allowchangeCurrIndex As Boolean = True) + If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen) + SENDUNG_LIST.Clear() + Dim SQL As New SQL + For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows + SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID"))) + Next + If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1) + End Sub + Shared Sub LOAD_LIST_VP(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Vorpapier As String, Optional allowchangeCurrIndex As Boolean = True) + If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen) + SENDUNG_LIST.Clear() + Dim SQL As New SQL + For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " AND (tblSnd_Vorpapier='" & Vorpapier & "' OR tblSnd_Vorpapier2='" & Vorpapier & "' OR tblSnd_Vorpapier3='" & Vorpapier & "' ) ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows + SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID"))) + Next + If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1) + End Sub + + Shared Sub LOAD_LIST_VP_EMPTY(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Optional allowchangeCurrIndex As Boolean = True) + If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen) + SENDUNG_LIST.Clear() + Dim SQL As New SQL + For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " AND (isnull(tblSnd_Vorpapier,'')='' AND isnull(tblSnd_Vorpapier2,'')='' AND isnull(tblSnd_Vorpapier3,'')='' ) ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows + SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID"))) + Next + If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1) + End Sub + + Public Sub New(tblSnd_AvisoID, currentHisId, Optional FilialenNr = Nothing, Optional AbfertigungsNr = Nothing, Optional UnterNr = Nothing, Optional tblSnd_anzahlHandling = Nothing) + Me.tblSnd_SendungID = -1 + Me.tblSnd_AvisoID = tblSnd_AvisoID + Me.tblSnd_PosUnterNr = currentHisId + ' row.Item("tblSnd_Empfaenger") = "" + ' row.Item("tblSnd_Ansprechperson") = "" + 'row.Item("tblSnd_Auftraggeber") = "" + 'row.Item("tblSnd_Absender") = "" + Me.tblSnd_Anmerkung = "" + Me.tblSnd_Gewicht = "" + Me.tblSnd_Colli = "" + + 'row.Item("tblSnd_SpeditionsbuchEingetragen") = False + Me.tblSnd_AngabeZolltarif = 2 + Me.tblSnd_inBearbeitung = False + Me.tblSnd_aufschub = "" + + If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then + Me.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + End If + + Me.LetzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME + Me.LetzterMitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + + If FilialenNr IsNot Nothing Then Me.FilialenNr = FilialenNr + If AbfertigungsNr IsNot Nothing Then Me.AbfertigungsNr = AbfertigungsNr + If UnterNr IsNot Nothing Then Me.UnterNr = UnterNr + If tblSnd_anzahlHandling IsNot Nothing Then Me.tblSnd_anzahlHandling = tblSnd_anzahlHandling + End Sub + + + Public Sub New(tblSnd_SendungID) + LOAD(tblSnd_SendungID) + End Sub + + + + Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'WITH(updlock,serializable) + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblSendungen] WHERE tblSnd_SendungID=@tblSnd_SendungID) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + ' MsgBox(sqlstr) + Dim id = SQL.doSQLVarListID(tblSnd_SendungID, sqlstr, "AVISO", , list) + If id > 0 Then + tblSnd_SendungID = id : Return True + End If + Return False + End Function + + 'WITH(updlock,serializable) + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblSendungen] WHERE tblSnd_SendungID=" & Me.tblSnd_SendungID + Return SQL.doSQL(sqlstr, "AVISO") + End Function + + Public Shared Function LOADByFilialenNrAbfertigungsNr(FilialenNr As Integer, AbfertigungsNr As Integer) As cSendungen + Dim sql As New VERAG_PROG_ALLGEMEIN.SQL + Dim tblSnd_SendungID = sql.getValueTxtBySql("SELECT TOP 1 tblSnd_SendungID FROM tblSendungen WHERE FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "'", "AVISO") + If tblSnd_SendungID <> "" Then + Return New cSendungen(tblSnd_SendungID) + Else + Return Nothing + End If + End Function + + Public Sub LOAD(tblSnd_SendungID As Integer) + Try + Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM tblSendungen WHERE tblSnd_SendungID=@tblSnd_SendungID ", conn) + cmd.Parameters.AddWithValue("@tblSnd_SendungID", tblSnd_SendungID) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Me.tblSnd_SendungID = SQL.checkNullReturnValue(dr.Item("tblSnd_SendungID"), Nothing) + Me.tblSnd_PosUnterNr = SQL.checkNullReturnValue(dr.Item("tblSnd_PosUnterNr"), Nothing) + Me.tblSnd_AvisoID = SQL.checkNullReturnValue(dr.Item("tblSnd_AvisoID"), Nothing) + Me.tblSnd_Abfertigungsart_ID = SQL.checkNullReturnValue(dr.Item("tblSnd_Abfertigungsart_ID"), Nothing) + Me.tblSnd_EmpfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EmpfaengerKdNr"), Nothing) + Me.tblSnd_Empfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_Empfaenger"), Nothing) + Me.tblSnd_Ansprechperson = SQL.checkNullReturnValue(dr.Item("tblSnd_Ansprechperson"), Nothing) + Me.tblSnd_Bonitaet = SQL.checkNullReturnValue(dr.Item("tblSnd_Bonitaet"), Nothing) + Me.tblSnd_Anmerkung = SQL.checkNullReturnValue(dr.Item("tblSnd_Anmerkung"), Nothing) + Me.tblSnd_AuftraggeberKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AuftraggeberKdNr"), Nothing) + Me.tblSnd_Auftraggeber = SQL.checkNullReturnValue(dr.Item("tblSnd_Auftraggeber"), Nothing) + Me.tblSnd_SpeditionsbuchEingetragen = SQL.checkNullReturnValue(dr.Item("tblSnd_SpeditionsbuchEingetragen"), Nothing) + Me.FilialenNr = SQL.checkNullReturnValue(dr.Item("FilialenNr"), Nothing) + Me.AbfertigungsNr = SQL.checkNullReturnValue(dr.Item("AbfertigungsNr"), Nothing) + Me.UnterNr = SQL.checkNullReturnValue(dr.Item("UnterNr"), Nothing) + Me.tblSnd_Colli = SQL.checkNullReturnValue(dr.Item("tblSnd_Colli"), Nothing) + Me.tblSnd_Gewicht = SQL.checkNullReturnValue(dr.Item("tblSnd_Gewicht"), Nothing) + Me.tblSnd_Warenbezeichnung = SQL.checkNullReturnValue(dr.Item("tblSnd_Warenbezeichnung"), Nothing) + Me.tblSnd_SachbearbeiterId = SQL.checkNullReturnValue(dr.Item("tblSnd_SachbearbeiterId"), Nothing) + Me.tblSnd_AbsenderKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AbsenderKdNr"), Nothing) + Me.tblSnd_Absender = SQL.checkNullReturnValue(dr.Item("tblSnd_Absender"), Nothing) + Me.tblSnd_AngabeZolltarif = SQL.checkNullReturnValue(dr.Item("tblSnd_AngabeZolltarif"), Nothing) + Me.tblSnd_inBearbeitung = SQL.checkNullReturnValue(dr.Item("tblSnd_inBearbeitung"), Nothing) + Me.tblSnd_Bearbeitung_MaId = SQL.checkNullReturnValue(dr.Item("tblSnd_Bearbeitung_MaId"), Nothing) + Me.tblSnd_aufschub = SQL.checkNullReturnValue(dr.Item("tblSnd_aufschub"), Nothing) + Me.tblSnd_anzahlHandling = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlHandling"), Nothing) + Me.tblSnd_anzahlPOS = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlPOS"), Nothing) + ' Me.tblSnd_bar = SQL.checkNullReturnValue(dr.Item("tblSnd_bar"), Nothing) + ' Me.tblSnd_barBeleg = SQL.checkNullReturnValue(dr.Item("tblSnd_barBeleg"), Nothing) + ' Me.tblSnd_betrag = SQL.checkNullReturnValue(dr.Item("tblSnd_betrag"), Nothing) + Me.tblSnd_Fremdspedition = SQL.checkNullReturnValue(dr.Item("tblSnd_Fremdspedition"), False) + Me.tblSnd_FremdspeditionText = SQL.checkNullReturnValue(dr.Item("tblSnd_FremdspeditionText"), "") + Me.tblSnd_QS_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_QS_MA"), Nothing) + Me.tblSnd_KdAuftragsNr = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNr"), "") + Me.tblSnd_NCTSVerzollungsadresse = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSVerzollungsadresse"), "") + Me.tblSnd_NCTSVerzollungsadresseKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSVerzollungsadresseKdNr"), Nothing) + + + Me.NCTS_Verzollungsadresse_Strasse = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Strasse"), Nothing) + Me.NCTS_Verzollungsadresse_PLZ = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_PLZ"), Nothing) + Me.NCTS_Verzollungsadresse_Ort = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Ort"), Nothing) + Me.NCTS_Verzollungsadresse_Land = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Land"), Nothing) + Me.NCTS_Verzollungsadresse_EORI = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_EORI"), Nothing) + Me.NCTS_Verzollungsadresse_EORI_NL = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_EORI_NL"), Nothing) + Me.NCTS_ngaId = SQL.checkNullReturnValue(dr.Item("NCTS_ngaId"), Nothing) + + Me.NCTS_Bestimmungszollstelle = SQL.checkNullReturnValue(dr.Item("NCTS_Bestimmungszollstelle"), Nothing) + + Me.tblSnd_Endempfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_Endempfaenger"), Nothing) + Me.tblSnd_EndempfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EndempfaengerKdNr"), Nothing) + Me.tblSnd_EUFiskalEmpfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_EUFiskalEmpfaenger"), Nothing) + Me.tblSnd_EUFiskalEmpfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EUFiskalEmpfaengerKdNr"), Nothing) + Me.tblSnd_BARzuKassieren = SQL.checkNullReturnValue(dr.Item("tblSnd_BARzuKassieren"), Nothing) + + + Me.tblSnd_KdAuftragsNrAvisierer = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrAvisierer"), Nothing) + Me.tblSnd_KdAuftragsNrEmpfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrEmpfaenger"), Nothing) + Me.tblSnd_KdAuftragsNrFrachtfuehrer = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrFrachtfuehrer"), Nothing) + Me.tblSnd_AnmerkungDispoliste = SQL.checkNullReturnValue(dr.Item("tblSnd_AnmerkungDispoliste"), Nothing) + Me.tblSnd_ATANr = SQL.checkNullReturnValue(dr.Item("tblSnd_ATANr"), Nothing) + Me.tblSnd_ATCMRN_Fremd = SQL.checkNullReturnValue(dr.Item("tblSnd_ATCMRN_Fremd"), Nothing) + Me.tblSnd_Warenwert = SQL.checkNullReturnValue(dr.Item("tblSnd_Warenwert"), Nothing) + Me.tblSnd_WarenwertWaehrung = SQL.checkNullReturnValue(dr.Item("tblSnd_WarenwertWaehrung"), Nothing) + + Me.tblSnd_Status = SQL.checkNullReturnValue(dr.Item("tblSnd_Status"), Nothing) + Me.tblSnd_Vorbereitet = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorbereitet"), Nothing) + Me.tblSnd_Vorgeschrieben = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorgeschrieben"), Nothing) + + Me.LetzterMitarbeiter = SQL.checkNullReturnValue(dr.Item("LetzterMitarbeiter"), Nothing) + Me.LetzterMitarbeiterId = SQL.checkNullReturnValue(dr.Item("LetzterMitarbeiterId"), Nothing) + Me.tblSnd_VG_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_VG_MA"), Nothing) + Me.tblSnd_NCTSaufDISPO = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSaufDISPO"), Nothing) + + Me.tblSnd_AvisiererKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AvisiererKdNr"), Nothing) + Me.tblSnd_Avisierer = SQL.checkNullReturnValue(dr.Item("tblSnd_Avisierer"), Nothing) + Me.tblSnd_FrachtfuehrerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_FrachtfuehrerKdNr"), Nothing) + Me.tblSnd_Frachtfuehrer = SQL.checkNullReturnValue(dr.Item("tblSnd_Frachtfuehrer"), Nothing) + Me.tblSnd_DakosyRef = SQL.checkNullReturnValue(dr.Item("tblSnd_DakosyRef"), Nothing) + Me.tblSnd_TeamId = SQL.checkNullReturnValue(dr.Item("tblSnd_TeamId"), Nothing) + Me.tblSnd_Fakturiert = SQL.checkNullReturnValue(dr.Item("tblSnd_Fakturiert"), Nothing) + Me.tblSnd_FilialeAbklaerung = SQL.checkNullReturnValue(dr.Item("tblSnd_FilialeAbklaerung"), Nothing) + Me.VORSYSTEM = SQL.checkNullReturnValue(dr.Item("VORSYSTEM"), Nothing) + Me.VORSYSTEM_Id = SQL.checkNullReturnValue(dr.Item("VORSYSTEM_Id"), Nothing) + Me.tblSnd_AbklaerungTR = SQL.checkNullReturnValue(dr.Item("tblSnd_AbklaerungTR"), Nothing) + Me.tblSnd_AbklaerungTR_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_AbklaerungTR_MA"), Nothing) + Me.tblSnd_ATB_Nr = SQL.checkNullReturnValue(dr.Item("tblSnd_ATB_Nr"), Nothing) + Me.tblSnd_ATB_T1 = SQL.checkNullReturnValue(dr.Item("tblSnd_ATB_T1"), Nothing) + Me.tblSnd_Vorpapier = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier"), Nothing) + Me.tblSnd_Vorpapier_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier_Pos"), Nothing) + Me.tblSnd_Vorpapier2 = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier2"), Nothing) + Me.tblSnd_Vorpapier2_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier2_Pos"), Nothing) + Me.tblSnd_Vorpapier3 = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3"), Nothing) + Me.tblSnd_Vorpapier3_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3_Pos"), Nothing) + Me.tblSnd_Frachtkosten = SQL.checkNullReturnValue(dr.Item("tblSnd_Frachtkosten"), Nothing) + + End If + + dr.Close() + + ' End Using + conn.Close() + End Using + 'Return Nothing + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + Public Sub LOAD_ABRECHNUNG() + Try + Me.ABRECHNUNG.Clear() + Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd2 As New SqlCommand("SELECT * FROM tblSendAbrechnung WHERE sndabr_sendId=@sndabr_sendId and sndabr_sendId>0", conn) + cmd2.Parameters.AddWithValue("@sndabr_sendId", Me.tblSnd_SendungID) + Dim dr2 = cmd2.ExecuteReader() + + While dr2.Read + Dim a As New cSendungAbrechnung(Me.tblSnd_SendungID) + + a.sndabr_id = SQL.checkNullReturnValue(dr2.Item("sndabr_id"), Nothing) + 'a.sndabr_sendId = SQL.checkNullReturnValue(dr2.Item("sndabr_sendId"), Nothing) + a.sndabr_beteiligter = SQL.checkNullReturnValue(dr2.Item("sndabr_beteiligter"), Nothing) + a.sndabr_abrArt = SQL.checkNullReturnValue(dr2.Item("sndabr_abrArt"), Nothing) + a.sndabr_wert = SQL.checkNullReturnValue(dr2.Item("sndabr_wert"), Nothing) + a.sndabr_bezeichnung = SQL.checkNullReturnValue(dr2.Item("sndabr_bezeichnung"), Nothing) + a.sndabr_anzahl = SQL.checkNullReturnValue(dr2.Item("sndabr_anzahl"), Nothing) + a.sndabr_einzelPreis = SQL.checkNullReturnValue(dr2.Item("sndabr_einzelPreis"), Nothing) + a.sndabr_preis = SQL.checkNullReturnValue(dr2.Item("sndabr_preis"), Nothing) + + Me.ABRECHNUNG.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + Public Sub LOAD_HANDLING() + Try + Me.HANDLING.Clear() + Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd2 As New SqlCommand("SELECT * FROM tblSendhandling WHERE sndhdg_sendId=@sndhdg_sendId ", conn) + cmd2.Parameters.AddWithValue("@sndhdg_sendId", Me.tblSnd_SendungID) + Dim dr2 = cmd2.ExecuteReader() + + While dr2.Read + Dim a As New cSendHandling(Me.tblSnd_SendungID) + + a.sndhdg_id = SQL.checkNullReturnValue(dr2.Item("sndhdg_id"), Nothing) + 'a.sndhdg_sendId = SQL.checkNullReturnValue(dr2.Item("sndhdg_sendId"), Nothing) + a.sndhdg_abrArt = SQL.checkNullReturnValue(dr2.Item("sndhdg_abrArt"), Nothing) + a.sndhdg_nr = SQL.checkNullReturnValue(dr2.Item("sndhdg_nr"), Nothing) + + a.sndhdg_colli = SQL.checkNullReturnValue(dr2.Item("sndhdg_colli"), 0) + a.sndhdg_gewicht = SQL.checkNullReturnValue(dr2.Item("sndhdg_gewicht"), 0) + Me.HANDLING.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + Public Sub LOAD_VORKOSTEN() + Try + Me.VORKOSTEN.Clear() + Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd2 As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_sendId=@sndvk_sendId ", conn) + cmd2.Parameters.AddWithValue("@sndvk_sendId", Me.tblSnd_SendungID) + Dim dr2 = cmd2.ExecuteReader() + + While dr2.Read + Dim a As New cSendVorkosten() + + a.sndvk_LeistungsNr = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsNr"), Nothing) + a.sndvk_sendId = SQL.checkNullReturnValue(dr2.Item("sndvk_sendId"), Nothing) + a.sndvk_LeistungsBez = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsBez"), Nothing) + a.sndvk_Firma = SQL.checkNullReturnValue(dr2.Item("sndvk_Firma"), Nothing) + + a.sndvk_Preis = SQL.checkNullReturnValue(dr2.Item("sndvk_Preis"), 0) + + Me.VORKOSTEN.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SendungID", tblSnd_SendungID, , True)) 'UPDATE INSERT ISPRIMARY! + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_PosUnterNr", tblSnd_PosUnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AvisoID", tblSnd_AvisoID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Abfertigungsart_ID", tblSnd_Abfertigungsart_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EmpfaengerKdNr", tblSnd_EmpfaengerKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Empfaenger", tblSnd_Empfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Ansprechperson", tblSnd_Ansprechperson)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Bonitaet", tblSnd_Bonitaet)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Anmerkung", tblSnd_Anmerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AuftraggeberKdNr", tblSnd_AuftraggeberKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Auftraggeber", tblSnd_Auftraggeber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SpeditionsbuchEingetragen", tblSnd_SpeditionsbuchEingetragen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Colli", tblSnd_Colli)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Gewicht", tblSnd_Gewicht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Warenbezeichnung", tblSnd_Warenbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SachbearbeiterId", tblSnd_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbsenderKdNr", tblSnd_AbsenderKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Absender", tblSnd_Absender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AngabeZolltarif", tblSnd_AngabeZolltarif)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_inBearbeitung", tblSnd_inBearbeitung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Bearbeitung_MaId", tblSnd_Bearbeitung_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_aufschub", tblSnd_aufschub)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlHandling", tblSnd_anzahlHandling)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlPOS", tblSnd_anzahlPOS)) + + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_bar", tblSnd_bar)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_barBeleg", tblSnd_barBeleg)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_betrag", tblSnd_betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Fremdspedition", tblSnd_Fremdspedition)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FremdspeditionText", tblSnd_FremdspeditionText)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNr", tblSnd_KdAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSVerzollungsadresse", tblSnd_NCTSVerzollungsadresse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSVerzollungsadresseKdNr", tblSnd_NCTSVerzollungsadresseKdNr)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Strasse", NCTS_Verzollungsadresse_Strasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_PLZ", NCTS_Verzollungsadresse_PLZ)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Ort", NCTS_Verzollungsadresse_Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Land", NCTS_Verzollungsadresse_Land)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_EORI", NCTS_Verzollungsadresse_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_EORI_NL", NCTS_Verzollungsadresse_EORI_NL)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_ngaId", NCTS_ngaId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Ansprechpartner", NCTS_Verzollungsadresse_Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Bestimmungszollstelle", NCTS_Bestimmungszollstelle)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Endempfaenger", tblSnd_Endempfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EndempfaengerKdNr", tblSnd_EndempfaengerKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EUFiskalEmpfaenger", tblSnd_EUFiskalEmpfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EUFiskalEmpfaengerKdNr", tblSnd_EUFiskalEmpfaengerKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_BARzuKassieren", tblSnd_BARzuKassieren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrAvisierer", tblSnd_KdAuftragsNrAvisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrEmpfaenger", tblSnd_KdAuftragsNrEmpfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrFrachtfuehrer", tblSnd_KdAuftragsNrFrachtfuehrer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AnmerkungDispoliste", tblSnd_AnmerkungDispoliste)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATANr", tblSnd_ATANr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATCMRN_Fremd", tblSnd_ATCMRN_Fremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Warenwert", tblSnd_Warenwert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_WarenwertWaehrung", tblSnd_WarenwertWaehrung)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_QS_MA", tblSnd_QS_MA,,, Not saveSachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Status", tblSnd_Status,,, Not saveSachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorbereitet", tblSnd_Vorbereitet,,, Not saveSachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorgeschrieben", tblSnd_Vorgeschrieben,,, Not saveSachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_VG_MA", tblSnd_VG_MA,,, Not saveSachbearbeiter)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiter", LetzterMitarbeiter,,, Not saveSachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiterId", LetzterMitarbeiterId,,, Not saveSachbearbeiter)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSaufDISPO", tblSnd_NCTSaufDISPO)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AvisiererKdNr", tblSnd_AvisiererKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Avisierer", tblSnd_Avisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FrachtfuehrerKdNr", tblSnd_FrachtfuehrerKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtfuehrer", tblSnd_Frachtfuehrer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_DakosyRef", tblSnd_DakosyRef)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_TeamId", tblSnd_TeamId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Fakturiert", tblSnd_Fakturiert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FilialeAbklaerung", tblSnd_FilialeAbklaerung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM", VORSYSTEM)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM_Id", VORSYSTEM_Id)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR", tblSnd_AbklaerungTR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR_MA", tblSnd_AbklaerungTR_MA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_Nr", tblSnd_ATB_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_T1", tblSnd_ATB_T1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier", tblSnd_Vorpapier)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier_Pos", tblSnd_Vorpapier_Pos)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier2", tblSnd_Vorpapier2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier2_Pos", tblSnd_Vorpapier2_Pos)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3", tblSnd_Vorpapier3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3_Pos", tblSnd_Vorpapier3_Pos)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtkosten", tblSnd_Frachtkosten)) + + + + + Return list + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam And Not i.isonlyForLoad Then + str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblSendungen] SET " & str & " WHERE tblSnd_SendungID=@tblSnd_SendungID ") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam And Not i.isonlyForLoad Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblSendungen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + 'MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function SAVE_Abrechnung() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_Abrechnung = False + Dim sqlstr = " DELETE FROM tblSendAbrechnung WHERE sndabr_sendId=" & Me.tblSnd_SendungID + If SQL.doSQL(sqlstr, "AVISO") Then + SAVE_Abrechnung = True + For Each a In ABRECHNUNG + If Not a.INSERT() Then SAVE_Abrechnung = False + Next + End If + + ' Return b + End Function + + + Public Function SAVE_HANDLING() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_HANDLING = False + Dim sqlstr = " DELETE FROM tblSendHandling WHERE sndhdg_sendId=" & Me.tblSnd_SendungID + ' MsgBox(sqlstr) + If SQL.doSQL(sqlstr, "AVISO") Then + SAVE_HANDLING = True + For Each a In HANDLING + If Not a.INSERT() Then SAVE_HANDLING = False + Next + End If + + ' Return b + End Function + + + Public Function SAVE_VORKOSTEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_VORKOSTEN = False + Dim sqlstr = " DELETE FROM tblSendVorkosten WHERE sndvk_sendId=" & Me.tblSnd_SendungID + ' MsgBox(sqlstr) + If SQL.doSQL(sqlstr, "AVISO") Then + SAVE_VORKOSTEN = True + For Each a In VORKOSTEN + a.sndvk_sendId = Me.tblSnd_SendungID + If Not a.INSERT() Then SAVE_VORKOSTEN = False + Next + End If + + ' Return b + End Function + + + Public Shared Function SET_SpedbuchEntry(tblSnd_SendungID As Integer, tblSnd_SpeditionsbuchEingetragen As Boolean) As String + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.doSQL(" UPDATE [tblSendungen] SET tblSnd_SpeditionsbuchEingetragen=" & If(tblSnd_SpeditionsbuchEingetragen, 1, 0) & " WHERE tblSnd_SendungID=" & tblSnd_SendungID & " ", "AVISO") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getNCTSAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = True, Optional Bestimmungszollstelle As Boolean = True) As String + Dim adresse = "" + adresse &= If(Me.tblSnd_NCTSVerzollungsadresse, "") & vbNewLine + adresse &= If(Me.NCTS_Verzollungsadresse_Strasse, "") & vbNewLine + adresse &= If(Me.NCTS_Verzollungsadresse_Land, "") & " " & If(Me.NCTS_Verzollungsadresse_PLZ, "") & " " & If(Me.NCTS_Verzollungsadresse_Ort, "") & vbNewLine + + If ansprechpartner Then adresse &= If(Me.NCTS_Verzollungsadresse_Ansprechpartner, "") & vbNewLine + + If Bestimmungszollstelle And If(Me.NCTS_Bestimmungszollstelle, "") <> "" Then + adresse &= SQL.getValueTxtBySql("SELECT basncd_dstnr +' - ' + [basncd_name] FROM basncd WHERE basncd_dstnr='" & Me.NCTS_Bestimmungszollstelle & "' ", "ATLAS") + End If + + If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "
") + Return adresse.Trim + End Function + + + Public Function getEmpfaengerAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = False) As String + If tblSnd_EmpfaengerKdNr > 0 Then + Dim AD As New cAdressen(tblSnd_EmpfaengerKdNr) + Dim adresse = "" + adresse &= If(AD.Name_1, "") & If(AD.Name_2, "") & vbNewLine + If If(AD.Straße, "") <> "" Then adresse &= If(AD.Straße, "") & vbNewLine + adresse &= If(AD.LandKz, "") & " " & If(AD.PLZ, "").ToString.ToUpper.Replace("OHNE", "") & " " & If(AD.Ort, "") + + If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "
") + Return adresse.Trim + Else + Return tblSnd_Empfaenger + End If + + End Function + +End Class + +Public Class cSendungAbrechnung + Property sndabr_id As Integer = Nothing + Property sndabr_sendId As Integer = Nothing + Property sndabr_beteiligter As String = Nothing + Property sndabr_abrArt As String = Nothing + Property sndabr_wert As String = Nothing + Property sndabr_bezeichnung As String = Nothing + Property sndabr_anzahl As Integer = Nothing + Property sndabr_einzelPreis As Object = Nothing + Property sndabr_preis As Object = Nothing + + Dim SQL As New SQL + + Sub New(sndabr_sendId) + Me.sndabr_sendId = sndabr_sendId + End Sub + + Sub New(sndabr_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert) + Me.sndabr_sendId = sndabr_sendId + Me.sndabr_beteiligter = sndabr_beteiligter + Me.sndabr_abrArt = sndabr_abrArt + Me.sndabr_wert = sndabr_wert + End Sub + + Sub New(sndabr_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert, sndabr_bezeichnung, sndabr_anzahl, sndabr_einzelPreis, sndabr_preis) + Me.sndabr_sendId = sndabr_sendId + Me.sndabr_beteiligter = sndabr_beteiligter + Me.sndabr_abrArt = sndabr_abrArt + Me.sndabr_wert = sndabr_wert + Me.sndabr_bezeichnung = sndabr_bezeichnung + Me.sndabr_anzahl = sndabr_anzahl + Me.sndabr_einzelPreis = sndabr_einzelPreis + Me.sndabr_preis = sndabr_preis + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_id", sndabr_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_sendId", sndabr_sendId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_beteiligter", sndabr_beteiligter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_abrArt", sndabr_abrArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_wert", sndabr_wert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_bezeichnung", sndabr_bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_anzahl", sndabr_anzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_einzelPreis", sndabr_einzelPreis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_preis", sndabr_preis)) + Return list + End Function + + Public Function INSERT() As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return SQL.doSQLVarList(" INSERT INTO [tblSendAbrechnung] (" & str & ") VALUES(" & values & ") ", "AVISO", , list) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + + +End Class + + +Public Class cSendHandling + Property sndhdg_id As Integer = Nothing + Property sndhdg_sendId As Integer = Nothing + Property sndhdg_abrArt As String = Nothing + Property sndhdg_nr As String = Nothing + Property sndhdg_colli As Double = 0 + Property sndhdg_gewicht As Double = 0 + + + Dim SQL As New SQL + + Sub New(sndhdg_sendId) + Me.sndhdg_sendId = sndhdg_sendId + End Sub + + Sub New(sndhdg_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert, sndhdg_colli, sndhdg_gewicht) + Me.sndhdg_sendId = sndhdg_sendId + Me.sndhdg_abrArt = sndhdg_abrArt + Me.sndhdg_nr = sndhdg_nr + Me.sndhdg_colli = sndhdg_colli + Me.sndhdg_gewicht = sndhdg_gewicht + End Sub + + Sub New(sndhdg_sendId, sndhdg_abrArt, sndhdg_nr, sndhdg_colli, sndhdg_gewicht) + Me.sndhdg_sendId = sndhdg_sendId + Me.sndhdg_abrArt = sndhdg_abrArt + Me.sndhdg_nr = sndhdg_nr + Me.sndhdg_colli = sndhdg_colli + Me.sndhdg_gewicht = sndhdg_gewicht + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_id", sndhdg_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_sendId", sndhdg_sendId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_abrArt", sndhdg_abrArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_nr", sndhdg_nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_colli", sndhdg_colli)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_gewicht", sndhdg_gewicht)) + Return list + End Function + + Public Function INSERT() As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return SQL.doSQLVarList(" INSERT INTO [tblSendHandling] (" & str & ") VALUES(" & values & ") ", "AVISO", , list) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb new file mode 100644 index 0000000..fa6d54b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb @@ -0,0 +1,204 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cSession + + Property sess_Id As Integer + Property sess_system As String = "" + Property sess_progId As Object = Nothing + Property sess_progName As String = "" + Property sess_progVersion As String = "" + + Property sess_maName As String = "" + Property sess_maId As Integer + + Property sess_firma As String = "" + Property sess_niederlassung As String = "" + Property sess_ipAddress As String = "" + Property sess_PCName As String = "" + Property sess_PCUserName As String = "" + + + Property sess_login As Object = Nothing = Now + Property sess_logout As Object = Nothing + Property sess_lastRm As Object = Nothing + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(sess_Id) + Me.sess_Id = sess_Id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_system", sess_system)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progId", sess_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progName", sess_progName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progVersion", sess_progVersion)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_firma", sess_firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_niederlassung", sess_niederlassung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_ipAddress", sess_ipAddress)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_PCName", sess_PCName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_PCUserName", sess_PCUserName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_maName", sess_maName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_maId", sess_maId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_login", sess_login)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_logout", sess_logout)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSessions WITH(updlock,serializable) WHERE sess_Id=@sess_Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Dim id = SQL.doSQLVarListID(sess_Id, sqlstr, "ADMIN", , list) + Me.sess_Id = id + Return id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblSessions WHERE sess_Id=@sess_Id ", conn) + cmd.Parameters.AddWithValue("@sess_Id", sess_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function UPDATE_TIME() As String + If sess_Id > 0 Then + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True)) + sess_lastRm = Now + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm)) + + Return SQL.doSQLVarList(" UPDATE [tblSessions] SET sess_lastRm=GETDATE() WHERE sess_Id=@sess_Id ", "ADMIN", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + + + Public Shared Function GET_IP_FROM_MAID(sess_maId) As String + Dim SQL As New SQL + Return SQL.getValueTxtBySql(" SELECT TOP 1 isnull(sess_ipaddress,'') as sess_ipaddress FROM [tblSessions] where sess_lastRm > DATEADD(SECOND,-70, GETDATE()) AND sess_maId=" & sess_maId, "ADMIN") + End Function + + Public Function LOGIN() As String + Me.sess_system = (If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "T", "E")) + Me.sess_login = Now + Me.sess_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_id + Me.sess_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Me.sess_firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Me.sess_niederlassung = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG + Try + Me.sess_ipAddress = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList(0).ToString() + Me.sess_PCName = System.Environment.MachineName + Me.sess_PCUserName = My.User.Name.ToString + Catch ex As Exception + End Try + Me.sess_lastRm = Now + Me.sess_progId = Nothing + Me.sess_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME + Me.sess_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION + + Return SAVE() + End Function + + Public Function LOGOUT() As String + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True)) + sess_lastRm = Now + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm)) + sess_logout = Now + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_logout", sess_logout)) + + Return SQL.doSQLVarList(" UPDATE [tblSessions] SET sess_lastRm=GETDATE(),sess_logout=GETDATE() WHERE sess_Id=@sess_Id ", "ADMIN", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblSessions] SET " & str & " WHERE sess_Id=@sess_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblSessions (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb new file mode 100644 index 0000000..46dbd85 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb @@ -0,0 +1,876 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + +Public Class cSpeditionsbuchList + Property FilialenNr As Integer = -1 + Property AbfertigungsNr As Integer = -1 + + Property min As Integer = -1 + Property max As Integer = -1 + + + ' Property OffertenNr As Object = Nothing + Public LIST As New List(Of cSpeditionsbuch) + Dim SQL As New SQL + 'Dim listTodelete As New List(Of cOfferte) + + Sub New(FilialenNr, AbfertigungsNr) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + + LOAD_LIST(Me.FilialenNr, Me.AbfertigungsNr) + End Sub + Public Sub CLEAR() + LIST.Clear() + End Sub + + Public Sub LOAD_LIST() + LOAD_LIST(FilialenNr, AbfertigungsNr) + End Sub + + Public Sub LOAD_LIST(FilialenNr, AbfertigungsNr) + Try + LIST.Clear() + min = 999999 + max = -1 + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Speditionsbuch WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr ", conn) + cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr) + cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cSpeditionsbuch + l.LOAD(dr.Item("FilialenNr"), dr.Item("AbfertigungsNr"), dr.Item("UnterNr")) + LIST.Add(l) + If l.UnterNr < min Then min = l.UnterNr + If l.UnterNr > max Then max = l.UnterNr + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + 'Function SAVE() + ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then + ' For Each l In LIST + ' If Not l.INSERT() Then Return False + ' Next + ' Return True + ' Else + ' Return False + ' End If + 'End Function +End Class + + +Public Class cSpeditionsbuch + Property FilialenNr As Integer = -1 + Property AbfertigungsNr As Integer = -1 + Property UnterNr As Integer = -1 + Property Abfertigungsdatum As Object = CDate(Now.ToShortDateString) + Property Bar As Boolean = False + Property Fakturiert As Boolean = False + Property BelegNr As String = "" + Property ErfassungsNr As String = "" + Property LKW_Kennzeichen As String = "" + ' Property AvisiererKundenNr As Object = Nothing + ' Property Avisierer As String = "" + ' Property AbsenderKundenNr As Object = Nothing + 'Property Absender As String = "" + 'Property AbsenderOffertenNr As Object = Nothing + 'Property EmpfängerKundenNr As Object = Nothing + 'Property Empfänger As String = "" + 'Property EmpfängerOffertenNr As Object = Nothing + 'Property VermittlerKundenNr As Object = Nothing + 'Property Vermittler As String = "" + 'Property VermittlerOffertenNr As Object = Nothing + 'Property FrachtführerKundenNr As Object = Nothing + 'Property Frachtführer As String = "" + + Property AvisiererKundenNr As Object = Nothing + Public Avisierer As String = "" + Property AbsenderKundenNr As Object = Nothing + Public Absender As String = "" + Property AbsenderOffertenNr As Object = Nothing + Property EmpfängerKundenNr As Object = Nothing + Public Empfänger As String = "" + Property EmpfängerOffertenNr As Object = Nothing + Property VermittlerKundenNr As Object = Nothing + Public Vermittler As String = "" + Property VermittlerOffertenNr As Object = Nothing + Property FrachtführerKundenNr As Object = Nothing + Public Frachtführer As String = "" + + + Property AnzahlZA As Integer = 0 + Property AnzahlZAFremd As Integer = 0 + Property AnzahlZnV As Integer = 0 + Property AnzahlZnVFremd As Integer = 0 + Property AnzahlT1 As Integer = 0 + Property AnzahlT2 As Integer = 0 + Property AnzahlAE As Integer = 0 + Property AnzahlCarnetTIR As Integer = 0 + Property AnzahlBarvorlagen As Integer = 0 + Property AnzahlSonstiges As Integer = 0 + Property AnzahlGrenzgebühren As Integer = 0 + Property AvisUhrzeit As String = "" + Property Vermerk As String = "" + Property Bemerkungen As String = "" + Property Währungsschlüssel As Object = Nothing 'int=-1 + Property Rechnungsbetrag As Object = Nothing 'dbl=0 + Property Umrechnungskurs As Object = CDbl(1) 'dbl=1 + Property Packstücke As String = "" + Property Rohmasse As Object = Nothing 'int=0 + Property Zahlungsaufschub As String = "" + Property Löschen As Object = Nothing + Property Abfertigungsart As Object = Nothing + Property Abfertigungsanzahl As Integer = 0 + Property AbfertigungsanzahlPos As Object = Nothing + Property Barzahlungsbetrag As Double = 0 + ' Property Sachbearbeiter As String = "" + Public Sachbearbeiter As String = "" + Property Personalnummer As Object = Nothing 'int=-1 + Property PersonalnummerQS As Object = Nothing 'int=-1 + Property AtlasBezNrEZA As String = "" + Property AtlasBezNrNCTS As String = "" + Property Versendungsland As String = "" + Property SB_CMR As Boolean = False + Property SB_CMRDatum As Object = Nothing + Property SB_CMRNr As Object = Nothing + Property veoerz_basbtg As Double = 0 + Property Zucker_MRN_Nr As Object = Nothing + Property Zucker_MRN_Datum As Object = Nothing + Property Zucker_Aufschub As Object = Nothing + Property Zollsystem As String = Nothing + Property Bestimmungszollstelle As String = "" + Property Bürgschaft As String = "" + Property Sicherheitsbetrag As Double = 0 + Property SgutKompl As Object = Nothing + Property Bestimmungsland As String = "" + Property EuFiskalEmpfänger As String = "" + Property QKN As String = "" + Property EndempfängerKundenNr As Object = Nothing + ' Property Endempfänger As String = "" + Public Endempfänger As String = "" + + Property AvisoID As Object = Nothing + Property SendungID As Object = Nothing + Property Grenzstelle As Object = Nothing + + + Property KdAuftragsNr As Object = Nothing + Property KdAuftragsNrAvisierer As Object = Nothing + Property KdAuftragsNrEmpfaenger As Object = Nothing + Property KdAuftragsNrFrachtfuehrer As Object = Nothing + Property SB_Zeitstempel As Object = Now + + Property NCTS_Verzollungsadresse As Object = Nothing + Property NCTS_VerzollungsadresseKdNr As Object = Nothing + Property AuftraggeberBetragKassiert As Object = Nothing + + Property Lieferantenrechnung As Object = Nothing + Property DokumentId_Steuerbeleg As Object = Nothing + Property DokumentId_Mitteilung As Object = Nothing + Property DokumentId_VBD As Object = Nothing + Property DokumentId_ABD As Object = Nothing + Property DokumentId_AVM As Object = Nothing + Property FilialenNrHandling As Object = Nothing + Property HandlingZuKassieren As Double = 0 + + Property FilialenNrAbklaerung As Object = Nothing + Property PersonalnummerAbklTR As Object = Nothing + Property UK_EIDR_ausstehend As Boolean = False + + + Property UNTERPOS As New List(Of cSpeditionsbuchUnterPos) + Property VORKOSTEN As New List(Of cVorkosten) + Property ENDEMPFAENGER As New List(Of cEndEmpfaener) + + Dim SQL As New SQL + + Public Sub New() + End Sub + + Property hasEntry As Boolean = False + + Public Sub New(FilialenNr As Integer, AbfertigungsNr As Integer, UnterNr As Integer) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + Me.UnterNr = UnterNr + LOAD(FilialenNr, AbfertigungsNr, UnterNr) + End Sub + + Public Sub New(FilialenNr As Integer, AbfertigungsNr As Integer) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + Me.UnterNr = NewUNTER_NR() + LOAD(FilialenNr, AbfertigungsNr, UnterNr) + End Sub + + + Function NewUNTER_NR() As Integer + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + UnterNr = SQL.getValueTxtBySqlVarList("SELECT isnull(MAX(UnterNr)+1,0) FROM Speditionsbuch WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr", "FMZOLL", list) + Return UnterNr + End Function + + + + Public Shared Function existsSpedBuch(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + If FilialenNr <= 0 Then Return False + If AbfertigungsNr <= 0 Then Return False + Dim SQL As New SQL + Return (CInt(SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [Speditionsbuch] WHERE [FilialenNr]='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")) > 0) + End Function + + + Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' MsgBox(getUpdateCmd()) + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [Speditionsbuch] WITH(updlock,serializable) WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + If SQL.doSQLVarList(sqlstr, "FMZOLL", , list) Then + If SAVE_VORKOSTEN() And SAVE_ENDEMPFAENGER() Then + Return True + End If + End If + Return False + End Function + Public Sub LOAD() + LOAD(FilialenNr, AbfertigungsNr, UnterNr) + End Sub + Public Sub LOAD(FilialenNr As Integer, AbfertigungsNr As Integer, UnterNr As Integer) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Speditionsbuch WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn) + cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr) + cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr) + cmd.Parameters.AddWithValue("@UnterNr", UnterNr) + + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Me.FilialenNr = SQL.checkNullInteger(dr.Item("FilialenNr")) + Me.AbfertigungsNr = SQL.checkNullInteger(dr.Item("AbfertigungsNr")) + Me.UnterNr = SQL.checkNullInteger(dr.Item("UnterNr")) + Me.Abfertigungsdatum = SQL.checkNullDateNothing(dr.Item("Abfertigungsdatum")) + Me.Bar = SQL.checkNullBool(dr.Item("Bar")) + Me.Fakturiert = SQL.checkNullBool(dr.Item("Fakturiert")) + Me.BelegNr = SQL.checkNullStr(dr.Item("BelegNr")) + Me.ErfassungsNr = SQL.checkNullStr(dr.Item("ErfassungsNr")) + Me.LKW_Kennzeichen = SQL.checkNullStr(dr.Item("LKW Kennzeichen")) + Me.AvisiererKundenNr = SQL.checkNullReturnValue(dr.Item("AvisiererKundenNr"), Nothing) + Me.Avisierer = SQL.checkNullStr(dr.Item("Avisierer")) + Me.AbsenderKundenNr = SQL.checkNullReturnValue(dr.Item("AbsenderKundenNr"), Nothing) + Me.Absender = SQL.checkNullStr(dr.Item("Absender")) + Me.AbsenderOffertenNr = SQL.checkNullInteger(dr.Item("AbsenderOffertenNr")) + Me.EmpfängerKundenNr = SQL.checkNullReturnValue(dr.Item("EmpfängerKundenNr"), Nothing) + Me.Empfänger = SQL.checkNullStr(dr.Item("Empfänger")) + Me.EmpfängerOffertenNr = SQL.checkNullInteger(dr.Item("EmpfängerOffertenNr")) + Me.VermittlerKundenNr = SQL.checkNullReturnValue(dr.Item("VermittlerKundenNr"), Nothing) + Me.Vermittler = SQL.checkNullStr(dr.Item("Vermittler")) + Me.VermittlerOffertenNr = SQL.checkNullInteger(dr.Item("VermittlerOffertenNr")) + Me.FrachtführerKundenNr = SQL.checkNullReturnValue(dr.Item("FrachtführerKundenNr"), Nothing) + Me.Frachtführer = SQL.checkNullStr(dr.Item("Frachtführer")) + Me.AnzahlZA = SQL.checkNullIntegerZero(dr.Item("AnzahlZA")) + Me.AnzahlZAFremd = SQL.checkNullIntegerZero(dr.Item("AnzahlZAFremd")) + Me.AnzahlZnV = SQL.checkNullIntegerZero(dr.Item("AnzahlZnV")) + Me.AnzahlZnVFremd = SQL.checkNullIntegerZero(dr.Item("AnzahlZnVFremd")) + Me.AnzahlT1 = SQL.checkNullIntegerZero(dr.Item("AnzahlT1")) + Me.AnzahlT2 = SQL.checkNullIntegerZero(dr.Item("AnzahlT2")) + Me.AnzahlAE = SQL.checkNullStr(dr.Item("AnzahlAE")) + Me.AnzahlCarnetTIR = SQL.checkNullIntegerZero(dr.Item("AnzahlCarnetTIR")) + Me.AnzahlBarvorlagen = SQL.checkNullIntegerZero(dr.Item("AnzahlBarvorlagen")) + Me.AnzahlSonstiges = SQL.checkNullIntegerZero(dr.Item("AnzahlSonstiges")) + Me.AnzahlGrenzgebühren = SQL.checkNullIntegerZero(dr.Item("AnzahlGrenzgebühren")) + Me.AvisUhrzeit = SQL.checkNullStr(dr.Item("AvisUhrzeit")) + Me.Vermerk = SQL.checkNullStr(dr.Item("Vermerk")) + Me.Bemerkungen = SQL.checkNullStr(dr.Item("Bemerkungen")) + Me.Währungsschlüssel = SQL.checkNullReturnValue(dr.Item("Währungsschlüssel"), 900) + Me.Rechnungsbetrag = SQL.checkNullReturnValue(dr.Item("Rechnungsbetrag"), Nothing) + Me.Umrechnungskurs = SQL.checkNullReturnValue(dr.Item("Umrechnungskurs"), 1) + Me.Packstücke = SQL.checkNullStr(dr.Item("Packstücke")) + Me.Rohmasse = SQL.checkNullReturnValue(dr.Item("Rohmasse"), Nothing) + Me.Zahlungsaufschub = SQL.checkNullStr(dr.Item("Zahlungsaufschub")) + Me.Löschen = SQL.checkNullDateNothing(dr.Item("Löschen")) + Me.Abfertigungsart = SQL.checkNullInteger(dr.Item("Abfertigungsart")) + Me.Abfertigungsanzahl = SQL.checkNullIntegerZero(dr.Item("Abfertigungsanzahl")) + Me.AbfertigungsanzahlPos = SQL.checkNullInteger(dr.Item("AbfertigungsanzahlPos")) + Me.Barzahlungsbetrag = SQL.checkNulDbl(dr.Item("Barzahlungsbetrag")) + Me.Sachbearbeiter = SQL.checkNullStr(dr.Item("Sachbearbeiter")) + Me.Personalnummer = SQL.checkNullReturnValue(dr.Item("Personalnummer"), Nothing) + Me.PersonalnummerQS = SQL.checkNullReturnValue(dr.Item("PersonalnummerQS"), Nothing) + Me.AtlasBezNrEZA = SQL.checkNullStr(dr.Item("AtlasBezNrEZA")) + Me.AtlasBezNrNCTS = SQL.checkNullStr(dr.Item("AtlasBezNrNCTS")) + Me.Versendungsland = SQL.checkNullStr(dr.Item("Versendungsland")) + Me.SB_CMR = SQL.checkNullBool(dr.Item("SB_CMR")) + Me.SB_CMRDatum = SQL.checkNullDateNothing(dr.Item("SB_CMRDatum")) + Me.veoerz_basbtg = SQL.checkNulDbl(dr.Item("veoerz_basbtg")) + Me.Zucker_MRN_Nr = SQL.checkNullReturnValue(dr.Item("Zucker_MRN_Nr"), Nothing) + Me.Zucker_MRN_Datum = SQL.checkNullDateNothing(dr.Item("Zucker_MRN_Datum")) + Me.Zucker_Aufschub = SQL.checkNullReturnValue(dr.Item("Zucker_Aufschub"), Nothing) + Me.Zollsystem = SQL.checkNullStr(dr.Item("Zollsystem")) + Me.Bestimmungszollstelle = SQL.checkNullStr(dr.Item("Bestimmungszollstelle")) + Me.Bürgschaft = SQL.checkNullStr(dr.Item("Bürgschaft")) + Me.Sicherheitsbetrag = SQL.checkNulDbl(dr.Item("Sicherheitsbetrag")) + Me.SgutKompl = SQL.checkNullStr(dr.Item("SgutKompl")) + Me.Bestimmungsland = SQL.checkNullStr(dr.Item("Bestimmungsland")) + Me.EuFiskalEmpfänger = SQL.checkNullStr(dr.Item("EuFiskalEmpfänger")) + Me.QKN = SQL.checkNullStr(dr.Item("QKN")) + Me.EndempfängerKundenNr = SQL.checkNullReturnValue(dr.Item("EndempfängerKundenNr"), Nothing) + Me.Endempfänger = SQL.checkNullStr(dr.Item("Endempfänger")) + Me.AvisoID = SQL.checkNullReturnValue(dr.Item("AvisoID"), Nothing) + Me.SendungID = SQL.checkNullReturnValue(dr.Item("SendungID"), Nothing) + Me.KdAuftragsNr = SQL.checkNullReturnValue(dr.Item("KdAuftragsNr"), Nothing) + Me.KdAuftragsNrAvisierer = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrAvisierer"), Nothing) + Me.KdAuftragsNrEmpfaenger = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrEmpfaenger"), Nothing) + Me.KdAuftragsNrFrachtfuehrer = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrFrachtfuehrer"), Nothing) + + Me.NCTS_Verzollungsadresse = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse"), "") + Me.NCTS_VerzollungsadresseKdNr = SQL.checkNullReturnValue(dr.Item("NCTS_VerzollungsadresseKdNr"), Nothing) + Me.Grenzstelle = SQL.checkNullReturnValue(dr.Item("Grenzstelle"), Nothing) + Me.AuftraggeberBetragKassiert = SQL.checkNullReturnValue(dr.Item("AuftraggeberBetragKassiert"), Nothing) + Me.Lieferantenrechnung = SQL.checkNullReturnValue(dr.Item("Lieferantenrechnung"), Nothing) + Me.DokumentId_Steuerbeleg = SQL.checkNullReturnValue(dr.Item("DokumentId_Steuerbeleg"), Nothing) + Me.DokumentId_Mitteilung = SQL.checkNullReturnValue(dr.Item("DokumentId_Mitteilung"), Nothing) + Me.DokumentId_VBD = SQL.checkNullReturnValue(dr.Item("DokumentId_VBD"), Nothing) + Me.DokumentId_ABD = SQL.checkNullReturnValue(dr.Item("DokumentId_ABD"), Nothing) + Me.DokumentId_AVM = SQL.checkNullReturnValue(dr.Item("DokumentId_avm"), Nothing) + Me.FilialenNrHandling = SQL.checkNullReturnValue(dr.Item("FilialenNrHandling"), Nothing) + Me.FilialenNrAbklaerung = SQL.checkNullReturnValue(dr.Item("FilialenNrAbklaerung"), Nothing) + Me.HandlingZuKassieren = SQL.checkNulDbl(dr.Item("HandlingZuKassieren")) + Me.PersonalnummerAbklTR = SQL.checkNullReturnValue(dr.Item("PersonalnummerAbklTR"), Nothing) + Me.UK_EIDR_ausstehend = SQL.checkNullBool(dr.Item("UK_EIDR_ausstehend")) + + Me.SB_CMRNr = SQL.checkNullReturnValue(dr.Item("SB_CMRNr"), Nothing) + + LOAD_VORKOSTEN() + LOAD_ENDEMPFAENGER() + + Me.SB_Zeitstempel = SQL.checkNullDateNothing(dr.Item("SB_Zeitstempel")) + + hasEntry = True + End If + dr.Close() + End Using + End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + ' Return Nothing + End Sub + + Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False) As cSpeditionsbuch 'PROBLEM! + Try + Dim SPEDBUCH As New cSpeditionsbuch + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT TOP 1 * FROM Speditionsbuch WHERE ([AtlasBezNrEZA]=@bezugsNr OR [AtlasBezNrNCTS]=@bezugsNr )", conn) + cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In SPEDBUCH.getParameterList() + Dim propInfo As PropertyInfo = SPEDBUCH.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(SPEDBUCH, Nothing) + Else + propInfo.SetValue(SPEDBUCH, dr.Item(l.Text)) + End If + + Next + If loadALL Then + SPEDBUCH.LOAD_VORKOSTEN() + SPEDBUCH.LOAD_ENDEMPFAENGER() + End If + + dr.Close() + SPEDBUCH.hasEntry = True + Return SPEDBUCH + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bar", Bar)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fakturiert", Fakturiert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErfassungsNr", ErfassungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW Kennzeichen", LKW_Kennzeichen, "LKWKennzeichen")) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", AvisiererKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", Avisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", AbsenderKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender", Absender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOffertenNr", AbsenderOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", EmpfängerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger", Empfänger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOffertenNr", EmpfängerOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", VermittlerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermittler", Vermittler)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOffertenNr", VermittlerOffertenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FrachtführerKundenNr", FrachtführerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Frachtführer", Frachtführer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZA", AnzahlZA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZAFremd", AnzahlZAFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZnV", AnzahlZnV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZnVFremd", AnzahlZnVFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlT1", AnzahlT1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlT2", AnzahlT2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlAE", AnzahlAE)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlCarnetTIR", AnzahlCarnetTIR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlBarvorlagen", AnzahlBarvorlagen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlSonstiges", AnzahlSonstiges)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlGrenzgebühren", AnzahlGrenzgebühren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisUhrzeit", AvisUhrzeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkungen", Bemerkungen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungsschlüssel", Währungsschlüssel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsbetrag", Rechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umrechnungskurs", Umrechnungskurs)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstücke", Packstücke)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rohmasse", Rohmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsaufschub", Zahlungsaufschub)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Löschen", Löschen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsart", Abfertigungsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsanzahl", Abfertigungsanzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsanzahlPos", AbfertigungsanzahlPos)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Barzahlungsbetrag", Barzahlungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Personalnummer", Personalnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerQS", PersonalnummerQS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AtlasBezNrEZA", AtlasBezNrEZA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AtlasBezNrNCTS", AtlasBezNrNCTS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versendungsland", Versendungsland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMR", SB_CMR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMRDatum", SB_CMRDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("veoerz_basbtg", veoerz_basbtg)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Nr", Zucker_MRN_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Datum", Zucker_MRN_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_Aufschub", Zucker_Aufschub)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollsystem", Zollsystem)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestimmungszollstelle", Bestimmungszollstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bürgschaft", Bürgschaft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sicherheitsbetrag", Sicherheitsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SgutKompl", SgutKompl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestimmungsland", Bestimmungsland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EuFiskalEmpfänger", EuFiskalEmpfänger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("QKN", QKN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndempfängerKundenNr", EndempfängerKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Endempfänger", Endempfänger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoID", AvisoID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SendungID", SendungID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrAvisierer", KdAuftragsNrAvisierer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrEmpfaenger", KdAuftragsNrEmpfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrFrachtfuehrer", KdAuftragsNrFrachtfuehrer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_Zeitstempel", SB_Zeitstempel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse", NCTS_Verzollungsadresse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_VerzollungsadresseKdNr", NCTS_VerzollungsadresseKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Grenzstelle", Grenzstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AuftraggeberBetragKassiert", AuftraggeberBetragKassiert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferantenrechnung", Lieferantenrechnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_Steuerbeleg", DokumentId_Steuerbeleg)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_Mitteilung", DokumentId_Mitteilung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_VBD", DokumentId_VBD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_ABD", DokumentId_ABD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_AVM", DokumentId_AVM)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNrHandling", FilialenNrHandling)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNrAbklaerung", FilialenNrAbklaerung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("HandlingZuKassieren", HandlingZuKassieren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerAbklTR", PersonalnummerAbklTR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UK_EIDR_ausstehend", UK_EIDR_ausstehend)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMRNr", SB_CMRNr)) + + + Return list + End Function + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & "," + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Speditionsbuch] SET " & str & " WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO [Speditionsbuch] (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Sub LOAD_UNTERPOS() + Try + Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn) + Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn) + cmd2.Parameters.AddWithValue("@sbup_Filiale", Me.FilialenNr) + cmd2.Parameters.AddWithValue("@sbup_AbfertigungsNr", Me.AbfertigungsNr) + cmd2.Parameters.AddWithValue("@sbup_UnterNr", Me.UnterNr) + Dim dr2 = cmd2.ExecuteReader() + Me.UNTERPOS.Clear() + While dr2.Read + Dim a As New cSpeditionsbuchUnterPos() + + a.sbup_id = SQL.checkNullReturnValue(dr2.Item("sbup_id"), -1) + a.sbup_Filiale = SQL.checkNullReturnValue(dr2.Item("sbup_Filiale"), -1) + a.sbup_AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("sbup_AbfertigungsNr"), -1) + a.sbup_UnterNr = SQL.checkNullReturnValue(dr2.Item("sbup_UnterNr"), -1) + a.sbup_UnterPosArt = SQL.checkNullReturnValue(dr2.Item("sbup_UnterPosArt"), -1) + a.sbup_Anzahl = SQL.checkNullReturnValue(dr2.Item("sbup_Anzahl"), -1) + ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-") + + Me.UNTERPOS.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub LOAD_VORKOSTEN() + Try + Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn) + Using cmd2 As New SqlCommand("SELECT * FROM Vorkosten WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn) + cmd2.Parameters.AddWithValue("@FilialenNr", Me.FilialenNr) + cmd2.Parameters.AddWithValue("@AbfertigungsNr", Me.AbfertigungsNr) + cmd2.Parameters.AddWithValue("@UnterNr", Me.UnterNr) + Dim dr2 = cmd2.ExecuteReader() + Me.VORKOSTEN.Clear() + While dr2.Read + Dim a As New cVorkosten() + + a.FilialenNr = SQL.checkNullReturnValue(dr2.Item("FilialenNr"), -1) + a.AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("AbfertigungsNr"), -1) + a.UnterNr = SQL.checkNullReturnValue(dr2.Item("UnterNr"), -1) + a.LeistungsNr = SQL.checkNullReturnValue(dr2.Item("LeistungsNr"), -1) + a.LeistungsBez = SQL.checkNullReturnValue(dr2.Item("LeistungsBez"), -1) + a.Preis = SQL.checkNullReturnValue(dr2.Item("Preis"), 0) + ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-") + + Me.VORKOSTEN.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Sub LOAD_ENDEMPFAENGER() + Try + Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn) + Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchEndEmpfaenger WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn) + cmd2.Parameters.AddWithValue("@FilialenNr", Me.FilialenNr) + cmd2.Parameters.AddWithValue("@AbfertigungsNr", Me.AbfertigungsNr) + cmd2.Parameters.AddWithValue("@UnterNr", Me.UnterNr) + Dim dr2 = cmd2.ExecuteReader() + Me.ENDEMPFAENGER.Clear() + While dr2.Read + Dim a As New cEndEmpfaener() + + a.FilialenNr = SQL.checkNullReturnValue(dr2.Item("FilialenNr"), -1) + a.AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("AbfertigungsNr"), -1) + a.UnterNr = SQL.checkNullReturnValue(dr2.Item("UnterNr"), -1) + a.EndEmpfaengerKdNr = SQL.checkNullReturnValue(dr2.Item("EndEmpfaengerKdNr"), -1) + a.EndEmpfaenger = SQL.checkNullReturnValue(dr2.Item("EndEmpfaenger"), "") + a.UstIdKz = SQL.checkNullReturnValue(dr2.Item("UstIdKz"), Nothing) + a.UstIdNr = SQL.checkNullReturnValue(dr2.Item("UstIdNr"), Nothing) + a.Rechnungsbetrag = SQL.checkNullReturnValue(dr2.Item("Rechnungsbetrag"), Nothing) + a.RechnungsNr = SQL.checkNullReturnValue(dr2.Item("RechnungsNr"), Nothing) + ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-") + + Me.ENDEMPFAENGER.Add(a) + End While + dr2.Close() + End Using + + conn.Close() + 'End Using + 'Return Nothing + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Function SAVE_UNTERPOS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_UNTERPOS = False + Dim sqlstr = " DELETE FROM tblSpeditionsbuchUnterPos WHERE sbup_Filiale=" & Me.FilialenNr & " AND sbup_AbfertigungsNr=" & Me.AbfertigungsNr & " AND sbup_UnterNr=" & Me.UnterNr & " " + If SQL.doSQL(sqlstr, "FMZOLL") Then + SAVE_UNTERPOS = True + For Each a In UNTERPOS + If Not a.INSERT() Then SAVE_UNTERPOS = False + Next + End If + + ' Return b + End Function + Public Function SAVE_VORKOSTEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_VORKOSTEN = False + Dim sqlstr = " DELETE FROM Vorkosten WHERE FilialenNr=" & Me.FilialenNr & " AND AbfertigungsNr=" & Me.AbfertigungsNr & " AND UnterNr=" & Me.UnterNr & " " + If SQL.doSQL(sqlstr, "FMZOLL") Then + SAVE_VORKOSTEN = True + For Each a In VORKOSTEN + If Not a.INSERT() Then SAVE_VORKOSTEN = False + Next + End If + + ' Return b + End Function + Public Function SAVE_ENDEMPFAENGER() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + SAVE_ENDEMPFAENGER = False + Dim sqlstr = " DELETE FROM tblSpeditionsbuchEndEmpfaenger WHERE FilialenNr=" & Me.FilialenNr & " AND AbfertigungsNr=" & Me.AbfertigungsNr & " AND UnterNr=" & Me.UnterNr & " " + If SQL.doSQL(sqlstr, "FMZOLL") Then + SAVE_ENDEMPFAENGER = True + For Each a In ENDEMPFAENGER + If Not a.INSERT() Then SAVE_ENDEMPFAENGER = False + Next + End If + + ' Return b + End Function +End Class + + +Public Class cSpeditionsbuchUnterPos + Property sbup_id As Integer = Nothing + Property sbup_Filiale As Integer = Nothing + Property sbup_AbfertigungsNr As Integer = Nothing + Property sbup_UnterNr As Integer = Nothing + Property sbup_UnterPosArt As Integer = Nothing + Property sbup_Anzahl As Integer = Nothing + ' Property Abfertigungsbezeichnung As String = "-" + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(sbup_Filiale, sbup_AbfertigungsNr, sbup_UnterNr, sbup_UnterPosArt, sbup_Anzahl) + Me.sbup_Filiale = sbup_Filiale + Me.sbup_AbfertigungsNr = sbup_AbfertigungsNr + Me.sbup_UnterNr = sbup_UnterNr + Me.sbup_UnterPosArt = sbup_UnterPosArt + Me.sbup_Anzahl = sbup_Anzahl + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_id", sbup_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_Filiale", sbup_Filiale)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_AbfertigungsNr", sbup_AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_UnterNr", sbup_UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_UnterPosArt", sbup_UnterPosArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_Anzahl", sbup_Anzahl)) + Return list + End Function + + Public Function INSERT() As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + + Return SQL.doSQLVarList(" INSERT INTO [tblSpeditionsbuchUnterPos] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + + +End Class + + +Public Class cVorkosten + + Property FilialenNr As Integer + Property AbfertigungsNr As Integer + Property UnterNr As Integer + Property LeistungsNr As Integer + Property LeistungsBez As Object = Nothing + Property Preis As Double = 0 + + ' Property Abfertigungsbezeichnung As String = "-" + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(FilialenNr, AbfertigungsNr, UnterNr, LeistungsNr, LeistungsBez, Preis) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + Me.UnterNr = UnterNr + Me.LeistungsNr = LeistungsNr + Me.LeistungsBez = LeistungsBez + Me.Preis = Preis + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis)) + Return list + End Function + + Public Function INSERT() As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + + Return SQL.doSQLVarList(" INSERT INTO [Vorkosten] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + +End Class + + +Public Class cEndEmpfaener + + Property FilialenNr As Integer + Property AbfertigungsNr As Integer + Property UnterNr As Integer + Property EndEmpfaengerKdNr As Integer + Property EndEmpfaenger As Object = Nothing + Property UstIdKz As Object = Nothing + Property UstIdNr As Object = Nothing + Property Rechnungsbetrag As Object = Nothing + Property RechnungsNr As Object = Nothing + + ' Property Abfertigungsbezeichnung As String = "-" + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(FilialenNr, AbfertigungsNr, UnterNr, EndEmpfaengerKdNr, EndEmpfaenger, UstIdKz, UstIdNr, Rechnungsbetrag, RechnungsNr) + Me.FilialenNr = FilialenNr + Me.AbfertigungsNr = AbfertigungsNr + Me.UnterNr = UnterNr + Me.EndEmpfaengerKdNr = EndEmpfaengerKdNr + Me.EndEmpfaenger = EndEmpfaenger + Me.UstIdKz = UstIdKz + Me.UstIdNr = UstIdNr + Me.Rechnungsbetrag = Rechnungsbetrag + Me.RechnungsNr = RechnungsNr + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndEmpfaengerKdNr", EndEmpfaengerKdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndEmpfaenger", EndEmpfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdKz", UstIdKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdNr", UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsbetrag", Rechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", RechnungsNr)) + Return list + End Function + + Public Function INSERT() As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + + Return SQL.doSQLVarList(" INSERT INTO [tblSpeditionsbuchEndEmpfaenger] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb new file mode 100644 index 0000000..f7cf797 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb @@ -0,0 +1,178 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cTextkonserve + Property txt_Id As Integer + Property txt_kategorie As String + Property txt_bezeichnung As String + Property txt_sprache As String + Property txt_text As String + Property txt_betreff As String + Property txt_FIRMA As String + Property txt_firmaSig As Integer = 1 + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(txt_Id) + ' If txt_Id IsNot Nothing Then + Me.txt_Id = txt_Id + LOAD() + ' End If + End Sub + + Sub New(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA) + ' If txt_Id IsNot Nothing Then + Me.txt_kategorie = txt_kategorie + Me.txt_bezeichnung = txt_bezeichnung + Me.txt_sprache = txt_sprache + Me.txt_FIRMA = txt_FIRMA + LOAD(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA) + ' End If + End Sub + + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_Id", txt_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_kategorie", txt_kategorie)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_bezeichnung", txt_bezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_sprache", txt_sprache)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_text", txt_text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_betreff", txt_betreff)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_FIRMA", txt_FIRMA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_firmaSig", txt_firmaSig)) + + Return list + End Function + + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTextkonserve WITH(updlock,serializable) WHERE txt_Id=@txt_Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + txt_Id = SQL.doSQLVarListID(txt_Id, sqlstr, "FMZOLL", , list,, errHinweis) + Return txt_Id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL + Using cmd As New SqlCommand("SELECT * FROM tblTextkonserve WHERE txt_Id=@txt_Id ", conn) + cmd.Parameters.AddWithValue("@txt_Id", txt_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA) + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblTextkonserve WHERE txt_kategorie=@txt_kategorie AND txt_bezeichnung=@txt_bezeichnung AND txt_sprache=@txt_sprache AND txt_FIRMA=@txt_FIRMA ", conn) + cmd.Parameters.AddWithValue("@txt_kategorie", txt_kategorie) + cmd.Parameters.AddWithValue("@txt_bezeichnung", txt_bezeichnung) + cmd.Parameters.AddWithValue("@txt_sprache", txt_sprache) + cmd.Parameters.AddWithValue("@txt_FIRMA", txt_FIRMA) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTextkonserve] SET " & str & " WHERE txt_Id=@txt_Id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTextkonserve (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTextkonserve] WITH(updlock,serializable) WHERE txt_Id=" & Me.txt_Id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTextkonserve] WITH(updlock,serializable) WHERE txt_Id=" & id + Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "FMZOLL") + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb new file mode 100644 index 0000000..a5ad5fb --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb @@ -0,0 +1,166 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cTranslate_LIST + + Public list As New List(Of cTranslate) + Dim trs_progId + + Sub New(trs_progId) + Me.trs_progId = trs_progId + LOAD() + End Sub + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTranslate WHERE trs_progId=@trs_progId ", conn) + cmd.Parameters.AddWithValue("@trs_progId", trs_progId) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim T As New cTranslate + T.trs_id = dr("trs_id") + T.trs_progName = dr("trs_progName") + T.trs_object = dr("trs_object") + T.trs_control = dr("trs_control") + T.trs_subControl = dr("trs_subControl") + T.trs_sprache = dr("trs_sprache") + T.trs_text = dr("trs_text") + list.Add(T) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + +End Class +Public Class cTranslate + Property trs_id As Integer + Property trs_progId As String + Property trs_progName As String + Property trs_object As String + Property trs_control As String + Property trs_subControl As Object = Nothing + Property trs_sprache As String + Property trs_text As String + + + Public hasEntry = False + + Dim SQL As New SQL + Sub New() + + End Sub + Sub New(trs_id) + Me.trs_id = trs_id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_id", trs_id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_progId", trs_progId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_progName", trs_progName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_object", trs_object)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_control", trs_control)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_subControl", trs_subControl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_sprache", trs_sprache)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_text", trs_text)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTranslate WHERE trs_id=@trs_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTranslate WHERE trs_id=@trs_id ", conn) + cmd.Parameters.AddWithValue("@trs_id", trs_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTranslate] SET " & str & " WHERE trs_id=@trs_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTranslate (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + + End Function + + + + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb new file mode 100644 index 0000000..3c32dfe --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb @@ -0,0 +1,617 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cTrdInvoice + + Property Rechnungsdatum As Date + Property Rechnungsnummer As Integer + Property Speditionsbuch As Object = Nothing + Property FilialenNr As Object = Nothing + Property AbfertigungsNr As Object = Nothing + Property UnterNr As Object = Nothing + Property Abfertigungsdatum As Object = Nothing + Property BelegartenNr As Object = Nothing + Property KundenNrZentrale As Object = Nothing + Property RechnungsKundenNr As Object = Nothing + Property RechnungsLandKz As Object = Nothing + Property RechnungsUstIdKz As Object = Nothing + Property RechnungsUstIdNr As Object = Nothing + Property Lastschrift As Object = Nothing + Property Steuerschlüssel As Object = Nothing + Property Steuersatz As Object = Nothing '[Steuersatz %] + Property WährungLokal As Object = Nothing + Property SteuerpflichtigerBetragLokal As Object = Nothing + Property SteuerfreierBetragLokal As Object = Nothing + Property SteuerbetragLokal As Object = Nothing + Property RechnungsbetragLokal As Object = Nothing + Property WährungFremd As Object = Nothing + Property SteuerpflichtigerBetragFremd As Object = Nothing + Property SteuerfreierBetragFremd As Object = Nothing + Property SteuerbetragFremd As Object = Nothing + Property RechnungsbetragFremd As Object = Nothing + Property TrdinDateiname As Object = Nothing + Property Abgleich_op_debitor As Object = Nothing + Property Nettozahlungsziel As Object = Nothing + Property Firma_ID As Object = Nothing + Property UStVAn_ID As Object = Nothing + + Property hasEntry As Boolean = False + + + Dim SQL As New SQL + + Sub New() + + End Sub + + Sub New(Rechnungsdatum, Rechnungsnummer) + Me.Rechnungsnummer = Rechnungsnummer + Me.Rechnungsdatum = Rechnungsdatum + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Speditionsbuch", Speditionsbuch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz, "Steuersatz")) '[Steuersatz %] + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungLokal", WährungLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragLokal", SteuerbetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragLokal", RechnungsbetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungFremd", WährungFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragFremd", SteuerbetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragFremd", RechnungsbetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TrdinDateiname", TrdinDateiname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abgleich_op_debitor", Abgleich_op_debitor)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID)) + + + Return list + End Function + + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinInvoice WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn) + cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer) + cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + hasEntry = True + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTrdinInvoice] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTrdinInvoice (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTrdinInvoice] WITH(updlock,serializable) WHERE Rechnungsnummer=" & Me.Rechnungsnummer & " and Rechnungsdatum='" & Me.Rechnungsdatum.ToShortDateString & "'" + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + +End Class + + + +Public Class cTrdProduct + + Property Rechnungsdatum As Date + Property Rechnungsnummer As Integer + + Property Leistungsnummer As Integer + Property Leistungsbezeichnung As String + Property Steuerpflichtig As Boolean + Property SteuerpflichtigerBetragLokal As Object = Nothing + Property SteuerfreierBetragLokal As Object = Nothing + Property SteuerpflichtigerBetragFremd As Object = Nothing + Property SteuerfreierBetragFremd As Object = Nothing + Property Belegdaten As Object = Nothing + Property Sachkonto As Object = Nothing + Property Buchungstext As Object = Nothing + + + Dim SQL As New SQL + + Sub New() + + End Sub + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsnummer", Leistungsnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext)) + + Return list + End Function + + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinProduct WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) + End Function + + + 'Public Sub LOAD() + ' Try + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT * FROM tblTrdinProduct WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn) + ' cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer) + ' cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum) + ' Dim dr = cmd.ExecuteReader() + ' If dr.Read Then + ' For Each l In getParameterList() + ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + ' If dr.Item(l.Text) Is DBNull.Value Then + ' propInfo.SetValue(Me, Nothing) + ' Else + ' propInfo.SetValue(Me, dr.Item(l.Text)) + ' End If + + ' Next + + ' End If + ' dr.Close() + ' End Using + ' End Using + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + 'End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTrdinProduct] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTrdinProduct (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + +End Class + + + +Class TrdInvoice_FUNCTIONS + + Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Shared Function TrdinSchreiben(Optional Firma As Integer = -1) As Boolean 'Lädt die Daten aus der Tabelle Rechnungsausgang/RechnungsausgangPositionen in die Tabelle trdInvoice/trdProduct + Try + + Dim LOKALWÄHRUNG = "EUR" + Dim lngSatzzähler As Integer + Dim WährungsdifferenzSteuerpflichtigerBetrag As Double + Dim WährungsdifferenzSteuerfreierBetrag As Integer + + Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma), "FMZOLL") + If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + For Each ROW In dt.Rows + Dim TRD_INVOICE As New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr")) + If TRD_INVOICE.hasEntry Then + ' MsgBox("RG-Nr. bereits vorhanden!") + Else + Dim RK_Währungscode = ROW("RK_Währungscode") + If ROW("RK_Währungscode") Is DBNull.Value Then RK_Währungscode = LOKALWÄHRUNG + + If RK_Währungscode = LOKALWÄHRUNG Then + TRD_INVOICE.SteuerpflichtigerBetragLokal = ROW("RK_SteuerpflichtigerBetrag") + TRD_INVOICE.SteuerfreierBetragLokal = ROW("RK_SteuerfreierBetrag") + TRD_INVOICE.SteuerbetragLokal = ROW("RK_Steuerbetrag") + TRD_INVOICE.RechnungsbetragLokal = ROW("RK_Rechnungsbetrag") + + TRD_INVOICE.SteuerpflichtigerBetragFremd = 0 + TRD_INVOICE.SteuerfreierBetragFremd = 0 + TRD_INVOICE.SteuerbetragFremd = 0 + TRD_INVOICE.RechnungsbetragFremd = 0 + + TRD_INVOICE.WährungFremd = Nothing + Else + TRD_INVOICE.SteuerpflichtigerBetragFremd = ROW("RK_SteuerpflichtigerBetrag") + TRD_INVOICE.SteuerfreierBetragFremd = ROW("RK_SteuerfreierBetrag") + TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag") + TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag") + + TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerpflichtigerBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG) + TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerfreierBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG) + TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("[RK_SteuersatzProzent]") * 100) / 100 + TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal + ' Basis zur Feststellung von Rundungsdifferenzen schaffen. + + TRD_INVOICE.SteuerpflichtigerBetragLokal = 0 + TRD_INVOICE.SteuerfreierBetragLokal = 0 + TRD_INVOICE.SteuerbetragLokal = 0 + TRD_INVOICE.RechnungsbetragLokal = 0 + + WährungsdifferenzSteuerpflichtigerBetrag = TRD_INVOICE.SteuerpflichtigerBetragLokal + WährungsdifferenzSteuerfreierBetrag = TRD_INVOICE.SteuerfreierBetragLokal + lngSatzzähler = ROW("RK_Satzzähler") + + TRD_INVOICE.WährungFremd = RK_Währungscode + End If + + + TRD_INVOICE.FilialenNr = ROW("RK_FilialenNr") + TRD_INVOICE.Speditionsbuch = SQL.DLookup("Speditionsbuch", "Filialen", "FilialenNr=" & ROW("RK_FilialenNr"), "FMZOLL", Nothing) ' ROW("Speditionsbuch") + TRD_INVOICE.AbfertigungsNr = ROW("RK_AbfertigungsNr") + TRD_INVOICE.UnterNr = ROW("RK_UnterNr") + TRD_INVOICE.Abfertigungsdatum = ROW("RK_Abfertigungsdatum") + TRD_INVOICE.BelegartenNr = ROW("RK_BelegartenNr") + TRD_INVOICE.KundenNrZentrale = ROW("RK_KundenNrZentrale") + TRD_INVOICE.RechnungsKundenNr = ROW("RK_RechnungsKundenNr") + TRD_INVOICE.RechnungsLandKz = ROW("RK_RechnungsLandKz") + TRD_INVOICE.RechnungsUstIdKz = ROW("RK_RechnungsUstIdKz") + TRD_INVOICE.RechnungsUstIdNr = ROW("RK_RechnungsUstIdNr") + TRD_INVOICE.Lastschrift = ROW("RK_Lastschrift") + TRD_INVOICE.Steuerschlüssel = ROW("RK_Steuerschlüssel") + TRD_INVOICE.Steuersatz = ROW("RK_SteuersatzProzent") + TRD_INVOICE.WährungLokal = LOKALWÄHRUNG + TRD_INVOICE.TrdinDateiname = Nothing + TRD_INVOICE.Abgleich_op_debitor = 0 + TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel") + TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID") + TRD_INVOICE.UStVAn_ID = Nothing + + If TRD_INVOICE.SAVE Then + If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag) Then + 'UPDATE rechnugnsausgang + SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & TRD_INVOICE.Rechnungsnummer & " ", "FMZOLL") + End If + End If + End If + Next + Return True + + Else + Return False + End If + + ' Buchung im Rechnungskopfsatz eintragen. + ' Call SPAktionsabfrageOhneErgebnis("dbo.spTrdinSchreibenUpdateRK", AktuelleVerbindungszeichenfolge(0), rstRK![RK_RechnungsDatum], rstRK![RK_RechnungsNr], 1) + Catch ex As Exception + MsgBox(ex.StackTrace & "" & ex.Message) + Return False + End Try + + End Function + + + + Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag) As Boolean + Try + + Dim LOKALWÄHRUNG = "EUR" + + Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr), "FMZOLL") + If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + For Each ROW In dt.Rows + Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct() + + TRD_PRODUCT.Rechnungsdatum = RechnungsDatum + TRD_PRODUCT.Rechnungsnummer = RK_RechnungsNr + + + If RK_Währungscode = LOKALWÄHRUNG Then + TRD_PRODUCT.SteuerpflichtigerBetragLokal = ROW("RP_SteuerpflichtigerBetrag") + TRD_PRODUCT.SteuerfreierBetragLokal = ROW("RP_SteuerfreierBetrag") + + TRD_PRODUCT.SteuerpflichtigerBetragFremd = 0 + TRD_PRODUCT.SteuerfreierBetragFremd = 0 + Else + TRD_PRODUCT.SteuerpflichtigerBetragFremd = ROW("RP_SteuerpflichtigerBetrag") + TRD_PRODUCT.SteuerfreierBetragFremd = ROW("RP_SteuerfreierBetrag") + + + TRD_PRODUCT.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerpflichtigerBetrag"), RK_Währungscode, LOKALWÄHRUNG) + TRD_PRODUCT.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerfreierBetrag"), RK_Währungscode, LOKALWÄHRUNG) + + + WährungsdifferenzSteuerpflichtigerBetrag -= TRD_PRODUCT.SteuerpflichtigerBetragLokal + WährungsdifferenzSteuerfreierBetrag -= TRD_PRODUCT.SteuerfreierBetragLokal + + lngSatzzähler = lngSatzzähler - ROW("RP_Satzzähler") + If lngSatzzähler = 0 Then + If WährungsdifferenzSteuerpflichtigerBetrag <> 0 Then + TRD_PRODUCT.SteuerpflichtigerBetragLokal += WährungsdifferenzSteuerpflichtigerBetrag + End If + If WährungsdifferenzSteuerfreierBetrag <> 0 Then + TRD_PRODUCT.SteuerfreierBetragLokal += WährungsdifferenzSteuerfreierBetrag + End If + End If + End If + + + TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr") + TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez") + TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig") + TRD_PRODUCT.Belegdaten = ROW("RP_Belegdaten") + TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr")) + TRD_PRODUCT.Buchungstext = RK_Buchungstext + + + + TRD_PRODUCT.SAVE() + Next + + Return True + Else + Return False + End If + + + Catch ex As Exception + MsgBox(ex.StackTrace & "" & ex.Message) + Return False + End Try + End Function + + Shared Function getSachkonto(Firma_Id, RP_LeistungsNr, [RK_RechnungsLandKz], RP_Steuerpflichtig, RP_AufschubkontoNr) + ' Sachkonto ermitteln. + Dim FIRMA = New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_Id) + + Select Case Firma_Id + Case 20 'IMEX --> Andere Sachkonten in Tbl Leistungen! + If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _ + OrElse [RK_RechnungsLandKz] = "A" _ + OrElse [RK_RechnungsLandKz] = "AT" Then + If CBool([RP_Steuerpflichtig]) Then + getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + + Else + getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + Else + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then + If [RP_Steuerpflichtig] Then + getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + Else + getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + Else + getSachkonto = If(SQL.DLookup("[IMEX_Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + End If + If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT! + + Case 21, 22, 23, 24 '--> cLeistungenBUKonten! + Dim BU_KTO As New VERAG_PROG_ALLGEMEIN.cLeistungenBUKonten(RP_LeistungsNr, Firma_Id) + If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" OrElse + [RK_RechnungsLandKz] = FIRMA.Firma_LandKz.ToString.Replace("AT", "A").Replace("DE", "D") Then + + If CBool([RP_Steuerpflichtig]) Then + getSachkonto = BU_KTO.SachkontoInlandSteuerpflichtig + + Else + getSachkonto = BU_KTO.SachkontoInlandSteuerfrei + End If + Else + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then + If [RP_Steuerpflichtig] Then + getSachkonto = BU_KTO.SachkontoEUSteuerpflichtig + Else + getSachkonto = BU_KTO.SachkontoEUSteuerfrei + End If + Else + getSachkonto = BU_KTO.Sachkonto3Land + End If + End If + If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT! + + Case Else + If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _ + OrElse [RK_RechnungsLandKz] = "A" _ + OrElse [RK_RechnungsLandKz] = "AT" Then + If CBool([RP_Steuerpflichtig]) Then + getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + + Else + getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + Else + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then + If [RP_Steuerpflichtig] Then + getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + Else + getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + Else + getSachkonto = If(SQL.DLookup("[Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "") + End If + End If + If getSachkonto = "" Then getSachkonto = "4000" 'DEFAULT! + End Select + Try + + If Firma_Id = 20 Then + If getSachkonto = "3553" Then 'IMEX EUST + If RP_AufschubkontoNr Is DBNull.Value Then RP_AufschubkontoNr = "" + If RP_AufschubkontoNr.ToString.Contains("2719") Then + getSachkonto = "3550" '--> KTO M-2719 + Else + getSachkonto = "3553" '--> KTO M-2718 + End If + End If + End If + Catch ex As Exception + + End Try + getSachkonto = CInt(getSachkonto) + End Function + + Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1) + getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr, + min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr, + (min(cast([FilialenNr] as varchar(4))) + '/' + min(cast([AbfertigungsNr] as varchar(8))) + '/' + min(cast([UnterNr] as varchar(2)))) AS RK_Buchungstext, + min(Rechnungsausgang.KundenNrZentrale) AS RK_KundenNrZentrale, min(Rechnungsausgang.RechnungsKundenNr) AS RK_RechnungsKundenNr, min(Rechnungsausgang.RechnungsLandKz) AS RK_RechnungsLandKz, + min(Rechnungsausgang.RechnungsUstIdKz) AS RK_RechnungsUstIdKz, min(Rechnungsausgang.RechnungsUstIdNr) AS RK_RechnungsUstIdNr, min(Rechnungsausgang.Lastschrift+0) AS RK_Lastschrift, + min(Rechnungsausgang.Steuerschlüssel) AS RK_Steuerschlüssel, min(Rechnungsausgang.[Steuersatz %]) AS RK_SteuersatzProzent, min(Rechnungsausgang.Währungscode) AS RK_Währungscode, + min(Rechnungsausgang.Nettozahlungsziel) AS RK_Nettozahlungsziel, min(Rechnungsausgang.Firma_ID) AS RK_Firma_ID, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RK_SteuerpflichtigerBetrag, + Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag + , (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag, + Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag, + Count(1) AS RK_Satzzähler + FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID + WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & " + GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr + ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);" + End Function + + + Shared Function getSQLString_SELECTForTrdProduct(RechnungsDatum As Date, RechnungsNr As Integer) + getSQLString_SELECTForTrdProduct = "SELECT Rechnungsausgang.RechnungsDatum AS RP_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RP_RechnungsNr, RechnungsausgangPositionen.LeistungsNr AS RP_LeistungsNr, RechnungsausgangPositionen.LeistungsBez AS RP_LeistungsBez, + RechnungsausgangPositionen.Steuerpflichtig AS RP_Steuerpflichtig, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RP_SteuerpflichtigerBetrag, Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RP_SteuerfreierBetrag, + min(RechnungsausgangPositionen.Belegdaten) AS RP_Belegdaten, Count(1) AS RP_Satzzähler, min(AufschubkontoNr) as AufschubkontoNr + FROM RechnungsausgangPositionen INNER JOIN Rechnungsausgang ON RechnungsausgangPositionen.RK_ID = Rechnungsausgang.RK_ID + GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig + HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & ")) + ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;" + End Function +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb new file mode 100644 index 0000000..024b62c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb @@ -0,0 +1,250 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cUIDAbfrage + + + Property uid_id As Integer + Property uid_KundenNr As Integer + Property uid_Datum As Object = Nothing + Property uid_MaId As Integer + Property uid_Sachbearbeiter As Object = Nothing + Property uid_requesterCountryCode As Object = Nothing + Property uid_requesterVatNumber As Object = Nothing + Property uid_countryCode As Object = Nothing + Property uid_vatNumber As Object = Nothing + Property uid_requestDate As Object = Nothing + Property uid_valid As Boolean + Property uid_traderName As Object = Nothing + Property uid_traderCompanyType As Object = Nothing + Property uid_traderAddress As Object = Nothing + Property uid_traderStreet As Object = Nothing + Property uid_traderPostcode As Object = Nothing + Property uid_traderCity As Object = Nothing + Property uid_traderNameMatch As Object = Nothing + Property uid_traderCompanyTypeMatch As Object = Nothing + Property uid_traderStreetMatch As Object = Nothing + Property uid_traderPostcodeMatch As Object = Nothing + Property uid_traderCityMatch As Object = Nothing + Property uid_requestIdentifier As Object = Nothing + + + + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(uid_id) + Me.uid_id = uid_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_id", uid_id, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_KundenNr", uid_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Datum", uid_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_MaId", uid_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Sachbearbeiter", uid_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requesterCountryCode", uid_requesterCountryCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requesterVatNumber", uid_requesterVatNumber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_countryCode", uid_countryCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_vatNumber", uid_vatNumber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requestDate", uid_requestDate)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_valid", uid_valid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderName", uid_traderName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCompanyType", uid_traderCompanyType)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderAddress", uid_traderAddress)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderStreet", uid_traderStreet)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderPostcode", uid_traderPostcode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCity", uid_traderCity)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderNameMatch", uid_traderNameMatch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCompanyTypeMatch", uid_traderCompanyTypeMatch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderStreetMatch", uid_traderStreetMatch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderPostcodeMatch", uid_traderPostcodeMatch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCityMatch", uid_traderCityMatch)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requestIdentifier", uid_requestIdentifier)) + + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUIDAbfrage WITH(updlock,serializable) WHERE uid_id=@uid_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + uid_id = SQL.doSQLVarListID(uid_id, sqlstr, "FMZOLL", , list) + Return uid_id > 0 + End Function + + Public Shared Function LOADByKdNrDate(uid_KundenNr As Integer, uid_Datum As Date) As cUIDAbfrage + Try + Dim UID As New cUIDAbfrage + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUIDAbfrage WHERE uid_KundenNr=@uid_KundenNr AND cast(uid_Datum as date)=@uid_Datum ", conn) + cmd.Parameters.AddWithValue("@uid_KundenNr", uid_KundenNr) + cmd.Parameters.AddWithValue("@uid_Datum", uid_Datum.ToShortDateString) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In UID.getParameterList() + Dim propInfo As PropertyInfo = UID.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(UID, Nothing) + Else + propInfo.SetValue(UID, dr.Item(l.Text)) + End If + + Next + dr.Close() + Return UID + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUIDAbfrage WHERE uid_id=@uid_id ", conn) + cmd.Parameters.AddWithValue("@uid_id", uid_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblUIDAbfrage] SET " & str & " WHERE uid_id=@uid_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblUIDAbfrage (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + + Public Shared Function ABFRAGE(UstIdKz As String, UstIdNr As String, ByRef valid As Boolean) As cUIDAbfrage + + Try + Dim vat As New UIDPruefung.checkVatService + + Dim countryCode As String = UstIdKz + Dim vatNumber As String = UstIdNr + Dim traderName As String + Dim traderCompanyType As String + Dim traderStreet As String + Dim traderPostcode As String + Dim traderCity As String + Dim requesterCountryCode As String = "AT" + Dim requesterVatNumber As String = "U62663022" + 'Dim valid As Boolean + Dim traderAddress As String + Dim traderNameMatch As Integer + Dim traderNameMatchSpecified As Boolean + Dim traderCompanyTypeMatch As Integer + Dim traderCompanyTypeMatchSpecified As Boolean + Dim traderStreetMatch As Integer + Dim traderStreetMatchSpecified As Boolean + Dim traderPostcodeMatch As Integer + Dim traderPostcodeMatchSpecified As Boolean + Dim traderCityMatch As Integer + Dim traderCityMatchSpecified As Boolean + Dim requestIdentifier As String + + + + ' Dim ass As New EU_UID_Pruefung.checkVatPortTypeClient() + + ' ass.checkVatPortTypeClient() + + ' Dim s = EU3t.checkVat("AT", "U53187000", valid, name, adress) + 'Dim s = vat.checkVat(ADRESSE.UstIdKz, ADRESSE.UstIdNr, valid, name, adress) + Dim s As Date = vat.checkVatApprox(countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber, valid, traderAddress, traderNameMatch, traderNameMatchSpecified, traderCompanyTypeMatch, traderCompanyTypeMatchSpecified, traderStreetMatch, traderStreetMatchSpecified, traderPostcodeMatch, traderPostcodeMatchSpecified, traderCityMatch, traderCityMatchSpecified, requestIdentifier) + + + Dim UID As New cUIDAbfrage + + ' UID() + ' MsgBox(requestIdentifier) + ' MsgBox(traderName) + ' MsgBox(traderStreet) + '' MsgBox(traderAddress) + ' ' MsgBox(adress) + ' MsgBox(name) + + + Return UID + Catch ex As Exception + + + Return Nothing + End Try + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb new file mode 100644 index 0000000..ee53712 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb @@ -0,0 +1,341 @@ + +Imports System.Data.SqlClient +Imports System.Reflection +Imports VERAG_PROG_ALLGEMEIN.UIDPruefung +'Imports SDL.eu.europa.ec + +Public Class cUIDPruefung + + Property uid_id As Integer = -1 + Property uid_KundenNr As Integer + Property uid_UstIdKz As String + Property uid_UstIdNr As String + Property uid_Datum As Date = Now + Property uid_valid As Boolean + Property uid_MaId As Object = Nothing + Property uid_Sachbearbeiter As String + Property uid_firma As Object = Nothing + + + Property uid_stufe As Integer = 1 + Property Firma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Property uid_abfrageUid As Object = Nothing + Property uid_sessionId As Object = Nothing + + + + Property uid_adr1 As Object = Nothing + Property uid_adr2 As Object = Nothing + Property uid_adr3 As Object = Nothing + Property uid_adr4 As Object = Nothing + Property uid_adr5 As Object = Nothing + Property uid_adr6 As Object = Nothing + + + Shared SQL As New SQL + + Sub New() + End Sub + + Sub New(uid_id) + Me.uid_id = uid_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_id", uid_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_KundenNr", uid_KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_UstIdKz", uid_UstIdKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_UstIdNr", uid_UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Datum", uid_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_valid", uid_valid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_MaId", uid_MaId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Sachbearbeiter", uid_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_firma", uid_firma)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_stufe", uid_stufe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma", Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_abfrageUid", uid_abfrageUid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_sessionId", uid_sessionId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr1", uid_adr1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr2", uid_adr2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr3", uid_adr3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr4", uid_adr4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr5", uid_adr5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr6", uid_adr6)) + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUIDPruefung WITH(updlock,serializable) WHERE uid_id=@uid_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + uid_id = SQL.doSQLVarListID(uid_id, sqlstr, "FMZOLL", , list) + Return uid_id > 0 + End Function + + Public Shared Function LOADByKdNrDate(ba_KundenNr As Integer, ba_Datum As Date) As cUIDPruefung + Try + Dim UID As New cUIDPruefung + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUIDPruefung WHERE ba_KundenNr=@ba_KundenNr AND cast(ba_Datum as date)=@ba_Datum ", conn) + cmd.Parameters.AddWithValue("@ba_KundenNr", ba_KundenNr) + cmd.Parameters.AddWithValue("@ba_Datum", ba_Datum.ToShortDateString) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In UID.getParameterList() + Dim propInfo As PropertyInfo = UID.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(UID, Nothing) + Else + propInfo.SetValue(UID, dr.Item(l.Text)) + End If + + Next + dr.Close() + Return UID + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True) As DataTable + Dim dt As DataTable = Nothing + If datum = Nothing Then datum = CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1) + + Dim where = "" + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)" + Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)" + Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)" + Case "UNISPED" : where = " AND Filialen.firma='UNISPED' " + Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)" + End Select + Dim Top = "" + If MaxEintraege > 0 Then + Top = " TOP " & MaxEintraege + End If + + dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " & + " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " & + " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR (Adressen.UstIdKz is not null and Adressen.UstIdNr is not null)) " & + " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL") + + If dt IsNot Nothing Then + If dt.Rows.Count = 0 Then Return Nothing + If Sciherheitsabfrage Then + If vbYes <> MsgBox("Es werden " & dt.Rows.Count & " Datensätze abgefragt, möchten Sie fortfahren?", vbYesNoCancel) Then + Return Nothing + End If + End If + Dim c As New DataColumn + c.ColumnName = "Ergebnis" + dt.Columns.Add(c) + For Each r As DataRow In dt.Rows + Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr) + If UID_TMP IsNot Nothing Then + If UID_TMP.uid_valid Then + r("Ergebnis") = "OK" + Else + r("Ergebnis") = "UNGÜLTIG" + End If + Else + r("Ergebnis") = "ERROR" + End If + Next + End If + + Return dt + End Function + + + Public Shared Function doUIDPruefung(ba_KundenNr, Optional AskIfDouble = False, Optional SaveErgInAdressen = True, Optional showErr = True) As cUIDPruefung + + Dim AD As New cAdressen(ba_KundenNr) + If AD IsNot Nothing Then + If AD.UstIdKz IsNot Nothing AndAlso AD.UstIdNr IsNot Nothing Then + + Try + If AskIfDouble Then + If IsDate(AD.UstIdGeprüft) AndAlso CDate(AD.UstIdGeprüft).ToShortDateString = Now.ToShortDateString Then + If vbYes <> MsgBox("Die UID-Nummer wurde heute bereits geprüft. Soll die Prüfung nochmal durchgeführt werden?", vbYesNoCancel) Then + Return Nothing + End If + End If + End If + + Dim vat As New UIDPruefung.checkVatService + + ' Dim EU3t As New SDL.eu.europa.ec.checkVatService("checkVatPort", "http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl") '"urn:ec.europa.eu:taxud:vies:services:checkVat:types") + ' Dim EU4 As New EU_Uid_Pruefung.checkVatPortTyp + ' EU3.checkVatPortType() + ' "EU_Uid_Pruefung.checkVatPortType" + ' Dim valid As Boolean = False + 'Dim name As String = "" + 'Dim adress As String = "" + + Dim countryCode As String = AD.UstIdKz + Dim vatNumber As String = AD.UstIdNr + Dim traderName As String + Dim traderCompanyType As String + Dim traderStreet As String + Dim traderPostcode As String + Dim traderCity As String + + Dim requesterCountryCode As String = "AT" + Dim requesterVatNumber As String = "U62663022" + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "IMEX" + requesterCountryCode = "AT" + requesterVatNumber = "U68490714" + End Select + Dim valid As Boolean = False + Dim traderAddress As String + Dim traderNameMatch As matchCode + Dim traderNameMatchSpecified As Boolean + Dim traderCompanyTypeMatch As matchCode + Dim traderCompanyTypeMatchSpecified As Boolean + Dim traderStreetMatch As matchCode + Dim traderStreetMatchSpecified As Boolean + Dim traderPostcodeMatch As matchCode + Dim traderPostcodeMatchSpecified As Boolean + Dim traderCityMatch As matchCode + Dim traderCityMatchSpecified As Boolean + Dim requestIdentifier As String + + + + ' Dim ass As New EU_UID_Pruefung.checkVatPortTypeClient() + + ' ass.checkVatPortTypeClient() + + ' Dim s = EU3t.checkVat("AT", "U53187000", valid, name, adress) + 'Dim s = vat.checkVat(ADRESSE.UstIdKz, ADRESSE.UstIdNr, valid, name, adress) + Dim s = vat.checkVatApprox(countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber, valid, traderAddress, traderNameMatch, traderNameMatchSpecified, traderCompanyTypeMatch, traderCompanyTypeMatchSpecified, traderStreetMatch, traderStreetMatchSpecified, traderPostcodeMatch, traderPostcodeMatchSpecified, traderCityMatch, traderCityMatchSpecified, requestIdentifier) + + If s >= Now.ToShortDateString Then 'If s IsNot Nothing Then + Dim UID_TMP As New cUIDPruefung + UID_TMP.uid_Datum = Now + UID_TMP.uid_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + If If(UID_TMP.uid_Sachbearbeiter, "") = "" Then UID_TMP.uid_Sachbearbeiter = "AUTO" + UID_TMP.uid_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + UID_TMP.uid_valid = valid + UID_TMP.uid_KundenNr = ba_KundenNr + + UID_TMP.uid_UstIdKz = AD.UstIdKz + UID_TMP.uid_UstIdNr = AD.UstIdNr + UID_TMP.uid_stufe = 1 + UID_TMP.Firma = If(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, "VERAG") + + UID_TMP.uid_abfrageUid = requesterCountryCode & requesterVatNumber + ' UID.uid_firma = + ' UID.uid_strasse)) + 'UID.uid_plz)) + 'UID.uid_ort)) + + UID_TMP.SAVE() + If valid Then + If SaveErgInAdressen Then + AD.UstIdGeprüft = Now.ToShortDateString + AD.SAVE() + End If + End If + Return UID_TMP + End If + Catch ex As Exception + If showErr Then MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + End If + + Return Nothing + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUIDPruefung WHERE uid_id=@uid_id ", conn) + cmd.Parameters.AddWithValue("@uid_id", uid_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblUIDPruefung] SET " & str & " WHERE uid_id=@uid_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblUIDPruefung (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb new file mode 100644 index 0000000..b3db36d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb @@ -0,0 +1,144 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cVoraskasse + + Property vk_id As Integer + Property vk_FilialeNr As Object = Nothing + Property vk_AbfertigungsNr As Object = Nothing + Property vk_Datum As Object = Nothing + Property vk_LKW As Object = Nothing + Property vk_KdNr As Object = Nothing + Property vk_Firma As Object = Nothing + Property vk_Betrag As Object = Nothing + Property vk_QS_SachbearbeiterId As Object = Nothing + Property vk_QS_Sachbearbeiter As Object = Nothing + Property vk_QS_Bemerkung As Object = Nothing + Property vk_GeldEingetroffen As Boolean = False + Property vk_BH_SachbearbeiterId As Object = Nothing + Property vk_BH_Sachbearbeiter As Object = Nothing + Property vk_BH_Bemerkung As Object = Nothing + Property vk_BH_DatumGeldeingang As Object = Nothing + + + Dim SQL As New SQL + + Sub New() + + End Sub + Sub New(vk_id) + Me.vk_id = vk_id + LOAD() + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_id", vk_id, , True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FilialeNr", vk_FilialeNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AbfertigungsNr", vk_AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Datum", vk_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_LKW", vk_LKW)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_KdNr", vk_KdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firma", vk_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Betrag", vk_Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_SachbearbeiterId", vk_QS_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Sachbearbeiter", vk_QS_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Bemerkung", vk_QS_Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_GeldEingetroffen", vk_GeldEingetroffen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_SachbearbeiterId", vk_BH_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Sachbearbeiter", vk_BH_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Bemerkung", vk_BH_Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_DatumGeldeingang", vk_BH_DatumGeldeingang)) + + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblVorauskasse WITH(updlock,serializable) WHERE vk_id=@vk_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Dim id = SQL.doSQLVarListID(vk_id, sqlstr, "ADMIN", , list) + Me.vk_id = id + Return id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() + Using cmd As New SqlCommand("SELECT * FROM tblVorauskasse WHERE vk_id=@vk_id ", conn) + cmd.Parameters.AddWithValue("@vk_id", vk_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblVorauskasse] SET " & str & " WHERE vk_id=@vk_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblVorauskasse (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb new file mode 100644 index 0000000..726c060 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb @@ -0,0 +1,303 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + +Public Class cVorauskasse + + + Property vk_id As Integer = -1 + Property vk_FilialeNr As Object = Nothing + Property vk_AbfertigungsNr As Object = Nothing + Property vk_Datum As Object = Nothing + Property vk_LKW As Object = Nothing + Property vk_KdNr As Object = Nothing + Property vk_Firma As Object = Nothing + Property vk_Betrag As Decimal = 0.0 + Property vk_QS_SachbearbeiterId As Integer + Property vk_QS_Sachbearbeiter As Object = Nothing + Property vk_QS_Bemerkung As Object = Nothing + Property vk_GeldEingetroffen As Boolean = False + Property vk_BH_SachbearbeiterId As Object = Nothing + Property vk_BH_Sachbearbeiter As Object = Nothing + Property vk_BH_Bemerkung As Object = Nothing + Property vk_BH_DatumGeldeingang As Object = Nothing + Property vk_storno As Boolean = False + Property vk_stornoDatum As Object = Nothing + + + Property vk_Rolle As Object = Nothing + Property vk_Anrede As Object = Nothing + Property vk_Firmenwortlauf As Object = Nothing + Property vk_Aresse1 As Object = Nothing + Property vk_Adresse2 As Object = Nothing + Property vk_UID As Object = Nothing + Property vk_EORI As Object = Nothing + Property vk_Tel As Object = Nothing + Property vk_Fax As Object = Nothing + Property vk_Email As Object = Nothing + Property vk_RgNr As Object = Nothing + Property vk_Absender As Object = Nothing + Property vk_ATREUR1 As Object = Nothing + Property vk_Fraechter As Object = Nothing + Property vk_Anzahl As Object = Nothing + Property vk_Warenbezeichnung As Object = Nothing + Property vk_Colli As Object = Nothing + Property vk_FaStNr As Object = Nothing + + Property vk_Berechnung_Rechnungsbetrag As Object = Nothing + Property vk_Berechnung_FrachtkostAusland As Object = Nothing + Property vk_Berechnung_ZollProz As Object = Nothing + Property vk_Berechnung_FrachtkostInland As Object = Nothing + Property vk_Berechnung_AbgabenSonst_Bez As Object = Nothing + Property vk_Berechnung_AbgabenSonst_Betrag As Object = Nothing + Property vk_Berechnung_EUSTProz As Object = Nothing + Property vk_Berechnung_KostenSonst_Bez As Object = Nothing + Property vk_Berechnung_KostenSonst_Betrag As Object = Nothing + Property vk_Berechnung_Verzollung As Object = Nothing + Property vk_Berechnung_jeWeitere As Object = Nothing + Property vk_Berechnung_ATLAS As Object = Nothing + Property vk_Berechnung_Clearing As Object = Nothing + Property vk_Berechnung_korrRg As Object = Nothing + Property vk_Berechnung_Übersetzung As Object = Nothing + Property vk_Berechnung_Aviso As Object = Nothing + Property vk_Berechnung_SVS As Object = Nothing + Property vk_Berechnung_SonstigeKosten As Object = Nothing + Property vk_Berechnung_SonstigeKostenText As Object = Nothing + Property vk_Berechnung_PP As Object = Nothing + Property vk_Freigegeben As Boolean = False + Property vk_SendungId As Object = Nothing + Property vk_AvisoId As Object = Nothing + Property vk_VermerkId As Object = Nothing + + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(vk_id) + Me.vk_id = vk_id + LOAD() + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_id", vk_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FilialeNr", vk_FilialeNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AbfertigungsNr", vk_AbfertigungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Datum", vk_Datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_LKW", vk_LKW)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_KdNr", vk_KdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firma", vk_Firma)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Betrag", (vk_Betrag))) '.ToString("N2"))) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_SachbearbeiterId", vk_QS_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Sachbearbeiter", vk_QS_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Bemerkung", vk_QS_Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_GeldEingetroffen", vk_GeldEingetroffen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_SachbearbeiterId", vk_BH_SachbearbeiterId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Sachbearbeiter", vk_BH_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Bemerkung", vk_BH_Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_DatumGeldeingang", vk_BH_DatumGeldeingang)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_storno", vk_storno)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_stornoDatum", vk_stornoDatum)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Rolle", vk_Rolle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Anrede", vk_Anrede)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firmenwortlauf", vk_Firmenwortlauf)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Aresse1", vk_Aresse1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Adresse2", vk_Adresse2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_UID", vk_UID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_EORI", vk_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Tel", vk_Tel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Fax", vk_Fax)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Email", vk_Email)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_RgNr", vk_RgNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Absender", vk_Absender)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_ATREUR1", vk_ATREUR1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Fraechter", vk_Fraechter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Anzahl", vk_Anzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Warenbezeichnung", vk_Warenbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Colli", vk_Colli)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FaStNr", vk_FaStNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Rechnungsbetrag", vk_Berechnung_Rechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_FrachtkostAusland", vk_Berechnung_FrachtkostAusland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_ZollProz", vk_Berechnung_ZollProz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_FrachtkostInland", vk_Berechnung_FrachtkostInland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_AbgabenSonst_Bez", vk_Berechnung_AbgabenSonst_Bez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_AbgabenSonst_Betrag", vk_Berechnung_AbgabenSonst_Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_EUSTProz", vk_Berechnung_EUSTProz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_KostenSonst_Bez", vk_Berechnung_KostenSonst_Bez)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_KostenSonst_Betrag", vk_Berechnung_KostenSonst_Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Verzollung", vk_Berechnung_Verzollung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_jeWeitere", vk_Berechnung_jeWeitere)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_ATLAS", vk_Berechnung_ATLAS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Clearing", vk_Berechnung_Clearing)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_korrRg", vk_Berechnung_korrRg)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Übersetzung", vk_Berechnung_Übersetzung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Aviso", vk_Berechnung_Aviso)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_SVS", vk_Berechnung_SVS)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_SonstigeKosten", vk_Berechnung_SonstigeKosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_PP", vk_Berechnung_PP)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Freigegeben", vk_Freigegeben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_SendungId", vk_SendungId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AvisoId", vk_AvisoId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_VermerkId", vk_VermerkId)) + + Return list + End Function + + + + Public Shared Function LOADByFilialeAbfNr(FilialeNr As Integer, AbfertigungsNr As Integer, Optional vk_Rolle As String = "") As cVorauskasse + Try + Dim VK As New cVorauskasse + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblVorauskassen WHERE vk_AbfertigungsNr=@vk_AbfertigungsNr AND vk_FilialeNr=@vk_FilialeNr " & If(If(vk_Rolle, "") <> "", "AND vk_Rolle=@vk_Rolle ", ""), conn) + cmd.Parameters.AddWithValue("@vk_FilialeNr", FilialeNr) + cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr) + cmd.Parameters.AddWithValue("@vk_Rolle", vk_Rolle) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In VK.getParameterList() + Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(VK, Nothing) + Else + propInfo.SetValue(VK, dr.Item(l.Text)) + End If + Next + dr.Close() + Return VK + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblVorauskassen WITH(updlock,serializable) WHERE vk_id=@vk_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + vk_id = SQL.doSQLVarListID(vk_id, sqlstr, "FMZOLL", , list) + Return vk_id > 0 + End Function + + + Public Function SET_GELDEINGANG(vk_GeldEingetroffen As Boolean, Optional vk_BH_Bemerkung As Object = Nothing) As Boolean + Me.vk_GeldEingetroffen = vk_GeldEingetroffen + Me.vk_Freigegeben = vk_GeldEingetroffen + + If Me.vk_GeldEingetroffen Then + Me.vk_BH_DatumGeldeingang = Now + Me.vk_BH_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_id + Me.vk_BH_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Else + Me.vk_BH_DatumGeldeingang = Nothing + Me.vk_BH_SachbearbeiterId = Nothing + Me.vk_BH_Sachbearbeiter = Nothing + End If + Me.vk_BH_Bemerkung = vk_BH_Bemerkung + + Return SAVE() + End Function + + Public Function SET_FREIGEGEBEN(vk_Freigegeben As Boolean, Optional vk_BH_Bemerkung As Object = Nothing) As Boolean + Me.vk_Freigegeben = vk_Freigegeben + Me.vk_BH_Bemerkung = vk_BH_Bemerkung + Return SAVE() + End Function + + Public Function SET_STORNO() As Boolean + Me.vk_storno = Not Me.vk_storno + Return SAVE() + End Function + + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblVorauskassen WHERE vk_id=@vk_id ", conn) + cmd.Parameters.AddWithValue("@vk_id", vk_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblVorauskassen] SET " & str & " WHERE vk_id=@vk_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblVorauskassen (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblVorauskassen] WITH(updlock,serializable) WHERE vk_id=" & Me.vk_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb new file mode 100644 index 0000000..6b43830 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb @@ -0,0 +1,134 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cWarenbezeichnungBegriffe + Property wb_id As Integer + Property wb_begriff As String + Property wb_beispiele As String + Property wb_datum As Date = Now + Property wb_Sachbearbeiter As String + Property wb_SachbearbeiterId As Integer + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(wb_id) + If wb_id IsNot Nothing Then + Me.wb_id = wb_id + LOAD() + End If + End Sub + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_id", wb_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_begriff", wb_begriff)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_beispiele", wb_beispiele)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_datum", wb_datum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_Sachbearbeiter", wb_Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_SachbearbeiterId", wb_SachbearbeiterId)) + + Return list + End Function + + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Me.wb_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Me.wb_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblWarenbezeichnungBegriffe WITH(updlock,serializable) WHERE wb_id=@wb_id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + wb_id = SQL.doSQLVarListID(wb_id, sqlstr, "FMZOLL", , list) + Return wb_id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblWarenbezeichnungBegriffe WHERE wb_id=@wb_id ", conn) + cmd.Parameters.AddWithValue("@wb_id", wb_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblWarenbezeichnungBegriffe] SET " & str & " WHERE wb_id=@wb_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblWarenbezeichnungBegriffe (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblWarenbezeichnungBegriffe] WITH(updlock,serializable) WHERE wb_id=" & Me.wb_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM [tblWarenbezeichnungBegriffe] WHERE wb_id=" & id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb new file mode 100644 index 0000000..669432b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb @@ -0,0 +1,181 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + + +Public Class cZkteing + + Property Index As Integer = -1 + Property Status As Object = Nothing + Property ZollamtsNr As Object = Nothing + Property Jahr As Object = Nothing + Property KennNr As Object = Nothing + Property Nummer As Object = Nothing + Property Leitzahl As Object = Nothing + Property Belegart As Object = Nothing + Property LeistungsNr As Object = Nothing + Property Betrag As Object = Nothing + Property Eingabedatum As Date + Property Abfertigungsdatum As Object = Nothing + Property Übernahmedatum As Date + Property Bemerkung As Object = Nothing + Property Sachbearbeiter As String = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + Property Bezugsnummer As Object = Nothing + Property Registriernummer As Object = Nothing + Property Korrekturnummer As Object = Nothing + Property AOFD As Object = Nothing + Property AKTO As Object = Nothing + Property Fälligkeitsdatum As Object = Nothing + Property Dateiname As Object = Nothing + Property Mandant As Object = Nothing + Property Niederlassung As Object = Nothing + + Property LeistungsBez As Object = Nothing + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(Index) + Me.Index = Index + LOAD() + End Sub + + Shared Function UPDATE_Status(Status, Zkteing_Index) As Boolean + Dim ZK As New VERAG_PROG_ALLGEMEIN.cZkteing(Zkteing_Index) + If ZK IsNot Nothing AndAlso ZK.hasEntry Then + ZK.Status = Status + Return ZK.SAVE + End If + Return False + End Function + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Index", Index, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollamtsNr", ZollamtsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennNr", KennNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer", Nummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leitzahl", Leitzahl)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegart", Belegart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingabedatum", Eingabedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übernahmedatum", Übernahmedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkung", Bemerkung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezugsnummer", Bezugsnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Korrekturnummer", Korrekturnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Dateiname", Dateiname)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Niederlassung", Niederlassung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez)) + + Return list + End Function + + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Zkteing WITH(updlock,serializable) WHERE [Index]=@Index) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Index = SQL.doSQLVarListID(Index, sqlstr, "FMZOLL", , list) + Return Index > 0 + End Function + + + Public Sub LOAD() + hasEntry = False + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE [Index]=@Index ", conn) + cmd.Parameters.AddWithValue("@Index", Index) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [Zkteing] SET " & str & " WHERE [Index]=@Index ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO Zkteing (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [Zkteing] WITH(updlock,serializable) WHERE Index=" & Me.Index + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + +End Class + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb new file mode 100644 index 0000000..b0db5c2 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb @@ -0,0 +1,173 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +Public Class cZollArtikel + + Property zollArt_id As Integer + Property KundenNr As Integer + Property zollArt_Teilsatzschluessel As Object = Nothing + Property zollArt_Verarbeitungskennzeichen As Object = Nothing + Property zollArt_Artikelnummer As Object = Nothing + Property zollArt_Dynamische_Ergaenzung_1 As Object = Nothing + Property zollArt_Dynamische_Ergaenzung_2 As Object = Nothing + Property zollArt_Kundennummer As Object = Nothing + Property zollArt_Warencodenummer As Object = Nothing + Property zollArt_Zusatzcode_1 As Object = Nothing + Property zollArt_Zusatzcode_2 As Object = Nothing + Property zollArt_Kennzeichen_Gueltig As Object = Nothing + Property zollArt_Kurzbezeichnung As Object = Nothing + Property zollArt_Warenbeschreibung As Object = Nothing + Property zollArt_Statistische_Maßeinheit As Object = Nothing + Property zollArt_Statistische_Maßeinheit_Qualifikator As Object = Nothing + Property zollArt_Besondere_Maßeinheit As Object = Nothing + Property zollArt_Besondere_Maßeinheit_Qualifikator As Object = Nothing + Property zollArt_Gewicht As Object = Nothing + Property zollArt_Menge As Object = Nothing + Property Erfassungsdatum As Object = Nothing + Property Aenderungsdatum As Object = Nothing + Property Sachbearbeiter As Object = Nothing + Property zollArt_Status As Object = Nothing + + + Public hasEntry As Boolean = False + + Dim SQL As New SQL + + Sub New() + End Sub + + Sub New(zollArt_id) + If zollArt_id IsNot Nothing Then + Me.zollArt_id = zollArt_id + LOAD() + End If + End Sub + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_id", zollArt_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Teilsatzschluessel", zollArt_Teilsatzschluessel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Verarbeitungskennzeichen", zollArt_Verarbeitungskennzeichen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Artikelnummer", zollArt_Artikelnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Dynamische_Ergaenzung_1", zollArt_Dynamische_Ergaenzung_1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Dynamische_Ergaenzung_2", zollArt_Dynamische_Ergaenzung_2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kundennummer", zollArt_Kundennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Warencodenummer", zollArt_Warencodenummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Zusatzcode_1", zollArt_Zusatzcode_1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Zusatzcode_2", zollArt_Zusatzcode_2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kennzeichen_Gueltig", zollArt_Kennzeichen_Gueltig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kurzbezeichnung", zollArt_Kurzbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Warenbeschreibung", zollArt_Warenbeschreibung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Statistische_Maßeinheit", zollArt_Statistische_Maßeinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Statistische_Maßeinheit_Qualifikator", zollArt_Statistische_Maßeinheit_Qualifikator)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Besondere_Maßeinheit", zollArt_Besondere_Maßeinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Besondere_Maßeinheit_Qualifikator", zollArt_Besondere_Maßeinheit_Qualifikator)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Gewicht", zollArt_Gewicht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Menge", zollArt_Menge)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aenderungsdatum", Aenderungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Status", zollArt_Status)) + + + Return list + End Function + + + + Public Function SAVE(Optional errHinweis = "") As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + zollArt_id = SQL.doSQLVarListID(zollArt_id, sqlstr, "FMZOLL", , list,, errHinweis) + Return zollArt_id > 0 + End Function + + Public Sub LOAD() + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id ", conn) + cmd.Parameters.AddWithValue("@zollArt_id", zollArt_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + hasEntry = True + Next + + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "" & i.Text & " = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE tblZollArtikel SET " & str & " WHERE zollArt_id=@zollArt_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "" & i.Text & "," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblZollArtikel (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM tblZollArtikel WITH(updlock,serializable) WHERE zollArt_id=" & Me.zollArt_id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Shared Function DELETE(id As Integer) As Boolean + Dim SQL As New SQL + Dim sqlstr = " DELETE FROM tblZollArtikel WHERE zollArt_id=" & id + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb new file mode 100644 index 0000000..b6cc21c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb @@ -0,0 +1,123 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cZollTarifAtlas_LIST + + Property LIST As New List(Of cZollTarifAtlas) + + Dim SQL As New SQL + + Sub New() + LOAD_LIST() + End Sub + + Public Sub LOAD_LIST() + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionATLAS() + Using cmd As New SqlCommand("SELECT * FROM [ezttxt] WHERE [ezttxt_datend] >= getdate() ORDER BY [ezttxt_code] ", conn) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cZollTarifAtlas + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + + LIST.Add(l) + + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Function getFullTxt(WCNR As cZollTarifAtlas) As String + getFullTxt = WCNR.ezttxt_text + Dim index = getIndexInList(WCNR.ezttxt_code) + 'Dim hirachie = WCNR.ezttxt_hirnr + For hirachie = WCNR.ezttxt_hirnr To 0 Step -1 'so oft bis alle Hirachieebenen durchgelaufen sind + For i = index To 0 Step -1 + If LIST(i).ezttxt_hirnr = (hirachie - 1) Then + getFullTxt = WCNR.ezttxt_text & " " & getFullTxt + index = i + End If + Next + Next + End Function + + Function getFullTxtByCode(code As String) As String + Dim WCNR As cZollTarifAtlas = getFromList(code) + If WCNR Is Nothing Then Return "" + getFullTxtByCode = WCNR.ezttxt_text + Dim index = getIndexInList(WCNR.ezttxt_code) + + If index < 0 Then Return "" + If WCNR.ezttxt_hirnr > 0 Then + For hirachie = CInt(WCNR.ezttxt_hirnr) To 0 Step -1 'so oft bis alle Hirachieebenen durchgelaufen sind + For i = index To 0 Step -1 + If LIST(i).ezttxt_hirnr = (hirachie - 1) Then + getFullTxtByCode = LIST(i).ezttxt_text & " " & getFullTxtByCode + index = i + Exit For + End If + Next + Next + End If + End Function + + + Function getIndexInList(code) As Integer + For Each i In LIST + If i.ezttxt_code.trim = code.trim Then + Return LIST.IndexOf(i) + End If + Next + Return -1 + End Function + + Function getFromList(code) As cZollTarifAtlas + For Each i In LIST + If i.ezttxt_code = code Then + Return i + End If + Next + Return Nothing + End Function +End Class +Public Class cZollTarifAtlas + + Property ezttxt_code As Object = Nothing + Property ezttxt_hirnr As Object = Nothing + Property ezttxt_cdesid As Object = Nothing + Property ezttxt_datbeg As Object = Nothing + Property ezttxt_datend As Object = Nothing + Property ezttxt_txtart As Object = Nothing + Property ezttxt_text As Object = Nothing + Property ezttxt_edat As Object = Nothing + Property ezttxt_adat As Object = Nothing + Property ezttxt_sb As Object = Nothing + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_code", ezttxt_code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_hirnr", ezttxt_hirnr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_cdesid", ezttxt_cdesid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_datbeg", ezttxt_datbeg)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_datend", ezttxt_datend)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_txtart", ezttxt_txtart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_text", ezttxt_text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_edat", ezttxt_edat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_adat", ezttxt_adat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_sb", ezttxt_sb)) + + Return list + End Function +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb new file mode 100644 index 0000000..04d1ec0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -0,0 +1,1919 @@ +Imports System.Data.SqlClient +Imports System.IO +Imports iTextSharp.text.pdf +Imports System.Drawing.Printing +Imports Ghostscript.NET.Processor +Imports System.Runtime.InteropServices +Imports System.Windows.Forms +Imports System.Drawing + + +Public Class cDATENSERVER + + Property da_id As Object = Nothing + Property da_kategorie As String = "" + Property da_ordner As String = "" + Property da_KundenNr As Integer = 0 + Property da_vorlage As Boolean = True + Property da_uOrdner1 As String = "" 'SDL: LKW + Property da_uOrdner2 As String = "" 'SDL: SDL_Leistung/... + Property da_uOrdner3 As String = "" 'SDL: History + Property da_name As String = "" + 'Property da_pfad As Object = Nothing + Property da_info As String = "" + Property da_multifiles As Boolean = False + + Public Property DATA_LIST As New cDatenserverIDCollectionList + + Dim rootDir = "" + Dim SQL As New SQL + ' Public LAST_ID = -1 + + + Sub New(da_id) + Me.da_id = da_id + Me.rootDir = DATENVERVER_OPTIONS.initRootDir() + LOADById() + End Sub + + + + Sub New(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, Optional da_KundenNr = 0) + Me.rootDir = DATENVERVER_OPTIONS.initRootDir() + Me.da_KundenNr = da_KundenNr + Me.da_vorlage = (da_KundenNr <= 0) + Me.da_kategorie = da_kategorie + Me.da_ordner = da_ordner + Me.da_uOrdner1 = replaceInvalidCahr(If(da_uOrdner1, "")) + Me.da_uOrdner2 = replaceInvalidCahr(If(da_uOrdner2, "")) + Me.da_uOrdner3 = replaceInvalidCahr(If(da_uOrdner3, "")) + Me.da_name = da_name + LOAD() + End Sub + + + Sub New(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, da_KundenNr, da_multifiles) + Me.rootDir = DATENVERVER_OPTIONS.initRootDir() + Me.da_KundenNr = da_KundenNr + Me.da_vorlage = (da_KundenNr <= 0) + Me.da_kategorie = da_kategorie + Me.da_ordner = da_ordner + Me.da_uOrdner1 = replaceInvalidCahr(If(da_uOrdner1, "")) + Me.da_uOrdner2 = replaceInvalidCahr(If(da_uOrdner2, "")) + Me.da_uOrdner3 = replaceInvalidCahr(If(da_uOrdner3, "")) + Me.da_name = da_name + Me.da_multifiles = da_multifiles + LOAD() + End Sub + + Public Function LOADById() As Boolean + Try + DATA_LIST = New cDatenserverIDCollectionList + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblDatenarchiv WHERE da_id=@da_id ", conn) + cmd.Parameters.AddWithValue("@da_id", Me.da_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + ' Me.da_id = dr.Item("da_id") + Me.da_KundenNr = dr.Item("da_KundenNr") + Me.da_vorlage = dr.Item("da_vorlage") + Me.da_kategorie = dr.Item("da_kategorie") + Me.da_ordner = dr.Item("da_ordner") + Me.da_uOrdner1 = dr.Item("da_uOrdner1") + Me.da_uOrdner2 = dr.Item("da_uOrdner2") + Me.da_uOrdner3 = dr.Item("da_uOrdner3") + Me.da_name = dr.Item("da_name") + Me.da_info = dr.Item("da_info") + Me.da_multifiles = dr.Item("da_multifiles") + + DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir) + End If + dr.Close() + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + Public Function LOAD() As Boolean + Try + DATA_LIST = New cDatenserverIDCollectionList + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + 'MsgBox("SELECT * FROM tblDatenarchiv WHERE da_KundenNr = @da_KundenNr AND da_kategorie = '" & Me.da_kategorie & "' And da_ordner ='" & Me.da_ordner & "' AND da_uOrdner1= '" & Me.da_uOrdner1 & "' AND da_uOrdner2= '" & Me.da_uOrdner2 & "' AND da_uOrdner3= '" & Me.da_uOrdner3 & "' AND da_name='" & Me.da_name & "' ") + Using cmd As New SqlCommand("SELECT * FROM tblDatenarchiv WHERE da_KundenNr = @da_KundenNr AND da_kategorie = @da_kategorie AND da_ordner=@da_ordner AND da_uOrdner1= @da_uOrdner1 AND da_uOrdner2= @da_uOrdner2 AND da_uOrdner3= @da_uOrdner3 AND da_name=@da_name ", conn) + cmd.Parameters.AddWithValue("@da_KundenNr", Me.da_KundenNr) + ' cmd.Parameters.AddWithValue("@da_vorlage", Me.da_vorlage) + cmd.Parameters.AddWithValue("@da_kategorie", Me.da_kategorie) + cmd.Parameters.AddWithValue("@da_ordner", Me.da_ordner) + cmd.Parameters.AddWithValue("@da_uOrdner1", Me.da_uOrdner1) + cmd.Parameters.AddWithValue("@da_uOrdner2", Me.da_uOrdner2) + cmd.Parameters.AddWithValue("@da_uOrdner3", Me.da_uOrdner3) + cmd.Parameters.AddWithValue("@da_name", Me.da_name) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + Me.da_id = dr.Item("da_id") + Me.da_vorlage = dr.Item("da_vorlage") + Me.da_info = dr.Item("da_info") + Me.da_multifiles = dr.Item("da_multifiles") + + DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir) + End If + dr.Close() + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + 'Function REMANE_FOLDER(new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr) + Function REMANE_FOLDER(old_kategorie, old_ordner, old_uOrdner1, old_uOrdner2, old_uOrdner3, old_kdnr, new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr) + Dim oldDIR = DATENVERVER_OPTIONS.getDescPath(rootDir, old_kategorie, old_ordner, old_uOrdner1, old_uOrdner2, old_uOrdner3, old_kdnr, "", "", True) + If new_kategorie IsNot Nothing Then Me.da_kategorie = new_kategorie + If new_ordner IsNot Nothing Then Me.da_ordner = new_ordner + If new_uOrdner1 IsNot Nothing Then Me.da_uOrdner1 = new_uOrdner1 + If new_uOrdner2 IsNot Nothing Then Me.da_uOrdner2 = new_uOrdner2 + If new_uOrdner3 IsNot Nothing Then Me.da_uOrdner3 = new_uOrdner3 + Dim newDIR = DATENVERVER_OPTIONS.getDescPath(rootDir, new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr, "", "", True) + + Try + ' My.Computer.FileSystem.RenameDirectory(oldDIR, newname) + For Each l In DATA_LIST.LIST + Dim newPfad = l.coll_pfad.Replace(oldDIR, newDIR) + If Not IO.Directory.Exists(newDIR) Then IO.Directory.CreateDirectory(newDIR) + My.Computer.FileSystem.CopyFile(l.coll_pfad, newPfad, True) + My.Computer.FileSystem.DeleteFile(l.coll_pfad) + l.coll_pfad = newPfad + If Not l.UPDATE() Then + Return False + End If + Next + Return UPDATE() + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + + Function UPDATE() As Boolean + Try + 'If coll_id < 0 Then 'Wenn noch keine ID vergeben + 'Me.coll_id = getMaxId() + 'End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("UPDATE tblDatenarchiv SET da_KundenNr=@da_KundenNr,da_vorlage=@da_vorlage, da_kategorie=@da_kategorie, da_ordner=@da_ordner,da_uOrdner1=@da_uOrdner1, da_uOrdner2=@da_uOrdner2, da_uOrdner3=@da_uOrdner3, da_name=@da_name, da_info=@da_info, da_multifiles=@da_multifiles WHERE da_id=@da_id ", conn) + cmd.Parameters.AddWithValue("@da_KundenNr", da_KundenNr) + cmd.Parameters.AddWithValue("@da_vorlage", da_vorlage) + cmd.Parameters.AddWithValue("@da_kategorie", da_kategorie) + cmd.Parameters.AddWithValue("@da_ordner", da_ordner) + cmd.Parameters.AddWithValue("@da_uOrdner1", da_uOrdner1) + cmd.Parameters.AddWithValue("@da_uOrdner2", da_uOrdner2) + cmd.Parameters.AddWithValue("@da_uOrdner3", da_uOrdner3) + cmd.Parameters.AddWithValue("@da_name", da_name) + cmd.Parameters.AddWithValue("@da_info", da_info) + cmd.Parameters.AddWithValue("@da_multifiles", da_multifiles) + cmd.Parameters.AddWithValue("@da_id", da_id) + cmd.ExecuteNonQuery() + Return True + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + + Public Shared Function replaceInvalidCahr(ByRef s As String) As String + + s = s.Replace("İ", "I") + s = s.Replace("İ", "I") + s = s.Replace("ı", "i") + s = s.Replace("€", "E") + s = s.Replace(",", ".") + s = s.Replace("^", "") ' Es gibt Ü, die so geschreiben werden: Ü .... + s = s.Replace("Ì", ".") + s = s.Replace("Ü", "U") ' .... das zum Beispiel + + + + Dim tempBytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(s) + s = System.Text.Encoding.UTF8.GetString(tempBytes) + + Return s + End Function + + Public Function uploadDataToDATENSERVER(srcPath, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False, Optional delteFromFileSystem = True) As Boolean + 'LAST_ID = -1 + If endung = "" Then Dim fi As New IO.DirectoryInfo(srcPath) : endung = fi.Extension + ' If bezeichnung = "" Then bezeichnung = System.IO.Path.GetFileName(srcPath) : endung = "" + If bezeichnung = "" Then bezeichnung = da_name + + Dim destpath = DATENVERVER_OPTIONS.getDescPath(rootDir, da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_KundenNr, replaceInvalidCahr(da_name), endung) + genHEADER_DATA() + + If Not da_multifiles Then + If allowMsg AndAlso DATA_LIST.LIST.Count > 0 Then + If Not vbYes = MsgBox("Die Datei existiert bereits. Soll die Datei ersetzt werden?", vbYesNoCancel) Then + Return False 'NICHT Passiert + End If + End If + DATA_LIST.DELETE_ALL(delteFromFileSystem) 'Wenn nur eine Datei existieren darf, müssen zuerst alle Einträge gelöscht werden + End If + + If DATA_LIST.ADD(srcPath, destpath, bezeichnung, "", coll_archiv) Then + Dim sql As New VERAG_PROG_ALLGEMEIN.SQL + + Return (destpath <> "") + End If + Return False + End Function + + Public Function insertDataToDATENSERVER(srcPath, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean + 'Datei musss schon am Datenserver liegen, wird nciht mehr kopiert!!!!! + + If endung = "" Then Dim fi As New IO.DirectoryInfo(srcPath) : endung = fi.Extension + ' If bezeichnung = "" Then bezeichnung = System.IO.Path.GetFileName(srcPath) : endung = "" + If bezeichnung = "" Then bezeichnung = da_name + replaceInvalidCahr(bezeichnung) + + genHEADER_DATA() + + If Not da_multifiles Then + DATA_LIST.DELETE_ALL() 'Wenn nur eine Datei existieren darf, müssen zuerst alle Einträge gelöscht werden + End If + If DATA_LIST.ADD_WOcopy(srcPath, bezeichnung, "", coll_archiv) Then + Return True + End If + Return False + + End Function + + + + Public Function uploadDataToDATENSERVER_fromBytes(bytes, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean + Try + Dim tmpPath = DATENVERVER_OPTIONS.getTMPPath(bezeichnung, endung, , True) ', Now.ToString("TMP_ddMMyyyy_HHmmSS_fff")) + File.WriteAllBytes(tmpPath, bytes) + Return uploadDataToDATENSERVER(tmpPath, bezeichnung, endung, allowMsg, coll_archiv) + Catch ex As Exception + Return False + End Try + End Function + + + Public Function uploadDataToDATENSERVER_fromBase64String(base64String, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean + Try + Dim bytes As Byte() = Convert.FromBase64String(base64String) + Return uploadDataToDATENSERVER_fromBytes(bytes, bezeichnung, endung, allowMsg, coll_archiv) + Catch ex As Exception + Return False + End Try + End Function + + Public Function DELETE_LIST_POS(coll_id) As Boolean + Return DATA_LIST.DELETE_ATPOS(coll_id) + End Function + + + Public Function uploadDataToDATENSERVERFileDialog(Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional typ = "", Optional coll_archiv = False) As String + Dim fd As New OpenFileDialog + ' fd.Filter = "Excel Dateien|*.xls;*.xlsx" + fd.RestoreDirectory = True + Select Case typ + Case "PIC" + fd.Title = "Bild auswählen" + ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + + fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG" + fd.FilterIndex = 2 + Case "PDF" + fd.Title = "PDF auswählen" + ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + fd.Filter = "PDF|*.PDF" + fd.FilterIndex = 2 + fd.DefaultExt = ".pdf" + End Select + Dim result As DialogResult = fd.ShowDialog() + + If result = System.Windows.Forms.DialogResult.OK And fd.FileName <> "" Then + If bezeichnung = "" Then + bezeichnung = System.IO.Path.GetFileName(fd.FileName).ToString + End If + replaceInvalidCahr(bezeichnung) + If da_name = "" Then Me.da_name = bezeichnung : LOAD() 'Wenn sich der Name ändert, muss eine neuer Header erstellt werden... + Return uploadDataToDATENSERVER(fd.FileName, bezeichnung, endung, allowMsg, coll_archiv) + End If + Return False + End Function + + Dim FD_ID = "" + Public Function uploadDataToDATENSERVERFileDialog_MULTI(Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional typ = "", Optional coll_archiv = False) As Boolean + Dim fd As New OpenFileDialog + fd.RestoreDirectory = True + fd.Multiselect = True + ' fd.Filter = "Excel Dateien|*.xls;*.xlsx" + Select Case typ + Case "PIC" + fd.Title = "Bild auswählen" + ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + + fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG" + fd.FilterIndex = 2 + Case "PDF" + fd.Title = "PDF auswählen" + ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + fd.Filter = "PDF|*.PDF" + fd.FilterIndex = 2 + fd.DefaultExt = ".pdf" + endung = ".pdf" + Case Else + fd.Title = "Datei auswählen" + + End Select + Dim result As DialogResult = fd.ShowDialog() + If result = System.Windows.Forms.DialogResult.OK And fd.FileNames.Count > 0 Then + FD_ID = fd.InitialDirectory + For Each f In fd.FileNames + Dim bezTmp = bezeichnung + If bezeichnung = "" Then + bezTmp = System.IO.Path.GetFileName(f).ToString + End If + 'If da_name = "" Then Me.da_name = bezeichnung : LOAD() 'Wenn sich der Name ändert, muss eine neuer Header erstellt werden... + uploadDataToDATENSERVER(f, bezTmp, endung, allowMsg, coll_archiv) + Next + Me.LOAD() 'neu laden, damit LIST aktualisiert wird + Return True + End If + Return False + End Function + + + Public Function genHEADER_DATA() As Integer + + Dim sqlstr As String = " begin tran" & + " if NOT EXISTS(select * FROM [tblDatenarchiv] WHERE da_KundenNr = @da_KundenNr AND da_kategorie = @da_kategorie AND da_ordner=@da_ordner AND da_uOrdner1=@da_uOrdner1 AND da_uOrdner2=@da_uOrdner2 AND da_uOrdner3=@da_uOrdner3 AND da_name=@da_name) " & + " begin " & + "INSERT INTO [tblDatenarchiv] " & + " ([da_KundenNr],[da_vorlage],[da_kategorie],[da_ordner],da_uOrdner1,da_uOrdner2,da_uOrdner3,[da_name],da_info,da_multifiles) " & + " VALUES (@da_KundenNr, @da_vorlage, @da_kategorie, @da_ordner, @da_uOrdner1,@da_uOrdner2,@da_uOrdner3,@da_name,@da_info,@da_multifiles)" & + " End " & + " commit tran " + + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand(sqlstr, conn) + cmd.Parameters.AddWithValue("@da_KundenNr", da_KundenNr) + cmd.Parameters.AddWithValue("@da_vorlage", da_vorlage) + cmd.Parameters.AddWithValue("@da_kategorie", da_kategorie) + cmd.Parameters.AddWithValue("@da_ordner", da_ordner) + cmd.Parameters.AddWithValue("@da_uOrdner1", da_uOrdner1) + cmd.Parameters.AddWithValue("@da_uOrdner2", da_uOrdner2) + cmd.Parameters.AddWithValue("@da_uOrdner3", da_uOrdner3) + cmd.Parameters.AddWithValue("@da_name", da_name) + cmd.Parameters.AddWithValue("@da_info", da_info) + cmd.Parameters.AddWithValue("@da_multifiles", da_multifiles) + cmd.ExecuteNonQuery() + + Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn) + Dim id = (newcmd.ExecuteScalar) + If id Is DBNull.Value Then + Return da_id + Else + 'Wenn insert+ + DATA_LIST.coll_daId = id + Me.da_id = id + Return id + End If + End Using + End Using + Return False + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + Return da_id + End Function + + + Public Function hasITEMS() As Boolean + Return DATA_LIST.LIST.Count > 0 + End Function + + + Public Function OPEN_SINGLE(Optional openFile As Boolean = True, Optional useBezeichnung As Boolean = False) As String + If DATA_LIST.LIST.Count > 0 Then + Return DATA_LIST.LIST(0).OPEN(openFile, useBezeichnung) + End If + Return "" + End Function + Public Function OPEN_SINGLE_ORIG(Optional openFile As Boolean = True) As String + If DATA_LIST.LIST.Count > 0 Then + Return DATA_LIST.LIST(0).OPEN_ORIG(openFile) + End If + Return "" + End Function + + Public Function OPEN(coll_id As Integer, Optional openFile As Boolean = True, Optional useBezeichnung As Boolean = False) As String + For Each l In DATA_LIST.LIST + If l.coll_id = coll_id Then + Return l.OPEN(openFile, useBezeichnung) + End If + Next + Return "" + End Function + + Public Function GET_TOP1_PATH(Optional openFile As Boolean = False) As String + If DATA_LIST.LIST.Count > 0 Then + If openFile Then OPEN(DATA_LIST.LIST(0).coll_id) + Return DATA_LIST.LIST(0).coll_pfad + End If + Return "" + End Function + + Public Shared Function GET_PDFPath_BY_DocID(docId As Integer, Optional openFile As Boolean = False) As String + Dim DS As New cDATENSERVER(docId) + Return DS.GET_TOP1_PATH(openFile) + End Function + + Public Shared Function GET_PDFPath_BY_DocID_onlyPATH(docId As Integer) As String + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql("SELECT TOP (1) [coll_pfad] FROM [tblDatenarchiv_Collection] where coll_daId=" & docId & " ORDER BY coll_date DESC", "FMZOLL") + End Function + + + + ' Public Function getPathByIdTOP1(da_id) As String + ' Try + ' Return SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL") + ' Catch ex As Exception + ' Return "" + ' End Try + 'End Function + + + ' Public Function openDataTMPByDatenarchivIdTOP1(id) As Boolean + ' Try + + + ' Dim srcPath = SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL") + ' If Not IO.File.Exists(srcPath) Then MsgBox("Die Datei existiert nicht") : Exit Function + + ' Dim fi As New IO.DirectoryInfo(srcPath) + ' Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension) + + + + + ' IO.File.Copy(srcPath, destPath, True) + + ' Process.Start(destPath) + + + ' Return True + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return False + ' End Try + 'End Function + + Public Function DELETE_COMPLETE() As Boolean + Try + If DATA_LIST.DELETE_ALL() Then + ' Dim path = SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL") + 'If path.Contains(rootDir) Then 'Um sicher zu gehen, dass der pfad im richtigem VZ ist. + ' saveFileToDel(path) + ' IO.File.Delete(path) + 'End If + SQL.doSQL("DELETE FROM [tblDatenarchiv] WHERE [da_id]=" & Me.da_id & " ", "FMZOLL") + 'SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_daId]=" & id & " ", "FMZOLL") + End If + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + Return True + End Function + + + + ' Public Function getLAST_ID(destpath) As Integer + ' Try + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + ' Dim newcmd As New SqlCommand("select isnull(da_id,-1) from tblDatenarchiv with (updlock,serializable) where da_pfad = @da_pfad ", conn) + ' newcmd.Parameters.AddWithValue("@da_pfad", destpath) + ' Return CInt(newcmd.ExecuteScalar) + + ' End Using + ' Return False + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + ' End Try + ' Return -1 + + 'End Function + +End Class + +Public Class cDatenserver_Change_Value + Property da_kategorie As String = "" + Property da_ordner As String = "" + Property da_KundenNr As Integer = 0 + Property da_uOrdner1 As String = "" 'SDL: LKW + Property da_uOrdner2 As String = "" 'SDL: SDL_Leistung/... + Property da_uOrdner3 As String = "" 'SDL: History + Sub New(da_kategorie, da_ordner, da_KundenNr, da_uOrdner1, da_uOrdner2, da_uOrdner3) + Me.da_kategorie = da_kategorie + Me.da_ordner = da_ordner + Me.da_KundenNr = da_KundenNr + Me.da_uOrdner1 = da_uOrdner1 + Me.da_uOrdner2 = da_uOrdner2 + Me.da_uOrdner3 = da_uOrdner3 + End Sub +End Class + +Public Class cFormularManager + 'Dim cDATENSERVER As New cDATENSERVER + + Shared Function open(ds_id, Optional openFile = True) As String + Dim DS As New cDATENSERVER(ds_id) + Return DS.OPEN_SINGLE(openFile) + End Function + + Shared Function open(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, Optional da_KundenNr = 0, Optional openFile = True) As String + Dim DS As New cDATENSERVER(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, da_KundenNr) + Return DS.OPEN_SINGLE(openFile) + End Function + + Public Sub fillGestellungsGarantie(kdnr As String, sprache As String) 'list As cKundenFMZOLL) + Dim name = "GenerelleGestellungsgarantieT1_DEUTSCH.pdf" + Select Case sprache + Case "DE" : name = "GenerelleGestellungsgarantieT1_DEUTSCH.pdf" + Case "EN" : name = "GenerelleGestellungsgarantieT1_ENGLISCH.pdf" + Case "NL" : name = "GenerelleGestellungsgarantieT1_NIEDERLAENDISCH.pdf" + Case "FR" : name = "GenerelleGestellungsgarantieT1_FRANZOESISCH.pdf" + End Select + + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + 'Dim KDSQL As New kundenSQL + 'Dim kd As cKundenFMZOLL = KDSQL.getKundeFMZOLLByKdNr(kdnr) + Dim KD As New cAdressen(kdnr) + + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FaxAn", KD.Telefax)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FaxVon", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", KD.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datum", Now.ToShortDateString)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (KD.Name_1 & " " & KD.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Adresse1", KD.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Adresse2", KD.LandKz & " " & KD.PLZ & " " & KD.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Tel", KD.Telefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Fax", KD.Telefax)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Ansprechpartner", KD.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Bestimmungszollamt", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung1", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung2", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung3", "")) + + End If + fillPDF(name, list, Nothing) + End Sub + + Public Sub fillVollmacht(kdnr As Integer, art As String) 'list As cKundenFMZOLL) + Dim name = "DE-ZOLLVOLLMACHT.pdf" + Dim kd As cKunde = Nothing + Dim ad As cAdressen = Nothing + + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + ad = New cAdressen(kdnr) + kd = New cKunde(kdnr) + End If + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + + Select Case art + Case "ZVM_DE" + name = "DE-ZOLLVOLLMACHT.pdf" + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", ad.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechtsform", getRechtsform(ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Inhaber", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", ""))) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN)) + End If + Case "ZVM_DE_Englisch" + name = "DE-ZOLLVOLLMACHT Englisch.pdf" + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Company", (ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Street", ad.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Plz", ad.PLZ & " " & ad.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", ""))) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Email", ad.E_Mail)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TaxID", ad.UstIdKz & ad.UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DutyNo", kd.EORITIN)) + End If + Case "ZVM_CS" + name = "AT-ZOLLVOLLMACHT.pdf" 'Customs Servie + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Tel", ad.Telefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FA StNr", ad.Steuernummer)) + End If + Case "ZVM_CS_4200" + name = "AT-ZOLLVOLLMACHT 4200.pdf" + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zu Hd", ad.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firmenname", (ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechtsform", getRechtsform(ad.Name_1 & " " & ad.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Einzelfirma", "")) 'inhaber + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", ""))) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FA StNr", ad.Steuernummer)) + End If + + End Select + + + + fillPDF(name, list, Nothing) + End Sub + + Sub fillImportaviso(kdnr As Integer, art As String) + Dim kd As cAdressen = Nothing + + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + kd = New cAdressen(kdnr) + End If + Dim name = "Importaviso_Standard.pdf" + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + Select Case art + Case "Standard" + name = "Importaviso_Standard.pdf" + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAGContact", "")) ' AKT MA + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("To", kd.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Company", (kd.Name_1 & " " & kd.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Road", kd.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PostTown", kd.LandKz & " " & kd.PLZ & " " & kd.Ort)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", kd.Telefon.Replace(" ", "") & " / " & kd.Telefax.Replace(" ", ""))) + End If + fillPDF(name, list, Nothing) + Case "Vorauskasse" + name = "Importaviso Vorauszahlung.xlt" 'SONDERFALL DA EXCEL + + Dim DS As New cDATENSERVER("DOKUMENTE", "VORLAGEN", "", "", "", name) + DS.OPEN_SINGLE(True) + + + 'Dim path_src As String = cDATENSERVER.getTOP1Path("DOKUMENTE", "VORLAGEN", , name) + 'If path_src = "" Then Exit Sub + 'Dim path As String = cDATENSERVER.openDataTMP(path_src, True) + 'If path = "" Then Exit Sub + + + End Select + + End Sub + + + Sub fillDispoliste(kdnr As Integer, art As String) + Dim name = "Dispoliste_TR.pdf" + Select Case art + Case "TR" : name = "Dispoliste_TR.pdf" + Case "EN" : name = "Dispoliste_EN.pdf" + End Select + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + Dim kd As New cAdressen(kdnr) + ' Dim kd As cKundenFMZOLL = KDSQL.getKundeFMZOLLByKdNr(kdnr) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", kd.Ansprechpartner)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datum", Now.ToShortDateString)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("An", (kd.Name_1 & " " & kd.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("LkwKz", "")) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SB", "")) ' AKT MA + End If + fillPDF(name, list, Nothing) + End Sub + + Sub fillVerzollungspreise() + MsgBox("NOCH NICHT VERFÜGBAR") + Exit Sub + + Dim name = "Verzollungspreise_ohnePreise.pdf" + + Dim f As New Object 'frmVerzollungspreiseFuellen + If f.ShowDialog() = DialogResult.OK Then + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + ' Dim KDSQL As New kundenSQL + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis1", f.txtVerzollung.Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis2", f.txtTarifnummer.Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis3", f.txtPapierePorti.Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis4", f.txtSVS.Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis5", f.txtATLAS.Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PreisClearing", f.txtClearing.Text)) ' AKT MA + fillPDF(name, list, Nothing, , False) + End If + + End Sub + + + + + Sub fillCreditreform(kdnr As Integer) + Dim name = "Creditreform Bonität mit GF.pdf" + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) + If IsNumeric(kdnr) AndAlso kdnr > 0 Then + Dim kd As New cAdressen(kdnr) + + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Heute", Now.ToShortDateString)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma1", (kd.Name_1 & " " & kd.Name_2).Trim)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma2", kd.Straße)) + list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma3", kd.LandKz & " " & kd.PLZ & " " & kd.Ort)) + End If + + + fillPDF(name, list, Nothing) + End Sub + + + + Public Sub fillPDF(vorlagenname As String, list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem), listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional barcode As Image = Nothing, Optional barcodeLKW As Image = Nothing, Optional uo2 As String = "") + Dim DS As New cDATENSERVER("DOKUMENTE", "VORLAGEN", "", uo2, "", vorlagenname) + If Not DS.hasITEMS Then Exit Sub + Dim path_src = DS.OPEN_SINGLE(False) + If path_src = "" Then Exit Sub + + Dim fi As New IO.DirectoryInfo(path_src) + Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, True, False) + Dim pdf As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src) + Using fw As New FileStream(destPath, FileMode.OpenOrCreate) + + Dim stamper = New PdfStamper(pdf, fw) + If True Then + Try + Dim f = stamper.AcroFields + f.GenerateAppearances = True + For Each i In list + f.SetField(i.Text, i.Value) + Next + Catch ex As Exception + + End Try + + If listToWrite IsNot Nothing Then + Dim overStr As PdfContentByte = stamper.GetOverContent(1) + For Each i In listToWrite + If i.Text <> "" Then write(overStr, i, pdf.GetPageSize(1).Height) + Next + + End If + + End If + If barcode IsNot Nothing Then + Try + + Dim n = pdf.NumberOfPages + Dim pagesize As iTextSharp.text.Rectangle + For cnt = 1 To pdf.NumberOfPages + + Dim over As PdfContentByte = stamper.GetOverContent(cnt) + pagesize = pdf.GetPageSize(cnt) + Dim x As Double = 15 'pagesize.Left + 10 + Dim y As Double = pagesize.Height / 2 - 100 'pagesize.Top - 50 + ' barcode = btnScale_Click2(barcode, 40) + barcode.RotateFlip(RotateFlipType.Rotate270FlipNone) + 'MsgBox(mm(pagesize.Height)) + Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(barcode, System.Drawing.Imaging.ImageFormat.Png) + ' Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(New Bitmap(80, 80), System.Drawing.Imaging.ImageFormat.Bmp) + image.SetAbsolutePosition(x, y) + + 'Dim r As iTextSharp.text.Image = iTextSharp.text.Rectangle + + + + 'image.Width = 35 + over.AddImage(image) + Next + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End If + + + If barcodeLKW IsNot Nothing Then + Try + + Dim n = pdf.NumberOfPages + Dim pagesize As iTextSharp.text.Rectangle + For cnt = 1 To pdf.NumberOfPages + + Dim over As PdfContentByte = stamper.GetOverContent(cnt) + pagesize = pdf.GetPageSize(cnt) + Dim x As Double = 40 'pagesize.Left + 10 + Dim y As Double = pagesize.Top - 80 + + Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(barcodeLKW, System.Drawing.Imaging.ImageFormat.Png) + image.SetAbsolutePosition(x, y) + + over.AddImage(image) + Next + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End If + + + stamper.FormFlattening = Not editierbar + stamper.Close() + + If autoDruck Then + PrintViaGS(destPath, printerName) + 'If Not PrintFile(destPath, printerName) Then Process.Start(destPath) ' Druck! Wenn Problem, wird das PDF geöffnet + Else + Process.Start(destPath) + End If + fw.Close() + End Using + pdf.Close() + + End Sub + + Public Function fillPDFVorhandenesLokalesPDF_Path(path As String, listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional genNewPath As Boolean = True, Optional barcode As List(Of barcodeToPdf) = Nothing) As String + Return fillPDF("", "", "", "", "", "", listToWrite, editierbar, autoDruck, printerName, genNewPath, path, barcode) + End Function + + Public Function fillPDF(da_kategorie As String, da_ordner As String, da_uOrdner1 As String, da_uOrdner2 As String, da_uOrdner3 As String, da_name As String, listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional genNewPath As Boolean = True, Optional vorhandenesLokalesPDF_Path As String = "", Optional barcode As List(Of barcodeToPdf) = Nothing) As String + Try + Dim path_src = "" + If vorhandenesLokalesPDF_Path = "" Then + Dim DS As New cDATENSERVER(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name) + If Not DS.hasITEMS Then Return "" + path_src = DS.GET_TOP1_PATH + Else + path_src = vorhandenesLokalesPDF_Path + End If + + Dim fi As New IO.DirectoryInfo(path_src) + Dim destPath = "" + destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, True, False) + + Dim pdf As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src) + Using fw As New FileStream(destPath, FileMode.OpenOrCreate) + + Dim stamper = New PdfStamper(pdf, fw) + If True Then + If listToWrite IsNot Nothing Then + Dim overStr As PdfContentByte = stamper.GetOverContent(1) + For Each i In listToWrite + If i.Text <> "" Then write(overStr, i, pdf.GetPageSize(1).Height) + Next + End If + End If + + If barcode IsNot Nothing Then + For Each bc As barcodeToPdf In barcode + Try + ' Dim n = pdf.NumberOfPages + Dim pagesize As iTextSharp.text.Rectangle + Dim over As PdfContentByte = stamper.GetOverContent(bc.onpage) + pagesize = pdf.GetPageSize(bc.onpage) + 'Dim x As Double = 40 'pagesize.Left + 10 + 'Dim y As Double = pagesize.Top - 80 + bc.image.RotateFlip(bc.rotate) + + Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(bc.image, System.Drawing.Imaging.ImageFormat.Png) + image.SetAbsolutePosition(bc.x, pagesize.Top - bc.y) + over.AddImage(image) + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Next + End If + + + stamper.FormFlattening = Not editierbar + stamper.Close() + + If autoDruck Then + PrintViaGS(destPath, printerName) + Else + 'Process.Start(destPath) + + End If + fw.Close() + End Using + pdf.Close() + Return destPath + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return "" + End Try + + End Function + + + Public Shared f_bold As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED) + Public Shared f_normal As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED) + Shared Function getFont(t) As BaseFont + If t = "bold" Then Return f_bold + If t = "normal" Then Return f_normal + Return Nothing + End Function + + Shared Function mm(pnt As Double) As Integer + Return CInt(iTextSharp.text.Utilities.MillimetersToPoints(pnt)) + End Function + Public Shared Sub write(ByVal cb As PdfContentByte, i As cPDFWriteValues, pageHeight As Integer) ' ByVal Text As String, ByVal X As Integer, ByVal Y As Integer, ByVal height As Integer, ByVal width As Integer, ByVal font As String, ByVal Size As Integer, Optional maxlength As Integer = -1, Optional align As Integer = PdfContentByte.ALIGN_LEFT) + Dim myCol As New ColumnText(cb) + Dim f As iTextSharp.text.Font = New iTextSharp.text.Font(1, i.Size, 0) + + Select Case i.font + 'Case "normal" + ' f = New iTextSharp.text.Font(1, i.Size, 0) + Case "bold" + f = New iTextSharp.text.Font(1, i.Size, 1) + Case "boldRed" + f = New iTextSharp.text.Font(1, i.Size, 1) + f.Color = iTextSharp.text.BaseColor.RED + Case "italic" + f = New iTextSharp.text.Font(1, i.Size, 2) + Case "underine" + f = New iTextSharp.text.Font(1, i.Size, 4) + End Select + Dim paragraph = New iTextSharp.text.Paragraph(New iTextSharp.text.Chunk(CStr(i.Text), f)) '1=Helvetica + + pageHeight = CInt(iTextSharp.text.Utilities.PointsToMillimeters(pageHeight)) ' in mm + + myCol.SetSimpleColumn(mm(i.getX), mm(pageHeight - i.getY - i.getHeight), mm(i.getX + i.getWidth), mm(pageHeight - i.getY), i.Size, i.getAlign) + + ' + ' 1. the phrase + ' 2. lower -Left() - x + ' 3. lower -Left() - y + ' 4. upper -Right() - x(llx + width) + ' 5. upper -Right() - y(lly + height) + ' 6. leading (The amount of blank space between lines of print) + ' 7. alignment. + + myCol.AddText(paragraph) + myCol.Go() + End Sub + + + Function btnScale_Click(bm_source As Bitmap, height As Integer) As Bitmap + + + Dim width As Integer = bm_source.Width / (bm_source.Height / height) + ' Make a bitmap for the result. + Dim bm_dest As New Bitmap(width, height) + + ' Make a Graphics object for the result Bitmap. + Dim gr_dest As Graphics = Graphics.FromImage(bm_dest) + + ' Copy the source image into the destination bitmap. + gr_dest.DrawImage(bm_source, 0, 0, + bm_dest.Width + 1, + bm_dest.Height + 1) + + ' Display the result. + Return bm_dest + End Function + Function btnScale_Click2(bm_source As Bitmap, height As Integer) As Bitmap + + + Dim width As Integer = bm_source.Width * 0.7 + ' Make a bitmap for the result. + Dim bm_dest As New Bitmap(width, height) + + ' Make a Graphics object for the result Bitmap. + Dim gr_dest As Graphics = Graphics.FromImage(bm_dest) + + ' Copy the source image into the destination bitmap. + gr_dest.DrawImage(bm_source, 0, 0, + bm_dest.Width + 1, + bm_dest.Height + 1) + + ' Display the result. + Return bm_dest + End Function + + Public Shared Function PrintFile(fileName As String, printerName As String) As Boolean + Try + + Dim psi As New ProcessStartInfo + + psi.UseShellExecute = True + psi.CreateNoWindow = True + + psi.Verb = "PrintTo" + + psi.WindowStyle = ProcessWindowStyle.Hidden + + If printerName <> "" Then + psi.Arguments = printerName + Else + Dim p As New PrintDialog + If (p.ShowDialog() = DialogResult.OK) Then + psi.Arguments = p.PrinterSettings.PrinterName + Else + Return False + End If + End If + + psi.FileName = fileName ' Need to replace this with a string based on the textbox1 input and add .pdf to the string and the location of it for printing. + + Using P As New Process + ' P.StartInfo = psi + P.StartInfo.UseShellExecute = True + P.StartInfo.CreateNoWindow = True + P.StartInfo.Arguments = printerName + P.StartInfo.WindowStyle = ProcessWindowStyle.Hidden + P.StartInfo.Verb = "PrintTo" + ' P.StartInfo.FileName = PDFs(PDFs.Count - 1) + 'P.StartInfo.Verb = "Print" + P.Start() + P.WaitForExit() + End Using + + 'Process.Start(psi) + Return True + Catch ex As Exception + Return False + End Try + End Function + + '??????????????????????????????????????????'??????????????????????????????????????????'??????????????????????????????????????????'??????????????????????????????????????????'?????????????????????????????????????????? + 'Dim pdftmp As New Spire.PdfViewer.Forms.PdfViewer + ' pdftmp.LoadFromFile("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf") + ' pdftmp.Print() + + ' Dim docs As PdfDocument() = {New PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")} + ' For Each doc As PdfDocument In docs + ' doc.PageSettings.Size = PdfPageSize.A4 + ' doc.PrintDocument.DefaultPageSettings.Landscape = True + ' doc.PageScaling = PdfPrintPageScaling.FitSize + ' doc.PrinterName = "ES3452 MFP(PCL)" + ' doc.PrintDocument.Print() + ' Next + Public Shared Sub PrintViaSpirePDF(PDFFile As List(Of String), Optional printerName As String = "") + PrintViaSpirePDF(PDFFile.ToArray, printerName) + End Sub + + + Public Shared Sub mergePDFs(files As List(Of String), ByRef outputFile As String) + Dim doc As Spire.Pdf.PdfDocumentBase = Spire.Pdf.PdfDocument.MergeFiles(files.ToArray) + doc.Save(outputFile, Spire.Pdf.FileFormat.PDF) + + End Sub + + + + + Public Shared Sub PrintViaSpirePDF(PDFFile As String(), Optional printerName As String = "") + Try + If printerName = "" Then + Dim oPS As New System.Drawing.Printing.PrinterSettings + printerName = oPS.PrinterName + End If + 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")} + + For Each pdfPath In PDFFile + Dim doc As New Spire.Pdf.PdfDocument(pdfPath) + + doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 + doc.PrintDocument.DefaultPageSettings.Landscape = True + doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize + + doc.PrinterName = printerName + doc.PrintDocument.Print() + + + 'Dim doc As New Spire.Pdf.PdfDocument + 'doc.LoadFromFile(pdfPath) + 'doc.Pages(0).TryCompressImage(0) + ''signature.SetSignNameWidth(float width); + 'doc.SaveToFile("C:\Users\DEVELOPER1\Desktop\TEST.pdf", 0, 0, Spire.Pdf.FileFormat.PDF) + + + 'Dim doc2 As New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\TEST.pdf") + 'doc2.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 + 'doc2.PrintDocument.DefaultPageSettings.Landscape = True + 'doc2.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize + + 'doc2.PrinterName = printerName + 'doc2.PrintDocument.Print() + Next + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + + 'Public Shared Sub PrintViaitext7(PDFFile As String(), Optional printerName As String = "") + ' Try + + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + 'End Sub + + + Public Shared Sub Print_PICTURE(File As String(), Optional printerName As String = "") + Try + If printerName = "" Then + Dim oPS As New System.Drawing.Printing.PrinterSettings + printerName = oPS.PrinterName + End If + 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")} + + + + + + + + For Each pdfPath In File + + Dim printer As PrintDocument = New PrintDocument + AddHandler printer.PrintPage, Sub(snd As Object, ev As PrintPageEventArgs) + Dim img As Image = Image.FromFile(pdfPath) + ev.Graphics.DrawImage(img, ev.PageBounds) + End Sub + ' printer.PrinterSettings.DefaultPageSettings.PrintableArea. + printer.Print() + 'Dim PrintDocument1 As PrintDocument = New PrintDocument + 'PrintDocument1.DocumentName = pdfPath + ''PrintDialog1.Document = PrintDocument1 + ''PrintDocument1.PrinterSettings. + 'PrintDocument1.Print() + + Next + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + Public Shared Sub PrintViaSpirePDF_FromURL(URLs As String(), Optional printerName As String = "") + Try + If printerName = "" Then + Dim oPS As New System.Drawing.Printing.PrinterSettings + printerName = oPS.PrinterName + End If + 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")} + + 'For Each doc As Spire.Pdf.PdfDocument In docs + For Each pdfPath In URLs + 'Dim doc As New Spire.Pdf.PdfDocument() + + Using webClient As New Net.WebClient() + Dim data() As Byte = webClient.DownloadData(pdfPath) + Using stream As New MemoryStream(data) + Dim doc As Spire.Pdf.PdfDocument = New Spire.Pdf.PdfDocument(stream) + If doc IsNot Nothing Then + doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 + doc.PrintDocument.DefaultPageSettings.Landscape = True + doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize + doc.PrinterName = printerName + doc.PrintDocument.Print() + End If + End Using + End Using + + ' doc.LoadFromHTML(pdfPath, True, True, True) + + Next + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + Shared Function getTMPPath_PDF() As String + Return System.IO.Path.GetTempPath() & Guid.NewGuid().ToString() & ".pdf" + End Function + + Public Shared Function getPDFViaSpirePDF_FromURL(URL As String, Optional targetPath As String = "") As String + Try + If targetPath = "" Then targetPath = getTMPPath_PDF() + + Dim doc As New Spire.Pdf.PdfDocument '= New Spire.Pdf.PdfDocument(URL) + doc.LoadFromHTML(URL, True, True, True) + If doc IsNot Nothing Then + doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 + doc.PrintDocument.DefaultPageSettings.Landscape = True + doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize + ' doc.PrinterName = printerName + ' doc.PrintDocument.Print() + doc.SaveToFile(targetPath) + End If + + 'For Each doc As Spire.Pdf.PdfDocument In docs + 'Dim doc As New Spire.Pdf.PdfDocument() + + 'Using webClient As New Net.WebClient() + ' Dim data() As Byte = webClient.DownloadData(URL) + ' Using stream As New MemoryStream(data) + ' Dim doc As Spire.Pdf.PdfDocument = New Spire.Pdf.PdfDocument(stream) + ' If doc IsNot Nothing Then + ' doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 + ' doc.PrintDocument.DefaultPageSettings.Landscape = True + ' doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize + ' ' doc.PrinterName = printerName + ' ' doc.PrintDocument.Print() + ' doc.SaveToFile(targetPath) + ' End If + ' End Using + 'End Using + + ' doc.LoadFromHTML(pdfPath, True, True, True) + + + Return targetPath + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return "" + End Function + + + + Public Shared Sub PrintViaGS(PDFFile As String, printerName As String) + Try + Dim assembly = System.Reflection.Assembly.GetExecutingAssembly() + Dim location As String = assembly.CodeBase + Dim fullPath As String = New Uri(location).LocalPath + Dim directoryPath As String = Path.GetDirectoryName(fullPath) + + Dim MyP As New System.Diagnostics.Process + MyP.StartInfo.FileName = directoryPath & "\Resources\GS\gswin32c.exe" + Dim sw As New List(Of String)() + + 'MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPAUSE -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=mswinpr2 " & (Convert.ToString("-sOutputFile=%printer%") & printerName) & " -f" & PDFFile + ' MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPAUSE -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=mswinpr2 -sOutputFile=" & PDFFile ' & " -f" & PDFFile + + 'OK MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=ppmraw -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile + ' MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dQUIET -dNOPAUSE -dNOSAFER -sDEVICE=mswinpr2 -dPDFFitPage -dNumCopies=1 -dNoCancel -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile + MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dQUIET -dNOPAUSE -dNOSAFER -sDEVICE=mswinpr2 -dPDFFitPage -dNumCopies=1 -dNoCancel -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile + + '-dQUIET -sDEVICE=jpeg mswinpr2 + ' MsgBox(MyP.StartInfo.Arguments) + MyP.StartInfo.UseShellExecute = False + MyP.StartInfo.CreateNoWindow = True + ' MyP.StartInfo.WindowStyle = ProcessWindowStyle.Hidden + MyP.StartInfo.RedirectStandardOutput = True + MyP.StartInfo.RedirectStandardError = True + MyP.StartInfo.CreateNoWindow = True + + MyP.Start() + + + ' Using processor As New GhostscriptProcessor() + ' Dim switches As New List(Of String)() + ' switches.Add("-empty") + 'switches.Add("-dPrinted") + 'switches.Add("-dBATCH") + 'switches.Add("-dNOPAUSE") + 'switches.Add("-dNOSAFER") + 'switches.Add("-dPDFFitPage") + 'switches.Add("-dNumCopies=1") + 'switches.Add("-sDEVICE=mswinpr2") 'mswinpr2 + 'switches.Add("-dNoCancel") + 'switches.Add(Convert.ToString("-sOutputFile=%printer%") & printerName) + 'switches.Add("-f") + 'switches.Add(PDFFile) + 'processor.StartProcessing(switches.ToArray(), Nothing) + 'End Using + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + + Public Shared Function PrintFadile2(fileName As String, printerName As String) As Boolean + PrintViaGS(fileName, printerName) + Return True + ' Dim rasterizer As Ghostscript.NET.Rasterizer.GhostscriptRasterizer + + Dim rasterizer = New Ghostscript.NET.Rasterizer.GhostscriptRasterizer + rasterizer.Open(fileName) + '//Image page = rasterizer.GetPage(96,96); <-- this one prints ok + Dim page As Image = rasterizer.GetPage(600, 600, 1) + ' doc.DocumentName = fileName + + Dim doc As New PrintDocument + doc.PrinterSettings.PrinterName = printerName + doc.PrinterSettings.Copies = 1 + ' doc.PrinterSettings.PaperSizes + AddHandler doc.PrintPage, Sub(send As System.Object, ev As System.Drawing.Printing.PrintPageEventArgs) + Dim g As Graphics = ev.Graphics + g.DrawImage(page, 5, 5) + End Sub + doc.Print() + + + End Function + + + + Function getRechtsform(firma) As String + If firma.Trim.Replace(" ", "").ToLower.EndsWith("GMBH&COKG".ToLower) Then Return "GMBH & CO KG" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("GMBH".ToLower) Then Return "GMBH" + If firma.Trim.ToLower.EndsWith(" AG".ToLower) Then Return "Aktiengesellschaft" + If firma.Trim.ToLower.EndsWith(" OG".ToLower) Then Return "Offene Gesellschaft" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("e.U.".ToLower) Then Return "Eingetragenes Einzelunternehmen" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("GesbR".ToLower) Then Return "Gesellschaft bürgerl. Rechts" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("GesmbH".ToLower) Then Return "GMBH" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("Ges.mbH".ToLower) Then Return "GMBH" + If firma.Trim.Replace(" ", "").ToLower.EndsWith("Ges.m.b.H.".ToLower) Then Return "GMBH" + If firma.Trim.ToLower.EndsWith(" KEG".ToLower) Then Return "Kommanditerwerbsgesellschaft" + If firma.Trim.ToLower.EndsWith(" KG".ToLower) Then Return "Kommanditgesellschaft " + If firma.Trim.ToLower.EndsWith(" OEG ".ToLower) Then Return "Offene Erwerbsgesellschaft" + If firma.Trim.ToLower.EndsWith(" OHG ".ToLower) Then Return "Offene Handelsgesellschaft" + If firma.Trim.ToLower.EndsWith(" SCE".ToLower) Then Return "Europäische Genossenschaft" + If firma.Trim.ToLower.EndsWith(" SE".ToLower) Then Return "Europäische Gesellschaft" + Return "" + End Function + +End Class + + + +Public Class cDatenarchiv_Collection + + Property coll_id As Object = Nothing + Property coll_daId As Object = Nothing + Property coll_bezeichnung As String = "" + Property coll_pfad As String = "" + Property coll_info As String = "" + Property coll_date As Date = Now + Property coll_archiv As Boolean = False + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New(coll_daId, coll_pfad, coll_bezeichnung, coll_info, coll_archiv) + Me.coll_daId = coll_daId + Me.coll_pfad = coll_pfad + Me.coll_bezeichnung = coll_bezeichnung + Me.coll_info = coll_info + Me.coll_archiv = coll_archiv + End Sub + + Sub New(coll_id, coll_daId, coll_pfad, coll_bezeichnung, coll_info, coll_archiv) + Me.coll_id = coll_id + Me.coll_daId = coll_daId + Me.coll_pfad = coll_pfad + Me.coll_bezeichnung = coll_bezeichnung + Me.coll_info = coll_info + Me.coll_archiv = coll_archiv + End Sub + + Public Function DELETE() As Boolean + Try + If coll_pfad.Contains(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir) Then '"\\192.168.0.91\DATENARCHIV\") Then 'Um sicher zu gehen, dass der pfad im richtigem VZ ist. + If My.Computer.FileSystem.FileExists(coll_pfad) Then + saveFileToDel(coll_pfad) + Try + IO.File.Delete(coll_pfad) + Catch : End Try + Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") + Else + Return True + End If + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + Sub saveFileToDel(path) + Dim delPath = "" + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + delPath = path.Replace("\DATENARCHIV_TESTSYSTEM\", "\DATENARCHIV_TESTSYSTEM\DELETE\") + Else + delPath = path.Replace("\DATENARCHIV\", "\DATENARCHIV\DELETE\") + '\\192.168.0.91\Datenarchiv\DOKUMENTE\VORLAGEN\FISKALSCHREIBEN + End If + If Not IO.Directory.Exists(delPath.Substring(0, delPath.LastIndexOf("\"))) Then IO.Directory.CreateDirectory(delPath.Substring(0, delPath.LastIndexOf("\"))) + If IO.File.Exists(delPath) Then + If delPath.Contains(".") Then + Dim commaIndex = delPath.LastIndexOf(".") + delPath = delPath.Substring(0, commaIndex) + Now.ToString("_del_ddMMyyyy_HHmmss") + delPath.Substring(commaIndex) ' + 1) + ' delPath = delPath.Substring(0, delPath.LastIndexOf(".") - 1) & Now.ToString("_ddMMyyyy_HHmmss") & delPath.Substring(delPath.LastIndexOf("."), delPath.LastIndexOf(".") - 1) + ' delPath.LastIndexOf(".") + ' delPath.Replace(".", Now.ToString("_ddMMyyyy_HHmmss") & ".") + End If + End If + IO.File.Copy(path, delPath) + End Sub + + Function INSERT() As Integer + Try + 'If coll_id < 0 Then 'Wenn noch keine ID vergeben + 'Me.coll_id = getMaxId() + 'End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("INSERT INTO tblDatenarchiv_Collection (coll_daId,coll_pfad, coll_bezeichnung, coll_info,coll_archiv) VALUES (@coll_daId,@coll_pfad, @coll_bezeichnung, @coll_info,@coll_archiv) ", conn) + cmd.Parameters.AddWithValue("@coll_daId", coll_daId) + cmd.Parameters.AddWithValue("@coll_pfad", coll_pfad) + cmd.Parameters.AddWithValue("@coll_bezeichnung", coll_bezeichnung) + cmd.Parameters.AddWithValue("@coll_info", coll_info) + cmd.Parameters.AddWithValue("@coll_archiv", coll_archiv) + + cmd.ExecuteNonQuery() + Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn) + Dim id = CInt(newcmd.ExecuteScalar) + Me.coll_id = id + Return id + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return -1 + End Try + End Function + + Function UPDATE() As Boolean + Try + 'If coll_id < 0 Then 'Wenn noch keine ID vergeben + 'Me.coll_id = getMaxId() + 'End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("UPDATE tblDatenarchiv_Collection SET coll_daId=@coll_daId,coll_pfad=@coll_pfad, coll_bezeichnung=@coll_bezeichnung, coll_info=@coll_info,coll_archiv=@coll_archiv WHERE [coll_id]=@coll_id ", conn) + cmd.Parameters.AddWithValue("@coll_id", coll_id) + cmd.Parameters.AddWithValue("@coll_daId", coll_daId) + cmd.Parameters.AddWithValue("@coll_pfad", coll_pfad) + cmd.Parameters.AddWithValue("@coll_bezeichnung", coll_bezeichnung) + cmd.Parameters.AddWithValue("@coll_info", coll_info) + cmd.Parameters.AddWithValue("@coll_archiv", coll_archiv) + cmd.ExecuteNonQuery() + Return True + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + + Public Function OPEN(Optional openFILE As Boolean = True, Optional useBezeichnung As Boolean = False) As String + If Not IO.File.Exists(coll_pfad) Then MsgBox("Die Datei existiert nicht") : Return "" + + Dim fi As New IO.DirectoryInfo(coll_pfad) + Dim destPath = "" + If useBezeichnung Then + destPath = DATENVERVER_OPTIONS.copyToTmp_KeepFilename(coll_pfad, coll_bezeichnung) + Else + destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, , False) + End If + ' MsgBox(destPath) + IO.File.Copy(coll_pfad, destPath, True) + If openFILE Then Process.Start(destPath) + Return destPath + End Function + + + Public Function OPEN_ORIG(Optional openFILE As Boolean = True) As String + If Not IO.File.Exists(coll_pfad) Then MsgBox("Die Datei existiert nicht") : Return "" + + If openFILE Then Process.Start(coll_pfad) + Return coll_pfad + End Function + + + +End Class + + +Public Class cDatenserverIDCollectionList + Property coll_daId = -1 + Property rootDir = "" + Property LIST As New List(Of cDatenarchiv_Collection) + Public lastID = -1 + + Sub New() + + End Sub + + Sub New(coll_daId, rootDir) + Me.coll_daId = coll_daId + Me.rootDir = rootDir + LOAD() + End Sub + + Public Sub LOAD() + Try + LIST.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + 'Using cmd As New SqlCommand("SELECT coll_id, coll_daId, da_pfad, da_name FROM tblDatenarchiv_Collection INNER JOIN tblDatenarchiv ON coll_daId=da_id WHERE coll_id=@coll_id ", conn) + Using cmd As New SqlCommand("SELECT coll_id, coll_daId, coll_pfad, coll_bezeichnung,coll_info,coll_archiv FROM tblDatenarchiv_Collection WHERE coll_daId=@coll_daId order by coll_bezeichnung ", conn) ' order by [coll_date] desc + cmd.Parameters.AddWithValue("@coll_daId", Me.coll_daId) + Dim dr = cmd.ExecuteReader() + 'LIST = New List(Of cDatenarchiv_Collection) + While dr.Read + LIST.Add(New cDatenarchiv_Collection(dr.Item("coll_id"), dr.Item("coll_daId"), dr.Item("coll_pfad"), dr.Item("coll_bezeichnung"), dr.Item("coll_info"), dr.Item("coll_archiv"))) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + + + + Public Function getMaxId() As Integer + getMaxId = -1 + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT isnull(max(coll_id),0)+1 FROM tblDatenarchiv_Collection ", conn) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + getMaxId = dr.Item(0) + End If + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Function + + Function ADD(srcpath, destPath, coll_bezeichnung, coll_info, coll_archiv) As Boolean + Try + Dim l As New cDatenarchiv_Collection(coll_daId, destPath, coll_bezeichnung, coll_info, coll_archiv) + Dim ID = l.INSERT() + If ID > 0 Then + 'COPY + Dim errorMsg = "ERR" + If COPY_FILE(srcpath, destPath, errorMsg) Then + ' Der Eintrag wird in die Liste aufgenommen. + LIST.Add(l) + lastID = l.coll_id + Else + ' Wenn beim Kopieren ein Fehler aufgetreten ist, wird der DB_Eintrag gelöscht, + ' der Eintrag wird nicht in die Liste aufgenommen. + l.DELETE() + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(errorMsg, errorMsg, System.Reflection.MethodInfo.GetCurrentMethod.Name) + + Return False + End If + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + Return True + End Function + + Function ADD_WOcopy(destPath, coll_bezeichnung, coll_info, coll_archiv) As Boolean + Try + Dim l As New cDatenarchiv_Collection(coll_daId, destPath, coll_bezeichnung, coll_info, coll_archiv) + Dim ID = l.INSERT() + If ID > 0 Then + ' Der Eintrag wird in die Liste aufgenommen. + LIST.Add(l) + lastID = l.coll_id + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + Return True + End Function + Function COPY_FILE(srcPath, destPath, ByRef errorMsg) As Boolean + For i = 1 To 3 '3 Versuche + Try + IO.File.Copy(srcPath, destPath, True) ' Kopiert die Dateien Next + Return True + Catch ex As Exception + errorMsg = ex.Message + End Try + System.Threading.Thread.Sleep(500) + Next + Return False + End Function + + + + Function DELETE_ALL(Optional delteFromFileSystem = True) As Boolean + Try + If delteFromFileSystem Then + LIST.Clear() + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_daId]=" & coll_daId & " ", "FMZOLL") + Else + While LIST.Count > 0 + If LIST(0).DELETE() Then + LIST.RemoveAt(0) + Else + Return False + End If + + End While + End If + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + + + + + Function DELETE_ATPOS(coll_id) As Boolean + Try + For Each l In LIST + If l.coll_id = coll_id Then + If l.DELETE() Then + LIST.Remove(l) + Return True + Else + Return False + End If + End If + Next + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + + + +End Class + +Public Class DATENVERVER_OPTIONS + Public Shared TMP_PATH = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\DatenTMP\" + + Shared Function getTMPPath(name As String, extension As String, Optional special As Boolean = False, Optional delete As Boolean = True, Optional unterOrdner As String = "") As String + If Environment.GetFolderPath(Environment.SpecialFolder.Personal) = "" Then ' WEB_SERV + TMP_PATH = Path.GetTempPath() & "\VERAG\DatenTMP\" + End If + + Dim TMP_PATH2 = TMP_PATH & If(unterOrdner <> "", "\" & unterOrdner & "\", "") + TMP_PATH2 = TMP_PATH2.replace("\\", "\") + If Not My.Computer.FileSystem.DirectoryExists(TMP_PATH2) Then + My.Computer.FileSystem.CreateDirectory(TMP_PATH2) + End If + If delete Then clearTMPPath(unterOrdner) + If name = "" Then name = "TMP" + Dim destPath = TMP_PATH2 & name + If special Then destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension + + While IO.File.Exists(destPath) + destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension + End While + + Return destPath + End Function + + Shared Function copyToTmp_KeepFilenameByDS(dId As Integer, bezeichnung As String) As String + Dim DS As New cDATENSERVER(dId) + Dim pfad As String = DS.GET_TOP1_PATH + If pfad = "" Then Return "" + Dim fi As New IO.FileInfo(pfad) + + Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(bezeichnung, fi.Extension,, False, "ClipBoard_TMP\ClipBoard_" & Now.ToString("ddMMyyyyHHmmss_sss") & "\") + Try + IO.File.Copy(pfad, tmpPath) + Return tmpPath + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return pfad + End Function + + Shared Function copyToTmp_KeepFilename(pfad As String, bezeichnung As String) As String + Dim fi As New IO.FileInfo(pfad) + Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(bezeichnung, fi.Extension,, False, "ClipBoard_TMP\ClipBoard_" & Now.ToString("ddMMyyyyHHmmss_sss") & "\") + Try + IO.File.Copy(pfad, tmpPath) + Return tmpPath + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return pfad + End Function + + Shared Function getTMPAbsolutePath(AbsolutePath As String, extension As String, Optional special As Boolean = False, Optional delete As Boolean = True) As String + + If delete Then + Try : IO.File.Delete(AbsolutePath) : Catch ex As Exception : End Try + End If + Dim destPath = AbsolutePath + If special Then destPath = AbsolutePath.Replace(extension, "") & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension + + While IO.File.Exists(destPath) + destPath = AbsolutePath.Replace(extension, "") & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension + End While + + Return destPath + End Function + + + Shared Sub clearTMPPath(Optional unterOrdner As String = "") + Dim TMP_PATH2 As String = TMP_PATH & If(unterOrdner <> "", "\" & unterOrdner & "\", "") + TMP_PATH2 = TMP_PATH2.Replace("\\", "\") + If My.Computer.FileSystem.DirectoryExists(TMP_PATH2) Then + For Each file As String In IO.Directory.GetFiles(TMP_PATH2) ' Ermittelt alle Dateien des Ordners und löscht diese (sind tmp) + Try : IO.File.Delete(file) : Catch : End Try + Next + For Each dir As String In IO.Directory.GetDirectories(TMP_PATH2) ' Ermittelt alle Dateien des Ordners und löscht diese (sind tmp) + Try : IO.Directory.Delete(dir, True) : Catch : End Try + Next + End If + End Sub + + + Shared Function REMANE_FOLDER_KDNR(OLD_V As cDatenserver_Change_Value, NEW_V As cDatenserver_Change_Value) 'kategorie, ordner, kdnr, da_uOrdner1, da_uOrdner2, da_uOrdner3, new_kategorie, new_ordner, new_kdnr, new_uOrdner1, new_uOrdner2, new_uOrdner3) + Try + If OLD_V Is Nothing Then MsgBox("OLD_V: Keinen Wert angegeben!") : Return False + If NEW_V Is Nothing Then MsgBox("NEW_V: Keinen Wert angegeben!") : Return False + If OLD_V.da_kategorie = "" Then MsgBox("OLD_V: Keine Kategorie!") : Return False + If OLD_V.da_ordner = "" Then MsgBox("OLD_V: Kein Ordner!") : Return False + If NEW_V.da_kategorie = "" Then MsgBox("NEW_V: Keine Kategorie!") : Return False + If NEW_V.da_ordner = "" Then MsgBox("NEW_V: Kein Ordner!") : Return False + + 'Dim oldDIR = getDescPath(initRootDir(), kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, kdnr, "", "", True) + ' Dim DS As New cDATENSERVER(kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, kdnr) + 'If IO.Directory.Exists(oldDIR) Then + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim dt As DataTable = Nothing + + If OLD_V.da_uOrdner3 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' AND da_uOrdner2= '" & OLD_V.da_uOrdner2 & "' AND da_uOrdner3='" & OLD_V.da_uOrdner3 & "' ", "FMZOLL") + ElseIf OLD_V.da_uOrdner2 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' AND da_uOrdner2= '" & OLD_V.da_uOrdner2 & "' ", "FMZOLL") + ElseIf OLD_V.da_uOrdner1 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' ", "FMZOLL") + End If + + If dt IsNot Nothing Then + For Each r As DataRow In dt.Rows + Dim DS As New cDATENSERVER(r.Item("da_id")) + DS.REMANE_FOLDER(OLD_V.da_kategorie, OLD_V.da_ordner, OLD_V.da_uOrdner1, OLD_V.da_uOrdner2, OLD_V.da_uOrdner3, OLD_V.da_KundenNr, NEW_V.da_kategorie, NEW_V.da_ordner, NEW_V.da_uOrdner1, NEW_V.da_uOrdner2, NEW_V.da_uOrdner3, NEW_V.da_KundenNr) + Next + End If + + Return True + ' Else + 'MsgBox("Der Ordner existiert nicht!") + ' End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + Return False + End Function + + Shared Function initRootDir() As String + initRootDir = getRootDir() + End Function + + + Shared Function getRootDir(Optional TESTSYSTEM = Nothing) As String + + + Dim TS = If(TESTSYSTEM IsNot Nothing, TESTSYSTEM, VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) + + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then + If TS Then + ' getRootDir = "\\192.168.0.91\DATENARCHIV\DATENARCHIV_TESTSYSTEM\" + getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\DATENARCHIV_TESTSYSTEM\" + Else + ' getRootDir = "\\192.168.0.91\DATENARCHIV\" + getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\" + End If + Else + If TS Then + ' getRootDir = "\\192.168.0.91\DATENARCHIV\DATENARCHIV_TESTSYSTEM\" + getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\DATENARCHIV_TESTSYSTEM\" + Else + ' getRootDir = "\\192.168.0.91\DATENARCHIV\" + getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\" + End If + End If + End Function + + + Shared Function getDescPath(rootDir, kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, kdnr, bezeichnung, endung, Optional onlyordner = False) As String + Try + If kdnr Is Nothing Then MsgBox("Keine Kundennummer angegeben!") : Return "" + If ordner Is Nothing Then MsgBox("Kein Ordner angegeben!") : Return "" + Dim dateiName = "" + If Not onlyordner Then + If bezeichnung Is Nothing Then MsgBox("Keine Bezeichnung angegeben!") : Return "" + dateiName = Now.ToString("yyyyMMdd_HHmmss_") & bezeichnung + End If + + Dim kdnr_path = "" + If kdnr IsNot Nothing AndAlso IsNumeric(kdnr) AndAlso kdnr > 0 Then + kdnr_path = kdnr + End If + + If kategorie <> "" Then + Dim dir = "" + dir &= rootDir + dir &= kategorie & "\" + dir &= If(ordner IsNot Nothing AndAlso ordner <> "", ordner & "\", "") + dir &= If(kdnr_path <> "", kdnr_path & "\", "") + dir &= If(da_uOrdner1 IsNot Nothing AndAlso da_uOrdner1 <> "", da_uOrdner1 & "\", "") + dir &= If(da_uOrdner2 IsNot Nothing AndAlso da_uOrdner2 <> "", da_uOrdner2 & "\", "") + dir &= If(da_uOrdner3 IsNot Nothing AndAlso da_uOrdner3 <> "", da_uOrdner3 & "\", "") + If Not onlyordner Then + If Not IO.Directory.Exists(dir) Then + IO.Directory.CreateDirectory(dir) + End If + + + Dim zusatz = "" : Dim zusatzcnt = 1 + While IO.File.Exists(dir & dateiName & zusatz & If(bezeichnung.ToString.EndsWith(endung), "", endung)) + zusatz = "_" & zusatzcnt + zusatzcnt += 1 + End While + + dir &= dateiName & zusatz & If(bezeichnung.ToString.EndsWith(endung), "", endung) + End If + + Return dir + Else + If Not onlyordner Then + If Not IO.Directory.Exists(rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\") Then IO.Directory.CreateDirectory(rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\") + End If + Return rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\" & dateiName + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return "" + End Try + End Function + + Shared Function OPEN_PATH(path As String) As Boolean + Try + If Not IO.File.Exists(path) Then MsgBox("Die Datei existiert nicht") : Return False + + Dim fi As New IO.DirectoryInfo(path) + Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, , False) + + IO.File.Copy(path, destPath, True) + Process.Start(destPath) + Return True + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + End Function + + +End Class + +Public Class barcodeToPdf + Public image As Image = Nothing + Public x As Integer + Public y As Integer + Public width As Integer + Public height As Integer + Public onpage = 1 + Public rotate As Drawing.RotateFlipType = RotateFlipType.RotateNoneFlipNone + + Sub New(image As Image, x As Integer, y As Integer, width As Integer, height As Integer, onpage As Integer, rotate As Drawing.RotateFlipType) + Me.image = image + Me.x = x + Me.y = y + Me.width = width + Me.height = height + Me.onpage = onpage + Me.rotate = rotate + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb new file mode 100644 index 0000000..2b708ca --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb @@ -0,0 +1,100 @@ + _ +Partial Class frmVorlagen + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVorlagen)) + Me.Label1 = New System.Windows.Forms.Label() + Me.btnUpload = New System.Windows.Forms.Button() + Me.dgvVolagen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) + Me.Button1 = New System.Windows.Forms.Button() + CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.BackColor = System.Drawing.Color.White + Me.Label1.Location = New System.Drawing.Point(8, 15) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(55, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Kategorie:" + ' + 'btnUpload + ' + Me.btnUpload.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnUpload.Location = New System.Drawing.Point(12, 609) + Me.btnUpload.Name = "btnUpload" + Me.btnUpload.Size = New System.Drawing.Size(225, 44) + Me.btnUpload.TabIndex = 8 + Me.btnUpload.Text = "Neue Vorlage" + Me.btnUpload.UseVisualStyleBackColor = True + ' + 'dgvVolagen + ' + Me.dgvVolagen.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvVolagen.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvVolagen.Location = New System.Drawing.Point(11, 31) + Me.dgvVolagen.MultiSelect = False + Me.dgvVolagen.Name = "dgvVolagen" + Me.dgvVolagen.ReadOnly = True + Me.dgvVolagen.RowHeadersVisible = False + Me.dgvVolagen.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgvVolagen.Size = New System.Drawing.Size(1094, 572) + Me.dgvVolagen.TabIndex = 9 + ' + 'Button1 + ' + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.Location = New System.Drawing.Point(305, 609) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(225, 44) + Me.Button1.TabIndex = 10 + Me.Button1.Text = "Vorlage Ändern" + Me.Button1.UseVisualStyleBackColor = True + ' + 'frmVorlagen + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(1117, 665) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.dgvVolagen) + Me.Controls.Add(Me.btnUpload) + Me.Controls.Add(Me.Label1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmVorlagen" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Vorlage - Upload" + CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents btnUpload As System.Windows.Forms.Button + Friend WithEvents dgvVolagen As VERAG_PROG_ALLGEMEIN.MyDatagridview + Friend WithEvents Button1 As System.Windows.Forms.Button +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx new file mode 100644 index 0000000..d584bd9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb new file mode 100644 index 0000000..9b67323 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb @@ -0,0 +1,56 @@ +Imports System.Windows.Forms + +Public Class frmVorlagen + + + + + Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click + Dim vu As New VERAG_PROG_ALLGEMEIN.frmVorlagenUpload + vu.ShowDialog() + + + + End Sub + + Private Sub frmVorlagenUpload_Load(sender As Object, e As EventArgs) Handles Me.Load + initDGV() + End Sub + Sub initDGV() + With dgvVolagen + .Columns.Clear() + .SET_SQL("SELECT [da_id],[da_kategorie],[da_ordner] ,[da_name],da_uOrdner1,da_uOrdner2,da_uOrdner3 FROM [tblDatenarchiv] where da_vorlage=1", "FMZOLL") + .LOAD() + If .ColumnCount > 0 Then + '.Columns("da_uOrdner1").Visible = False + .Columns("da_name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + End If + End With + End Sub + + + + Private Sub gridAviso_DoubleClick(sender As Object, e As System.EventArgs) Handles dgvVolagen.DoubleClick + If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub + Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0) + Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value) + MsgBox(cDATENSERVER.DATA_LIST.LIST.Count) + cDATENSERVER.OPEN_SINGLE() + + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + + If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub + + Try + Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0) + Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value) + If cDATENSERVER.uploadDataToDATENSERVERFileDialog() <> "" Then + dgvVolagen.RELOAD() + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb new file mode 100644 index 0000000..9fb9c68 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb @@ -0,0 +1,217 @@ + _ +Partial Class frmVorlagenUpload + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVorlagenUpload)) + Me.txtOrdner = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.lbl = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.tzxtKategorie = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtName = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.btnUpload = New System.Windows.Forms.Button() + Me.txtUnterordner1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.txtUnterordner2 = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'txtOrdner + ' + Me.txtOrdner._DateTimeOnly = False + Me.txtOrdner._numbersOnly = False + Me.txtOrdner._numbersOnlyKommastellen = "" + Me.txtOrdner._Prozent = False + Me.txtOrdner._ShortDateNew = False + Me.txtOrdner._ShortDateOnly = False + Me.txtOrdner._TimeOnly = False + Me.txtOrdner._value = "VORLAGEN" + Me.txtOrdner._Waehrung = False + Me.txtOrdner.Enabled = False + Me.txtOrdner.ForeColor = System.Drawing.Color.Black + Me.txtOrdner.Location = New System.Drawing.Point(89, 38) + Me.txtOrdner.MaxLineLength = -1 + Me.txtOrdner.MaxLines_Warning = "" + Me.txtOrdner.MaxLines_Warning_Label = Nothing + Me.txtOrdner.Name = "txtOrdner" + Me.txtOrdner.Size = New System.Drawing.Size(357, 20) + Me.txtOrdner.TabIndex = 3 + Me.txtOrdner.Text = "VORLAGEN" + ' + 'lbl + ' + Me.lbl.AutoSize = True + Me.lbl.Location = New System.Drawing.Point(8, 41) + Me.lbl.Name = "lbl" + Me.lbl.Size = New System.Drawing.Size(42, 13) + Me.lbl.TabIndex = 2 + Me.lbl.Text = "Ordner:" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.BackColor = System.Drawing.Color.White + Me.Label1.Location = New System.Drawing.Point(8, 15) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(55, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Kategorie:" + ' + 'tzxtKategorie + ' + Me.tzxtKategorie._DateTimeOnly = False + Me.tzxtKategorie._numbersOnly = False + Me.tzxtKategorie._numbersOnlyKommastellen = "" + Me.tzxtKategorie._Prozent = False + Me.tzxtKategorie._ShortDateNew = False + Me.tzxtKategorie._ShortDateOnly = False + Me.tzxtKategorie._TimeOnly = False + Me.tzxtKategorie._value = "DOKUMENTE" + Me.tzxtKategorie._Waehrung = False + Me.tzxtKategorie.Enabled = False + Me.tzxtKategorie.ForeColor = System.Drawing.Color.Black + Me.tzxtKategorie.Location = New System.Drawing.Point(89, 12) + Me.tzxtKategorie.MaxLineLength = -1 + Me.tzxtKategorie.MaxLines_Warning = "" + Me.tzxtKategorie.MaxLines_Warning_Label = Nothing + Me.tzxtKategorie.Name = "tzxtKategorie" + Me.tzxtKategorie.Size = New System.Drawing.Size(357, 20) + Me.tzxtKategorie.TabIndex = 1 + Me.tzxtKategorie.Text = "DOKUMENTE" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(8, 67) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(66, 13) + Me.Label2.TabIndex = 4 + Me.Label2.Text = "Unterordner:" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(8, 135) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(38, 13) + Me.Label3.TabIndex = 6 + Me.Label3.Text = "Name:" + ' + 'txtName + ' + Me.txtName._DateTimeOnly = False + Me.txtName._numbersOnly = False + Me.txtName._numbersOnlyKommastellen = "" + Me.txtName._Prozent = False + Me.txtName._ShortDateNew = False + Me.txtName._ShortDateOnly = False + Me.txtName._TimeOnly = False + Me.txtName._value = Nothing + Me.txtName._Waehrung = False + Me.txtName.ForeColor = System.Drawing.Color.Black + Me.txtName.Location = New System.Drawing.Point(89, 132) + Me.txtName.MaxLineLength = -1 + Me.txtName.MaxLines_Warning = "" + Me.txtName.MaxLines_Warning_Label = Nothing + Me.txtName.Name = "txtName" + Me.txtName.Size = New System.Drawing.Size(357, 20) + Me.txtName.TabIndex = 7 + ' + 'btnUpload + ' + Me.btnUpload.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnUpload.Location = New System.Drawing.Point(221, 158) + Me.btnUpload.Name = "btnUpload" + Me.btnUpload.Size = New System.Drawing.Size(225, 44) + Me.btnUpload.TabIndex = 8 + Me.btnUpload.Text = "Datei Auswählen + Upload" + Me.btnUpload.UseVisualStyleBackColor = True + ' + 'txtUnterordner1 + ' + Me.txtUnterordner1._allowedValuesFreiText = Nothing + Me.txtUnterordner1._allowFreiText = True + Me.txtUnterordner1._value = "" + Me.txtUnterordner1.FormattingEnabled = True + Me.txtUnterordner1.Location = New System.Drawing.Point(89, 63) + Me.txtUnterordner1.Name = "txtUnterordner1" + Me.txtUnterordner1.Size = New System.Drawing.Size(357, 21) + Me.txtUnterordner1.TabIndex = 5 + ' + 'txtUnterordner2 + ' + Me.txtUnterordner2._allowedValuesFreiText = Nothing + Me.txtUnterordner2._allowFreiText = True + Me.txtUnterordner2._value = "" + Me.txtUnterordner2.FormattingEnabled = True + Me.txtUnterordner2.Location = New System.Drawing.Point(89, 90) + Me.txtUnterordner2.Name = "txtUnterordner2" + Me.txtUnterordner2.Size = New System.Drawing.Size(357, 21) + Me.txtUnterordner2.TabIndex = 10 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(8, 94) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(75, 13) + Me.Label4.TabIndex = 9 + Me.Label4.Text = "Unterordner 2:" + ' + 'frmVorlagenUpload + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(462, 213) + Me.Controls.Add(Me.txtUnterordner2) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.txtUnterordner1) + Me.Controls.Add(Me.btnUpload) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.txtName) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.tzxtKategorie) + Me.Controls.Add(Me.lbl) + Me.Controls.Add(Me.txtOrdner) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmVorlagenUpload" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Vorlage - Upload" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents txtOrdner As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents lbl As System.Windows.Forms.Label + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents tzxtKategorie As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents txtName As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents btnUpload As System.Windows.Forms.Button + Friend WithEvents txtUnterordner1 As VERAG_PROG_ALLGEMEIN.MyComboBox + Friend WithEvents txtUnterordner2 As VERAG_PROG_ALLGEMEIN.MyComboBox + Friend WithEvents Label4 As System.Windows.Forms.Label +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx new file mode 100644 index 0000000..d584bd9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb new file mode 100644 index 0000000..977867e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb @@ -0,0 +1,30 @@ +Public Class frmVorlagenUpload + + + + + Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click + Try + Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(tzxtKategorie.Text, txtOrdner.Text, txtUnterordner1._value, txtUnterordner2._value, "", txtName.Text) + If cDATENSERVER.uploadDataToDATENSERVERFileDialog() <> "" Then Me.Close() + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End Sub + + Private Sub frmVorlagenUpload_Load(sender As Object, e As EventArgs) Handles Me.Load + txtUnterordner1.Items.Clear() + txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VOLLMACHTEN", "VOLLMACHTEN")) + txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("GESTELLUNGSGARANTIEN", "GESTELLUNGSGARANTIEN")) + txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SONSTIGE", "SONSTIGE")) + + + + txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "")) + txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX")) + txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA")) + txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED")) + txtUnterordner2.SelectedIndex = 0 + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb new file mode 100644 index 0000000..06788b0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb @@ -0,0 +1,572 @@ +Imports System.Windows.Forms + + +Partial Class frmMessenger + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger)) + Me.SplitContainer = New System.Windows.Forms.SplitContainer() + Me.dgvChats = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) + Me.btnTEST = New System.Windows.Forms.Button() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.cbxInaktiveChats = New System.Windows.Forms.CheckBox() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.lbl = New System.Windows.Forms.Label() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel(Me.components) + Me.UsrCntlMessenger_ChatElement1 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement() + Me.UsrCntlMessenger_ChatAnhang1 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatAnhang() + Me.UsrCntlMessenger_ChatElement2 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement() + Me.UsrCntlMessenger_ChatElement3 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.Button5 = New System.Windows.Forms.Button() + Me.Panel4 = New System.Windows.Forms.Panel() + Me.lblChatName = New System.Windows.Forms.Label() + Me.lblOnlineOffline = New System.Windows.Forms.Label() + Me.pnl = New System.Windows.Forms.Panel() + Me.pic = New System.Windows.Forms.PictureBox() + Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() + Me.Button3 = New System.Windows.Forms.Button() + Me.btn = New System.Windows.Forms.Button() + Me.rtbChatMessage = New System.Windows.Forms.RichTextBox() + Me.TimerNEW_MESSAGE = New System.Windows.Forms.Timer(Me.components) + Me.Timer_REFRESH = New System.Windows.Forms.Timer(Me.components) + Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ChatDeaktivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Button4 = New System.Windows.Forms.Button() + CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer.Panel1.SuspendLayout() + Me.SplitContainer.Panel2.SuspendLayout() + Me.SplitContainer.SuspendLayout() + CType(Me.dgvChats, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel2.SuspendLayout() + Me.Panel1.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.MyFlowLayoutPanel1.SuspendLayout() + Me.Panel3.SuspendLayout() + Me.pnl.SuspendLayout() + CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit() + Me.cntxt.SuspendLayout() + Me.SuspendLayout() + ' + 'SplitContainer + ' + Me.SplitContainer.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer.Name = "SplitContainer" + ' + 'SplitContainer.Panel1 + ' + Me.SplitContainer.Panel1.Controls.Add(Me.dgvChats) + Me.SplitContainer.Panel1.Controls.Add(Me.btnTEST) + Me.SplitContainer.Panel1.Controls.Add(Me.Panel2) + Me.SplitContainer.Panel1.Controls.Add(Me.Panel1) + ' + 'SplitContainer.Panel2 + ' + Me.SplitContainer.Panel2.Controls.Add(Me.SplitContainer1) + Me.SplitContainer.Size = New System.Drawing.Size(817, 728) + Me.SplitContainer.SplitterDistance = 271 + Me.SplitContainer.TabIndex = 0 + ' + 'dgvChats + ' + Me.dgvChats.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvChats.AllowUserToAddRows = False + Me.dgvChats.AllowUserToDeleteRows = False + Me.dgvChats.AllowUserToResizeColumns = False + Me.dgvChats.AllowUserToResizeRows = False + Me.dgvChats.BackgroundColor = System.Drawing.Color.White + DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvChats.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1 + Me.dgvChats.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvChats.ColumnHeadersVisible = False + DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] + Me.dgvChats.DefaultCellStyle = DataGridViewCellStyle2 + Me.dgvChats.Dock = System.Windows.Forms.DockStyle.Fill + Me.dgvChats.Location = New System.Drawing.Point(0, 63) + Me.dgvChats.Name = "dgvChats" + Me.dgvChats.ReadOnly = True + DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvChats.RowHeadersDefaultCellStyle = DataGridViewCellStyle3 + Me.dgvChats.RowHeadersVisible = False + DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dgvChats.RowsDefaultCellStyle = DataGridViewCellStyle4 + Me.dgvChats.RowTemplate.Height = 30 + Me.dgvChats.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgvChats.Size = New System.Drawing.Size(271, 635) + Me.dgvChats.TabIndex = 0 + ' + 'btnTEST + ' + Me.btnTEST.BackColor = System.Drawing.Color.Red + Me.btnTEST.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnTEST.ForeColor = System.Drawing.Color.White + Me.btnTEST.Location = New System.Drawing.Point(94, 273) + Me.btnTEST.Name = "btnTEST" + Me.btnTEST.Size = New System.Drawing.Size(71, 33) + Me.btnTEST.TabIndex = 4 + Me.btnTEST.Text = "!" + Me.btnTEST.UseVisualStyleBackColor = False + Me.btnTEST.Visible = False + ' + 'Panel2 + ' + Me.Panel2.Controls.Add(Me.cbxInaktiveChats) + Me.Panel2.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel2.Location = New System.Drawing.Point(0, 698) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(271, 30) + Me.Panel2.TabIndex = 6 + ' + 'cbxInaktiveChats + ' + Me.cbxInaktiveChats.AutoSize = True + Me.cbxInaktiveChats.Location = New System.Drawing.Point(3, 6) + Me.cbxInaktiveChats.Name = "cbxInaktiveChats" + Me.cbxInaktiveChats.Size = New System.Drawing.Size(93, 17) + Me.cbxInaktiveChats.TabIndex = 7 + Me.cbxInaktiveChats.Text = "inaktive Chats" + Me.cbxInaktiveChats.UseVisualStyleBackColor = True + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.White + Me.Panel1.Controls.Add(Me.MyTextBox1) + Me.Panel1.Controls.Add(Me.PictureBox1) + Me.Panel1.Controls.Add(Me.lbl) + Me.Panel1.Controls.Add(Me.Button2) + Me.Panel1.Controls.Add(Me.Button1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 0) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(271, 63) + Me.Panel1.TabIndex = 1 + ' + 'MyTextBox1 + ' + Me.MyTextBox1._DateTimeOnly = False + Me.MyTextBox1._numbersOnly = False + Me.MyTextBox1._numbersOnlyKommastellen = "" + Me.MyTextBox1._Prozent = False + Me.MyTextBox1._ShortDateNew = False + Me.MyTextBox1._ShortDateOnly = False + Me.MyTextBox1._TimeOnly = False + Me.MyTextBox1._value = "" + Me.MyTextBox1._Waehrung = False + Me.MyTextBox1._WaehrungZeichen = True + Me.MyTextBox1.ForeColor = System.Drawing.Color.Black + Me.MyTextBox1.Location = New System.Drawing.Point(20, 40) + Me.MyTextBox1.Margin = New System.Windows.Forms.Padding(2) + Me.MyTextBox1.MaxLineLength = -1 + Me.MyTextBox1.MaxLines_Warning = "" + Me.MyTextBox1.MaxLines_Warning_Label = Nothing + Me.MyTextBox1.Name = "MyTextBox1" + Me.MyTextBox1.Size = New System.Drawing.Size(250, 20) + Me.MyTextBox1.TabIndex = 4 + ' + 'PictureBox1 + ' + Me.PictureBox1.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.search + Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox1.Location = New System.Drawing.Point(3, 40) + Me.PictureBox1.Margin = New System.Windows.Forms.Padding(2) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(13, 18) + Me.PictureBox1.TabIndex = 5 + Me.PictureBox1.TabStop = False + ' + 'lbl + ' + Me.lbl.AutoSize = True + Me.lbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbl.Location = New System.Drawing.Point(12, 11) + Me.lbl.Name = "lbl" + Me.lbl.Size = New System.Drawing.Size(127, 20) + Me.lbl.TabIndex = 3 + Me.lbl.Text = "AVISO - CHAT" + ' + 'Button2 + ' + Me.Button2.BackColor = System.Drawing.Color.MediumSeaGreen + Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button2.ForeColor = System.Drawing.Color.White + Me.Button2.Location = New System.Drawing.Point(198, 4) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(71, 33) + Me.Button2.TabIndex = 2 + Me.Button2.Text = "+ NEU" + Me.Button2.UseVisualStyleBackColor = False + ' + 'Button1 + ' + Me.Button1.BackColor = System.Drawing.Color.SteelBlue + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.ForeColor = System.Drawing.Color.White + Me.Button1.Location = New System.Drawing.Point(461, 4) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(76, 40) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "Senden" + Me.Button1.UseVisualStyleBackColor = False + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.MyFlowLayoutPanel1) + Me.SplitContainer1.Panel1.Controls.Add(Me.Panel3) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.pnl) + Me.SplitContainer1.Size = New System.Drawing.Size(542, 728) + Me.SplitContainer1.SplitterDistance = 446 + Me.SplitContainer1.TabIndex = 0 + ' + 'MyFlowLayoutPanel1 + ' + Me.MyFlowLayoutPanel1.AutoScroll = True + Me.MyFlowLayoutPanel1.BackColor = System.Drawing.Color.White + Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement1) + Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatAnhang1) + Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement2) + Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement3) + Me.MyFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill + Me.MyFlowLayoutPanel1.Location = New System.Drawing.Point(0, 44) + Me.MyFlowLayoutPanel1.Name = "MyFlowLayoutPanel1" + Me.MyFlowLayoutPanel1.Size = New System.Drawing.Size(542, 402) + Me.MyFlowLayoutPanel1.TabIndex = 0 + ' + 'UsrCntlMessenger_ChatElement1 + ' + Me.UsrCntlMessenger_ChatElement1.BackColor = System.Drawing.Color.White + Me.UsrCntlMessenger_ChatElement1.CHAT_MSG = Nothing + Me.UsrCntlMessenger_ChatElement1.Location = New System.Drawing.Point(4, 5) + Me.UsrCntlMessenger_ChatElement1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrCntlMessenger_ChatElement1.Name = "UsrCntlMessenger_ChatElement1" + Me.UsrCntlMessenger_ChatElement1.Size = New System.Drawing.Size(378, 48) + Me.UsrCntlMessenger_ChatElement1.TabIndex = 4 + ' + 'UsrCntlMessenger_ChatAnhang1 + ' + Me.UsrCntlMessenger_ChatAnhang1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.UsrCntlMessenger_ChatAnhang1.BackColor = System.Drawing.Color.White + Me.UsrCntlMessenger_ChatAnhang1.BG_COLOR = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.UsrCntlMessenger_ChatAnhang1.CHAT_MSG = Nothing + Me.UsrCntlMessenger_ChatAnhang1.Location = New System.Drawing.Point(4, 63) + Me.UsrCntlMessenger_ChatAnhang1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrCntlMessenger_ChatAnhang1.Name = "UsrCntlMessenger_ChatAnhang1" + Me.UsrCntlMessenger_ChatAnhang1.Size = New System.Drawing.Size(378, 72) + Me.UsrCntlMessenger_ChatAnhang1.TabIndex = 3 + ' + 'UsrCntlMessenger_ChatElement2 + ' + Me.UsrCntlMessenger_ChatElement2.BackColor = System.Drawing.Color.White + Me.UsrCntlMessenger_ChatElement2.CHAT_MSG = Nothing + Me.UsrCntlMessenger_ChatElement2.Location = New System.Drawing.Point(4, 145) + Me.UsrCntlMessenger_ChatElement2.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrCntlMessenger_ChatElement2.Name = "UsrCntlMessenger_ChatElement2" + Me.UsrCntlMessenger_ChatElement2.Size = New System.Drawing.Size(378, 48) + Me.UsrCntlMessenger_ChatElement2.TabIndex = 5 + ' + 'UsrCntlMessenger_ChatElement3 + ' + Me.UsrCntlMessenger_ChatElement3.BackColor = System.Drawing.Color.White + Me.UsrCntlMessenger_ChatElement3.CHAT_MSG = Nothing + Me.UsrCntlMessenger_ChatElement3.Location = New System.Drawing.Point(4, 203) + Me.UsrCntlMessenger_ChatElement3.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.UsrCntlMessenger_ChatElement3.Name = "UsrCntlMessenger_ChatElement3" + Me.UsrCntlMessenger_ChatElement3.Size = New System.Drawing.Size(378, 48) + Me.UsrCntlMessenger_ChatElement3.TabIndex = 6 + ' + 'Panel3 + ' + Me.Panel3.BackColor = System.Drawing.Color.White + Me.Panel3.Controls.Add(Me.Button5) + Me.Panel3.Controls.Add(Me.Panel4) + Me.Panel3.Controls.Add(Me.lblChatName) + Me.Panel3.Controls.Add(Me.lblOnlineOffline) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel3.Location = New System.Drawing.Point(0, 0) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(542, 44) + Me.Panel3.TabIndex = 9 + ' + 'Button5 + ' + Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Button5.BackColor = System.Drawing.Color.MediumSeaGreen + Me.Button5.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.person + Me.Button5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.ForeColor = System.Drawing.Color.White + Me.Button5.Location = New System.Drawing.Point(489, 4) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(49, 33) + Me.Button5.TabIndex = 8 + Me.Button5.UseVisualStyleBackColor = False + ' + 'Panel4 + ' + Me.Panel4.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Panel4.BackColor = System.Drawing.Color.Black + Me.Panel4.Location = New System.Drawing.Point(4, 43) + Me.Panel4.Name = "Panel4" + Me.Panel4.Size = New System.Drawing.Size(534, 1) + Me.Panel4.TabIndex = 6 + ' + 'lblChatName + ' + Me.lblChatName.AutoSize = True + Me.lblChatName.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblChatName.Location = New System.Drawing.Point(9, 11) + Me.lblChatName.Name = "lblChatName" + Me.lblChatName.Size = New System.Drawing.Size(15, 20) + Me.lblChatName.TabIndex = 4 + Me.lblChatName.Text = "-" + ' + 'lblOnlineOffline + ' + Me.lblOnlineOffline.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblOnlineOffline.BackColor = System.Drawing.Color.MediumSeaGreen + Me.lblOnlineOffline.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!) + Me.lblOnlineOffline.ForeColor = System.Drawing.Color.White + Me.lblOnlineOffline.Location = New System.Drawing.Point(377, 4) + Me.lblOnlineOffline.Name = "lblOnlineOffline" + Me.lblOnlineOffline.Size = New System.Drawing.Size(106, 33) + Me.lblOnlineOffline.TabIndex = 5 + Me.lblOnlineOffline.Text = "ONLINE" + Me.lblOnlineOffline.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.lblOnlineOffline.Visible = False + ' + 'pnl + ' + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.Button4) + Me.pnl.Controls.Add(Me.pic) + Me.pnl.Controls.Add(Me.FlowLayoutPanel) + Me.pnl.Controls.Add(Me.Button3) + Me.pnl.Controls.Add(Me.btn) + Me.pnl.Controls.Add(Me.rtbChatMessage) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(542, 278) + Me.pnl.TabIndex = 0 + ' + 'pic + ' + Me.pic.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.pic.Location = New System.Drawing.Point(10, 255) + Me.pic.Name = "pic" + Me.pic.Size = New System.Drawing.Size(524, 20) + Me.pic.TabIndex = 7 + Me.pic.TabStop = False + Me.pic.WaitOnLoad = True + ' + 'FlowLayoutPanel + ' + Me.FlowLayoutPanel.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.FlowLayoutPanel.AutoScroll = True + Me.FlowLayoutPanel.Location = New System.Drawing.Point(4, 121) + Me.FlowLayoutPanel.Name = "FlowLayoutPanel" + Me.FlowLayoutPanel.Size = New System.Drawing.Size(534, 136) + Me.FlowLayoutPanel.TabIndex = 6 + ' + 'Button3 + ' + Me.Button3.BackColor = System.Drawing.Color.SteelBlue + Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button3.ForeColor = System.Drawing.Color.White + Me.Button3.Location = New System.Drawing.Point(461, 44) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(76, 40) + Me.Button3.TabIndex = 2 + Me.Button3.Text = "+ Anhang" + Me.Button3.UseVisualStyleBackColor = False + ' + 'btn + ' + Me.btn.BackColor = System.Drawing.Color.SteelBlue + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.ForeColor = System.Drawing.Color.White + Me.btn.Location = New System.Drawing.Point(461, 4) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(76, 40) + Me.btn.TabIndex = 1 + Me.btn.Text = "Senden" + Me.btn.UseVisualStyleBackColor = False + ' + 'rtbChatMessage + ' + Me.rtbChatMessage.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.rtbChatMessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rtbChatMessage.Location = New System.Drawing.Point(3, 3) + Me.rtbChatMessage.Name = "rtbChatMessage" + Me.rtbChatMessage.Size = New System.Drawing.Size(453, 112) + Me.rtbChatMessage.TabIndex = 0 + Me.rtbChatMessage.Text = "" + ' + 'TimerNEW_MESSAGE + ' + ' + 'Timer_REFRESH + ' + Me.Timer_REFRESH.Enabled = True + Me.Timer_REFRESH.Interval = 5000 + ' + 'cntxt + ' + Me.cntxt.ImageScalingSize = New System.Drawing.Size(24, 24) + Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ChatDeaktivierenToolStripMenuItem}) + Me.cntxt.Name = "cntxt" + Me.cntxt.Size = New System.Drawing.Size(167, 26) + ' + 'ChatDeaktivierenToolStripMenuItem + ' + Me.ChatDeaktivierenToolStripMenuItem.Name = "ChatDeaktivierenToolStripMenuItem" + Me.ChatDeaktivierenToolStripMenuItem.Size = New System.Drawing.Size(166, 22) + Me.ChatDeaktivierenToolStripMenuItem.Text = "Chat deaktivieren" + ' + 'Button4 + ' + Me.Button4.BackColor = System.Drawing.Color.SteelBlue + Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button4.ForeColor = System.Drawing.Color.White + Me.Button4.Location = New System.Drawing.Point(462, 90) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(76, 25) + Me.Button4.TabIndex = 8 + Me.Button4.Text = "Chat History" + Me.Button4.UseVisualStyleBackColor = False + ' + 'frmMessenger + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(817, 728) + Me.Controls.Add(Me.SplitContainer) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMessenger" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Messenger" + Me.SplitContainer.Panel1.ResumeLayout(False) + Me.SplitContainer.Panel2.ResumeLayout(False) + CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer.ResumeLayout(False) + CType(Me.dgvChats, System.ComponentModel.ISupportInitialize).EndInit() + Me.Panel2.ResumeLayout(False) + Me.Panel2.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.MyFlowLayoutPanel1.ResumeLayout(False) + Me.Panel3.ResumeLayout(False) + Me.Panel3.PerformLayout() + Me.pnl.ResumeLayout(False) + CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit() + Me.cntxt.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents SplitContainer As SplitContainer + Friend WithEvents dgvChats As VERAG_PROG_ALLGEMEIN.MyDatagridview + Friend WithEvents SplitContainer1 As SplitContainer + Friend WithEvents MyFlowLayoutPanel1 As VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel + Friend WithEvents pnl As Panel + Friend WithEvents btn As Button + Friend WithEvents rtbChatMessage As RichTextBox + Friend WithEvents Panel1 As Panel + Friend WithEvents lbl As Label + Friend WithEvents Button2 As Button + Friend WithEvents Button1 As Button + Friend WithEvents UsrCntlMessenger_ChatAnhang1 As usrCntlMessenger_ChatAnhang + Friend WithEvents UsrCntlMessenger_ChatElement1 As usrCntlMessenger_ChatElement + Friend WithEvents Button3 As Button + Friend WithEvents UsrCntlMessenger_ChatElement2 As usrCntlMessenger_ChatElement + Friend WithEvents UsrCntlMessenger_ChatElement3 As usrCntlMessenger_ChatElement + Friend WithEvents btnTEST As Button + Friend WithEvents TimerNEW_MESSAGE As Timer + Friend WithEvents Timer_REFRESH As Timer + Friend WithEvents Panel2 As Panel + Friend WithEvents cbxInaktiveChats As CheckBox + Friend WithEvents cntxt As ContextMenuStrip + Friend WithEvents ChatDeaktivierenToolStripMenuItem As ToolStripMenuItem + Friend WithEvents FlowLayoutPanel As FlowLayoutPanel + Friend WithEvents pic As PictureBox + Friend WithEvents lblOnlineOffline As Label + Friend WithEvents Panel3 As Panel + Friend WithEvents lblChatName As Label + Friend WithEvents Panel4 As Panel + Friend WithEvents Button5 As Button + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents MyTextBox1 As MyTextBox + Friend WithEvents Button4 As Button +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx new file mode 100644 index 0000000..a0f308d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx @@ -0,0 +1,989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 106, 17 + + + 242, 17 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb new file mode 100644 index 0000000..722c4e7 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb @@ -0,0 +1,870 @@ +Imports System.Drawing +Imports System.Threading +Imports System.Windows.Forms + +Public Class frmMessenger + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim CHAT As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat = Nothing + Dim MSG_LISTENDER As New cMessangerListender + Dim topMessages As String = "20" + Dim topMessagesDateHistory As Object = Nothing + Dim loaded = False + Public EMOJI_PATH_MAIN = DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\" + Public EMOJI_PATH = "" + + Dim alloweasteregg = False + + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub initEMOJI_PATH() + + EMOJI_PATH = EMOJI_PATH_MAIN + Try + Dim IPADDR As System.Net.IPAddress + IPADDR = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList(0) + + If IPADDR.ToString.Contains("172.16.1.") Then 'WAIDHAUS + EMOJI_PATH = "\\172.16.1.100\f\PROGRAMME\CHAT_EMOJIS\" + End If + + If IPADDR.ToString.Contains("192.168.133.") Then 'SALZBURG + EMOJI_PATH = "\\192.168.133.98\f\Programme\CHAT_EMOJIS\" + End If + + If IPADDR.ToString.Contains("192.168.32.") Then 'NICKELSDORF + EMOJI_PATH = "\\192.168.32.253\Files\Programme\CHAT_EMOJIS\" + End If + + If IPADDR.ToString.Contains("192.168.100") Then 'NEUHAUS + EMOJI_PATH = "\\192.168.100.20\Share\Programme\CHAT_EMOJIS\" + End If + + If Not IO.Directory.Exists(EMOJI_PATH) Then + EMOJI_PATH = EMOJI_PATH_MAIN + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellContentClick, dgvChats.CellClick + If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then + Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1) + intiDGVChats(dgv_ChatID, False) ' Splate ungelesen sol sich ändern + End If + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Dim f As New frmMessenger_NeuerChat + f.ShowDialog(Me) + + If f.chat_id > 0 Then + 'Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1) + intiDGVChats(f.chat_id) + End If + End Sub + + Private Sub frmMessenger_Load(sender As Object, e As EventArgs) Handles Me.Load + initEMOJI_PATH() + + rtbChatMessage.AllowDrop = True + MSG_LISTENDER.START() + TimerNEW_MESSAGE.Enabled = True + intiDGVChats() + + If My.Application.Info.AssemblyName = "SDL" Then + lbl.Text = "CHAT" + End If + MyFlowLayoutPanel1.Controls.Clear() + 'loaded = True + alloweasteregg = cAllgemein.MITARBEITER.mit_ChatEasteregg + initEmojis() + End Sub + + Sub initEmojis() + FlowLayoutPanel.Controls.Clear() + If alloweasteregg Then pic.Visible = False + + + + ' If IO.Directory.Exists(My.Application.roo "") Then + + If IO.Directory.Exists(EMOJI_PATH) Then + For Each a In IO.Directory.GetFiles(EMOJI_PATH) '.OrderBy(Function(f) f) + If alloweasteregg Or Not a.Contains("easteregg") Then + If IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then + + Dim p As New PictureBox + p.Size = New Size(40, 40) + p.BackgroundImage = Image.FromFile(a) + p.BackgroundImageLayout = ImageLayout.Zoom + p.Cursor = Cursors.Hand + AddHandler p.Click, Sub() + If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub + If CHAT IsNot Nothing Then + saveEmoji(a) + End If + End Sub + + FlowLayoutPanel.Controls.Add(p) + End If + End If + 'MsgBox(a) + Next + End If + End Sub + + 'Sub initEmojisTEST() + ' FlowLayoutPanel.Controls.Clear() + ' If alloweasteregg Then pic.Visible = False + + ' If IO.Directory.Exists(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\") Then + ' Dim EmojiPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "CHAT_EMOJIS\" + ' If Not IO.Directory.Exists(EmojiPath) Then IO.Directory.CreateDirectory(EmojiPath) + + ' If VERAG_PROG_ALLGEMEIN.cProgrammeUpdate.copyProgramLIST(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\", EmojiPath, {}) Then + ' For Each a In IO.Directory.GetFiles(EmojiPath) '.OrderBy(Function(f) f) + ' If alloweasteregg Or Not a.Contains("easteregg") Then + ' If IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then + + ' Dim p As New PictureBox + ' p.Size = New Size(40, 40) + ' p.BackgroundImage = Image.FromFile(a) + ' p.BackgroundImageLayout = ImageLayout.Zoom + ' p.Cursor = Cursors.Hand + ' AddHandler p.Click, Sub() + ' If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub + ' If CHAT IsNot Nothing Then + ' saveEmoji(a) + ' End If + ' End Sub + + ' FlowLayoutPanel.Controls.Add(p) + ' End If + ' End If + ' Next + ' End If + ' End If + 'End Sub + + Sub intiDGVChats(Optional dgv_ChatID = -1, Optional reloadChat = True, Optional selFirst = False) + With dgvChats + Dim loadedTmp = loaded + If Not reloadChat Then + loaded = False + End If + + Dim whereName = "" + If MyTextBox1.Text.Trim <> String.Empty Then + whereName = " WHERE chat_name LIKE '%" & MyTextBox1.Text.Trim & "%' " + End If + + .DataSource = SQL.loadDgvBySql("SELECT * FROM( + SELECT [chat_id],CASE WHEN chat_name<>'' THEN chat_name ELSE (SELECT TOP 1 mit_vname + ' ' + mit_nname FROM tblMessenger_ChatMembers INNER JOIN tblMitarbeiter ON mit_id=chatMb_maId where chatMb_chatId=chat_id AND chatMb_maId <>" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ") END as chat_name + ,(SELECT REPLACE(COUNT(*),'0','') FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE [chat_id]=chatMg_chatId AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0) as ungelesen ,chat_lastMsg + FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0 + AND chat_aktiv='" & (Not cbxInaktiveChats.Checked) & "' + ) as T " & whereName & " ORDER BY chat_lastMsg DESC", "ADMIN") + + If .Columns.Count = 0 Then Exit Sub + + .Columns("chat_id").Visible = False + .Columns("chat_lastMsg").Visible = False + .Columns("chat_name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + .Columns("ungelesen").Width = 30 + .Columns("ungelesen").HeaderText = "neu" + .Columns("ungelesen").DefaultCellStyle.ForeColor = Color.White + .Columns("ungelesen").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter + .Columns("ungelesen").DefaultCellStyle.Font = New Font(.Font.FontFamily, 7, FontStyle.Bold) + + dgvChats.GetOrder() + + If selFirst Then + dgvChats.ClearSelection() + SplitContainer1.Enabled = False + + If .Rows.Count > 0 Then + loaded = True + SplitContainer1.Enabled = True + .Rows(0).Selected = True + End If + loaded = loadedTmp + Else + + + If Not reloadChat Then + dgvChats.ClearSelection() + If dgv_ChatID > 0 Then + For Each r As DataGridViewRow In .Rows + If r.Cells("chat_id").Value = dgv_ChatID Then + dgvChats.ClearSelection() + r.Selected = True : Exit For + End If + Next + End If + loaded = loadedTmp + Else + + dgvChats.ClearSelection() + SplitContainer1.Enabled = False + + If dgv_ChatID > 0 Then + For Each r As DataGridViewRow In .Rows + If r.Cells("chat_id").Value = dgv_ChatID Then + dgvChats.ClearSelection() + SplitContainer1.Enabled = True + r.Selected = True : Exit For + End If + Next + End If + + End If + End If + dgvChats.SetOrder() + If dgvChats.SelectedRows.Count > 0 Then dgvChats.FirstDisplayedCell = dgvChats.SelectedRows(0).Cells("chat_name") + 'dgvChats.ClearSelection() + 'SplitContainer1.Enabled = False + + 'If dgv_ChatID > 0 Then + ' For Each r As DataGridViewRow In .Rows + ' If r.Cells("chat_id").Value = dgv_ChatID Then + ' dgvChats.ClearSelection() + ' SplitContainer1.Enabled = True + ' r.Selected = True : Exit For + ' End If + ' Next + 'End If + + + End With + If Not selFirst Then rtbChatMessage.Focus() + + End Sub + + + Private Sub dgvChats_SelectionChanged(sender As Object, e As EventArgs) Handles dgvChats.SelectionChanged + If Not loaded Then Exit Sub + topMessagesDateHistory = Nothing ' zurücksetzen des HistoryDate + MyFlowLayoutPanel1.Controls.Clear() + If dgvChats.SelectedRows.Count > 0 Then + CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, topMessages, topMessagesDateHistory) + SplitContainer1.Enabled = True + RELOAD_CHAT() + End If + End Sub + + Sub RELOAD_CHAT() + Try + lblChatName.Text = "-" + ' Dim scrollMax = (MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum) + MyFlowLayoutPanel1.Controls.Clear() + If CHAT IsNot Nothing Then + CHAT.READ_ALL_MESSAGES() + ' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value) + For Each MSG In CHAT.CHAT_MESSAGES + MyFlowLayoutPanel1.Controls.Add(getControlFromMSG(MSG)) + Next + ' MyFlowLayoutPanel1.VerticalScroll.() + 'MyFlowLayoutPanel1.AutoScrollPosition = New Point(MyFlowLayoutPanel1.Width, MyFlowLayoutPanel1.Height) + ' If MyFlowLayoutPanel1.Controls.Count > 0 Then MyFlowLayoutPanel1.ScrollControlIntoView(MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1)) + + ' If scrollMax Then + MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum + + If CHAT.chat_name <> "" Then + lblChatName.Text = CHAT.chat_name + Button5.BackgroundImage = My.Resources.people + Else + lblChatName.Text = SQL.getValueTxtBySql("SELECT isnull(mit_vname,'') + ' ' + isnull(mit_nname,'') FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN") + Button5.BackgroundImage = My.Resources.person + End If + End If + checkOnlineOffline() + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + Sub checkOnlineOffline() + Try + + If CHAT Is Nothing OrElse CHAT.chat_name <> "" Then + lblOnlineOffline.Visible = False + Else + lblOnlineOffline.Visible = True + Dim cntOnline = SQL.getValueTxtBySql("SELECT count(*) FROM [tblMessenger_ChatMembers] inner join tblSessions ON sess_maId=[chatMb_maId] and sess_lastRm > dateadd(MINUTE,-2, getdate()) where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN") + If cntOnline > 0 Then + lblOnlineOffline.Text = "ONLINE" + lblOnlineOffline.BackColor = Color.MediumSeaGreen + Else + lblOnlineOffline.Text = "OFFLINE" + lblOnlineOffline.BackColor = Color.Red + End If + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + Function getControlFromMSG(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages) + Select Case MSG.chatMg_type + Case "TEXT" + + Dim CHAT_ITEM As New usrCntlMessenger_ChatElement(MSG) + checkUsrId(MSG, CHAT_ITEM) + + 'CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text + 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId + Return (CHAT_ITEM) + + + + 'CHAT.READ_ALL_MESSAGES() + + Case "ATTACHMENT" + + + Dim CHAT_ITEM As New usrCntlMessenger_ChatAnhang(MSG) + checkUsrId(MSG, CHAT_ITEM) + ' CHAT_ITEM.path = MSG.chatMg_text + ' CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text + 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId + Return (CHAT_ITEM) + + Case "EMOJI" + + + Dim CHAT_ITEM As New usrCntlMessenger_ChatEmoji(Me, MSG) + checkUsrId(MSG, CHAT_ITEM) + ' CHAT_ITEM.path = MSG.chatMg_text + ' CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text + 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId + Return (CHAT_ITEM) + + End Select + Return Nothing + End Function + + Sub REFRESH_CHAT() + Try + + If CHAT IsNot Nothing Then + CHAT.LOAD_MESSAGES(topMessages) + + ' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value) + Dim newMsg As Boolean = False + For Each MSG In CHAT.CHAT_MESSAGES + Dim found As Boolean = False + For Each I In MyFlowLayoutPanel1.Controls + Select Case I.GetType.ToString + Case GetType(usrCntlMessenger_ChatElement).ToString + If DirectCast(I, usrCntlMessenger_ChatElement).CHAT_MSG.chatMg_id = MSG.chatMg_id Then + found = True + End If + Case GetType(usrCntlMessenger_ChatAnhang).ToString + If DirectCast(I, usrCntlMessenger_ChatAnhang).CHAT_MSG.chatMg_id = MSG.chatMg_id Then + found = True + End If + Case GetType(usrCntlMessenger_ChatEmoji).ToString + If DirectCast(I, usrCntlMessenger_ChatEmoji).CHAT_MSG.chatMg_id = MSG.chatMg_id Then + found = True + End If + End Select + + Next + If Not found Then + newMsg = True + MyFlowLayoutPanel1.Controls.Add(getControlFromMSG(MSG)) + + 'Dim CHAT_ITEM As New usrCntlMessenger_ChatElement(MSG) + 'checkUsrId(MSG, CHAT_ITEM) + + ''CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text + ''CHAT_ITEM.lblName.Text = MSG.chatMg_maId + 'MyFlowLayoutPanel1.Controls.Add(CHAT_ITEM) + CHAT.READ_ALL_MESSAGES() + End If + Next + If newMsg Then + MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum + End If + ' MyFlowLayoutPanel1.VerticalScroll.() + 'MyFlowLayoutPanel1.AutoScrollPosition = New Point(MyFlowLayoutPanel1.Width, MyFlowLayoutPanel1.Height) + ' If MyFlowLayoutPanel1.Controls.Count > 0 Then MyFlowLayoutPanel1.ScrollControlIntoView(MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1)) + ' MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum --> nur, wenn neue MSG + End If + checkOnlineOffline() + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + 'Sub ORDER_CHAT_MSG() + ' If Not CHECK_CHATMSG_ORDER() Then + + ' For Each I As usrCntlMessenger_ChatElement In MyFlowLayoutPanel1.Controls + + ' Next + ' End If + + 'End Sub + 'Function CHECK_CHATMSG_ORDER() As Boolean + ' Dim oldItem = Nothing + ' For Each I As usrCntlMessenger_ChatElement In MyFlowLayoutPanel1.Controls + ' If oldItem IsNot Nothing And I.CHAT_MSG.chatMg_datetime < oldItem.CHAT_MSG.chatMg_datetime Then + ' Return False + ' End If + ' oldItem = I + ' Next + ' Return True + 'End Function + Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatElement) + If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0) + 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30) + 'CHAT_ITEM.Anchor = AnchorStyles.None + 'CHAT_ITEM.Dock = DockStyle.Right + ' CHAT_ITEM.Dock = DockStyle.Right + CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192)) + End If + End Sub + Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatEmoji) + If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0) + 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30) + 'CHAT_ITEM.Anchor = AnchorStyles.None + 'CHAT_ITEM.Dock = DockStyle.Right + ' CHAT_ITEM.Dock = DockStyle.Right + CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192)) + End If + End Sub + Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatAnhang) + If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0) + 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30) + 'CHAT_ITEM.Anchor = AnchorStyles.None + 'CHAT_ITEM.Dock = DockStyle.Right + ' CHAT_ITEM.Dock = DockStyle.Right + CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192)) + End If + + End Sub + + Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click + If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub + If rtbChatMessage.Text.Trim <> "" Then + If CHAT IsNot Nothing Then + + Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + MSG.chatMg_text = rtbChatMessage.Text.Trim + MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname + MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then + SEND_TOKEN_NEW_MESSAGE() + ' CHAT.CHAT_MESSAGES.Add(MSG) + SET_ALL_READ() + REFRESH_CHAT() + rtbChatMessage.Text = "" + rtbChatMessage.Focus() + End If + + End If + End If + End Sub + + Sub SET_ALL_READ() + For Each u In MyFlowLayoutPanel1.Controls + Select Case u.GetType.ToString + Case GetType(usrCntlMessenger_ChatElement).ToString + DirectCast(u, usrCntlMessenger_ChatElement).lblNewMsg.Visible = False + Case GetType(usrCntlMessenger_ChatAnhang).ToString + DirectCast(u, usrCntlMessenger_ChatAnhang).lblNewMsg.Visible = False + Case GetType(usrCntlMessenger_ChatEmoji).ToString + DirectCast(u, usrCntlMessenger_ChatEmoji).lblNewMsg.Visible = False + End Select + Next + End Sub + Sub SEND_TOKEN_NEW_MESSAGE() + For Each MB In CHAT.CHAT_MEMBERS + If MB.chatMb_maId <> VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + + Dim IP = cSession.GET_IP_FROM_MAID(MB.chatMb_maId) + + If IP <> "" Then + Dim SC As New cServerClient ' SC.begin("192.168.0.50", "NEW_MESSAGE") '192.168.0.95 = atlas suben + SC.begin(IP, "NEW_MESSAGE") + ' MsgBox(IP) + End If + End If + Next + + 'SC.waitTillFinished() + 'Thread.Sleep(1000) + + 'If SC.status = "TaskSuccess" Then + + 'Else + + 'End If + + + End Sub + + + Private Sub rtbChatMessage_KeyDown(sender As Object, e As KeyEventArgs) Handles rtbChatMessage.KeyDown + If e.Modifiers = Keys.Control And e.KeyCode = Keys.Return Then + btn.PerformClick() + e.Handled = True + End If + End Sub + + + + Private Sub TimerNEW_MESSAGE_Tick(sender As Object, e As EventArgs) Handles TimerNEW_MESSAGE.Tick + If CHAT IsNot Nothing And VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True Then + VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = False + ' MsgBox("asd") + REFRESH_CHAT() + End If + End Sub + + Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_REFRESH.Tick + loaded = False + REFRESH_CHAT() + Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1) + If checkNewestShit() Then ' prüft, ob neue Nachrichten gekommen sind, sont kein Refresh (stört das scrollen) + intiDGVChats(dgv_ChatID, False) + End If + + loaded = True + End Sub + + + Function checkNewestShit() As Boolean + Try + + Dim Dt_New As DataTable = SQL.loadDgvBySql("SELECT [chat_id],CASE WHEN chat_name<>'' THEN chat_name ELSE (SELECT TOP 1 mit_vname + ' ' + mit_nname FROM tblMessenger_ChatMembers INNER JOIN tblMitarbeiter ON mit_id=chatMb_maId where chatMb_chatId=chat_id AND chatMb_maId <>" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ") END as chat_name + ,(SELECT REPLACE(COUNT(*),'0','') FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE [chat_id]=chatMg_chatId AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0) as ungelesen + FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0 + AND chat_aktiv='" & (Not cbxInaktiveChats.Checked) & "' ORDER BY chat_lastMsg DESC", "ADMIN") + Dim Dt_Current As DataTable = dgvChats.DataSource + + If Dt_Current.Rows.Count <> Dt_New.Rows.Count Then Return True + + For Each r As DataRow In Dt_New.Rows + If r("ungelesen") IsNot DBNull.Value AndAlso r("ungelesen") <> "" AndAlso CInt(r("ungelesen")) > 0 Then + Return True + End If + Next + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + Sub initMsg() + Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1) + 'intiDGVChats(dgv_ChatID) + End Sub + + Private Sub frmMessenger_Shown(sender As Object, e As EventArgs) Handles Me.Shown + dgvChats.ClearSelection() + SplitContainer1.Enabled = False + loaded = True + End Sub + + Private Sub cbxInaktiveChats_CheckedChanged(sender As Object, e As EventArgs) Handles cbxInaktiveChats.CheckedChanged + intiDGVChats() + If sender.checked Then + ChatDeaktivierenToolStripMenuItem.Text = "Chat aktivieren" + Else + ChatDeaktivierenToolStripMenuItem.Text = "Chat deaktivieren" + End If + End Sub + + Private Sub ChatDeaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ChatDeaktivierenToolStripMenuItem.Click + If dgvChats.SelectedRows.Count > 0 Then + If vbYes = MsgBox("Möchten Sie diesen Chat wirklich deaktivieren?", vbYesNoCancel) Then + + CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, 1) + SplitContainer1.Enabled = True + CHAT.chat_aktiv = Not CHAT.chat_aktiv + CHAT.SAVE(False) + + intiDGVChats() + End If + 'RELOAD_CHAT() + End If + End Sub + + 'Private Sub dgvChats_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellValueChanged + ' Try + + ' If dgvChats.Columns.Count > 0 Then + + ' If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then + ' If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then + ' dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red + ' End If + ' 'For Each r As DataGridViewRow In .Rows + ' ' If r.Cells("chat_id").Value = dgv_ChatID Then + ' ' dgvChats.ClearSelection() + ' ' r.Selected = True : Exit For + ' ' End If + + ' ' If r.Cells("ungelesen").Value <> "" Then + ' ' r.Cells("ungelesen").Style.BackColor = Color.Red + ' ' End If + ' 'Next + ' End If + ' End If + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + 'End Sub + + Private Sub dgvChats_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles dgvChats.CellPainting + Try + + If dgvChats.Columns.Count > 0 Then + + If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then + If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then + dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red + End If + 'For Each r As DataGridViewRow In .Rows + ' If r.Cells("chat_id").Value = dgv_ChatID Then + ' dgvChats.ClearSelection() + ' r.Selected = True : Exit For + ' End If + + ' If r.Cells("ungelesen").Value <> "" Then + ' r.Cells("ungelesen").Style.BackColor = Color.Red + ' End If + 'Next + End If + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub + If CHAT IsNot Nothing Then + Dim fd As New OpenFileDialog + ' fd.Filter = "Excel Dateien|*.xls;*.xlsx" + fd.RestoreDirectory = True + fd.Title = "Datei auswählen" + + ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + + 'fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG" + 'fd.FilterIndex = 2 + + If fd.ShowDialog() = System.Windows.Forms.DialogResult.OK And fd.FileName <> "" Then + saveFileAtt(fd.FileName) + 'Dim fileName = New IO.FileInfo(fd.FileName).Name + 'Dim docId = -1 + 'If saveToDS(fileName, fd.FileName, docId) Then + + ' Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + ' MSG.chatMg_type = "ATTACHMENT" + ' MSG.chatMg_text = fileName + ' MSG.chatMg_anhang_docId = docId + ' MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname + ' MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + ' If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then + ' SEND_TOKEN_NEW_MESSAGE() + ' ' CHAT.CHAT_MESSAGES.Add(MSG) + ' SET_ALL_READ() + ' REFRESH_CHAT() + ' rtbChatMessage.Text = "" + ' rtbChatMessage.Focus() + ' End If + ' End If + End If + + End If + End Sub + + Sub saveFileAtt(filePath) + Dim fileName = New IO.FileInfo(filePath).Name + Dim docId = -1 + If saveToDS(fileName, filePath, docId) Then + + Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + MSG.chatMg_type = "ATTACHMENT" + MSG.chatMg_text = fileName + MSG.chatMg_anhang_docId = docId + MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname + MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then + SEND_TOKEN_NEW_MESSAGE() + ' CHAT.CHAT_MESSAGES.Add(MSG) + SET_ALL_READ() + REFRESH_CHAT() + rtbChatMessage.Text = "" + rtbChatMessage.Focus() + End If + End If + End Sub + Sub saveEmoji(filePath) + ' Dim fileName = New IO.FileInfo(filePath).Name + 'Dim docId = -1 + 'If saveToDS(fileName, filePath, docId) Then + + Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + MSG.chatMg_type = "EMOJI" + MSG.chatMg_text = filePath + 'MSG.chatMg_anhang_docId = docId + MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname + MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then + SEND_TOKEN_NEW_MESSAGE() + ' CHAT.CHAT_MESSAGES.Add(MSG) + SET_ALL_READ() + REFRESH_CHAT() + 'rtbChatMessage.Text = filePath + 'rtbChatMessage.Focus() + End If + ' End If + End Sub + Public Shared Function saveToDS(fileName, sourcePath, Optional ByRef da_id = -1) As Boolean + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "CHAT_ANHAENGE", Now.ToString("ddMMyy_HHmmss.ffff"), "", "", fileName, -1, False) + If Not DS.uploadDataToDATENSERVER(sourcePath) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False + If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False + da_id = DS.da_id + ' destPath = DS.GET_TOP1_PATH + Return True + End Function + + + Private Sub dgvChats_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvChats.CellMouseClick + If e.Button = MouseButtons.Right Then + + If e.RowIndex >= 0 Then + If dgvChats.Rows.Count > 0 Then + + 'Dim chatId = dgvChats.Rows(e.RowIndex).Cells("chat_id").Value + 'VERAG_PROG_ALLGEMEIN.cMessenger.GEN_NEW_CHAT() + dgvChats.ClearSelection() + SplitContainer1.Enabled = False + CHAT = Nothing + End If + dgvChats.Rows(e.RowIndex).Selected = True + cntxt.Show(Cursor.Position) + End If + End If + End Sub + + + + + Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles rtbChatMessage.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter + e.Effect = DragDropEffects.All + End Sub + Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles rtbChatMessage.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop + Try + If e.Data.GetDataPresent("FileDrop", True) = True Then + Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei. + If FileList.Count > 0 Then + 'If Not _MULTI_FILES And FileList.Count > 1 Then + ' MsgBox("Es können nicht mehrere Dateien hochgeladen werden!") + ' Exit Sub + 'End If + For Each W In FileList + If Not W.ToUpper.EndsWith(".EXE") Then + saveFileAtt(W) + End If + Next + End If + End If + Catch ex As Exception + MsgBox(" FEHLER: DragDrop!" & ex.Message & ex.StackTrace) + End Try + End Sub + + Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click + Dim codewort = InputBox("Whoami?", "¿").ToLower + If codewort = "easteregg" Or codewort = "osterhase" Then + cMitarbeiter.UPDATE_EASTEREGG(True) + cAllgemein.MITARBEITER.LOAD(cAllgemein.USRID) + + alloweasteregg = True + initEmojis() + MsgBox("Hurra! Neue Emojis freigeschaltet!") + End If + End Sub + + Private Sub pic_MouseHover(sender As Object, e As EventArgs) Handles pic.MouseEnter + pic.BackgroundImage = My.Resources.easteregg + End Sub + + Private Sub pic_MouseLeave(sender As Object, e As EventArgs) Handles pic.MouseLeave + pic.BackgroundImage = Nothing + + End Sub + + Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + If CHAT Is Nothing Then Exit Sub + + If CHAT.chat_name <> "" Then + Dim f As New frmMessenger_Members(CHAT) + f.ShowDialog(Me) + Else + Dim mit_id = SQL.getValueTxtBySql("SELECT mit_id FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN") + Dim f As New frmMitarbeitersuche(mit_id) + f.ShowDialog(Me) + End If + + End Sub + + Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.Leave + intiDGVChats(, False, True) + End Sub + + Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyTextBox1.KeyUp + If e.KeyCode = Keys.Return Or MyTextBox1.Text = "" Then + intiDGVChats(, False, True) + End If + End Sub + + Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click + MyTextBox1.Text = "" + intiDGVChats(, False, True) + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + Dim dateTmp = InputBox("Bitte geben Sie das Datum ein, ab dem der Chat dargestellt werden soll:",, Now.AddMonths(-1).ToShortDateString) + If IsDate(dateTmp) Then + topMessagesDateHistory = CDate(dateTmp) + CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, 1, topMessagesDateHistory) + RELOAD_CHAT() + Else + MsgBox("Datum ungültig!") + End If + End Sub + + + + 'Private Sub rtbChatMessage_TextChanged(sender As Object, e As EventArgs) Handles rtbChatMessage.TextChanged + ' FlowLayoutPanel.Enabled = (rtbChatMessage.Text = "") + 'End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb new file mode 100644 index 0000000..aaec229 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb @@ -0,0 +1,184 @@ + +Partial Class frmMessenger_Members + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger_Members)) + Me.dgvChatMembers = New System.Windows.Forms.DataGridView() + Me.lbl = New System.Windows.Forms.Label() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() + Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.clmnMaId = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.clmnName = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.clmnFirma = New System.Windows.Forms.DataGridViewTextBoxColumn() + CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'dgvChatMembers + ' + Me.dgvChatMembers.AllowUserToAddRows = False + Me.dgvChatMembers.AllowUserToDeleteRows = False + Me.dgvChatMembers.AllowUserToResizeColumns = False + Me.dgvChatMembers.AllowUserToResizeRows = False + Me.dgvChatMembers.BackgroundColor = System.Drawing.Color.White + DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvChatMembers.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1 + Me.dgvChatMembers.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvChatMembers.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.clmnMaId, Me.clmnName, Me.clmnFirma}) + DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] + Me.dgvChatMembers.DefaultCellStyle = DataGridViewCellStyle2 + Me.dgvChatMembers.Location = New System.Drawing.Point(12, 24) + Me.dgvChatMembers.Name = "dgvChatMembers" + Me.dgvChatMembers.ReadOnly = True + DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvChatMembers.RowHeadersDefaultCellStyle = DataGridViewCellStyle3 + Me.dgvChatMembers.RowHeadersVisible = False + Me.dgvChatMembers.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgvChatMembers.Size = New System.Drawing.Size(327, 323) + Me.dgvChatMembers.TabIndex = 2 + ' + 'lbl + ' + Me.lbl.AutoSize = True + Me.lbl.Location = New System.Drawing.Point(9, 8) + Me.lbl.Name = "lbl" + Me.lbl.Size = New System.Drawing.Size(55, 13) + Me.lbl.TabIndex = 4 + Me.lbl.Text = "Mitglieder:" + ' + 'Button2 + ' + Me.Button2.BackColor = System.Drawing.Color.MediumSeaGreen + Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button2.ForeColor = System.Drawing.Color.White + Me.Button2.Location = New System.Drawing.Point(268, 353) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(71, 33) + Me.Button2.TabIndex = 5 + Me.Button2.Text = "+ NEU" + Me.Button2.UseVisualStyleBackColor = False + Me.Button2.Visible = False + ' + 'Button1 + ' + Me.Button1.BackColor = System.Drawing.Color.Red + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.ForeColor = System.Drawing.Color.White + Me.Button1.Location = New System.Drawing.Point(179, 353) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(83, 33) + Me.Button1.TabIndex = 6 + Me.Button1.Text = "- Entfernen" + Me.Button1.UseVisualStyleBackColor = False + Me.Button1.Visible = False + ' + 'DataGridViewTextBoxColumn1 + ' + Me.DataGridViewTextBoxColumn1.HeaderText = "Column1" + Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" + Me.DataGridViewTextBoxColumn1.Visible = False + ' + 'DataGridViewTextBoxColumn2 + ' + Me.DataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill + Me.DataGridViewTextBoxColumn2.HeaderText = "Name" + Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2" + ' + 'DataGridViewTextBoxColumn3 + ' + Me.DataGridViewTextBoxColumn3.HeaderText = "Firma" + Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3" + ' + 'clmnMaId + ' + Me.clmnMaId.HeaderText = "Column1" + Me.clmnMaId.Name = "clmnMaId" + Me.clmnMaId.ReadOnly = True + Me.clmnMaId.Visible = False + ' + 'clmnName + ' + Me.clmnName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill + Me.clmnName.HeaderText = "Name" + Me.clmnName.Name = "clmnName" + Me.clmnName.ReadOnly = True + ' + 'clmnFirma + ' + Me.clmnFirma.HeaderText = "Firma" + Me.clmnFirma.Name = "clmnFirma" + Me.clmnFirma.ReadOnly = True + ' + 'frmMessenger_Members + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(347, 394) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.lbl) + Me.Controls.Add(Me.dgvChatMembers) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMessenger_Members" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Mitglieder" + CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents dgvChatMembers As Windows.Forms.DataGridView + Friend WithEvents lbl As Windows.Forms.Label + Friend WithEvents clmnMaId As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents clmnName As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents clmnFirma As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents DataGridViewTextBoxColumn1 As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents DataGridViewTextBoxColumn2 As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents DataGridViewTextBoxColumn3 As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents Button2 As Windows.Forms.Button + Friend WithEvents Button1 As Windows.Forms.Button +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx new file mode 100644 index 0000000..9bddf4e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx @@ -0,0 +1,989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb new file mode 100644 index 0000000..aa5a27d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb @@ -0,0 +1,73 @@ +Imports System.Windows.Forms + +Public Class frmMessenger_Members + + Dim SQL As New SQL + Dim CHAT As New cMessenger.cMessenger_Chat + + Dim loaded = False + Public chat_id As Integer = -1 + + Sub New(CHAT) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.CHAT = CHAT + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Sub initDGV() + With dgvChatMembers + .Rows.Clear() + + For Each MB In CHAT.CHAT_MEMBERS + Dim MA As New cMitarbeiter(MB.chatMb_maId) + .Rows.Add({MB.chatMb_maId, MA.Fullname, If(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma)}) + Next + .ClearSelection() + End With + End Sub + + Private Sub frmMessenger_Members_Load(sender As Object, e As EventArgs) Handles Me.Load + initDGV() + If CHAT.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = 4 Then + Button1.Visible = True + Button2.Visible = True + End If + End Sub + + Private Sub dgvChatMembers_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChatMembers.CellDoubleClick, dgvChatMembers.CellContentDoubleClick + If dgvChatMembers.SelectedRows.Count > 0 Then + Dim mit_id = dgvChatMembers.SelectedRows(0).Cells("clmnMaId").Value + Dim f As New frmMitarbeitersuche(mit_id) + f.ShowDialog(Me) + End If + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Dim f As New frmMessenger_NeuerChat(CHAT) + f.ShowDialog() + initDGV() + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + If dgvChatMembers.SelectedRows.Count > 1 Then + Dim ol As New List(Of Object) + For Each r As DataGridViewRow In dgvChatMembers.SelectedRows + If r.Cells("clmnMaId").Value <> VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + For Each MB In CHAT.CHAT_MEMBERS + If r.Cells("clmnMaId").Value = MB.chatMb_maId Then + ol.Add(MB) + End If + Next + End If + Next + For Each o In ol + CHAT.CHAT_MEMBERS.Remove(o) + If CHAT.SAVE_MEMBERS() Then + initDGV() + End If + Next + End If + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb new file mode 100644 index 0000000..426acc0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb @@ -0,0 +1,246 @@ + _ +Partial Class frmMessenger_NeuerChat + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger_NeuerChat)) + Me.dgvMitarbeiter = New System.Windows.Forms.DataGridView() + Me.dgvChatMembers = New System.Windows.Forms.DataGridView() + Me.btn = New System.Windows.Forms.Button() + Me.lbl = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.clmnMaId = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.clmnName = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.clmnFirma = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox() + CType(Me.dgvMitarbeiter, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'dgvMitarbeiter + ' + Me.dgvMitarbeiter.AllowUserToAddRows = False + Me.dgvMitarbeiter.AllowUserToDeleteRows = False + Me.dgvMitarbeiter.AllowUserToResizeColumns = False + Me.dgvMitarbeiter.AllowUserToResizeRows = False + Me.dgvMitarbeiter.BackgroundColor = System.Drawing.Color.White + Me.dgvMitarbeiter.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvMitarbeiter.Location = New System.Drawing.Point(13, 46) + Me.dgvMitarbeiter.MultiSelect = False + Me.dgvMitarbeiter.Name = "dgvMitarbeiter" + Me.dgvMitarbeiter.RowHeadersVisible = False + Me.dgvMitarbeiter.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgvMitarbeiter.Size = New System.Drawing.Size(304, 393) + Me.dgvMitarbeiter.TabIndex = 1 + ' + 'dgvChatMembers + ' + Me.dgvChatMembers.AllowUserToAddRows = False + Me.dgvChatMembers.BackgroundColor = System.Drawing.Color.White + Me.dgvChatMembers.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvChatMembers.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.clmnMaId, Me.clmnName, Me.clmnFirma}) + Me.dgvChatMembers.Location = New System.Drawing.Point(323, 62) + Me.dgvChatMembers.Name = "dgvChatMembers" + Me.dgvChatMembers.ReadOnly = True + Me.dgvChatMembers.RowHeadersVisible = False + Me.dgvChatMembers.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgvChatMembers.Size = New System.Drawing.Size(327, 323) + Me.dgvChatMembers.TabIndex = 2 + ' + 'btn + ' + Me.btn.BackColor = System.Drawing.Color.SteelBlue + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.ForeColor = System.Drawing.Color.White + Me.btn.Location = New System.Drawing.Point(323, 392) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(327, 47) + Me.btn.TabIndex = 3 + Me.btn.Text = "Chat eröffnen" + Me.btn.UseVisualStyleBackColor = False + ' + 'lbl + ' + Me.lbl.AutoSize = True + Me.lbl.Location = New System.Drawing.Point(320, 46) + Me.lbl.Name = "lbl" + Me.lbl.Size = New System.Drawing.Size(117, 13) + Me.lbl.TabIndex = 4 + Me.lbl.Text = "Eingeladene Mitglieder:" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(10, 7) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(41, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Suche:" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(320, 7) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(58, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Chatname:" + ' + 'DataGridViewTextBoxColumn1 + ' + Me.DataGridViewTextBoxColumn1.HeaderText = "Column1" + Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" + Me.DataGridViewTextBoxColumn1.Visible = False + ' + 'DataGridViewTextBoxColumn2 + ' + Me.DataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill + Me.DataGridViewTextBoxColumn2.HeaderText = "Name" + Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2" + ' + 'DataGridViewTextBoxColumn3 + ' + Me.DataGridViewTextBoxColumn3.HeaderText = "Firma" + Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3" + ' + 'MyComboBox1 + ' + Me.MyComboBox1._allowedValuesFreiText = Nothing + Me.MyComboBox1._allowFreiText = False + Me.MyComboBox1._value = "" + Me.MyComboBox1.FormattingEnabled = True + Me.MyComboBox1.Location = New System.Drawing.Point(240, 23) + Me.MyComboBox1.Name = "MyComboBox1" + Me.MyComboBox1.Size = New System.Drawing.Size(77, 21) + Me.MyComboBox1.TabIndex = 8 + ' + 'MyTextBox2 + ' + Me.MyTextBox2._DateTimeOnly = False + Me.MyTextBox2._numbersOnly = False + Me.MyTextBox2._numbersOnlyKommastellen = "" + Me.MyTextBox2._Prozent = False + Me.MyTextBox2._ShortDateNew = False + Me.MyTextBox2._ShortDateOnly = False + Me.MyTextBox2._TimeOnly = False + Me.MyTextBox2._value = "" + Me.MyTextBox2._Waehrung = False + Me.MyTextBox2._WaehrungZeichen = True + Me.MyTextBox2.Enabled = False + Me.MyTextBox2.ForeColor = System.Drawing.Color.Black + Me.MyTextBox2.Location = New System.Drawing.Point(323, 23) + Me.MyTextBox2.MaxLineLength = -1 + Me.MyTextBox2.MaxLines_Warning = "" + Me.MyTextBox2.MaxLines_Warning_Label = Nothing + Me.MyTextBox2.Name = "MyTextBox2" + Me.MyTextBox2.Size = New System.Drawing.Size(327, 20) + Me.MyTextBox2.TabIndex = 6 + ' + 'clmnMaId + ' + Me.clmnMaId.HeaderText = "Column1" + Me.clmnMaId.Name = "clmnMaId" + Me.clmnMaId.ReadOnly = True + Me.clmnMaId.Visible = False + ' + 'clmnName + ' + Me.clmnName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill + Me.clmnName.HeaderText = "Name" + Me.clmnName.Name = "clmnName" + Me.clmnName.ReadOnly = True + ' + 'clmnFirma + ' + Me.clmnFirma.HeaderText = "Firma" + Me.clmnFirma.Name = "clmnFirma" + Me.clmnFirma.ReadOnly = True + ' + 'MyTextBox1 + ' + Me.MyTextBox1._DateTimeOnly = False + Me.MyTextBox1._numbersOnly = False + Me.MyTextBox1._numbersOnlyKommastellen = "" + Me.MyTextBox1._Prozent = False + Me.MyTextBox1._ShortDateNew = False + Me.MyTextBox1._ShortDateOnly = False + Me.MyTextBox1._TimeOnly = False + Me.MyTextBox1._value = "" + Me.MyTextBox1._Waehrung = False + Me.MyTextBox1._WaehrungZeichen = True + Me.MyTextBox1.ForeColor = System.Drawing.Color.Black + Me.MyTextBox1.Location = New System.Drawing.Point(13, 23) + Me.MyTextBox1.MaxLineLength = -1 + Me.MyTextBox1.MaxLines_Warning = "" + Me.MyTextBox1.MaxLines_Warning_Label = Nothing + Me.MyTextBox1.Name = "MyTextBox1" + Me.MyTextBox1.Size = New System.Drawing.Size(228, 20) + Me.MyTextBox1.TabIndex = 0 + ' + 'frmMessenger_NeuerChat + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(662, 451) + Me.Controls.Add(Me.MyComboBox1) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.MyTextBox2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.lbl) + Me.Controls.Add(Me.btn) + Me.Controls.Add(Me.dgvChatMembers) + Me.Controls.Add(Me.dgvMitarbeiter) + Me.Controls.Add(Me.MyTextBox1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMessenger_NeuerChat" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Neuer Chat" + CType(Me.dgvMitarbeiter, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents MyTextBox1 As MyTextBox + Friend WithEvents dgvMitarbeiter As Windows.Forms.DataGridView + Friend WithEvents dgvChatMembers As Windows.Forms.DataGridView + Friend WithEvents btn As Windows.Forms.Button + Friend WithEvents lbl As Windows.Forms.Label + Friend WithEvents Label1 As Windows.Forms.Label + Friend WithEvents Label2 As Windows.Forms.Label + Friend WithEvents MyTextBox2 As MyTextBox + Friend WithEvents clmnMaId As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents clmnName As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents clmnFirma As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents MyComboBox1 As MyComboBox + Friend WithEvents DataGridViewTextBoxColumn1 As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents DataGridViewTextBoxColumn2 As Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents DataGridViewTextBoxColumn3 As Windows.Forms.DataGridViewTextBoxColumn +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx new file mode 100644 index 0000000..9bddf4e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx @@ -0,0 +1,989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb new file mode 100644 index 0000000..2ec6774 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb @@ -0,0 +1,180 @@ +Imports System.Windows.Forms + +Public Class frmMessenger_NeuerChat + + Dim SQL As New SQL + Dim CHAT As cMessenger.cMessenger_Chat = Nothing + Dim loaded = False + Public chat_id As Integer = -1 + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + + Sub New(CHAT As cMessenger.cMessenger_Chat) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.CHAT = CHAT + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub initDGV() + If Not loaded Then Exit Sub + With dgvMitarbeiter + Dim FirmaTMP = MyComboBox1._value + Dim sqlStr = "SELECT TOP (1000) [mit_id],[mit_nname] + ' ' + [mit_vname] + ' (' + mit_niederlassung + ')' as MAname,CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as mit_firma FROM [tblMitarbeiter]" + sqlStr &= " WHERE mit_gekuendigt=0 AND /*mit_abteilung IN ('QS','ZOLL','DISPO') AND*/ [mit_TESTonly]=0 AND [mit_pseudoUser]=0 AND [mit_ChatBenutzer]=1 " + If MyComboBox1._value <> "" Then sqlStr &= " AND mit_firma IN ('" & FirmaTMP & "','BEIDE','ALLE','ALL')" + If MyTextBox1.Text <> "" Then sqlStr &= " AND (mit_nname LIKE '" & MyTextBox1.Text & "%' OR mit_vname LIKE '" & MyTextBox1.Text & "%' )" + + sqlStr &= " order by mit_nname,mit_vname" + + .DataSource = SQL.loadDgvBySql(sqlStr, "ADMIN") + + If .Columns.Count = 0 Then Exit Sub + + .Columns("mit_id").Visible = False + .AutoSizeColumnsMode = Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells + End With + End Sub + + Private Sub frmMessenger_NeuerChat_Load(sender As Object, e As EventArgs) Handles Me.Load + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED")) + MyComboBox1.changeItem("") + loaded = True + initDGV() + If CHAT IsNot Nothing Then + Me.Text = "Neue Benutzer hinzufügen" + Me.MyTextBox2.Text = CHAT.chat_name + Me.MyTextBox2.Enabled = False + btn.Text = "Hinzufügen" + End If + End Sub + + Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.TextChanged + initDGV() + End Sub + + Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyTextBox1.KeyDown + If dgvMitarbeiter.Rows.Count = 0 Then Exit Sub + + If e.KeyCode = Keys.Down Then + If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True + If dgvMitarbeiter.Rows.Count > dgvMitarbeiter.SelectedRows(0).Index + 1 Then + Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index + 1 + dgvMitarbeiter.ClearSelection() + dgvMitarbeiter.Rows(newIndex).Selected = True + MyTextBox1.Focus() + End If + End If + + If e.KeyCode = Keys.Up Then + If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True + If dgvMitarbeiter.SelectedRows(0).Index > 0 Then + Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index - 1 + dgvMitarbeiter.ClearSelection() + dgvMitarbeiter.Rows(newIndex).Selected = True + MyTextBox1.Focus() + End If + End If + If e.KeyCode = Keys.Return Then + addSelMA() + End If + End Sub + + Sub addSelMA() + If dgvMitarbeiter.SelectedRows.Count > 0 Then + dgvChatMembers.Rows.Add(dgvMitarbeiter.SelectedRows(0).Cells("mit_id").Value, dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value, dgvMitarbeiter.SelectedRows(0).Cells("mit_firma").Value) + initAddRemoveDGV() + MyTextBox1.Text = "" + MyTextBox1.Focus() + End If + End Sub + + Sub initAddRemoveDGV() + If dgvChatMembers.Rows.Count = 1 Then + MyTextBox2.Text = dgvChatMembers.Rows(0).Cells("clmnName").Value 'dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value + MyTextBox2.Enabled = False + Else + MyTextBox2.Text = "" + MyTextBox2.Enabled = True + End If + End Sub + + + Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click + If dgvChatMembers.Rows.Count = 0 Then + MsgBox("Mitglieder eingeben!") + Exit Sub + End If + + If CHAT IsNot Nothing Then + + For Each r As DataGridViewRow In dgvChatMembers.Rows + Dim MB As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMembers(CHAT.chat_id, r.Cells("clmnMaId").Value) + MB.chatMb_maId = r.Cells("clmnMaId").Value + CHAT.CHAT_MEMBERS.Add(MB) + Next + + If CHAT.SAVE_MEMBERS Then + Me.Close() + End If + + Else + + If MyTextBox2.Enabled And MyTextBox2.Text = "" Then + MsgBox("Chat-Name eingeben!") + Exit Sub + End If + + Dim chatName = If(MyTextBox2.Enabled, MyTextBox2.Text, "") + + Dim MB_LIST As New List(Of Integer) + For Each r As DataGridViewRow In dgvChatMembers.Rows + MB_LIST.Add(r.Cells("clmnMaId").Value) + Next + If chatName = "" And MB_LIST.Count = 1 Then + If VERAG_PROG_ALLGEMEIN.cMessenger.CHECK_EXISTS(MB_LIST(0), chat_id) Then + If vbYes <> MsgBox("Ein Chat mit diesem Mitarbetier existiert bereits. Möchten Sie wirklich einen neuen öffnen?", vbYesNoCancel) Then + Me.DialogResult = DialogResult.OK + Me.Close() + Exit Sub + End If + End If + End If + MB_LIST.Add(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) 'Selbst! + + Dim CHAT As cMessenger.cMessenger_Chat = Nothing + If VERAG_PROG_ALLGEMEIN.cMessenger.GEN_NEW_CHAT(chatName, MB_LIST, CHAT) Then + If CHAT IsNot Nothing Then chat_id = CHAT.chat_id + Me.Close() + End If + End If + + End Sub + + Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged + initDGV() + End Sub + + Private Sub dgvMitarbeiter_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvMitarbeiter.CellDoubleClick + addSelMA() + End Sub + + + Private Sub dgvChatMembers_RowsRemoved(sender As Object, e As DataGridViewRowsRemovedEventArgs) Handles dgvChatMembers.RowsRemoved + initAddRemoveDGV() + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb new file mode 100644 index 0000000..982d338 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb @@ -0,0 +1,151 @@ +Imports System.Windows.Forms + + +Partial Class usrCntlMessenger_ChatAnhang + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.pnl = New System.Windows.Forms.Panel() + Me.pic = New System.Windows.Forms.PictureBox() + Me.lblDateTime = New System.Windows.Forms.Label() + Me.lblNewMsg = New System.Windows.Forms.Label() + Me.lblName = New System.Windows.Forms.Label() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.txtChatmessage = New VERAG_PROG_ALLGEMEIN.MyRichTextBox() + Me.pnl.SuspendLayout() + CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'pnl + ' + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Controls.Add(Me.txtChatmessage) + Me.pnl.Controls.Add(Me.pic) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(378, 72) + Me.pnl.TabIndex = 0 + ' + 'pic + ' + Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.docAllgemein + Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.pic.Cursor = System.Windows.Forms.Cursors.Hand + Me.pic.Location = New System.Drawing.Point(7, 4) + Me.pic.Name = "pic" + Me.pic.Size = New System.Drawing.Size(100, 50) + Me.pic.TabIndex = 2 + Me.pic.TabStop = False + ' + 'lblDateTime + ' + Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) + Me.lblDateTime.ForeColor = System.Drawing.Color.Black + Me.lblDateTime.Location = New System.Drawing.Point(226, 58) + Me.lblDateTime.Name = "lblDateTime" + Me.lblDateTime.Size = New System.Drawing.Size(132, 13) + Me.lblDateTime.TabIndex = 5 + Me.lblDateTime.Text = "01.01.2020 10:12:00" + Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblNewMsg + ' + Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblNewMsg.AutoSize = True + Me.lblNewMsg.BackColor = System.Drawing.Color.Red + Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblNewMsg.ForeColor = System.Drawing.Color.White + Me.lblNewMsg.Location = New System.Drawing.Point(364, 58) + Me.lblNewMsg.Name = "lblNewMsg" + Me.lblNewMsg.Size = New System.Drawing.Size(11, 14) + Me.lblNewMsg.TabIndex = 6 + Me.lblNewMsg.Text = "!" + Me.lblNewMsg.Visible = False + ' + 'lblName + ' + Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblName.AutoSize = True + Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.lblName.Location = New System.Drawing.Point(4, 58) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(155, 13) + Me.lblName.TabIndex = 4 + Me.lblName.Text = "Max Mustermann (VERAG)" + ' + 'Panel1 + ' + Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Panel1.BackColor = System.Drawing.Color.Azure + Me.Panel1.Location = New System.Drawing.Point(2, 55) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(375, 3) + Me.Panel1.TabIndex = 4 + ' + 'txtChatmessage + ' + Me.txtChatmessage.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.txtChatmessage.BackColor = System.Drawing.Color.White + Me.txtChatmessage.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtChatmessage.Cursor = System.Windows.Forms.Cursors.Hand + Me.txtChatmessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!) + Me.txtChatmessage.Location = New System.Drawing.Point(113, 17) + Me.txtChatmessage.MaxLineLength = -1 + Me.txtChatmessage.MaxLines_Warning = "" + Me.txtChatmessage.MaxLines_Warning_Label = Nothing + Me.txtChatmessage.Name = "txtChatmessage" + Me.txtChatmessage.ReadOnly = True + Me.txtChatmessage.Size = New System.Drawing.Size(260, 37) + Me.txtChatmessage.TabIndex = 1 + Me.txtChatmessage.Text = "Anhangdokument.pdf" + ' + 'usrCntlMessenger_ChatAnhang + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.Controls.Add(Me.lblDateTime) + Me.Controls.Add(Me.lblName) + Me.Controls.Add(Me.lblNewMsg) + Me.Controls.Add(Me.pnl) + Me.Name = "usrCntlMessenger_ChatAnhang" + Me.Size = New System.Drawing.Size(378, 72) + Me.pnl.ResumeLayout(False) + CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents pnl As Panel + Friend WithEvents pic As PictureBox + Friend WithEvents txtChatmessage As MyRichTextBox + Friend WithEvents lblDateTime As Label + Friend WithEvents lblNewMsg As Label + Friend WithEvents lblName As Label + Friend WithEvents Panel1 As Panel +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb new file mode 100644 index 0000000..2f30ec3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb @@ -0,0 +1,66 @@ +Imports System.Drawing + +Public Class usrCntlMessenger_ChatAnhang + Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure + Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages + + 'Public FI As String = "" + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.CHAT_MSG = CHAT_MSG + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Sub setBgCOLOR(BG_COLOR) + ' Me.BG_COLOR = BG_COLOR + ' txtChatmessage.BackColor = BG_COLOR + Panel1.BackColor = BG_COLOR + End Sub + + Private Sub usrCntlMessenger_ChatAnhang_Load(sender As Object, e As EventArgs) Handles Me.Load + init() + End Sub + + Sub init() + If CHAT_MSG IsNot Nothing Then + txtChatmessage.Text = CHAT_MSG.chatMg_text + lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss") + lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")" + + Dim cnt = 0 + While (txtChatmessage.Size.Width - txtChatmessage.ClientSize.Width > 10) And cnt < 20 ' (txtChatmessage.Height - txtChatmessage.ClientSize.Height) > MyRTBInnerSize Or cnt > 100 + Me.Height += 20 : cnt += 1 + End While + setRead() + End If + End Sub + + Sub setRead() + For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST + If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + lblNewMsg.Visible = Not ST.chatMgSt_gelesen + End If + Next + End Sub + + Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click, txtChatmessage.Click + If CHAT_MSG IsNot Nothing Then + Dim PATH = cDATENSERVER.GET_PDFPath_BY_DocID(CHAT_MSG.chatMg_anhang_docId, True) + 'Process.Start(PATH) + End If + End Sub + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb new file mode 100644 index 0000000..b7f0ccc --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb @@ -0,0 +1,138 @@ +Imports System.Windows.Forms + + +Partial Class usrCntlMessenger_ChatElement + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.pnl = New System.Windows.Forms.Panel() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.txtChatmessage = New VERAG_PROG_ALLGEMEIN.MyRichTextBox() + Me.lblDateTime = New System.Windows.Forms.Label() + Me.lblName = New System.Windows.Forms.Label() + Me.lblNewMsg = New System.Windows.Forms.Label() + Me.pnl.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.SuspendLayout() + ' + 'pnl + ' + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Controls.Add(Me.lblDateTime) + Me.pnl.Controls.Add(Me.lblName) + Me.pnl.Controls.Add(Me.lblNewMsg) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(378, 48) + Me.pnl.TabIndex = 0 + ' + 'Panel1 + ' + Me.Panel1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Panel1.BackColor = System.Drawing.Color.Azure + Me.Panel1.Controls.Add(Me.txtChatmessage) + Me.Panel1.Location = New System.Drawing.Point(3, 3) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(375, 32) + Me.Panel1.TabIndex = 2 + ' + 'txtChatmessage + ' + Me.txtChatmessage.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtChatmessage.BackColor = System.Drawing.Color.Azure + Me.txtChatmessage.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtChatmessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!) + Me.txtChatmessage.Location = New System.Drawing.Point(4, 4) + Me.txtChatmessage.MaxLineLength = -1 + Me.txtChatmessage.MaxLines_Warning = "" + Me.txtChatmessage.MaxLines_Warning_Label = Nothing + Me.txtChatmessage.Name = "txtChatmessage" + Me.txtChatmessage.ReadOnly = True + Me.txtChatmessage.Size = New System.Drawing.Size(368, 25) + Me.txtChatmessage.TabIndex = 0 + Me.txtChatmessage.Text = "Hallo, wie gehts?" + ' + 'lblDateTime + ' + Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) + Me.lblDateTime.ForeColor = System.Drawing.Color.Black + Me.lblDateTime.Location = New System.Drawing.Point(226, 34) + Me.lblDateTime.Name = "lblDateTime" + Me.lblDateTime.Size = New System.Drawing.Size(132, 13) + Me.lblDateTime.TabIndex = 1 + Me.lblDateTime.Text = "01.01.2020 10:12:00" + Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblName + ' + Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblName.AutoSize = True + Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.lblName.Location = New System.Drawing.Point(4, 34) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(155, 13) + Me.lblName.TabIndex = 0 + Me.lblName.Text = "Max Mustermann (VERAG)" + ' + 'lblNewMsg + ' + Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblNewMsg.AutoSize = True + Me.lblNewMsg.BackColor = System.Drawing.Color.Red + Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblNewMsg.ForeColor = System.Drawing.Color.White + Me.lblNewMsg.Location = New System.Drawing.Point(364, 34) + Me.lblNewMsg.Name = "lblNewMsg" + Me.lblNewMsg.Size = New System.Drawing.Size(11, 14) + Me.lblNewMsg.TabIndex = 3 + Me.lblNewMsg.Text = "!" + Me.lblNewMsg.Visible = False + ' + 'usrCntlMessenger_ChatElement + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.Controls.Add(Me.pnl) + Me.Name = "usrCntlMessenger_ChatElement" + Me.Size = New System.Drawing.Size(378, 48) + Me.pnl.ResumeLayout(False) + Me.pnl.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents pnl As Panel + Friend WithEvents lblDateTime As Label + Friend WithEvents lblName As Label + Friend WithEvents Panel1 As Panel + Friend WithEvents txtChatmessage As VERAG_PROG_ALLGEMEIN.MyRichTextBox + Friend WithEvents lblNewMsg As Label +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb new file mode 100644 index 0000000..0d46d9f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb @@ -0,0 +1,51 @@ +Imports System.Drawing + +Public Class usrCntlMessenger_ChatElement + Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages + 'Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.CHAT_MSG = CHAT_MSG + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Sub setBgCOLOR(BG_COLOR) + ' Me.BG_COLOR = BG_COLOR + txtChatmessage.BackColor = BG_COLOR + Panel1.BackColor = BG_COLOR + End Sub + + Private Sub usrCntlMessenger_ChatElement_Load(sender As Object, e As EventArgs) Handles Me.Load + ' setBgCOLOR(Color.Azure) + If CHAT_MSG IsNot Nothing Then + lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss") + lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")" + txtChatmessage.Text = CHAT_MSG.chatMg_text + Dim cnt = 0 + While (txtChatmessage.Size.Width - txtChatmessage.ClientSize.Width > 10) And cnt < 20 ' (txtChatmessage.Height - txtChatmessage.ClientSize.Height) > MyRTBInnerSize Or cnt > 100 + Me.Height += 20 : cnt += 1 + End While + setRead() + End If + End Sub + + Sub setRead() + For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST + If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + lblNewMsg.Visible = Not ST.chatMgSt_gelesen + End If + Next + End Sub +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb new file mode 100644 index 0000000..ba67c0c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb @@ -0,0 +1,132 @@ +Imports System.Windows.Forms + + +Partial Class usrCntlMessenger_ChatEmoji + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.pnl = New System.Windows.Forms.Panel() + Me.pic = New System.Windows.Forms.PictureBox() + Me.lblDateTime = New System.Windows.Forms.Label() + Me.lblNewMsg = New System.Windows.Forms.Label() + Me.lblName = New System.Windows.Forms.Label() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.pnl.SuspendLayout() + CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'pnl + ' + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Controls.Add(Me.pic) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(378, 72) + Me.pnl.TabIndex = 0 + ' + 'pic + ' + Me.pic.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.docAllgemein + Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.pic.Cursor = System.Windows.Forms.Cursors.Hand + Me.pic.Location = New System.Drawing.Point(145, 5) + Me.pic.Name = "pic" + Me.pic.Size = New System.Drawing.Size(100, 50) + Me.pic.TabIndex = 2 + Me.pic.TabStop = False + ' + 'lblDateTime + ' + Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) + Me.lblDateTime.ForeColor = System.Drawing.Color.Black + Me.lblDateTime.Location = New System.Drawing.Point(226, 58) + Me.lblDateTime.Name = "lblDateTime" + Me.lblDateTime.Size = New System.Drawing.Size(132, 13) + Me.lblDateTime.TabIndex = 5 + Me.lblDateTime.Text = "01.01.2020 10:12:00" + Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblNewMsg + ' + Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblNewMsg.AutoSize = True + Me.lblNewMsg.BackColor = System.Drawing.Color.Red + Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblNewMsg.ForeColor = System.Drawing.Color.White + Me.lblNewMsg.Location = New System.Drawing.Point(364, 58) + Me.lblNewMsg.Name = "lblNewMsg" + Me.lblNewMsg.Size = New System.Drawing.Size(11, 14) + Me.lblNewMsg.TabIndex = 6 + Me.lblNewMsg.Text = "!" + Me.lblNewMsg.Visible = False + ' + 'lblName + ' + Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.lblName.AutoSize = True + Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold) + Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.lblName.Location = New System.Drawing.Point(4, 58) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(155, 13) + Me.lblName.TabIndex = 4 + Me.lblName.Text = "Max Mustermann (VERAG)" + ' + 'Panel1 + ' + Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Panel1.BackColor = System.Drawing.Color.Azure + Me.Panel1.Location = New System.Drawing.Point(2, 55) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(375, 3) + Me.Panel1.TabIndex = 3 + ' + 'usrCntlMessenger_ChatEmoji + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.Controls.Add(Me.lblDateTime) + Me.Controls.Add(Me.lblName) + Me.Controls.Add(Me.lblNewMsg) + Me.Controls.Add(Me.pnl) + Me.Name = "usrCntlMessenger_ChatEmoji" + Me.Size = New System.Drawing.Size(378, 72) + Me.pnl.ResumeLayout(False) + CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents pnl As Panel + Friend WithEvents pic As PictureBox + Friend WithEvents lblDateTime As Label + Friend WithEvents lblNewMsg As Label + Friend WithEvents lblName As Label + Friend WithEvents Panel1 As Panel +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb new file mode 100644 index 0000000..1fd2e77 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb @@ -0,0 +1,85 @@ +Imports System.Drawing + +Public Class usrCntlMessenger_ChatEmoji + Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure + Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages + Dim frmM As frmMessenger + 'Public FI As String = "" + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(frmM As frmMessenger, CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.CHAT_MSG = CHAT_MSG + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me.frmM = frmM + End Sub + Sub setBgCOLOR(BG_COLOR) + ' Me.BG_COLOR = BG_COLOR + ' txtChatmessage.BackColor = BG_COLOR + Panel1.BackColor = BG_COLOR + End Sub + + Private Sub usrCntlMessenger_ChatAnhang_Load(sender As Object, e As EventArgs) Handles Me.Load + init() + End Sub + + Sub init() + If CHAT_MSG IsNot Nothing Then + ' txtChatmessage.Text = CHAT_MSG.chatMg_text + + Dim imgPath = CHAT_MSG.chatMg_text + Try + 'Dim frmM As frmMessenger = DirectCast(Me.Parent, frmMessenger) + If frmM.EMOJI_PATH <> frmM.EMOJI_PATH_MAIN Then + If IO.File.Exists(imgPath.Replace(frmM.EMOJI_PATH_MAIN, frmM.EMOJI_PATH)) Then + imgPath = imgPath.Replace(frmM.EMOJI_PATH_MAIN, frmM.EMOJI_PATH) + End If + End If + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + Try + pic.BackgroundImage = Image.FromFile(imgPath) + pic.BackgroundImageLayout = Windows.Forms.ImageLayout.Zoom + Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + End Try + lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss") + lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")" + + Dim cnt = 0 + + setRead() + + + End If + End Sub + + Sub setRead() + For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST + If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + lblNewMsg.Visible = Not ST.chatMgSt_gelesen + End If + Next + End Sub + + Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click + If CHAT_MSG IsNot Nothing Then + Dim PATH = cDATENSERVER.GET_PDFPath_BY_DocID(CHAT_MSG.chatMg_anhang_docId, True) + 'Process.Start(PATH) + End If + End Sub + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb new file mode 100644 index 0000000..3ec1002 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb @@ -0,0 +1,611 @@ + +Partial Class frmMitarbeitersuche + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMitarbeitersuche)) + Me.pnlSrch = New System.Windows.Forms.Panel() + Me.Button4 = New System.Windows.Forms.Button() + Me.btnClose = New System.Windows.Forms.Button() + Me.PictureBox2 = New System.Windows.Forms.PictureBox() + Me.sbMitarbeiter = New VERAG_PROG_ALLGEMEIN.MySearchBox() + Me.pnlMain = New System.Windows.Forms.Panel() + Me.pnl = New System.Windows.Forms.Panel() + Me.pnlWohnadresse = New System.Windows.Forms.Panel() + Me.lblWohnadresse = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.lblSpitzname = New System.Windows.Forms.Label() + Me.Panel4 = New System.Windows.Forms.Panel() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.PictureBox3 = New System.Windows.Forms.PictureBox() + Me.pnlMotto = New System.Windows.Forms.Panel() + Me.lblMotto = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.btn = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.picGeschlecht = New System.Windows.Forms.PictureBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.pic = New System.Windows.Forms.PictureBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.lblHandyNr = New System.Windows.Forms.Label() + Me.lblMail = New System.Windows.Forms.Label() + Me.lblTelefon = New System.Windows.Forms.Label() + Me.lblName = New System.Windows.Forms.Label() + Me.pnlGeburtstag = New System.Windows.Forms.Panel() + Me.lblGeburtstag = New System.Windows.Forms.Label() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components) + Me.lblPosition = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.lblAbteilung = New System.Windows.Forms.Label() + Me.lblNiederlassung = New System.Windows.Forms.Label() + Me.lblFirma = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.pnlSrch.SuspendLayout() + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnlMain.SuspendLayout() + Me.pnl.SuspendLayout() + Me.pnlWohnadresse.SuspendLayout() + CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnlMotto.SuspendLayout() + CType(Me.picGeschlecht, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnlGeburtstag.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.MyPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'pnlSrch + ' + Me.pnlSrch.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.pnlSrch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlSrch.Controls.Add(Me.Button4) + Me.pnlSrch.Controls.Add(Me.btnClose) + Me.pnlSrch.Controls.Add(Me.PictureBox2) + Me.pnlSrch.Controls.Add(Me.sbMitarbeiter) + Me.pnlSrch.Dock = System.Windows.Forms.DockStyle.Top + Me.pnlSrch.Location = New System.Drawing.Point(0, 0) + Me.pnlSrch.Name = "pnlSrch" + Me.pnlSrch.Size = New System.Drawing.Size(776, 48) + Me.pnlSrch.TabIndex = 0 + ' + 'Button4 + ' + Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Button4.BackColor = System.Drawing.SystemColors.Highlight + Me.Button4.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.people + Me.Button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button4.ForeColor = System.Drawing.Color.White + Me.Button4.Location = New System.Drawing.Point(633, 11) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(49, 29) + Me.Button4.TabIndex = 20 + Me.Button4.UseVisualStyleBackColor = False + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.BackColor = System.Drawing.Color.Red + Me.btnClose.FlatAppearance.BorderColor = System.Drawing.Color.White + Me.btnClose.FlatAppearance.BorderSize = 0 + Me.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnClose.ForeColor = System.Drawing.Color.White + Me.btnClose.Location = New System.Drawing.Point(712, -1) + Me.btnClose.Name = "btnClose" + Me.btnClose.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.btnClose.Size = New System.Drawing.Size(63, 28) + Me.btnClose.TabIndex = 19 + Me.btnClose.Text = "X" + Me.btnClose.UseVisualStyleBackColor = False + ' + 'PictureBox2 + ' + Me.PictureBox2.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.search + Me.PictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox2.Location = New System.Drawing.Point(7, 11) + Me.PictureBox2.Name = "PictureBox2" + Me.PictureBox2.Size = New System.Drawing.Size(32, 29) + Me.PictureBox2.TabIndex = 18 + Me.PictureBox2.TabStop = False + ' + 'sbMitarbeiter + ' + Me.sbMitarbeiter._allowFreitext = False + Me.sbMitarbeiter._AllowSetValue = False + Me.sbMitarbeiter._allowSpaceAsSplitter = True + Me.sbMitarbeiter._autoSizeGross = False + Me.sbMitarbeiter._hideIfListEmpty = True + Me.sbMitarbeiter._value = Nothing + Me.sbMitarbeiter.conn_art = "FMZOLL" + Me.sbMitarbeiter.dgvpos = "LEFT" + Me.sbMitarbeiter.DISPLAY_PARAM = Nothing + Me.sbMitarbeiter.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.sbMitarbeiter.INVISIBLE_COLUMNS = Nothing + Me.sbMitarbeiter.key_visible = False + Me.sbMitarbeiter.KEYPARAM = Nothing + Me.sbMitarbeiter.Location = New System.Drawing.Point(45, 11) + Me.sbMitarbeiter.Name = "sbMitarbeiter" + Me.sbMitarbeiter.searchActive = True + Me.sbMitarbeiter.Size = New System.Drawing.Size(582, 29) + Me.sbMitarbeiter.SQL_ORDER_BY = Nothing + Me.sbMitarbeiter.SQL_SELECT = Nothing + Me.sbMitarbeiter.SQL_WHERE = Nothing + Me.sbMitarbeiter.SQL_WhereParamList = Nothing + Me.sbMitarbeiter.TabIndex = 0 + Me.sbMitarbeiter.usrcntl = Nothing + ' + 'pnlMain + ' + Me.pnlMain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlMain.Controls.Add(Me.pnl) + Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnlMain.Location = New System.Drawing.Point(0, 48) + Me.pnlMain.Name = "pnlMain" + Me.pnlMain.Size = New System.Drawing.Size(776, 439) + Me.pnlMain.TabIndex = 1 + ' + 'pnl + ' + Me.pnl.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.pnl.Controls.Add(Me.pnlWohnadresse) + Me.pnl.Controls.Add(Me.lblSpitzname) + Me.pnl.Controls.Add(Me.Panel4) + Me.pnl.Controls.Add(Me.Panel3) + Me.pnl.Controls.Add(Me.PictureBox3) + Me.pnl.Controls.Add(Me.pnlMotto) + Me.pnl.Controls.Add(Me.btn) + Me.pnl.Controls.Add(Me.Label1) + Me.pnl.Controls.Add(Me.picGeschlecht) + Me.pnl.Controls.Add(Me.Label10) + Me.pnl.Controls.Add(Me.pic) + Me.pnl.Controls.Add(Me.Label11) + Me.pnl.Controls.Add(Me.lblHandyNr) + Me.pnl.Controls.Add(Me.lblMail) + Me.pnl.Controls.Add(Me.lblTelefon) + Me.pnl.Controls.Add(Me.lblName) + Me.pnl.Controls.Add(Me.pnlGeburtstag) + Me.pnl.Controls.Add(Me.MyPanel1) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(774, 437) + Me.pnl.TabIndex = 24 + ' + 'pnlWohnadresse + ' + Me.pnlWohnadresse.Controls.Add(Me.lblWohnadresse) + Me.pnlWohnadresse.Controls.Add(Me.Label6) + Me.pnlWohnadresse.Location = New System.Drawing.Point(203, 353) + Me.pnlWohnadresse.Name = "pnlWohnadresse" + Me.pnlWohnadresse.Size = New System.Drawing.Size(701, 34) + Me.pnlWohnadresse.TabIndex = 20 + ' + 'lblWohnadresse + ' + Me.lblWohnadresse.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblWohnadresse.Location = New System.Drawing.Point(152, 3) + Me.lblWohnadresse.Name = "lblWohnadresse" + Me.lblWohnadresse.Size = New System.Drawing.Size(411, 25) + Me.lblWohnadresse.TabIndex = 11 + Me.lblWohnadresse.Text = "A 4975 Suben" + ' + 'Label6 + ' + Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label6.Location = New System.Drawing.Point(7, 3) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(139, 25) + Me.Label6.TabIndex = 10 + Me.Label6.Text = "Wohnort:" + ' + 'lblSpitzname + ' + Me.lblSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 16.0!) + Me.lblSpitzname.Location = New System.Drawing.Point(13, 9) + Me.lblSpitzname.Name = "lblSpitzname" + Me.lblSpitzname.Size = New System.Drawing.Size(551, 42) + Me.lblSpitzname.TabIndex = 2 + Me.lblSpitzname.Text = """Maxl""" + Me.lblSpitzname.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Panel4 + ' + Me.Panel4.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Panel4.Location = New System.Drawing.Point(8, 93) + Me.Panel4.Name = "Panel4" + Me.Panel4.Size = New System.Drawing.Size(758, 1) + Me.Panel4.TabIndex = 27 + ' + 'Panel3 + ' + Me.Panel3.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel3.Location = New System.Drawing.Point(0, 424) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(774, 13) + Me.Panel3.TabIndex = 26 + ' + 'PictureBox3 + ' + Me.PictureBox3.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.Verag_AG_Logopng + Me.PictureBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox3.Location = New System.Drawing.Point(8, 340) + Me.PictureBox3.Name = "PictureBox3" + Me.PictureBox3.Size = New System.Drawing.Size(191, 50) + Me.PictureBox3.TabIndex = 18 + Me.PictureBox3.TabStop = False + ' + 'pnlMotto + ' + Me.pnlMotto.Controls.Add(Me.lblMotto) + Me.pnlMotto.Controls.Add(Me.Label7) + Me.pnlMotto.Location = New System.Drawing.Point(203, 307) + Me.pnlMotto.Name = "pnlMotto" + Me.pnlMotto.Size = New System.Drawing.Size(701, 83) + Me.pnlMotto.TabIndex = 21 + ' + 'lblMotto + ' + Me.lblMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblMotto.Location = New System.Drawing.Point(152, 3) + Me.lblMotto.Name = "lblMotto" + Me.lblMotto.Size = New System.Drawing.Size(411, 63) + Me.lblMotto.TabIndex = 11 + Me.lblMotto.Text = "-" + ' + 'Label7 + ' + Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label7.Location = New System.Drawing.Point(7, 3) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(139, 25) + Me.Label7.TabIndex = 10 + Me.Label7.Text = "Motto:" + ' + 'btn + ' + Me.btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.stift + Me.btn.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btn.Location = New System.Drawing.Point(702, 9) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(70, 58) + Me.btn.TabIndex = 9 + Me.btn.Text = "Bearbeiten" + Me.btn.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btn.UseVisualStyleBackColor = True + Me.btn.Visible = False + ' + 'Label1 + ' + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label1.Location = New System.Drawing.Point(210, 153) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(139, 25) + Me.Label1.TabIndex = 21 + Me.Label1.Text = "Handy-Nr:" + Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'picGeschlecht + ' + Me.picGeschlecht.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.männlich + Me.picGeschlecht.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.picGeschlecht.Location = New System.Drawing.Point(647, 25) + Me.picGeschlecht.Name = "picGeschlecht" + Me.picGeschlecht.Size = New System.Drawing.Size(46, 36) + Me.picGeschlecht.TabIndex = 23 + Me.picGeschlecht.TabStop = False + ' + 'Label10 + ' + Me.Label10.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label10.Location = New System.Drawing.Point(210, 102) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(139, 25) + Me.Label10.TabIndex = 15 + Me.Label10.Text = "E-Mail:" + Me.Label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'pic + ' + Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.personGray_m + Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.pic.Location = New System.Drawing.Point(10, 100) + Me.pic.Name = "pic" + Me.pic.Size = New System.Drawing.Size(192, 198) + Me.pic.TabIndex = 0 + Me.pic.TabStop = False + ' + 'Label11 + ' + Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label11.Location = New System.Drawing.Point(210, 127) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(139, 25) + Me.Label11.TabIndex = 14 + Me.Label11.Text = "Telefon-Nr:" + Me.Label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblHandyNr + ' + Me.lblHandyNr.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblHandyNr.Location = New System.Drawing.Point(353, 153) + Me.lblHandyNr.Name = "lblHandyNr" + Me.lblHandyNr.Size = New System.Drawing.Size(411, 25) + Me.lblHandyNr.TabIndex = 22 + Me.lblHandyNr.Text = "+43 7711 / 2777 0" + Me.lblHandyNr.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblMail + ' + Me.lblMail.Cursor = System.Windows.Forms.Cursors.Hand + Me.lblMail.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblMail.Location = New System.Drawing.Point(353, 102) + Me.lblMail.Name = "lblMail" + Me.lblMail.Size = New System.Drawing.Size(411, 25) + Me.lblMail.TabIndex = 17 + Me.lblMail.Text = "info@verag.ag" + Me.lblMail.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblTelefon + ' + Me.lblTelefon.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblTelefon.Location = New System.Drawing.Point(353, 127) + Me.lblTelefon.Name = "lblTelefon" + Me.lblTelefon.Size = New System.Drawing.Size(411, 25) + Me.lblTelefon.TabIndex = 16 + Me.lblTelefon.Text = "+43 7711 / 2777 0" + Me.lblTelefon.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblName + ' + Me.lblName.BackColor = System.Drawing.Color.Transparent + Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 22.0!) + Me.lblName.Location = New System.Drawing.Point(12, 38) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(695, 52) + Me.lblName.TabIndex = 1 + Me.lblName.Text = "Max Mustermann" + Me.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'pnlGeburtstag + ' + Me.pnlGeburtstag.Controls.Add(Me.lblGeburtstag) + Me.pnlGeburtstag.Controls.Add(Me.PictureBox1) + Me.pnlGeburtstag.Location = New System.Drawing.Point(8, 301) + Me.pnlGeburtstag.Name = "pnlGeburtstag" + Me.pnlGeburtstag.Size = New System.Drawing.Size(183, 33) + Me.pnlGeburtstag.TabIndex = 19 + ' + 'lblGeburtstag + ' + Me.lblGeburtstag.AutoSize = True + Me.lblGeburtstag.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.lblGeburtstag.Location = New System.Drawing.Point(38, 6) + Me.lblGeburtstag.Name = "lblGeburtstag" + Me.lblGeburtstag.Size = New System.Drawing.Size(89, 20) + Me.lblGeburtstag.TabIndex = 12 + Me.lblGeburtstag.Text = "01.01.2020" + Me.lblGeburtstag.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'PictureBox1 + ' + Me.PictureBox1.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.cake + Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox1.Location = New System.Drawing.Point(5, 3) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(27, 24) + Me.PictureBox1.TabIndex = 13 + Me.PictureBox1.TabStop = False + ' + 'MyPanel1 + ' + Me.MyPanel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.MyPanel1.Controls.Add(Me.lblPosition) + Me.MyPanel1.Controls.Add(Me.Label8) + Me.MyPanel1.Controls.Add(Me.Label2) + Me.MyPanel1.Controls.Add(Me.lblAbteilung) + Me.MyPanel1.Controls.Add(Me.lblNiederlassung) + Me.MyPanel1.Controls.Add(Me.lblFirma) + Me.MyPanel1.Controls.Add(Me.Label4) + Me.MyPanel1.Controls.Add(Me.Label3) + Me.MyPanel1.Location = New System.Drawing.Point(197, 181) + Me.MyPanel1.Name = "MyPanel1" + Me.MyPanel1.Size = New System.Drawing.Size(578, 116) + Me.MyPanel1.TabIndex = 28 + ' + 'lblPosition + ' + Me.lblPosition.BackColor = System.Drawing.Color.Transparent + Me.lblPosition.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblPosition.Location = New System.Drawing.Point(158, 87) + Me.lblPosition.Name = "lblPosition" + Me.lblPosition.Size = New System.Drawing.Size(411, 25) + Me.lblPosition.TabIndex = 10 + Me.lblPosition.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Label8 + ' + Me.Label8.BackColor = System.Drawing.Color.Transparent + Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label8.Location = New System.Drawing.Point(13, 87) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(139, 25) + Me.Label8.TabIndex = 9 + Me.Label8.Text = "Position:" + Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Label8.Visible = False + ' + 'Label2 + ' + Me.Label2.BackColor = System.Drawing.Color.Transparent + Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label2.Location = New System.Drawing.Point(13, 5) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(139, 25) + Me.Label2.TabIndex = 3 + Me.Label2.Text = "Firma:" + Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblAbteilung + ' + Me.lblAbteilung.BackColor = System.Drawing.Color.Transparent + Me.lblAbteilung.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblAbteilung.Location = New System.Drawing.Point(158, 55) + Me.lblAbteilung.Name = "lblAbteilung" + Me.lblAbteilung.Size = New System.Drawing.Size(411, 25) + Me.lblAbteilung.TabIndex = 8 + Me.lblAbteilung.Text = "IT" + Me.lblAbteilung.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblNiederlassung + ' + Me.lblNiederlassung.BackColor = System.Drawing.Color.Transparent + Me.lblNiederlassung.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblNiederlassung.Location = New System.Drawing.Point(158, 30) + Me.lblNiederlassung.Name = "lblNiederlassung" + Me.lblNiederlassung.Size = New System.Drawing.Size(411, 25) + Me.lblNiederlassung.TabIndex = 7 + Me.lblNiederlassung.Text = "SUBEN" + Me.lblNiederlassung.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'lblFirma + ' + Me.lblFirma.BackColor = System.Drawing.Color.Transparent + Me.lblFirma.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) + Me.lblFirma.Location = New System.Drawing.Point(158, 5) + Me.lblFirma.Name = "lblFirma" + Me.lblFirma.Size = New System.Drawing.Size(411, 25) + Me.lblFirma.TabIndex = 6 + Me.lblFirma.Text = "VERAG" + Me.lblFirma.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Label4 + ' + Me.Label4.BackColor = System.Drawing.Color.Transparent + Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label4.Location = New System.Drawing.Point(13, 55) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(139, 25) + Me.Label4.TabIndex = 5 + Me.Label4.Text = "Abteilung:" + Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Label3 + ' + Me.Label3.BackColor = System.Drawing.Color.Transparent + Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!) + Me.Label3.Location = New System.Drawing.Point(13, 30) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(139, 25) + Me.Label3.TabIndex = 4 + Me.Label3.Text = "Niederlassung:" + Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Panel1.Location = New System.Drawing.Point(214, 230) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(553, 1) + Me.Panel1.TabIndex = 29 + ' + 'frmMitarbeitersuche + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.WhiteSmoke + Me.ClientSize = New System.Drawing.Size(776, 487) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.pnlMain) + Me.Controls.Add(Me.pnlSrch) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMitarbeitersuche" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "frmMitarbeitersuche" + Me.pnlSrch.ResumeLayout(False) + Me.pnlSrch.PerformLayout() + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnlMain.ResumeLayout(False) + Me.pnl.ResumeLayout(False) + Me.pnlWohnadresse.ResumeLayout(False) + CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnlMotto.ResumeLayout(False) + CType(Me.picGeschlecht, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnlGeburtstag.ResumeLayout(False) + Me.pnlGeburtstag.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.MyPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents pnlSrch As Windows.Forms.Panel + Friend WithEvents pnlMain As Windows.Forms.Panel + Friend WithEvents btn As Windows.Forms.Button + Friend WithEvents lblAbteilung As Windows.Forms.Label + Friend WithEvents lblNiederlassung As Windows.Forms.Label + Friend WithEvents lblFirma As Windows.Forms.Label + Friend WithEvents Label4 As Windows.Forms.Label + Friend WithEvents Label3 As Windows.Forms.Label + Friend WithEvents Label2 As Windows.Forms.Label + Friend WithEvents lblSpitzname As Windows.Forms.Label + Friend WithEvents lblName As Windows.Forms.Label + Friend WithEvents pic As Windows.Forms.PictureBox + Friend WithEvents PictureBox1 As Windows.Forms.PictureBox + Friend WithEvents lblGeburtstag As Windows.Forms.Label + Friend WithEvents lblWohnadresse As Windows.Forms.Label + Friend WithEvents Label6 As Windows.Forms.Label + Friend WithEvents lblMail As Windows.Forms.Label + Friend WithEvents lblTelefon As Windows.Forms.Label + Friend WithEvents Label10 As Windows.Forms.Label + Friend WithEvents Label11 As Windows.Forms.Label + Friend WithEvents PictureBox2 As Windows.Forms.PictureBox + Friend WithEvents sbMitarbeiter As MySearchBox + Friend WithEvents btnClose As Windows.Forms.Button + Friend WithEvents PictureBox3 As Windows.Forms.PictureBox + Friend WithEvents pnlGeburtstag As Windows.Forms.Panel + Friend WithEvents pnlWohnadresse As Windows.Forms.Panel + Friend WithEvents Label1 As Windows.Forms.Label + Friend WithEvents lblHandyNr As Windows.Forms.Label + Friend WithEvents picGeschlecht As Windows.Forms.PictureBox + Friend WithEvents pnlMotto As Windows.Forms.Panel + Friend WithEvents lblMotto As Windows.Forms.Label + Friend WithEvents Label7 As Windows.Forms.Label + Friend WithEvents pnl As Windows.Forms.Panel + Friend WithEvents Panel4 As Windows.Forms.Panel + Friend WithEvents Panel3 As Windows.Forms.Panel + Friend WithEvents Button4 As Windows.Forms.Button + Friend WithEvents MyPanel1 As MyPanel + Friend WithEvents lblPosition As Windows.Forms.Label + Friend WithEvents Label8 As Windows.Forms.Label + Friend WithEvents Panel1 As Windows.Forms.Panel +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx new file mode 100644 index 0000000..d584bd9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb new file mode 100644 index 0000000..1160b60 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb @@ -0,0 +1,198 @@ +Imports System.ComponentModel +Imports System.Drawing + +Public Class frmMitarbeitersuche + Dim mit_id As Integer = -1 + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Sub New(mit_id As Integer) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.mit_id = mit_id + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub lblMail_Click(sender As Object, e As EventArgs) Handles lblMail.Click + If lblMail.Text <> "" Then Process.Start("Mailto:" & lblMail.Text) + End Sub + + Private Sub frmMitarbeitersuche_Load(sender As Object, e As EventArgs) Handles Me.Load + pnl.Visible = False + If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MITARBEITER_VERZEICHNIS", "SDL") Then + MsgBox("Noch nicht verfügbar!") + Me.Close() + End If + + If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_MAVerzeichnis_SettingsTstmp Is Nothing And Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_pseudoUser Then + MsgBox("Sie müssen Ihren Benutzer erstmal konfigurieren, um das Verzeichnis einsehen zu können. Sie können die Einstellungen jederzeit ändern.") + + Dim f As New frmMitarbeitersucheBearbeiten(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) + If f.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then + Else + Me.Close() + End If + initMA() + End If + + + sbMitarbeiter.initSearchBox(Me.FindForm, " [mit_id] ,[mit_username] ,(mit_vname + ' ' + mit_nname ) AS Name , CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as Firma, mit_niederlassung as Niederlassung FROM tblMitarbeiter", {"mit_vname", "mit_nname"}, " 1=1 AND mit_gekuendigt=0 AND [mit_TESTonly]=0 AND [mit_pseudoUser]=0 ", "mit_id", "mit_id", "Name", "ADMIN", , 400, 200, {"mit_id", "mit_username"}) + initMA() + + End Sub + + + Private Sub sbMitarbeiter_PropertyChanged() Handles sbMitarbeiter.VALUE_CHANGED + initMA() + End Sub + + Sub initMA() + btn.Visible = False + pnl.Visible = False + Dim MA As cMitarbeiter = Nothing + If sbMitarbeiter._value <> "" Then + MA = New cMitarbeiter(sbMitarbeiter._value) + End If + + If MA Is Nothing Then + clearMA() + Else + + pnl.Visible = True + lblName.Text = If(MA.mit_vname, "") & " " & If(MA.mit_nname, "") + lblSpitzname.Text = If(MA.mit_MAVerzeichnis_Spitzname, "") + lblFirma.Text = MA.getFirma + lblNiederlassung.Text = If(MA.mit_niederlassung, "") + + lblTelefon.Text = If(MA.mit_durchwahl, "") + lblMail.Text = If(MA.mit_email, "") + ' lblWohnadresse.Text = (If(MA.mit_land, "") & " " & If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim + lblWohnadresse.Text = (If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim + + pnlWohnadresse.Visible = MA.mit_MAVerzeichnis_allowWohnadresse + + lblMotto.Text = MA.mit_MAVerzeichnis_Motto + If lblMotto.Text.Trim <> "" Then lblMotto.Text = """" & lblMotto.Text & """" + pnlMotto.Visible = (lblMotto.Text <> "") + + lblHandyNr.Visible = MA.mit_MAVerzeichnis_allowHandynummer + lblHandyNr.Text = If(MA.mit_mobiltel, "") + + + Select Case If(MA.mit_abteilung, "") + Case "GF" : lblAbteilung.Text = "Geschäftsführung" + If MA.mit_vname = "Johann" And MA.mit_nname = "Luxbauer" Then lblAbteilung.Text = "VORSTAND / Geschäftsführung" + Case "VRR" : lblAbteilung.Text = "Verrechnung" + Case "BH", "BU" : lblAbteilung.Text = "Buchhaltung" + Case "MDM" : lblAbteilung.Text = "Maut/Diesel/Mehrwertsteuer" + Case "FISKAL" : lblAbteilung.Text = "Fiskalabteilung" + Case "ZOLL", "QS" : lblAbteilung.Text = "Zollabteilung" + If MA.mit_teamId IsNot Nothing Then + Dim team = SQL.DLookup("team_bezeichnung", "tblTeams", "team_id='" & MA.mit_teamId & "'", "ADMIN", "") + If team <> "" Then + lblAbteilung.Text &= " / " & team + End If + End If + Case Else : lblAbteilung.Text = If(MA.mit_abteilung, "") + End Select + + If MA.mit_MAVerzeichnis_allowGebDat Then + pnlGeburtstag.Visible = True + If MA.mit_MAVerzeichnis_allowGebDatOhneJahr AndAlso IsDate(If(MA.mit_gebdat, "")) Then + lblGeburtstag.Text = CDate(MA.mit_gebdat).ToString("dd.MM.") + Else + lblGeburtstag.Text = If(MA.mit_gebdat, "") + End If + Else + pnlGeburtstag.Visible = False + End If + + pic.BackgroundImage = My.Resources.personGray_m + picGeschlecht.Visible = True + If MA.mit_geschlecht = "w" Then + pic.BackgroundImage = My.Resources.personGray_w + picGeschlecht.BackgroundImage = My.Resources.weiblich + Else + pic.BackgroundImage = My.Resources.personGray_m + picGeschlecht.BackgroundImage = My.Resources.männlich + End If + + If MA.mit_MAVerzeichnis_allowFoto AndAlso MA.mit_foto_DocId IsNot Nothing Then + Try + pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId)) + Catch ex As Exception + pic.BackgroundImage = My.Resources.personGray_m + End Try + End If + + Select Case MA.getFirma + Case "VERAG" : PictureBox3.BackgroundImage = My.Resources.Verag_AG_Logopng + Case "UNISPED" : PictureBox3.BackgroundImage = My.Resources.Unisped_logo + Case "ATILLA" : PictureBox3.BackgroundImage = My.Resources.Atilla + Case "AMBAR" : PictureBox3.BackgroundImage = My.Resources.ambar_simple + Case "IMEX" : PictureBox3.BackgroundImage = My.Resources.IMEX_LOGO_simple + Case "FRONTOFFICE" : PictureBox3.BackgroundImage = My.Resources.FrontOfficeSUB_Horizontal + Case Else + PictureBox3.BackgroundImage = Nothing + End Select + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", "SDL") Then + btn.Visible = True + End If + If VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = MA.mit_id Then + + btn.Visible = True + End If + End If + End Sub + + + Sub clearMA() + + lblName.Text = "" + lblSpitzname.Text = "" + lblFirma.Text = "" + lblNiederlassung.Text = "" + lblAbteilung.Text = "" + lblTelefon.Text = "" + lblMail.Text = "" + lblHandyNr.Text = "" + lblWohnadresse.Text = "" + pnlWohnadresse.Visible = False + pnlGeburtstag.Visible = False + pnlMotto.Visible = False + pic.BackgroundImage = My.Resources.personGray_m + picGeschlecht.Visible = False + End Sub + + Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click + If sbMitarbeiter._value = "" Then Exit Sub + Dim f As New frmMitarbeitersucheBearbeiten(sbMitarbeiter._value) + f.ShowDialog(Me) + initMA() + End Sub + + Private Sub frmMitarbeitersuche_Shown(sender As Object, e As EventArgs) Handles Me.Shown + If mit_id > 0 Then + sbMitarbeiter.SET_VALUE(mit_id) + initMA() + End If + End Sub + + Private Sub pnl_Paint(sender As Object, e As Windows.Forms.PaintEventArgs) Handles pnl.Paint + + End Sub + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb new file mode 100644 index 0000000..834b91b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb @@ -0,0 +1,294 @@ + +Partial Class frmMitarbeitersucheBearbeiten + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMitarbeitersucheBearbeiten)) + Me.pnlSrch = New System.Windows.Forms.Panel() + Me.btnClose = New System.Windows.Forms.Button() + Me.pnlMain = New System.Windows.Forms.Panel() + Me.btn = New System.Windows.Forms.Button() + Me.txtMotto = New System.Windows.Forms.TextBox() + Me.cbxMotto = New System.Windows.Forms.CheckBox() + Me.cbxGeburtsdatumOhneJahr = New System.Windows.Forms.CheckBox() + Me.txtHandynummer = New System.Windows.Forms.TextBox() + Me.txtSpitzname = New System.Windows.Forms.TextBox() + Me.lblGeburtstag = New System.Windows.Forms.Label() + Me.cbxHandynummer = New System.Windows.Forms.CheckBox() + Me.cbxSpitzname = New System.Windows.Forms.CheckBox() + Me.cbxGeburtsdatum = New System.Windows.Forms.CheckBox() + Me.cbxWohnort = New System.Windows.Forms.CheckBox() + Me.lblWohnadresse = New System.Windows.Forms.Label() + Me.lblName = New System.Windows.Forms.Label() + Me.pic = New System.Windows.Forms.PictureBox() + Me.cbxAllowFoto = New System.Windows.Forms.CheckBox() + Me.pnlSrch.SuspendLayout() + Me.pnlMain.SuspendLayout() + CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'pnlSrch + ' + Me.pnlSrch.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.pnlSrch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlSrch.Controls.Add(Me.btnClose) + Me.pnlSrch.Dock = System.Windows.Forms.DockStyle.Top + Me.pnlSrch.Location = New System.Drawing.Point(0, 0) + Me.pnlSrch.Name = "pnlSrch" + Me.pnlSrch.Size = New System.Drawing.Size(703, 29) + Me.pnlSrch.TabIndex = 0 + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.BackColor = System.Drawing.Color.Red + Me.btnClose.FlatAppearance.BorderColor = System.Drawing.Color.White + Me.btnClose.FlatAppearance.BorderSize = 0 + Me.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnClose.ForeColor = System.Drawing.Color.White + Me.btnClose.Location = New System.Drawing.Point(639, -1) + Me.btnClose.Name = "btnClose" + Me.btnClose.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.btnClose.Size = New System.Drawing.Size(63, 28) + Me.btnClose.TabIndex = 19 + Me.btnClose.Text = "X" + Me.btnClose.UseVisualStyleBackColor = False + ' + 'pnlMain + ' + Me.pnlMain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlMain.Controls.Add(Me.cbxAllowFoto) + Me.pnlMain.Controls.Add(Me.btn) + Me.pnlMain.Controls.Add(Me.txtMotto) + Me.pnlMain.Controls.Add(Me.cbxMotto) + Me.pnlMain.Controls.Add(Me.cbxGeburtsdatumOhneJahr) + Me.pnlMain.Controls.Add(Me.txtHandynummer) + Me.pnlMain.Controls.Add(Me.txtSpitzname) + Me.pnlMain.Controls.Add(Me.lblGeburtstag) + Me.pnlMain.Controls.Add(Me.cbxHandynummer) + Me.pnlMain.Controls.Add(Me.cbxSpitzname) + Me.pnlMain.Controls.Add(Me.cbxGeburtsdatum) + Me.pnlMain.Controls.Add(Me.cbxWohnort) + Me.pnlMain.Controls.Add(Me.lblWohnadresse) + Me.pnlMain.Controls.Add(Me.lblName) + Me.pnlMain.Controls.Add(Me.pic) + Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnlMain.Location = New System.Drawing.Point(0, 29) + Me.pnlMain.Name = "pnlMain" + Me.pnlMain.Size = New System.Drawing.Size(703, 335) + Me.pnlMain.TabIndex = 1 + ' + 'btn + ' + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.btn.Location = New System.Drawing.Point(357, 261) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(333, 51) + Me.btn.TabIndex = 32 + Me.btn.Text = "Speichern" + Me.btn.UseVisualStyleBackColor = True + ' + 'txtMotto + ' + Me.txtMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.txtMotto.Location = New System.Drawing.Point(357, 210) + Me.txtMotto.Name = "txtMotto" + Me.txtMotto.Size = New System.Drawing.Size(333, 29) + Me.txtMotto.TabIndex = 31 + ' + 'cbxMotto + ' + Me.cbxMotto.AutoSize = True + Me.cbxMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxMotto.Location = New System.Drawing.Point(186, 212) + Me.cbxMotto.Name = "cbxMotto" + Me.cbxMotto.Size = New System.Drawing.Size(75, 28) + Me.cbxMotto.TabIndex = 30 + Me.cbxMotto.Text = "Motto" + Me.cbxMotto.UseVisualStyleBackColor = True + ' + 'cbxGeburtsdatumOhneJahr + ' + Me.cbxGeburtsdatumOhneJahr.AutoSize = True + Me.cbxGeburtsdatumOhneJahr.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxGeburtsdatumOhneJahr.Location = New System.Drawing.Point(489, 110) + Me.cbxGeburtsdatumOhneJahr.Name = "cbxGeburtsdatumOhneJahr" + Me.cbxGeburtsdatumOhneJahr.Size = New System.Drawing.Size(114, 28) + Me.cbxGeburtsdatumOhneJahr.TabIndex = 29 + Me.cbxGeburtsdatumOhneJahr.Text = "ohne Jahr" + Me.cbxGeburtsdatumOhneJahr.UseVisualStyleBackColor = True + ' + 'txtHandynummer + ' + Me.txtHandynummer.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.txtHandynummer.Location = New System.Drawing.Point(357, 176) + Me.txtHandynummer.Name = "txtHandynummer" + Me.txtHandynummer.Size = New System.Drawing.Size(333, 29) + Me.txtHandynummer.TabIndex = 28 + ' + 'txtSpitzname + ' + Me.txtSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.txtSpitzname.Location = New System.Drawing.Point(357, 142) + Me.txtSpitzname.Name = "txtSpitzname" + Me.txtSpitzname.Size = New System.Drawing.Size(333, 29) + Me.txtSpitzname.TabIndex = 27 + ' + 'lblGeburtstag + ' + Me.lblGeburtstag.AutoSize = True + Me.lblGeburtstag.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold) + Me.lblGeburtstag.Location = New System.Drawing.Point(353, 111) + Me.lblGeburtstag.Name = "lblGeburtstag" + Me.lblGeburtstag.Size = New System.Drawing.Size(110, 24) + Me.lblGeburtstag.TabIndex = 12 + Me.lblGeburtstag.Text = "01.01.2020" + Me.lblGeburtstag.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'cbxHandynummer + ' + Me.cbxHandynummer.AutoSize = True + Me.cbxHandynummer.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxHandynummer.Location = New System.Drawing.Point(186, 178) + Me.cbxHandynummer.Name = "cbxHandynummer" + Me.cbxHandynummer.Size = New System.Drawing.Size(155, 28) + Me.cbxHandynummer.TabIndex = 26 + Me.cbxHandynummer.Text = "Handynummer" + Me.cbxHandynummer.UseVisualStyleBackColor = True + ' + 'cbxSpitzname + ' + Me.cbxSpitzname.AutoSize = True + Me.cbxSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxSpitzname.Location = New System.Drawing.Point(186, 144) + Me.cbxSpitzname.Name = "cbxSpitzname" + Me.cbxSpitzname.Size = New System.Drawing.Size(117, 28) + Me.cbxSpitzname.TabIndex = 25 + Me.cbxSpitzname.Text = "Spitzname" + Me.cbxSpitzname.UseVisualStyleBackColor = True + ' + 'cbxGeburtsdatum + ' + Me.cbxGeburtsdatum.AutoSize = True + Me.cbxGeburtsdatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxGeburtsdatum.Location = New System.Drawing.Point(186, 110) + Me.cbxGeburtsdatum.Name = "cbxGeburtsdatum" + Me.cbxGeburtsdatum.Size = New System.Drawing.Size(147, 28) + Me.cbxGeburtsdatum.TabIndex = 24 + Me.cbxGeburtsdatum.Text = "Geburtsdatum" + Me.cbxGeburtsdatum.UseVisualStyleBackColor = True + ' + 'cbxWohnort + ' + Me.cbxWohnort.AutoSize = True + Me.cbxWohnort.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxWohnort.Location = New System.Drawing.Point(186, 76) + Me.cbxWohnort.Name = "cbxWohnort" + Me.cbxWohnort.Size = New System.Drawing.Size(101, 28) + Me.cbxWohnort.TabIndex = 23 + Me.cbxWohnort.Text = "Wohnort" + Me.cbxWohnort.UseVisualStyleBackColor = True + ' + 'lblWohnadresse + ' + Me.lblWohnadresse.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold) + Me.lblWohnadresse.Location = New System.Drawing.Point(353, 76) + Me.lblWohnadresse.Name = "lblWohnadresse" + Me.lblWohnadresse.Size = New System.Drawing.Size(341, 28) + Me.lblWohnadresse.TabIndex = 11 + Me.lblWohnadresse.Text = "A 4975 Suben" + ' + 'lblName + ' + Me.lblName.BackColor = System.Drawing.Color.Transparent + Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 30.0!) + Me.lblName.Location = New System.Drawing.Point(178, 6) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(452, 52) + Me.lblName.TabIndex = 1 + Me.lblName.Text = "Max Mustermann" + Me.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'pic + ' + Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.personGray_m + Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.pic.Cursor = System.Windows.Forms.Cursors.Hand + Me.pic.Location = New System.Drawing.Point(7, 3) + Me.pic.Name = "pic" + Me.pic.Size = New System.Drawing.Size(165, 178) + Me.pic.TabIndex = 0 + Me.pic.TabStop = False + ' + 'cbxAllowFoto + ' + Me.cbxAllowFoto.AutoSize = True + Me.cbxAllowFoto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!) + Me.cbxAllowFoto.Location = New System.Drawing.Point(7, 187) + Me.cbxAllowFoto.Name = "cbxAllowFoto" + Me.cbxAllowFoto.Size = New System.Drawing.Size(150, 28) + Me.cbxAllowFoto.TabIndex = 33 + Me.cbxAllowFoto.Text = "Foto anzeigen" + Me.cbxAllowFoto.UseVisualStyleBackColor = True + ' + 'frmMitarbeitersucheBearbeiten + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(703, 364) + Me.Controls.Add(Me.pnlMain) + Me.Controls.Add(Me.pnlSrch) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMitarbeitersucheBearbeiten" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "frmMitarbeitersuche" + Me.pnlSrch.ResumeLayout(False) + Me.pnlMain.ResumeLayout(False) + Me.pnlMain.PerformLayout() + CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents pnlSrch As Windows.Forms.Panel + Friend WithEvents pnlMain As Windows.Forms.Panel + Friend WithEvents lblName As Windows.Forms.Label + Friend WithEvents pic As Windows.Forms.PictureBox + Friend WithEvents lblGeburtstag As Windows.Forms.Label + Friend WithEvents lblWohnadresse As Windows.Forms.Label + Friend WithEvents btnClose As Windows.Forms.Button + Friend WithEvents btn As Windows.Forms.Button + Friend WithEvents txtMotto As Windows.Forms.TextBox + Friend WithEvents cbxMotto As Windows.Forms.CheckBox + Friend WithEvents cbxGeburtsdatumOhneJahr As Windows.Forms.CheckBox + Friend WithEvents txtHandynummer As Windows.Forms.TextBox + Friend WithEvents txtSpitzname As Windows.Forms.TextBox + Friend WithEvents cbxHandynummer As Windows.Forms.CheckBox + Friend WithEvents cbxSpitzname As Windows.Forms.CheckBox + Friend WithEvents cbxGeburtsdatum As Windows.Forms.CheckBox + Friend WithEvents cbxWohnort As Windows.Forms.CheckBox + Friend WithEvents cbxAllowFoto As Windows.Forms.CheckBox +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx new file mode 100644 index 0000000..d584bd9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb new file mode 100644 index 0000000..7007004 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb @@ -0,0 +1,162 @@ +Imports System.ComponentModel +Imports System.Drawing + +Public Class frmMitarbeitersucheBearbeiten + Dim MA As cMitarbeiter = Nothing + + + Sub New(mit_id) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + MA = New cMitarbeiter(mit_id) + End Sub + + + + Private Sub frmMitarbeitersuche_Load(sender As Object, e As EventArgs) Handles Me.Load + If MA Is Nothing Then Me.Close() + initMA() + End Sub + + + + Sub initMA() + If MA Is Nothing OrElse MA.mit_id <= 0 Then MsgBox("Fehler Benutzer!") : Exit Sub + + lblName.Text = If(MA.mit_vname, "") & " " & If(MA.mit_nname, "") + + cbxSpitzname.Checked = Not (MA.mit_MAVerzeichnis_Spitzname Is Nothing) + cbxMotto.Checked = Not (MA.mit_MAVerzeichnis_Motto Is Nothing) + cbxHandynummer.Checked = MA.mit_MAVerzeichnis_allowHandynummer + cbxGeburtsdatumOhneJahr.Checked = MA.mit_MAVerzeichnis_allowGebDatOhneJahr + cbxGeburtsdatum.Checked = MA.mit_MAVerzeichnis_allowGebDat + cbxWohnort.Checked = MA.mit_MAVerzeichnis_allowWohnadresse + cbxAllowFoto.Checked = MA.mit_MAVerzeichnis_allowFoto + + + + txtSpitzname.Text = If(MA.mit_MAVerzeichnis_Spitzname, "") + txtHandynummer.Text = If(MA.mit_mobiltel, "") + txtMotto.Text = If(MA.mit_MAVerzeichnis_Motto, "") + + lblWohnadresse.Text = (If(MA.mit_land, "") & " " & If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim + lblGeburtstag.Text = If(MA.mit_gebdat, "") + + pic.BackgroundImage = My.Resources.personGray_m + + If MA.mit_foto_DocId IsNot Nothing Then + Try + pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId)) + Catch ex As Exception + pic.BackgroundImage = My.Resources.personGray_m + End Try + ElseIf MA.mit_geschlecht = "w" Then + pic.BackgroundImage = My.Resources.personGray_w + Else + pic.BackgroundImage = My.Resources.personGray_m + End If + + End Sub + + Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Private Sub cbxSpitzname_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSpitzname.CheckedChanged + txtSpitzname.Enabled = sender.Checked + If Not sender.Checked Then txtSpitzname.Text = "" + End Sub + + Private Sub cbxHandynummer_CheckedChanged(sender As Object, e As EventArgs) Handles cbxHandynummer.CheckedChanged + txtHandynummer.Enabled = sender.Checked + End Sub + + Private Sub cbxMotto_CheckedChanged(sender As Object, e As EventArgs) Handles cbxMotto.CheckedChanged + txtMotto.Enabled = sender.Checked + If Not sender.Checked Then txtMotto.Text = "" + End Sub + + Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click + + If cbxSpitzname.Checked Then + MA.mit_MAVerzeichnis_Spitzname = txtSpitzname.Text + Else + MA.mit_MAVerzeichnis_Spitzname = Nothing + End If + + If cbxHandynummer.Checked Then + MA.mit_mobiltel = txtHandynummer.Text + Else + MA.mit_mobiltel = "" + End If + If cbxMotto.Checked Then + MA.mit_MAVerzeichnis_Motto = txtMotto.Text + Else + MA.mit_MAVerzeichnis_Motto = Nothing + End If + + MA.mit_MAVerzeichnis_allowGebDat = cbxGeburtsdatum.Checked + MA.mit_MAVerzeichnis_allowGebDatOhneJahr = cbxGeburtsdatumOhneJahr.Checked + MA.mit_MAVerzeichnis_allowWohnadresse = cbxWohnort.Checked + MA.mit_MAVerzeichnis_allowHandynummer = cbxHandynummer.Checked + MA.mit_MAVerzeichnis_allowFoto = cbxAllowFoto.Checked + + If MA.mit_id = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then + MA.mit_MAVerzeichnis_SettingsTstmp = Now + End If + + If MA.mit_id <= 0 Then MsgBox("Fehler ID!") : Exit Sub + + If MA.SAVE Then + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End If + End Sub + + Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click + Dim fd As Windows.Forms.OpenFileDialog = New Windows.Forms.OpenFileDialog() + + fd.Title = "Bild auswählen" + ' fd.InitialDirectory = "F:\PROGRAMME\ADMIN_DATA\Fotos_Mitarbeiter\" + fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG" + fd.FilterIndex = 2 + fd.RestoreDirectory = True + + If fd.ShowDialog() = DialogResult.OK AndAlso fd.FileName <> "" Then + + Dim Extension = New IO.FileInfo(fd.FileName).Extension + Dim docId = -1 + If saveToDS(Extension, fd.FileName, docId) Then + + MA.mit_foto_DocId = docId + Try + pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId)) + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End If + End If + End Sub + + Public Function saveToDS(Extension, sourcePath, Optional ByRef da_id = -1) As Boolean + + Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER = Nothing + If da_id > 0 Then + DS = New cDATENSERVER(da_id) + Else + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MITARBEITER", "PERSONAL_FOTOS", "", "", MA.mit_nname & "_" & MA.mit_id & Extension, -1, False) + End If + + ' Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MITARBEITER", "PERSONAL_FOTOS", "", "", MA.mit_nname & "_" & MA.mit_id, -1, False) + ' MsgBox(DS.da_id) + If Not DS.uploadDataToDATENSERVER(sourcePath,,, False,, False) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False + If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False + da_id = DS.da_id + ' destPath = DS.GET_TOP1_PATH + Return True + End Function + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb new file mode 100644 index 0000000..8ab460b --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp new file mode 100644 index 0000000..e62f1a5 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 2 + true + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..210db16 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb new file mode 100644 index 0000000..b8d5d94 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb @@ -0,0 +1,563 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VERAG_PROG_ALLGEMEIN.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property ambar_simple() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("ambar_simple", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property android_note1() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("android-note1", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Atilla() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Atilla", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). + ''' + Friend ReadOnly Property Aviso() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("Aviso", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property cake() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("cake", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property del() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("del", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property docAllgemein() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("docAllgemein", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property easteregg() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("easteregg", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property fremdSped() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("fremdSped", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property FrontOfficeSUB_Horizontal() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("FrontOfficeSUB_Horizontal", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property house() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("house", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property house1() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("house1", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property IMEX_LOGO_simple() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("IMEX-LOGO_simple", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property männlich() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("männlich", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property ok() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("ok", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pdf() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pdf", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pdf_gray() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pdf_gray", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property people() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("people", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property person() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("person", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property personGray_m() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("personGray_m", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property personGray_w() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("personGray_w", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pfeil_links() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pfeil_links", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pfeil_oben() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pfeil_oben", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pfeil_rechts() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pfeil_rechts", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property pfeil_unten() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("pfeil_unten", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxNext_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxNext_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxPrevious_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxPrevious_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxRotateLeft_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxRotateLeft_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxRotateRight_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxRotateRight_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxZoomIn_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxZoomIn_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property picboxZoomOut_Enter() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("picboxZoomOut_Enter", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property plus() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("plus", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property scanner() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("scanner", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property scanner1() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("scanner1", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property seal() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("seal", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property seal2() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("seal2", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property seal3() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("seal3", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property search() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("search", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property sicherheit() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("sicherheit", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property sicherheit1() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("sicherheit1", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property stift() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("stift", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property today() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("today", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property uhr_green() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("uhr_green", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property uhr_notime() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("uhr_notime", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property uhr_red() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("uhr_red", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Unisped_logo() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Unisped_logo", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Verag_AG_Logopng() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Verag-AG-Logopng", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Verag_Customs_Service_GMBH_Logo() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Verag_Customs_Service_GMBH_Logo", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Verag_Spedition_GMBH_Logo() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Verag_Spedition_GMBH_Logo", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property weiblich() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("weiblich", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + End Module +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx new file mode 100644 index 0000000..65d41c3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\scanner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\seal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pfeil_oben.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\sicherheit1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pfeil_links.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\seal2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\docAllgemein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxZoomOut_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxPrevious_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\seal3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\aviso.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\people.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ok.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxRotateRight_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\fremdSped.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\house1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pdf_gray.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxNext_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxRotateLeft_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picboxZoomIn_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\sicherheit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\uhr_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\android-note1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pfeil_rechts.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\stift.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\easteregg.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\uhr_notime.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\scanner1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cake.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\uhr_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\house.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\today.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pfeil_unten.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Verag-AG-Logopng.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\personGray_m.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\personGray_w.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\männlich.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\weiblich.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ambar_simple.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Atilla.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Logo_blue_globe_Horizontal.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\IMEX-LOGO_simple.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Unisped_logo.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Verag-Customs-Service-GMBH-Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Verag-Spedition-GMBH-Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb new file mode 100644 index 0000000..5434652 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb @@ -0,0 +1,323 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Public NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + + _ + Public ReadOnly Property ATLASConnectionString() As String + Get + Return CType(Me("ATLASConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property FMZOLL_PRODConnectionString() As String + Get + Return CType(Me("FMZOLL_PRODConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property ADMINConnectionString() As String + Get + Return CType(Me("ADMINConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property SDL_PRODConnectionString() As String + Get + Return CType(Me("SDL_PRODConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property FMZOLLConnectionString() As String + Get + Return CType(Me("FMZOLLConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property AVISOConnectionString() As String + Get + Return CType(Me("AVISOConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property SDLConnectionString() As String + Get + Return CType(Me("SDLConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property EZOLLConnectionString() As String + Get + Return CType(Me("EZOLLConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property AVISOConnectionStringTEST() As String + Get + Return CType(Me("AVISOConnectionStringTEST"),String) + End Get + End Property + + _ + Public ReadOnly Property ATLAS_SBGConnectionString() As String + Get + Return CType(Me("ATLAS_SBGConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property UID_PRODConnectionString() As String + Get + Return CType(Me("UID_PRODConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property UIDConnectionString() As String + Get + Return CType(Me("UIDConnectionString"),String) + End Get + End Property + + _ + Public Property SCANCANON_PRODConnectionString() As String + Get + Return CType(Me("SCANCANON_PRODConnectionString"),String) + End Get + Set + Me("SCANCANON_PRODConnectionString") = value + End Set + End Property + + _ + Public ReadOnly Property FDConnectionString() As String + Get + Return CType(Me("FDConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property FD_PRODConnectionString() As String + Get + Return CType(Me("FD_PRODConnectionString"),String) + End Get + End Property + + _ + Public ReadOnly Property VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService() As String + Get + Return CType(Me("VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService"),String) + End Get + End Property + + _ + Public Property DISPOConnectionString() As String + Get + Return CType(Me("DISPOConnectionString"),String) + End Get + Set + Me("DISPOConnectionString") = value + End Set + End Property + + _ + Public ReadOnly Property DISPOConnectionStringTEST() As String + Get + Return CType(Me("DISPOConnectionStringTEST"),String) + End Get + End Property + + _ + Public ReadOnly Property VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService() As String + Get + Return CType(Me("VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService"),String) + End Get + End Property + + _ + Public ReadOnly Property VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService() As String + Get + Return CType(Me("VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService"),String) + End Get + End Property + + _ + Public Property asdadasdasdasdasdasd() As String + Get + Return CType(Me("asdadasdasdasdasdasd"),String) + End Get + Set + Me("asdadasdasdasdasdasd") = value + End Set + End Property + + _ + Public ReadOnly Property AVISO_ATILLAConnectionString() As String + Get + Return CType(Me("AVISO_ATILLAConnectionString"),String) + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.VERAG_PROG_ALLGEMEIN.My.MySettings + Get + Return Global.VERAG_PROG_ALLGEMEIN.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings new file mode 100644 index 0000000..6300f9f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings @@ -0,0 +1,136 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.95\SQLATLAS;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.95\SQLATLAS;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString> +</SerializableConnectionString> + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString> +</SerializableConnectionString> + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=SDL;Integrated Security=False;Persist Security Info=True;User ID=AppUser;Password=yp/THDd?xM+pZ$;TrustServerCertificate=False</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=SDL;Integrated Security=False;Persist Security Info=True;User ID=AppUser;Password=yp/THDd?xM+pZ$;TrustServerCertificate=False + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=ezoll;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString> +</SerializableConnectionString> + Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=ezoll;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.133.98;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.133.98;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=UID;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString> +</SerializableConnectionString> + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=UID;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=UID;Persist Security Info=True;User ID=sa;Password=BmWr501956</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=UID;Persist Security Info=True;User ID=sa;Password=BmWr501956 + + + Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString> +</SerializableConnectionString> + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + http://ec.europa.eu/taxation_customs/vies/services/checkVatService + + + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString> +</SerializableConnectionString> + Data Source=192.168.0.90\DEVSQL;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage/ + + + https://finanzonline.bmf.gv.at:443/fonws/ws/session + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString> +</SerializableConnectionString> + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml b/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml new file mode 100644 index 0000000..dac3c48 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml @@ -0,0 +1,24 @@ + + + Runtime + VERAG Spedition AG + al@verag.ag + VERAG Spedition AG + 2020-08-12T00:00:00Z + 2021-08-12T00:00:00Z + + + Spire.PDF Platinum + 6.5 + + 1 + 1 + + + + + e-iceblue + sales@e-iceblue.com + http://www.e-iceblue.com + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb b/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb new file mode 100644 index 0000000..1a694b6 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb @@ -0,0 +1,226 @@ +Imports System.Net, System.Net.Sockets +Imports System.Text +Imports System.Threading + +Public Class cServerClient_RKSV_DE + Dim clientSocket As Socket + Dim byteData(1023) As Byte + Dim doThis As String + Dim params() As String + Public status As String = "begin" + ' Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + ' begin() + ' End Sub + + Public Event FunctionFinished(ByVal sender As Object, ByVal e As FunctionFinishedArgs_RKSV_DE) + + + Public Sub begin(ip, doThis_tmp, params) + doThis = doThis_tmp + Me.params = params + Dim timeOut As Integer = 60 + Select Case doThis + Case "test" : timeOut = 5 ' nach 5 Sekunden wird abgebrochen + Case "RKSV_DE" : timeOut = 10 ' nach 10 Sekunden wird abgebrochen + End Select + + 'Ein Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf. + Dim st As New Thread(AddressOf stopThread) + st.IsBackground = True + Dim param_obj(1) As Object + 'Übergabeparameter des 2. Threads + param_obj(0) = timeOut + st.Start(param_obj) + + + clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) + Dim ipAddress As IPAddress = IPAddress.Parse(ip) + + ' Dim ipAddress As IPAddress = ipAddress.Parse("192.168.0.90") + Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8800) + clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing) + status = "beginConnect" + ' endconnect(clientSocket) + + + End Sub + + Public Sub waitTillFinished() + While Not (status = "TaskError" Or status = "TaskSuccess") + 'wait + End While + 'Return True + End Sub + + Private Sub OnConnect(ByVal ar As IAsyncResult) + Try + clientSocket.EndConnect(ar) + clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, + New AsyncCallback(AddressOf OnRecieve), clientSocket) + Catch ex As Exception + ' MsgBox("Verbindung zum Server konnte nicht aufgebaut werden!") + End Try + End Sub + + Private Sub OnSend(ByVal ar As IAsyncResult) + Dim client As Socket = ar.AsyncState + client.EndSend(ar) + End Sub + Private Sub Send(ByVal msg As String, ByVal client As Socket) + Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg) + client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client) + End Sub + Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String + Dim enc As System.Text.Encoding = Encoding.BigEndianUnicode + Return enc.GetString(Barr) + End Function + + Private Sub OnRecieve(ByVal ar As IAsyncResult) + Try + Dim client As Socket = ar.AsyncState + client.EndReceive(ar) + Dim bytesRec As Byte() = byteData + Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec) + ' MsgBox("FROM SERVER: " & message) + Dim b(1023) As Byte + + ' MsgBox("SERVER RECIEVE: " & Encoding.BigEndianUnicode.GetString(b)) + + byteData = b + Read(message) + clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, + New AsyncCallback(AddressOf OnRecieve), clientSocket) + + Catch ex As Exception + ' MsgBox("Verbindung zum Server wurde unterbrochen!") + End Try + End Sub + + Delegate Sub _Read(ByVal msg As String) + Private Sub Read(ByVal msg As String) + 'If frmMain.InvokeRequired Then + ' frmMain.Invoke(New _Read(AddressOf Read), msg) + ' Exit Sub + 'End If + + 'frmMain.icoVERAGMonitoring.Visible = False + + 'if richtige nsachricht + ' Dim asciis As Byte() = Encoding.BigEndianUnicode.GetBytes(msg) + ' Dim a As Char = msg(msg.Length - 1) + ' msg = msg.Replace(a, "") + ' MsgBox(msg.Length) + + ' MsgBox(msg(msg.Length - 1)) + ' MsgBox(msg(msg.Length - 1)) + ' MsgBox(Asc(msg(msg.Length - 1))) + ' MsgBox(Asc(msg(msg.Length - 2))) + msg = msg.Replace(Convert.ToChar(0), "") + Try + + MsgBox("-" & msg & "-" & vbNewLine & "ConSuccess" & "-" & doThis) + If msg = "ConSuccess" Then + status = "ConSuccess" + Select Case doThis + Case "test" + Send("test", clientSocket) + status = "sendTask" + + Case "RKSV_DE" + MsgBox("RKSV_DE" & paramsToString()) + Send("RKSV_DE" & paramsToString(), clientSocket) + status = "sendTask" + End Select + + ' MsgBox("!!!!!ConSuccess --> initAufschubkonten") + ' Send("FSSAtlasStart", clientSocket) + 'Send("test", clientSocket) + 'Send("initAufschubkonten", clientSocket) + + ElseIf msg = "Task successful" Then + status = "TaskSuccess" + clientSocket.Disconnect(False) + clientSocket.Shutdown(SocketShutdown.Both) + clientSocket.Close() + 'endconnect(clientSocket)'geht ned + ' MsgBox("Task erfolgreich!", vbSystemModal, doThis) + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.OK, "Task erfolgreich!")) + ElseIf msg = "Task not found" Then + MsgBox("SERVERERROR: Der Dienst wurde nicht gefunden!", vbSystemModal, "FSSAtlas") + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienst wurde nicht gefunden!")) + ElseIf msg = "Task inactive" Then + MsgBox("SERVERERROR: Der Dienste ist nicht aktiv!", vbSystemModal, "FSSAtlas") + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienste ist nicht aktiv!")) + ElseIf msg = "Task timeout" Then + MsgBox("SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!", vbSystemModal, "FSSAtlas") + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!")) + ElseIf msg = "Task error" Then + MsgBox("SERVERERROR: Server-Fehler!", vbSystemModal, "FSSAtlas") + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Server-Fehler!")) + Else + MsgBox("SERVER_NACHRICHT NICHT VERSTANDEN: " & msg, vbSystemModal) + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVER_NACHRICHT NICHT VERSTANDEN: " & msg)) + + clientSocket.Shutdown(SocketShutdown.Both) + clientSocket.Close() + End If + + Catch ex As Exception + MsgBox("Verbindungs-Fehler beim Senden", vbSystemModal) + status = "TaskError" + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "Verbindungs-Fehler beim Senden")) + clientSocket.Close() + End Try + ' byteData = Encoding.BigEndianUnicode.GetBytes("") + + End Sub + + Function paramsToString() + paramsToString = "" + If params IsNot Nothing Then + For Each p In params + paramsToString &= "|||" & p + Next + End If + End Function + + Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout } + Thread.Sleep(param_obj(0) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde. + If status = "TaskError" Or status = "TaskSuccess" Then Exit Sub + status = "TaskError" + Try + clientSocket.Disconnect(False) + clientSocket.Shutdown(SocketShutdown.Both) + clientSocket.Close() + Catch ex As Exception + MsgBox(ex.Message) + End Try + + RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "Task wurde aufgrund eines Timeouts vom Client abgebrochen.")) + MsgBox("ERROR: Task wurde aufgrund eines Timeouts vom Client abgebrochen.") 'Log-Mittelung + End Sub + + +End Class + +Public Class FunctionFinishedArgs_RKSV_DE + Inherits EventArgs + 'das was man später unter e sehen kann + Public Result As EventResult + 'hier - als Beispiel - einfach eine Enum + Public Enum EventResult + OK + ERR + End Enum + Public Message As String + 'Zum übergeben der Parameter + Public Sub New(ByVal r As EventResult, m As String) + Result = r + Message = m + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e011c702b2f54ecb1e02d925ac1301ed1f62564 GIT binary patch literal 38784 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 D-D0xl literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c837375a3263d605173c2403adf543de334e1486 GIT binary patch literal 46137 zcmeFad7#wP*)V<)6}Wocx7Gy;E@*@#Gm}X|1)P1)tjR1|X);M>GTAek%uHOa)w5zk$)!15+bCNgNo+WCo5J7#Nrc?(H=&9()=H z{%w7Yt{pf!*VJvj-PDaK-kHb%5lm#puibick1;4)+iw3mx;mF>+O{zZhPC!gme)C9 zW?fg|9&5npOavY{W^T`5>#|@^;e>{y&7S(f-OHy=k@(qD%UA}<7$Ko4#a&A%x>Tv| z%5{>TI(N>{;4!^fJ=IVJo1M~A6|Ft1H+$+<=(E7*vCHt(DO;P^^6aUBv0UO&`yWW|))qqiwB*&n5JTpLx8STDiv%MKwd)ihQ+kk|HcHNQ;Thg^D zV?bF>@7S}ag6VEu2VegJu+g!Utzh{&EGU91Xm%SQ4TZNsn{*6cpC#&+%Gz@zm2C)c z%McpJz+YYk^PaS|l`YwdFt&`b?_+}o6np#EZQm7XZ1`CUt2Jg%?akl?k?kn<)H!Lr zq0i%#jxevG0303zk9Ah0&p~bd`UR}5Lw`Bcw#Hvs?$%yghyTjOZ^8kf>=#J*My~lB zS)gGop@J#@BNl7GlG^wJXQ0ch4B!u*wb?Lh3v&SF$r-3;hR0h%ky&1J7KTFzItxLL zf&Z@UHiT}ytn-rC|2hDKoaOb*LeSdwzF#)_vS-K=z_4HM`AtKArRCSU>sCqEl{wq^ zI-w|?wr#PtZcPal{ZpowC5_j+?IX8MVk?yG9liupYIamkVNaA*Mk5^#=&4XwPYn%*gMmyq&>ef{!vS9| z5+JhSV5Sre=1Y-Ymy7k<^>~jEzj${e@nE-3g#$(Hco0(osB0`0J!-*()w@{MJRKM!Yg(y0&$^NWMHF>%gFNKj# zB9YWH$xyRVYbF7@%p$_r6q5>CeIJ~Q3=N{$5>l&_qY7I_dwfM9%Qa8aU{$-#l`*I4 zEug%{`-F;ti*XbZz1c{!%EqOHnv#5ds-;6A87nf1Ayn1c(4fg_Nspjmsg{u{tA<}P zOtaIrSihqe08YWG6X9SUa7Mlw2?6qRWB6=F!og6an4u$4xQTu3HMR2NCXh6Uo~-fTQjKK!C`-)mSK3f z8{F2c8?bpVj0_F_UBhnZ@8H2>16vfFtZ3c>oMj}B&ZdLBR_Yc_uhI)u6W%HpDG)=0 z{ScXLrW#VmlQKxYVjFA$GWZg}bb^k0LTF8jh9rlUkfYE<-c zV#F!c5GqFFty&|j0`UC?E2q+YI2p^gV@S6jraY<6&|r@NfBu`l9Jkm_;n4~p$@X7% z1Z`h>lRC1aS z3wCTMA8}F*)>5-PA&Ctio%6PP3|@CDS}p4B=TaTqXNs64lo{LN$fTzZBvOP9=}6R# zNc}=khf;zRBQr#(>ZRKuZ$zw?Td_tG&!O>%5Gznb4<%t2%F%cN^@N(ekco*V9Pflf zaHd@byFTy71vlXuAu8Xg*jPmL(F$2@sCupownwgt=z@~*WHn!@74Q=Y$IFmzqXs2P zN!WOs2I{P(itHyCs@<&#W_45@>SSaxnAcZ zToJB_bpYApb*XTxQS*e!oZk@y$LICn>7hZRqIRW1nxoCITnzGfDp=9ubRZ!5y^vRJ z@!h`oRhIaYIlkf3(BL-aaSgD8L!7?=qZzUXJ||4D+nKHV|I5pW1iS>g$9Unq3dtf_ z%GE^@v?Q4^5r8BCO^rAlh>n5yvTY!e9J@@rUT`l0Ky-tkJy(IXuvqBiF`;HPtV%uP z$;UL8%==8Tg@zyk>;&*DW>E&*2S8gB%H}eW!s6#fC?_3_aJ%3V6$L;OLib{$Io?IJ-L=?W=qvN>3Bp>8fvqI z*XuP^n5~&1BkoZ>P$Q&rR>?19V^r9uIebZV`~7|!4mz%psKFV*X!{xx8}qTrgwBKr z1s#@gPt~^anW; zkqbf;04^1?g&I@|hT?pAOrNGO50(nCSd;a|yMCD^3j`h|a~;3HDQpJn_$0WPOSLe# z(e^tDwt?wdy)6?O>m_TAtX9&1oUe&qCaMFxh3sg|=P?Zm^as1R4_K^^K|;ADRDhR= z^+O0(%4HZ5YVpwypOwml<1kW#q!_53G01Y2irE!9>}xg{WoQuYhAIx06=lVMRZkbq z^n8lZv2QIF*7X0}rGF$`IP1KB#T8pCeR(iE$dOWIy523G1X z@eY^Im+Nld&P79bGM(x7Jh&Z;>K!x&p=gvsX_6peO{+l+-YVH~n~ZeqD&g_Bg7Lbj z$2_@SPta{~Xs{#$Yk<>GJ=)3@4LwygO;K?nA*Kl&#VLgCHw+5JIKu6v5Y3-meK1uR>NMkAaRb+Hta zOT^Ngx5r2#90<4KP_?4sWlp2{9Ln|_s?>Bil_fg43}W@Ea6Hwf0W=APJ8mqTuQ!5; zQ~*y)7Ag`RG23=zw;wiDr|bu+F(mcM#Z1cb6Rt#sx_C2NNwge5|CU#FiAIcop)y_> z8gy$IPIUbW&l;vb=C|dhTxvz5>5d{Y#R{I+z0rUk@We|2lY-M;H;$Qb8dxz@ih$Ex z8Hao*UaWCK(T}i0gN)g)#JhRBo-zZn=0gieDuQ4Q+NjjcUbt_Y9T{R_w?TAS12X_o zV2jIpi&~K@reYjQQNB_{Pn+3nIR~toP9PtaiiL8=6J#p=n#h(g7tUH`%XLebh&oIe zatel#Nw(Aq8Kt#E-fQ;yhCkG6=0o9r%;n*GHky0pICTd0kEqZM?ViM(KI0K;+Y4^=$eT*0Au0@$yO(;=CM@-qy&|uO}dz`vj z2(Sp$PiU3ben+)phtr*hUv7Qi%UTH zRGA*YTgpjRFeq)sRn|+`LJe>oiP0zv2eVpIsC$YWt4C`Ii$~LRF77LaeJB`-U}2-h z0BR_mP7W$qaDb|ZfL`E4s9xkCsFQQ!XfiEfikfG0nQpn@sWOmV?pk>n%BCEv60+J1 zFM(e|5LO*b@9-?zClE8J$TpSHLSSx%o(`Lts_q3Mfz0!|7M5(r9lf>uFo zHjUu4k&dPOAUTB1aO0ZJLTL#j1k}aQ1KrR6P2Y6~4(3S#|vKcesYu2E+501M=8-YUQ zJd$ex4VdeZIEv{Mg~rlMnnl`Nmh(HAZcr`6B>^a-q$)E^&Lgm<%U}!^Y8Z|SM^ixw zY=M@Kpx{;?%Mxa$nE*auxC-NGLX1XO#sG>{&HhG& zZ+h!N%goDSsTWHbC9B-_h#2s9u%y2^X7nc0ab4|{tHnMV1qN>+?60RHniT5!VgbEd zHUbGM6%SazGvX>-oah41*+1PKO%hMoec_gzF`|aa0Ny8dg}Y<)vmL#6#V# zsft*tP|yg%aVaI$=o|IEZjnQSU8}+=O)?kRsu04FAjDTN-H7S&R22z$proNCAwrAN zZ5Zn%3B;dd{RK0wWPKW&tAKDAi?`ZpOAcmId9W7}ZWPJ|BAI49Vplxf6bU>jZ@(!5 zAExg?xgwvfXl5c*p^Qk5^yC6Qnal{d88RUDfs_ztARkI=XVa3V0X*efUh;F*gKs}@>aK)6O+F^axc%@4Fpjq5>1 zDr!cfv2;W!6qsO|#*}<1&xPzF-*jXwrY53>t;hWljxN+IrWqrJwBN2OPRaJ$NyaHF zN(4<*QQ*t8m|zu!YHr*m#4s)RJc5(fgJq0s=RkN!fE5HvdObA@D7@c4*2~oDbzh;~k}TKLu9KD@b%DGn zVvyEzTPY@tcrgwUn;2oj`Mz7=!yT>+p;^Mg0NymYgZB&^Semrd3dOQi!-)zR128KV zr)jSrvj|VU*otL%vsEBq5ASN#dNN|ffNU094vwI*zt+m;6%y!r9?T&|GFi83l5E?E z%WYpWPE`adRwYxi84}c#Ugr8ZCTb{~F4ydgo#ZQxN;7Dty9K+h+o5c#6cyN(59|db zSNEA}ETxBfNH}kW$d2XjAs*CD`yoydymTZ}ueV($%_uw*&a%K(X-TGK3bLOuZ4)(2 zMG1&$idvQJa=9=zwCePLm4fH;e7MblbWEs^_)(jK zNQ(2|&1S2msuYVVU^i=Cu#dqs6&7M(V3nFOpsD5Q$R5Tq+uekUhEiUs=&MsDrLQn~ z%qj^6ut^D~C^AmcQNm@eQOR2VxB=+I#>> zb%6wd+B{`*MaWUHij4-t@pw9e7SURT$-AnNgc3dzFNtZW;jiTQN=#)r)lwcW|DPkrLG*ptPGkFpP%2xLZdW*)bJn)gIVlWuR(`?rPp{6ETP|_qE zkJ2vST2Duh+qfA`;sRX(H;ZU)nKKQgR_YWEcfjqj8_pDSQJsPPeGsz#vq_{1p*c-PFA(qc&!`*GD+1c zb=wIL2-QcLg_s_~%DzHTl!KC)2hlzORv8%O_!x{uDnL%hXdm#5K+KQx5`71kmvgol%yH(cRcBbAaRIw<=){9|aK9pK)TJrJ5atdiB z5`i!i!$VCh40aYxd%Rwt$_qlQk7`q(rx@LQ55a6OxR}loEGo^mN)2@SVq#7szD+JVm3*CCQ6X^#FQMjc+ZY^hZ@^qHPTu;VtrLsw&al*BN z12|!5kl>`25tG_kI}{D%N>N%Oa7f_O1V{jbSc!>{y=)OgS`#dlV2pk)f%;6l08|HC zDfZo>URPT*D`gYqiVE;1VqH;X#GcLjD_Ff)?s|=cZSy5FoAa3cLR*5Hs++5MLRrMX zAtH#v7*3^y4DZy7{dAv#>b7Nd48w?-9zX?u4h_*tBF;!isgv`BV)0}w$J(Of#?VU5 z==FTM+QniT+SSs{gx*%*OxjI~LK#k>u8Fqd(PX{rL`)+K{Q6od>!Z<7yXlYj+$bUh zYV`*2gk)Ar)$8FzB1Zr}CEPSc)ybz@G+&UKk|uS$Hd^*FXsOYza}7C*G_7(T$X-IT zY$_hk6k1}ksS{Yg*CzcnNU#Nm3J|6jvOH{|U!lx|8cxOZiA#V3a;ZMBhOr!E(7+PaLJ;gXYjHv`L=1S`ZM_ZXpu?(It>`vs zdCamVQ)FFf6w^$C%$0G)HX=L?c9w`V@I*h->;^n2h?`l}s@`|&f!vrw6xRCvVk|BB z3920f<|=`Kk)w_qj2mUU>#;jFlBJ9^XC*WoZ?`~X+bcr|)x-gZx;a#=>CLdztQlQ0 zZMoS>IHeg-yCU0)5haB}u&e-WS!Od7ZI)a4b_xMLOp9V#tzI#ZqXA8ODjQ4(bA1c= zj+Go`V`7(8f?OfV_H?3VqcSbGdqJ#@C39h_X_3)zC{UGg5^u6Orr4LgW!G1AnT`Nr zyhDRnF9Z`RV^&};ron#6;-Yj8sySE!RuvP*8c>xgA$Y!)mU>Rw&$1pZVs~^t#_DXV z7=VQgQ*~h^jY0Jau<&UcP#~P}djRHv0*3X9OZXhf;1n2(m%T6p`~(N^U$~XV3Iqhv zRh~l}H*L^LvsOt1x+@7pE?IsZq{mQu`&UtB;)A> z-U$?g2r1cBB+<{enOZXr_DWFo`n)P%>w+kO?#*jyOl%Q6q9Qq0_Sjw$<$9ioV#nEl zBou3ncsbwCm<2Vfuu9bA$rddHvmo9Ie8)sm;o+8wL17w7f(V9W8f7#K+rEHf6^*#R z70Tw+ZbioVXxX8)t{aIIfnZnjaVo{3*@DOjd<_7y{{FJirSQkVs9U zE<{kVAS5ak1}`*JA>9DX%Ag=I5!h0CcL#qUva{~yJ=BgPeG0mf@O9P zU!1KJXhMfI5X09|+fYEvy{d5WtAbRO?C$_8npZ_{7fRPG7}w!2j@Tfy0CpNg zQ%(-@w9=rpny9z&3hWeM1}>JZwhQ4o2hK-Gm~!DjM)6v4$O^-K;O(~htv2ZG_+a2E z`(4N{_e5BWTX3u4H()oKhWlKs24W^?k91q4D&|F@TPji&1TTP*y!e=oRmf1^CV>WY zT2#7M^Vc1Q7DJ6%tJC!Z$paFkn$e8qGQGGz9%^RtXfTPDMZ~Ej9an|ZMndKJ63Zyj zLQHY$L6vOwTVSQ4lVz(s;20dw;~9{E^upDOCSqkaCx8T5wGOL-*Vb%1(bPH|IP6eh zU7{(Xb3Um zy0@v8Ovp8`Oj8b};JA#iTqWP@Mv7rB;XutsE;&Zmp1%d~C+UE$z$UlVG@Oi8oEGW$ zRT!cPu`agZav!Wmgy=Zx!fHr`eT{mLio*g3Br1Ll!WCSCs_9&bEU?`URkj<2umQZ? zb_kesEXYiHGdRhCR+E_mmF34FWr*nCSLPQWxwk-%`L@NlT)$?AW ziWjYrCd~!9Cg(yd^OS(vymt zj>WPdwOvCMj*@aJO!UN5tXT=Oj0F-fid-lIV+F`wvQTWPTCWbJB4SD93^K0t!%~X` z2PAB!)evIE0Ll@nm=H{}hO<#TisfVFqATl7laeB$s^myIob*8m@UsvKL~lGDq1h|? z8C;X&s+$M4mE%x0h+0ErxlGX=yjTx|!vyUDLe^rc>!2mA=kkgN-X6;dU=wGTLl@ehgBKRd0cSD6W2HvsWfxlBFL9xJyLDu zlp@>+!a`DP<7pq@HzJb{0yz=MR(PvL`oeGl$XBi11vxVu(6lIuS}+}tLlwcQxAKlZ zmB>X@Ay*YGH;!kcm=4mlDqL3Eg(AqG0y*nRwEB)2u_?_d>bX`=Y5{rBv(=KPBYGR8 zTkzD#Ac?y;2nr#1Ip>NUDhu)lD4z0x%z6Z=BxS1y4t0RJ6{F=ChwX776C)NL;DGMN$AO8H7jN|%D-Sr#gFgKqgATy#SUjz}~hfbPTwI z2|g#2>&Fm3f~L9zQjYo>vTZ5pa+V2unPxWU5E+ldw%tfKfdQ)qMzS_eNy$((r$9=J z?SlkI1;o%9GS(4F9*X3O9$d4N(NrrGstW!#50i4H&$i4e5Xw~ww!*~_4|HV?*hp|A z1GGe_E*nXC&mMl}KOCvmkF-xf=8U{Tb>Y^5tE%52aZ2FEhA2vFIzvLTXfR)o!z z-Dbp!3Qm!XMSiv&CZQXsx8G08{R%G&QACv3v@SPcABdXskP|H@T;TE=8E^t8hR`O- zaGb}?MFd}uDN#_0uQPPg20JU7?SNE_Sdz$sm21=-E0IY`WupeuP+ZDp$x>PM#4=L2 ziZvsRP%52p5^=0j>1f@8gGp-H7ww?waz9{ZK~~Y!D`*+Zfs++IUqGh8*&-rfyI3&G zG-%XUjU{vyL}h3jBonK^E2&^?9^&+>rFxVyiV7auh^Blwqn{{M08NuXfi=Cs07a2) zmyBAaCKVTw^&I2R*9ujS9E-4`UcpFzlCum*?Nq?&i(nKY+ZZrh`W9KuWdcIHl!1f_ zh~Z=5UJ--iWVqSu`OSb{cbbqA1*Sk>Bzk_ulEC>Cqytj*iY$22keyC3dcM`pHJBg* zMYJwJRNe*WhFbu@&|pxL5OBD}*KP_ORx>~}xU6}znwPEPtiQ#k7y*tpOI$bCR5frg zQ%;7}c&!f@s)Y(^3SzvN3^8^|={PB1BYBcOjf$pP}M-2c2y06WNaf+^`lj=QjeW?1AMCGpuLu9r<>je zNIF7FjTPw{Z)luP)CC)2a%rjsLibrOqPj^wVcN-z#|0UIjw^?aN*g#!B^E^UvLFba z=(t^9vn2tu7ZpT>gxIKt^?`su%3Y8)AUZWG>mykNNZpPv=qqLgGY26VZ=J6hShX1{ z_(Kq9)&05vSSs@Rc0~!!`aIhUTDp3ZC+9b#WdHg-J!e+AJMi0V$89S#NbumuK zUaSk1`8qh~Q?ZH&B6uLX5@9@T%WzvQy&-{=_RyeQ3!>GUL~1o(6_fiEu+=KSNlXL^ zQM?^TDj*t&BbAbFXOVu~@6_@Nh-&o_%wPAUDWasPewid(qEjijK%e%C-W*i-3Awnb zhnjuZrFj^Yd02xa5Z&s=!5VXL2<~;;xI+QSkm=|kdsi=0Fo3Owuy#dKTNXHXS8D*8 z7R?AqhlWd;P=)~cn2e|g;kb$+x~oV!Oy_$zp}`A?0#3rn zRtyN7jOusgu35FL9;Ip7`0vK^ryvPD}XM44n z-3~DoG*X4*v2wK`_)NiZ`&OQHy1WzhN%XS_uq^roAPEfviD_C3#F2c>5>|mR8iRo3qb;@t_Y)$O z#gl$uy=Qz~C@*F;1$Rl&+v%`r-p{i|mZ3s2*^BfOwOEJa8{lA}LMI`>z2H10-u#;r zoMsfOdU!liwajQucgu|`lQ2^ZP3FaV)s%S@3n8gm7pbXsBbYZLWWMBsonS%)yS~R1 zB{;3+X_djinF&5vZqu^VEP+&(FVzwtkh{#<6ao$(Q-NrUEp*!fhRlOFC#}i(TFk_v zV#H^*ww|W|7XG$l6u#8&_S|8(rY$N$nVpilqzfJq>q^}jYV$@-QG z{~j{GrNY0*h2QRle@_`)>^G?wNu+ms{UD_AE^17^|cbR|53SLCi9PL z_*8YQo^xw~WZNzXUlw0}V|ieEtX2*Fyi^S|pY~V0AL$K7!$A}!QD1<-NF?kd&&Uuf4|E}-WNle-flmB~+dvPR+VquihX|sU7W7zu2wQVZ_wWiyyeubo;Z=r}638SGv z#1D`kApvLN0W2H_Rg+{e8VI4G&jEg=>(_vGn}W8z7#Nv>kR^ne<-@@bgn)`(Pz=0n z=&h~3*0ZgPc9*q;Km%;Te_oWk4bb0q`WnP~6BJ?#{2ci6VL!jHz1`Qu^Z#8`|8r^e zcU1b?^1g!VZ>+oie;C!l!4ZecyvFq074gZ=A7e?M@i32)KAPrW|GM9 z(c@zlD@yY5(L$CgWuwtVD02MRGXjp^`gnkuMtked1yh^#1&A+ZvwfOhOy>(Z@l6jE z_&W^$4L1LMTSNM?SpJ*!_*WWieL%(M&szA(^;t!mwd@WE)97QXoRhO8%{~VH2Q9{M z@bAwVXvS}zE4TsX=>6i^2H^WFFe$!M7p(1aCzzd zn=W|b1t1gP^3R{P0lt0yT#Wydf4?2%U&8LU==v62{}KlNrN-ZK*SF~UmoV@zHU5^n zzD3u+gn@sl@weRdExP_C4E#%tzvZs~lj!>L(SRU!HT#I}5p(B^zB~{b*kRnbv7ha) z@jHzld+ogAj^lTlu=9ioWABNRc9}GB;^4#y69$I{2Y1;Oye3TAZTF#FcN_aW24t-J zSTFFi>%<8Y$6EYruhDx4_MA9y!MGR4kDEHM!=B^D?>TOC#lU3n@WY+J;}pl9sJQ(# zZin$Z?zA(Q(%>$j!EJkh>5m`31DNbiJMIWtpA7B~?6~JndwmZL?7VlLoiNqh$Md5L zuADe6c*}kJ7M@;rsF$-&n>4uJ{s(;LyN4Zq#PlPN0*@@j3365_9Erx_iDa=vGv!LP zRtE>h8%?RzwmVK26r-K~<1@}Y>+GMLbKyllzxa{`mtMB;s;jTL_ScJlbKUj7{oSp% z-M;jWJMX&xffWxv^zb8(KK9JB&;9XF&%f~EORLws{^vK|eCzFZ-d+FUM}Pfz!zUX* z{cLPq;|9iWTh`yJ|Aec1Z3rEOi=e{W%@{aY*hVqssd>!pER$BzTV8^7nk z+=0)IIAL_)^e2YJxx4;l!AqT0KRV@@1Anp0Wix*H@KsXO^T^AIl^YiP=K4kJzq|Oo zrK1Dk(SZ%8jt<;+_ywZ_e>iHSIRg3TOz&MV{Ns0*9zXoDI65%y_>tikw@e@Z*-4`V zXa8}ou>7+lMh9-4Ffz$Ef25ip9oX~wQ~ogg*X-y(bN9`ANs~AKcFCK&&wX#?=Z!6k zo;h{y;*}fED{eS$bl|GtO~($uc2RtE;EjtXfAiQs{Agt5JJJ952OGY3I5{w~Xzm&; z`=UPblhJ{-<3v#9w|Cm7XRg+- zcxUR%+4;+!-wPmX?U{$Y|G{(Xc7AWh@a)lnbqRRmp>yXCzjou~L!N(NbmxhVT3SoP7b|@R12GZQOtLqO(>% zt2$>rciVSvnR(?+uc!}XIx{`*_3s~lOW^+B>@$1kHBZ04F7wvCOHRA{ZnwB}-C1Q9xc^RfZ@l5b?;d`}VSjq_%vV3jo%U+#)QJ=HOCLi&+RY+gn)S=c z3+Bu@<;Br~y?m1g-~Mdb!naO4X@7amF25jNf9BAqKUgwz#t#>+IpDC%<;9o0_{V7< z;TLXr>iS#u^u8s}b@qmDI{WAKeKmF8&n|Z$@6|!i&lf##!|!VF?CgJRPOYC7U8gSo z)eWsb&1(Jbs3TrFyt3?}qkpq+$a?$-7au$R!uw)RJlNa)oZ;7&%o}&oQMJbU+a7%5 zjyo@TBq3jQ!V^1Q_~6pv1;~$MQx1IoeXsV)FWhrCAJ+H+1Fma z;rp^5z2^DbpMUkpKfZAmpUWD%)*t^*Njmt^O=;^^{phD3`Ncjro-$!m@s!8r9JyuT zvfy2(T-!bQ`riKe{cpNDx$x!})_k~Md#@*du*1W%j(+lu9d`FV-h29!-!;~HPT2e2 z@=YHrna0`~CmyCh`PKt(9bdgHclF1=oN>UW@4vKm)rWJFdynk0%j)&NKKbsEeLi@2 z$t|CrFuZ7VVB)POoUrnfk!P2FeDhE52XwE%r~dxP$VDT2L%%rSlxK$)T-LdA-qDke zzVn4c*!?d#^|f>Fp822iFF$MYS^M9m{AsUco(GQZ?)is5C-yn#vGq$cm)vp^8s<-!BA3OX?{pxw+zq?|=;Z5;p4{9H(F9p3Hjo)|tQG4w)W7$!QZd`EY z9lLzEDYitN`}oGs<{U02PRM1SpZDS1tLC3MeDE=o*Dt0n{OJBu4u5KMOyBS6Y0`rA zKbZLFz^N}!I;#Kny@$*yS8lv__}E#`e{|ey`geP$-#@(f@an_YZFzIiwST$&{u3X( zbC2Wh+mU~0#ChaD!_nXw8y?zW_4!YYA2)yb^4ET`YF%;VIfqQ&xcE04^@k2Q`j+(% zo_E(}YwNQPy#ad;z46L7&V181|Iu^NGk$W%IqB2(M{glNojK*T?|ynRe!{OJ(+@kb zv-Fjd7wx|BM`u0!$MX-l@gVU(mpuE?TxR;s#nr1GI(YvzCtrH9|8?QsR}Q`Hm)E}% znP1xRt#vowynN2w$l&y=PW|6_&pmD4IjcS_ZH|o&u&E_m4*K{D-&x;Rk**I?&2~=3hR4 zbYP>74UeG59y0#!7oG-CmVd*|*ydUDH(WD1aJ9T~bYOJg%#X^W1F!Eh?zQjVbKZgX zoOj|U-+22Q;QZekBPdu zimgxFI4g6=yt7~R^ndvD)aRaw{m0Thu3IQ+gL}Nb=fJ+luDtB%`kVW{z3PBdrq?#Z z>z?@IbDvzY;ln;W<-*k~B<1w)zrpohx^tlM@sbBtz4VtgLpOc0_B(54)E`)Q{?+cn zOBQdrR=;88^|e<|IPmPo#XGI=Mt?8dbH{yqevfBR4MW6w|i&MDtL3Eg<|;&&(SJ?DF^mln*2Z@l@YTc3!2 z|5tOK%-{6x9zUCO>Jtb2{72vW`CTzM$|E@!pT-hspz&stf z_POVoS}nHg(x-k?TDH@N54|>h{F6rvZ=&BEUb^7D2dhnwRRGRets)Z*ytw+BeQ$Am8@v6L((B z(np>D)+P5IaNc(|9&yIdQ)`zzx#*>{HhjEn;k#dlq^aCq7~#KPZK z7rZe#K;L}HT@merr|-r-I%eL;cbdzklNTTNk~~X4bH>6yWX{^XLI>Y+*|J}s^S$q_Ke$^Sd0^@Cb!%_haOPd=`f^^}PQ9mf;o|DdW)(VO=?ROT53N6m z+3$=49=diy@3FP7zP#lv`t|eh%(}(*AGzeV-3K@BzTy!0_j})d?UF}dzw~4Ijwe?9 z?%@X)zEWR#?9-3j{QDo?x9XFno|CWKbi{pEZ7yy+^0h?=&OCjwH0#0Je|q?-XMX2| zd56Ec%a22cyveQo=(q=u`t;gsijS}tEjr`Z8_oKf?2B(6+}NuPl&x#gu7|ML8!zj^z& zCof)!zbQMrUH`zJKia4E=!ZM+4PE`|&#v11@rTChjoCu{(}G`G(MQ7k>Cq|GoELfAYmEe)jN`mGdr(V}I?w_wlC4 z5i5FEKYiO-=dW6kyY8i4>ABLb3#gax-SOgs_Sj|mfM@X;?`}A7`I&bPaYx#Jx#Q*; zf4=ZLR~YLP2kzT^WXfsR*!K;bYfstpktGkUd@1|;x0lS=vT$Vf5f3ie<>bpp-krNK z?tA+7^*f$Yy=-R_IoSV8_Lfr*+VfuMglmu8X`lSDd;E0KFPEI~`kfCid3M^tM;-tC zN2$?)3Aex(Z|ZG6VwZdMai^_XJ9+IcS6=kNsXL#1!-I3{D>q{DhSRp(J~|){PuyHu zx9HqccCBpeK6Jad;r@fm^mA7&J8%45T;%-w!xN^v=oP#FWq)k1|DFd;8~f_wKQc#7kqjicJJ|tDfxTPn|SExz#i96UZ)MOt-k)j%k_~-5A41||H-V6 zA3pn->P@}H%%;o(N3HnT)Xb01A)ealyghq^1Bcvs%u^Fq?UScJfcMYddf^&r>NyAG zmi_koJH?-~9#6bIu;WL^?lq}9dD%VQb3dA23qS|I@cpyatv$H+$Oj|)ZhjcdaNhFQ z{=EFBqXV}udiXD^&Yb(ZQ*K)`chcrL$F08Rou#t|dYx4VJo(JT71td-{QL9q;g8W3 z^x4x+sh)NOxq9A4-_i|_Z@FR_J~}XI!8x}rIqRk9-PcXIU3~V< zN6yY`3kcX?>VZiIHgNxwdI_Lc94`O$&>CZ2Hh zMQ_g@x#ODs5B=U@3*Pw7eFqNDrFI&gIeA@2-@MN*YqBfmZ=C+txg$dltWo96M*Xz| zk2~;yTcOl~rMEuUSoqj3ciud6T4Bc}cfB^{)rs`{Qzsp|<%ZFL9f7ZO`iWy+>c%6o zYtOi1b9&?HYd)Cp;Oc#!zWMUkk9`_@`Nf&_WefK`Z@)M9)_ykkl0#2^;eu1Ao%_^; zwU0gi*zPNrFQNMHBeQ3dzF#|G?(tn%^4liFj?fp|Hyo+z% z>*|rAw>EyVX^+j*w_J4${`$Owdz0z;Yq}2rG7t8&XXDRflWzUPftzl<;Ja&@f4+Ub z_@_O7wf<^k*B7qX{iV6LuI}#laQl)21`gW$-K4JRC<8Ewr5Bcu0r^9n5Key!OnSbhE^P{IXtZWRvz9%x*|G~oLjfLXMKgVXD zY(A6$yC?eLdna5^9sB3Mu3VjwE_>?YR}k|;bkVbmmrn(I@#>F^IU@Al{vSPj(8xZQ zga5>0^Xx6NhSN{&cx$nG%iWis{%dldcL&~Fv}VB>Yg5saBC9`!?jZ2>LpRPk&HI3dudF)0f5FQyKP3G8n)G}7 zSf|iC{_>*_9{uE|q0QyTfNNG*_44_vHYC=4aMpXfE$W& zSKIYGA9%Pq{;LNa>N6`LoUoC4|@i2ufiO|IW=Adfw328X?-TY+VWa)9>*+pmV9Ra5Au5?2|+6 zBwZ|J(Yx2{VT}5Gz;@#?NbE2#{$`JJ(7dO~nDtfn^g~nt{0Li z;1*ff1A-A2!U>fp*O6T^xZ5_K#{TB#9mN{2*fz9%y;Zx(sh8y)k+8Gj6<`tD{@5gs zAZR$-YtFz=6m(@2UTL~g5_)S^=Z{p62w(U7G%uc9M%qs+!*Qs$hj7H&+my)-7`^u= zxr){4R2xJHcK7{gO!rqmmFljjnwA>$H_l0B{N2Ri*bQ|2h|7xVpiAF4J#{G!=lp4b!GZaEyFR=;v$nkBJ;cFXTyHI z3oAtfP0262Vzjg!5ADhu>#qE5i0BR$($Xd8YJ6yu7iT_<5Y=4>|5WyHmM64l$?ieMgo- z7SfMF6<6yzHjor6QJK2B`hS~?nbQx4JxYgO?yEXV%ls9-@ca>v3A5r!n-`ba$N+1L z)nFxovHNAq8DA-gE)bdhZJ_dz9}`^q)>S&`b!`tcw<*pJi+-wN)2>J@}3 z8H$6*rG{lqhMcSp8itP%{rIGtv5JNwxVdb_5%Ip{m~|q7L~L=+uAH4 z|JDVy7ojipa6v=72DNmm)W>t>i9#3k;Pv5?^aut^5V~#t%=6@pj`U%Qq%EhRQxVj) zOXzo*WKvV(TZ0l8s8&vv@EW{P{q1g|{>|pO>y6-3x%Lp*=y`pphm8JVop5%$+Fxd|RnU?5PzyLA z=qt|`;)D|kCb1vZ@^}{6fEDG*5&hbU%c(eck@jXElT!p{Pxp4pYd<~G@2@20VB1)t zv3|>nztsC{qx|1L+$a8lZk5CAf6R#ExAw}npT1q3uQA}A(SM>3S=lXz+Qw}oYQ`|C zkcYSC&rps4#>|H-_3zircX)LtRq0TBgbk^9b5oCb{d>r3-MJhQ(kaoagYN#UY8q7a z)uAA9P}1+-cfm|M=z(Jp_f(A49sZ*LbS{8+P&p9BBvGXZ+p{9;{iV;bRv09^1p4?y z?Xsh}nwnUUh{83d)l5J}fn-7{npq5^UaUMl9!gDVL_>juU<<&K5lGei=6&i3xB|r# zhi0ZZk2Gm7lwF&I+PYdl&XWC%Ug?!^aP`FdDB!=J+u``%uJQx3kPIezc5l9+J_RnO z*up`3K-zAD5VrY)igaLQrcaJR(RtQ2)JKuQ?*r4>rgSh;*V?WLhb+I=R401@n|ck# z#c1k19{4oj!a;$p2*J($0a2KF120M?FMlm%N>{U^gi}CJ{lKg7lh1`r07*qPB3^Qc zGWr1WYtc^d#daraJSQH5tXn8ir$6=sF}+`sEwzqgDx9x)vlua$p{f(-D(-X_{Z)$t z(fSiuBIsX`gce~^T{MIJ801JnwS|0aK^FkBdz)3cZCKhm3$JDV&QjCMdD!>t^3o#y zOUcrUD2k>h!?>L|!1!Z^VPx(Lf@m2O7m_D=3i#wBw9`Z3r-Bq$fKSK0x6Rb!T?%^- z4T^8d%o~snmJJIFyPYTgj60SWjwrpX4?<3FQ?8_Ml5hi*EAuo?i!OU{dak^G^UWv! z3Pv>ai&qCq%8NuJo_k(MmJapiuDsh|bgd_TK=zvbFAf3V`(M*wc6X&R(acGz@6R@k zX@vVtIB^t~Rs3R&6h!f#o0(JVlN;@~uN< z(ckIbd&xvx!POBesP>4~PDoAJN(7uQwES-F`rv>jGOD_fTsf!|rgWi9cB6ds)5$-A zR#B-tggaW6ZHy5FQI}&H%sA_UeW@kmYA;n+J?QQdjUT6fc7_4y?F_^)UosirsspWPwb}Cgo*&nRxpBD_zpd( z+|S(YW7SQ9VJD)f)?-vbEHFT{#s-p>q;!4!M>brYj zUS7YHsiLW>uX3-o^4K?yPVaQ9Kc%xv2wvm2I>@Jei?N|jrXz2=B)ikU>Jc{t4X-H5%u|fDkP|}Q*b;1&W9_zvgOV` zZrTV#Z`w5KWiG^9?U-M`qJQ_!^j+=Ccg0bwfq1r3UpSa_@Ap@2chT+3jAsb1xf)tF zqP3(5LE{C|lGJB+s!HQDnx^lGXnU-vvTJ@#%lVVXX#R=-y>%uGwuzu<_LHcRaIQ4~y!g+19{HdVK%DC&Z&Sov;(8X* zZ}t;i>bAcz?d`Nk0dK@IRM){E$U-tiM42Fg3k|!sq91iXLC*%(CBH4ZnSW{D&wi-42%-u20;S!ux~3T#o5L4MS9VT>ybtqL3Ly3UT)5pa{5q8HcWWzn|5! z{-taO<1x&)==vF(WokY1k{I*a_8sttd14TFbFBall;k2U<&*QP>g;^6h&M85*>W;t zUlx6p*SCY?z%dmTc!w7!k6Gfml0o1z!?cNk|sfx>4xnS}=F_ zTkpzU>2@E-#0Py9(@E1^Dx}2Ej7T7a<}uZ2>BMmcONa*3)jei=N)}F99Tp10w7_ii zwMVKJc9%+1Y$UKev{db2=?EUbH5~MU7P?HX3O@Ad;=6vo%0E}HNZid{ zS^7mrPZ&iZet>B__x0!>!f&o=T^iR?1`EN!6DVRruWHvVIk_u4XuEBV;;#HQ;f|*& zcB<^`umujvtu+ij04&-7Z)pA`?8jtSbrMriAsB_)7+$*rZs&;85`mkK9E04$AZ?lM zT|dHa8R8!dm98MI^lIcOdg1d+d925vn=e1xExe)4cpNtU-KTQ{L!-{P$QTD#B50iI zTcg=DF27bs#z2VfK#??s`VxLN z4*#L%;+)4snWJ$^DP-W_vDpe0`TOAM*cN+i5_2{#IXQ%~D2w1+SYbnJ%aP%Ar_ z*xkCS@0-=_h%rj3QZd5|AEL2wlH8iRc@MH!nnZHzLD zyKASWtc{r)2&yUt8IY6u`sKC^Zb+uSWZE(PUxT(unI`*FvX4RMH;69wEyUysPZyr~ zL=D~Nmy#Jg_3`>_N!4$6@6DN(mam#If+8!CHv`+}{@Zh15bpBaaPByKOjG7VO6K|u z%=}0x=W-5&?{R@fr$+aZOk&ffs;G!yi?Xcndm>`dKseG>f+H#AlZ`ggSsJE?>JIMO}(xof~+I-_=6MX*K zp<8#XQrei|49w-!yH6kN-1x3*q^u4Kd^Po1z7T-SFqIRxefW4Lam??^Z1uNgD*^dk zaX#btHr*uxRJPr7#_CVyJ5%8D4@2+*3CX@3MGlt~2biY7Wr2N5Sfgc)$ z$@lm#$yhpmJ|9l#-MTir9?r!Vu$|W}$A=f?9?VUfrb(WY`eQv4oD3`7`@O1c0{`xzt zBbKQjpE?bklKOPEW@ORPeFh~lq%ciIy#`k`1B;uB^k=-aK`Yl&NzvBe>fZ`sE`8YP zhFDk0%PB%1`L&(y*>-_nO5QZ(Ij^bqxUt$K@Q}xdRYTiy=xg)xo*IE?AIe4vhxI63 zFZU}sbk{g6wD}Obbvo6>K=sD$tz;`%t4QRWXXWLG{FB`+h*k{%b-Rm^vq`dxnT&|< z0Pem~po7#Zl!sS@!bLt!T|QUTlR7(^|G@l1uy=h>onkged=4|R9YHigaJ!1~@nv?s z{X$usfo`OmU+8xKKAmV&FdLoJpo}Ek$k*-3biGkuq3wLXmC?bFAFs~#?XcF0!IKt} zRE|OS>qnX%Y*n=T2BpDnesV9^S;}y_SOr!V&?0Fvz9)H1laUA+|dXL!>?saaI| zx8JK`z5JJgmU$Q1BJT5ck)z$ac?RLv-nIhL3kMd#Lh*b$WZpIRhrfEl1SfxcP4K$7 zRqQWbosTcl?%laBR+{Czlu6lOoD-v(+1fGw&T&(GrfPBu@P?1)rtn>FVdAFoaYbgtB3o`_6bcm0scom zoBT~z&(1Q+=cfNT?7V81Pv*OxWc#4Z#ME7W*`NgStan%7MU|^*d)FTRR2IW#Pq%1t zEucZU9WQi@qX?b(MdVFE`d_FX8!hd;Ki#%^G8F`nP|hIZ!_aPzWy7bn424A z1!-fIJ2(6}a#(KCG^NwWrN6g;rP=$(e%kru=S7pC`Y;Ew8p$_Eot!>=nck;zG-9$= z)kH}2FjBsE460e~Dn=qgdPxtNmMsMGC^;Ob;JW{mOTI1F*A4nhhpvekXNbJ`Xh}Fw zx5&X{{AOOO0jenAetDW`(*q#=A=}>52TsIj(8n168g6M(F72Zy&=l3)MPReL2|w|q z6@$yU^vtinZ$*7QBlbNq%K7WM%jk*3Czm*dV&iKx>1Mq}ecNEcJKvez` z5Zyx<4bnTm?8|qBeOSza&BT#9zRp3Ar)sW3YM`4`KzNE}T#G1I;t*Q15H#HB3J*$q zI^E3StaBK#d8eEt>!2fZ@vcKXH77%>C}N=I)`Ks8_~E(&5aKH2BIbqBG!uhuie6So z8jr4~JG)Chrrxup)aehi7vyfJK-8{>B#1n7P735-0uaid2~j6Ypm4uX0j|}h@maL< zVp#l8XDw$|11&BzZ^aO)?FXU$0;;@8<;!VSvt~xO6m?E+qxSMfIR1hus=kb~t-ywHs+huD1`}0G9mC_gJH$?9&QGpzw&qQ@iF~cR zcgvYgOes;3pU~PS8_o(3KLON3&=;y45ncDvKxnpO5En7z7?hH{PmhitVb8v8ym$>9 zNIM4QykyFz)U(ngNQ&R9Zn|3NeP@<|7lFc+X`g}pt^^Ond*lM`>Y)uo)Bjgr&;+6a zeVYN1r=7!;yCm6Oc&eClR+CM2bC6clYh1N;4654Oqg~tO5Zm!&uy4}eY4}s0gtyI| z8`I#z(oH*d;Skb|mQf}8?a`t}-uKo`?p`V7Rv*PLmVgwQ-v4vPC?gi;IDn!-H#7pp z#o!C?V+at*?@QoXW3)g|i3+bw?gQ(VbXcIbFi;HAofN+OsY)Z|rrcxx^XC|Ov`;<4 zK3`t@{^fuU(5_pbouTzMersL(dy^I;=XmNP)MTh^KS?Xppx)tUO+(VxOaYz6j{*-X ze`s8|dnu~5-*DM@**JiC7l@(LZ~!Q{hRZO1Lxs0nB*Om+iei930_ns3ZCK?wlu}`H zT(U!D;;&KgV8msA7xqK=UnE+Sz zJyYYkzg9ZyhQr}?B4(3^ z>Vaqt2a4hKG$>wHzLU+xtCzb)iliL1CMcTZ+>es`d*!?MS$22{aO8QKLr*HEaDXB? zuqlrPQzYd#i?FC@1}j&8VNjU8{&qRYCdp(OcrZv`Jww7_`0MNMpmQKHx~hbup?SC4 zcEA6cAx1^9yI91KZwNcqO&SESwvaB0BJ0`R^t{e(tVmJ=(a|t`_zVc6q^EA*X z_fHhIJ3jA{=*pvd{{0^D6R%-2=g;bT{Gp=8;0lZS=ZoL^481LmejzZWR?7&+6pc4ayla2p!;e%bN0kkZ?!v>CM->>hR<* zMQT?tMbG%?Xuuc&c1f(8wSVomrv^^>9^%2*(!DT169FRXlmcm+aGI2AG$poxiS_5; zpM|iOh8ndQ`%lDz$JXbu!~kFR#YyW@rG&NYZ}0vqdaIFK=u3qCCVL-0rL0-ElF1(R`!}zEK92q z0_f~-lya+|Ngrmr4)jloR0bdFz;(Xa3B-g?J@uaMidr%g-qP@gEOPt~F|DNz_AwKU z{$E1lCug=DptG3Gykn3=1t1r8+DRXS^sk_?Vu2Ott$8xwxqWX*aXALPCyGcUO6wu89RHv_vC?lY^7&e(-7;emPxbCm z{*CA`#?)ER`2ap1?GkqkIz00lf^LvLJO$MC^AH~BBRO55iZQ@(4BBA>lej$zqsJia z-+;&?fIS8=?gFNOtpvth2=3babP3~a3b0SzY(ECkqU_tLClIZFFtvOgp40Cawqu*T zN#XOB#JD$2u6e6R{U7GI2g^Ff0{I5-L$)th>tBd=Ua}MfF$xN9yo+=;v`}p?wo^882UHWi}{(W+c^MOXVSqof?({k)>_pi1$_soZ#; zOOd83%lubrYHsv+4H>adnpmEEPHXe}oK3s7w+1zU>j3%5l%_{?X@{}-{F$4#ZAcye zJ5t>nXdL`pDz8x|A>1I=NZxfPJ3IRam#_s2+4rN~xp+J?Dr<@R-{@6r+`F~0_?yXaGEIg$?aVpu_m0r#MyX6d8AcCNhB-RUfr(}`Oqw|SWXFS6`j z?{$|37z}s{v8%nluuLek`C9f*eBeWdfB(&M-%D4Ghxia|o3op9b+m!i8MOS@)!`2F zF<1G7nI0?Gf=03eO_gZV+QL>>AE!r5kM*nfD2NRn8a9aJ$<(vdkZXN<#?k4t{*u>? zgjEF`z^tQkw#)R_X$V%OXG_U>gJ%szkEZzq4V@LCv4 zOs!0=!H|6P{l=JPuDlk#+@pGMVYgUx*7I8e_@ zEG*r8ZKw9_l(s_5i&Z9kZjZ~CKa>tNOJC}CTk`L%K?{@Fbvsodq4e^arIuUi87
B7BKr@iMU`qntv@sHtU|;e#!4wUloOQh4j{6R~)^+11?cA)&@yzx$$MB zH2VELyS;x5+OSX~+2C@JLUJjM_GN3=uUrp@VYww7eIuQG&HvtNWRW(3f z;q}F#2~0SHEF+e6>$rBzc@IS8wCnpr!I(cBjpF0yRP#8ty8du@!B*=7V@N-nmNq$; zk_m+HxuRZ@B+tT5knVKtl5FbSES+OU%nNk*iT!3zu16s9Vd`Nw_U6-h)8w6->x!K`y=XSqwlJ;hj4x^s!<%5g86V>Kd8~kOCulikw`t z174crEX}#4W~4fF?Q{(~o>mYEWA<#QJNM=K+reKmkoZjcvt)v^nUi~KoXCN9j`Z$l zY8)w88}U5BKIzrCUwFnl(itw5Tmlg}syY7cs|j~4<3#I#=WeHR`7g=yWoya4go$&s z4Pf0fXilWK)_yT;FflHHrjIo()-QgWm$&Xak@fDadmZ9KZ=+C_z`pX1CymR7{GF1E zM^C3?Ti%z^^hu100_gf_xmRfT{XlO|ua>7taY^}7?NS_KHKA6BQ#kKn7jnLfsEz)# z4Ydxl2xmBT^TQ=xRu&oVs(d^O9jjXoUm3i!rVY0`h?ZCYg*$xq`-O{1_X|E>mh(w% zWe42_*nefZ3DP7XERp~eF0=$G5qMAbwI{B%h9YSh<#yIK#V_l)mb$P$Mw-%tkcG&3 z(I$V=TRbvJhGv5|;-!2Y8-JjWjWZvUlNWo_x8C^CF#xoX(iv9f!O}7O$K3OJ_s4uf z*}fJ#QW(3wJa9cpwJ*z}B^_{9i|t=iWBwevAgamyv%5ggv72O(6F!z%Fdm0-!o*L- z#PoM2?IUCTrQgEh#c%YSdIJ-aE@67t`uY;`A?*~TcD@VHYn455feaqLd0N2FdY7n; z730sVhPr9vn2ga*VW<1zpRbQcr7II$CK$*-AexT`mmMe=YlasBTibFIF=+jtq8Oun za10X3V+g_Us&pRon|aDpD1tO~grY=G5ZtW=|Km102oj%{#aML9KEq`%cx90|SXUw9 z7CuVbqum1LIF}Yeu?zLQit0dLfa(gzbXa$66qo)E-%0zd9{y9L0$Pk9KJuhU6(9+X zPO7m@cTeZUkeCc(%0LK(C8lyx95WMX6#f(k7Y0^Hkl*kLO`c&8}+033n+pTmx%xT6#2_sm-) z5m@7}V^BAYa16q6;Tz23@C@Cy-p)R5yKI55RR*$YltIZGFs50NI}x{_#A$>8X0;3s zXv%G0sX)DHv|orkO!}n zg2o-91}ikod?hRbuzQk4OGeN+n_^FZB|fAH(wiVKWWpRLy;AF{Ylu|dbm)=V22)@~>EqY4n=on}{R3ig zObg(=6D0+RHE}bVxCdF8KF#<8*@1xpBD85XgxO1#0x>RQ+|Y-&5pSSmrFG1anXDJk zaS>KT1uUVh!WcIcXZWDK#s~m2CwFoEOUb!7OPM&>6Dez)*Ut(#I=cST!I0UvA zQd374LUnP_B(@Ng1kmBzz=}KoychjH-h%v(e_MtD1r6na63 zQxb1RM?Q=8eHs4;B`%?+rWr{CcxDDyAcUr^hFN%vs;NTs|Aar=9&Wc_0z{%O9GiG7 zqJvfbErbmY!6m6^zc(U@W_cFdD1MGjwrnqEUTwnw=zgJe{wxHm7e1S#kbG+;p}V7w z1*dMfv$e}McD`Gr%6~=b=={++I$&3iWL<|`bjK{Dqt4S*Nd|4ASBQ|rCT35`*z#BY zB`h+9nR8QyX{l1TBcDw3$8Ht;Tg-v|Ml4{!C*`>Gh;g0nDnl$1mC1nxC4$0m( z_*j>&De5k5cc(2|>d8bS#TOE5eQFG^R{K|{c*<;FZmF?}Nt=7p>2vo+Jw)-g%0HhX z?{k2VB{Hv)%hsP=?WL>XQE{p2jk8GFPbqE3lgictr^?F^pIVstOsaP&ru&NfQ33HS6 zfn~_K`-gsbxpE;aYw66Xggd2`x5O31m`_;%-|RPOZa}V0l6Sbl+akbvBTRV&+h0jL z0IfR*)#iU4Hq@WAD^J@*`cm|9)cHwFceqeJ#n-=(QnxVBiMV(pfj1HsN;t9DL=}$V zd7Zwwp?)WK_Uwy`CyPHiyy;n{0xaTn-#PxY--D&hO^`{Bi%B%4q#04c?r-!-#7M5@N6j z$;UT6FLs;LA~{zCyL{8;Svh0 zO>Q7(dE+d{4Vz)TFpgTC+SbH3;>L|KFM>HG60YzpIvsjPvM~PzObn5YRz0vUh)(cx zk+D)y+?w+^Q25*XX0DT{6!Xm0;6}2=M1^DS>m-JYXg5`o7C5E_frExLOiNvVtfgC2 z{!Jn~EKU983_!x~G}h^nb`kuY@bch9+(RYJLdC~Q43W`lL-!r6s>|)f{*do!EZ3h} zymwdM${Jq|VJ``&>7v9EEDAhe){#Z`ZM87ppZ|8B4-9$|{^Hi=2~A7(JNQgM7S1w2 zeZ98fkWG60^}m!3ZWF_S3HsQVqUzl>6)5UM^B5g5>Mhrld1S-zDWi^%@f)~VCq3$P zxFI3pKqp|)9}+s%0&tT^JGh!W#~Tfo8&E}EMpxZQ6G4R*+bZ5iCz9r@BUv4KZ*@I> znVwfcmi@27kb@w49dxj6bA9<<1A5vl*9S@-3$)ewvG}LDNx{$Tn8+ z6bCtx=o0BKt6fb{?YRBHylUq1$p`mTFJx6VBDL|E^e@2O8yJ6X#}OQ;67$xpH}r#X zMy#{l<*v282k7%|e~8Efd_Z@LG%-`CF^S`e)umJeo8Ifu@y3~IvIVBu?UX3VXDXSD z*F;>t^rCP3^Ch=8jV;B^*$t=xt*gex_tj&?E}#tyoCXUTF!ztnQec2m_m9FwoW6rJ ztfD-}vgtdRaj29$7cIJp|C#Ew$d&4)ptfdj^Pi#%ZsCJF0_O7>%FVXhM$vHK*}4aU zuZ|wD!cO;ni%Da-@<@m0_c_aJ&qu(}s1`sm@(I651OKQU-tSRDiMak)5Ob@jocn(2 z4=(7>wt8bvJ<9rMe&K*7tW2El^u6znH)5e6TdR6nGbaj*o%5Ede{-(_m`?+SBiX8T zs)b8#DENFEZXQ7+p6=5)ezcPK&N=ft#TK6(Zm9X}?wL7Ef{1nn;Mo%03IF!N_h$mP zp%^exAN_V5BLI0ee`4J_e`vn1@5y2mPHb@C9<;h3)+gMJHP!F2yo#Ga5f1@PBc9fPi) zrT{;m17h7*33Mf}YcF~pGSPrv%Nx*)2v?{eqE#BQbP2->*%U|YJs3S=K98n!TxAHN zsNRPwT!^0MV3O%EXxeC1!S8FtPyz!1`O47_p~%J2@`Y>xE2JHg@dgdR;3!`J$t}Qx z0fCW*I5MeOh7j#I4)s)i9)q4Wg6UlL09QE!tnr>-lwC$A(4o3l06St*I0mIkKo;Uw z5$a2r9cu%c58Y^(WBMk;kPC;TCxoCGDZSACWkA{-0uwR-Y4Z(9m(i(daSYO1LND(E z=t#89+8RRCMoktQ(cY)84Kp~|0R1)&RjBj3)3xnL|4ulM|{26v$aqsgRC^wCWp}d)&G1=r#*m`XiYI78xeWpkS(G$OUX#Bd>OP~ zRwJ@nm-(}Bw~U+*l}T=>v}0jK6Sjn!(CyBQYoDK%#3mON_IRa(iK$jodM6GG5?mc( z%>Yl1PNz`?+6}mBI-=Fw6XKC1+S`_?6{i{p7b~=r-F&O@)uyqBT-o*4f>qc}q+UQx zZSzJmusWgin3{nkh)6Z+&Fz|)epFNwpPw9IIY;Gwv3=or1F)J@a_(eBRHC2q5j$_8 zG*i28S`d9h->N1s?0pzrE<7-y9ed-m?pa6JY(t2ollzoiv(Z$w+TA^L>o!H!f|mcb z8?`?GgvoGNb2!O=Z3x4RSg1klq(Vdy3_jmZ@c+Us4kx6F<<`g~o z4SXochJ;e|l#Lkr=)QT%RSv=u7Cdpkt3_^vW>pk~G>+;p_p+HPN4oR0Z|U==&N-&w z%feb9|4nBQz?m&@E)3THrn5O*q1~H%*E;nV^|7JspC!-M97$$eeL#-cW3_}Lf-*+Q z6p^xyAub^&ix_VJAqRW+J7Py$-xCTMvv;0x zs1Fo)dI{bfCcU^}j7xYr`>?X~>&I!Ik7eV<`+MHP*G=+Whms_(tBdD}9QkQANLMJR zdmmZsmH@$a0jK~h{b#CiP~K)FqgRWQp8_dol(r7+)DIwwhvCwQiT+T)ep50}%wp*9 zU;yq~C$>Vf14bhZXr@{XTD)1)lt4<;y(eH5GU+qlPk#F7+^s_=Jf+ocuHEIeFbC0!ThX|jZSlM6tj4{iA~WeDNHuab8L_X3Xh3{K z$k_n?AtNmzk`posF6~n4n*L^aNw)@g3krV9 z1H%S(!R>v>i}oI)0erQ`Xcf$00dmE)0}4PNpJC`_vSB>X+rThh2hJ%0%K5B_O+G-c zDL{WM*_qj8=qLli0)&1YRq6=Ykp;3zB;@Gf|8zJ2aPdyhL#c2eJ^v^eXC#OG0*Gj@ z=Cl7#bad~8;J2<@BFqKq0B|^StrPG-CEU>FKEV=W5VD&Ct0MDWYS$xADduSp5pwL@pQMNuoXgzvr|)vkB@Z691T z|LkV^QEhXyW%sa`)ZGSD(BZ}*pI4`x^(x7;ZKL4 zsC#Xb>fcUZ|97=oX>80 z@;~DblLaF868*KjmJ-~Of*_f;c}>;UU`0H}R&1)Cm>b?3^^iSy{F!j`UdlTkReiy0 zz5EVI`NPUy4(6`uK0j`xcD8n(aw!W>%JJ?DnGk$R99nX>Hs3<_?}(mmAL=&Ck<#c< z@1kdn1XX9F#D#AAeZchq<+p{*RPYDp^GZv`M>)OC7Ndj+}3T`z1f&O`8RY0f`dg+s8o$0 z2>AoC!8KfJ*l>HI1L@+=6>MRyc46jU)LUS(4J~E^LY#c`S@C6 zNy^_ID__?yZ1@U${%tI}cswCB>^3;(7$gYv>oFvWMIF6QiGAfcO_4X!{NC|CYc$2p#ai{n*PpRzcUS_!_q3U}n zV9LUEcHgKK5^IjA0#*&3uPq>b*zLmF4K=Dw$Hj6{-C(=dCIQz2QeyR|&N2P`(CBY* z)TW57&AHnnpoYgRKrXLJZ6e7XkD+YS(pJOLcRkDTEAVGjx(zGtE~4W+O}ZAz)A%yTUokA(q+Ga%&-xPsyLty z@K3EbI5m%!{+qR#?Wk%MH;I(gS+WbFmSPmCBwNWh{)C;I9(R|v)J&d!PmZoDULiR{ zI(&C2!cMj#F4x5OYBK*FJ@Po0rkIeJ_3)s%*<#KHEFuQo=uevAF$^nvZpy@j<*Z?nagW< zeKOyA0twUVs~r}PnHRX^@oV862}+Ul-24qRGwR|At`^k$CUr0Ormf0|#QX0at$59q zcCdXCTYQ07%IzMLm}L*Q&tslPQ!<14+6u*VQteW1J!;85-IwLF)&1|~*LsdS(Kgo~ zBSb@Xp;sA`P@UVGVMHqCy(yR!HZGi6tbXtoC$ElxWF znJ^1(O;2QKx-$5PrCNM(_ecD`?dy5Uy}FvYG!3t4dXS;<PZfeC)NsKTp~h+p>kqTmMiD3+LTUaSL!OegfK1*44p5@lSp59A->hY%C=~B>>jQ$b zes$qU;R+@kvVg+WEMW*Js*0Egsse5*r-Wc5(G2b1h^#zrW zP#Tmazb+RttYH-J;FC4&dsV7wT23qcw~AS5EjjxDgRfoLQ?hnj{jb?Fas_aiKMC_i zH5R&3G5oM$%)%^i-?wxU)6y}>;!9gTH4DY42?DxQ0z1bT0NRg?r>t!59R6^{bsNrn zx)nrl*u4vQkgR@pQx3G%nN^ zuWj8YRnT@nQfaP|Y+;8C%yM`V&>Xb$62*%lbTlo|%Q)3~8Hg#@Rut0h%^!1tB5|0E>oUcs(%T3On;ZB-=ItJj$u}dZnC& zXZw;bBM2=ff{TU4bv|ux<0c5`%lmJlC`cE1B1Wd;xhqcccKQd?S&sv%WXLWR!#=l=o;trIkwC5A!Yx6X2m$oC01k4NQ8xkc_J@^%Y1_=!G7y{0m z6Z-TuFlHnt`6_Fo|JocTN5_4Bj_?m(bht9!0^8V;2@{q6^|T;4AI;~kvTv6`vLf3+ zqj#nJ6?n2tEXEPKGmKoNGIKWAKq1!wuve5rKXQ@QA z%GLA^TnPU)f8GO~SmxDm`wnYr-(Xk2u#4pT4`z!yFu>Ty3J}xlVx$$i?=WUBa;`9iZmeA-Q@-`B9ZH~dA=xK)evsn5{44E%gm(PjpTm0USmV*`zA;Gl`~g=iRD zo#0CwYccuVcLsjwF#FFBZFvleQ(_EF{Krlu864FZfYN+HEX)9g(6=Qd_4mi1OTBm0 z*52fIhSxy;gq2L;1}^vtSKZ8EkG|X^WRszC3{nCP^uTUGGo0RaS$zIb5V}*HzBmAM z3;C)NfS`UbW<&$8A!zTRcm4|o#6l*}B7kr)nzm@0lO?4`<`2Rl1+5|Jszv4%^;3>D zX}1`9g)Wer_^kuBjT zet_FDGiH#|o&8?ii0&hB9+>z59V=+mg#f&KNlo%NR^#COjg~8zs)ocwUY(j6q4fIa zt>@KFojiLHG78wbI4Z)r+12V|G!%=7F9 z5$TVyRmdh-l@!h;-CIr~#>LG{Vt6NT@EDZQnc>ye7X;;q|B5#GY-$htt`W#Mdzb2c z41%o&LeFSu2b2XDbza?$b9|RQbWbgF#Dx(|UlPu4q+aV@as~=i2=IquV>9 z;gU;-g~1j=QSDe5?J3%2k>L580f4myfQ0TK5iuAtD^MOC8Xq*|8rU>*J11dcxK19>q}b0ShjzW zzT`Ql?sUmnYHCEq5vsA_lZXo$kMMuVnDN{y^K!*O->1oRs*1_aI;_3~JaJzT;jh)z z_V*e4PWG^MOs8!V;~I3^-0mPDkFgK(Ye2=1hA0Q?5@fO3ly2f%d*VcW@|>N{gixR& zsLU%-@XF#Db)URoa+$0}7c2cJu9d+|((Oumz6qBva1+cgNs%s|KHail85b~BoSpyt zcbUR|(L?WIHeqXok}pnyRQB*`(f3r?;s7we&X6fxOCmbyJ=Qb6n))s0FSv42X6KDd zMd}>ePS+ygjLO82j_wQxGDBhX=suM{yo(LD_KN0;w+ZHY_@}>M?Y-P^NQn4Q@fz64 z^q}XwSL6MC6bQ4BmUD&}7=M{$k-P_Gr{r~}R9w`T{a`xv>tswKgRHr^nj5)w)j|y< z3R@p`5jx!mi>BsPlJUclxJAzYP8?O>d6l}nqtk>SrO z$-2^^Y5B_HiLRO0PiB(CgK@NmEZW-5+HR>cxu|HSbZoctda_OM(?td8NX+B7TpZ?` z*f}ue;(&c~2@VK_H_4lCjEY7 z{dz1D`wp$u9yJ*{MJ;R$TUn%e|Ef<6^Z&H;cl34{+C6hu>j?!A0+`PQ?fz=vi)`<* zXBld8^%j0^awLS$pRqmaxpFo?5y;w)+K_GqBr1db3?+gDZaWb4jDkxRQn=@IUckm1 z-0v-43i&jV?;W-E$CV)kAgaLd>sD@T^f!3<6YDCK92scqtu7tW)ryA@>#7A5MHPnA z$qnhn$^RdsXbN{W7hcs&N2Xj;NCpeK5|RR`LT?$fRD}xsLB~vT| zGno$8VX45P(&&1${P#w5*QaXJi>)_YiVMTIRG+|id>QfSs4XAYCOO4B3sOMebFBLo=LZf+ms}FMo*dNfgQ`a_W-+9YbO) zAeGOvT)h23Kv~?XwM`rxgcYU92}e9xE-+sZE@uH3Dw{`VKz&aH^ius+0?s<{jyF@_ z;qsH`#`}^rY27(+aWg;&*GY#$rHK6xQ;)NN81E{gPYx&|>Nxnmm{jLG^5 z6jad>79>fybZwl(Rnw~oMyVha>^s|ER1tgVvX5DY3* z!%$qxX8dX)XEVOcy*GOGgmu${M$)AFpM4GUEA3;=V+uV=Vxp3byB3hzUE`>Sy~nzD zMI#&B8{D{~8lzCx7VOUnJsgN`FSMEK+Atgj3>XWl3A2NEEy74~$&Sc^axF0VLyMt@ zMe(px3eB>-Jg}Aw1X+G{iUU185Egs%@m$*=n(@eSqJwF;)iT8ns0NiEw~&AafnQE; z?^o~nPQm2-P0}&AJlNFq^U;n##op=*pZst5tpyk2oPaTy_%s4gpnd6XfyQn_V{05B zEyhZSxMli~1p4^Nv751QgEWdHD6ZO9UIx}o?Z`tCAWRxQLlTO3fcL6PR57?XsF62l z-nGQH5#mBQM_ZaeALKw}$IgQSq-O*+cs#FAHvPZB{S zq2p87sY)_nf@c$1C>hOh=XSC;xyA{#4mt=n->%9$HP7P2bQ;-Vx%WFrqIg%Tex9X@ zHcKplF3Yx^0nk>VLUktpGCj*l_w?Tf7KfVmUOa&D>cl^dfD5I&*n$_M9Pv(R^d+Po z1hB7(D8qX&b=12_9-q0k%LRNfa9O&z6he$Co_h z*S=CCR$-~)$ITHc9`CiaHv>jf@3Z-)-Ckbt{Tc-u4Gs0)PX?#32YG%zZ1)-4I6&=H zB_9&E&cGQdpc@wsc#7g2^$AKp%u!?Lgb#KAh)iBvUlkZLhF4{Y;)Qo`+S4S^A#EQB zbk#vvise`fWP<$+eOO__;V~Ozq+le?ec;x(%1wK3W{_OVZiHle1_MJ^8nIiKa%o}c z%d~}g+?=YnNg3W%S#!5?zrKTZL9PR418zw0LNMyPpcVD;hJE&JO5qRDnwi(D7=TgQyy2rtl0V{uEspBB5x~w@Bk&mX6o5jI7fD_ zYhe2zUXd^@wh4~8f}N3^4ED~BNKW`nhEQtt2k+o6JY171Owy-*!A<6zH0$ zIM2@lXRJY%p2 z?NV5>622-W3p8uUlwQxraf53ZwWbIt@H3Np5?@zIYevMvFsCx22U%`@$K{_?_hl!gP4M}*`FY-zMvn1&k_f`hfW}b%j97b*ACcz zecn*-VsO8yN8dzv7{Zw&{Ea=Qa=gu@Y7F}^y^eAjSBtV*hVwMwK;G00S`Y*B!Zo$) zE|KKr9Jac!ms-900N8^;vdBCemU*uZet=7;!FE_d+4SQVS zMLvoisWT81uK1Gx3mOQ3oTKsrc0~9~*TnPjyZ)#84X_5sK9mTH^WdLLQ+Gsgs7>b? z;~3;jMjL5A55+>>F^3MZYFdM4p8_*`>=gv}Qw(a9Z{0Kf>p!Y|N$~s7*K)$Z7R#kJ zd2e@z8#X=jLDuVyGAjO1eEOBC#j<_yWcS>AFyAg}B{T+WA3n#hExBD~XKzwN=?$jd zJQvLs9NgX5?FODG7?kYDDh+$x3lk#f$vT}wT)V0~Ot;Y`z-UFHOt2x23FdvK@M7Bu zFQ$ON!XfJPGdFsUkD9-^UPa}bi3jeu)8%=LrSud7t$- zh^F+IID1=`%=c*W`y`_kT5;85R$H>%h+X<|*AR)6woxd*XNc9OYFRPDIP$#y1Z}O@ zXw7C!c0+0Kq4J=zy%Ni1tT}B_YpJ4)9Bg#9fxYq4h!ed{<9@sM=G2pJZ{3&5QK`Id zF;wFV_(A(5TKK%i%gHlvHV@UYmbz#8Z?>IVoCpPGH~PfFB~7pH%@etNhPP1|xLLsH qJ0vF6i@zTnnhJ1>Z-d_452#FrP*ebBjOM?B_wOM7zu%%eqyGRnE>`6L literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b36b587cd70eed45673412851deb165b4c4fd485 GIT binary patch literal 124281 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%0Dk;C#&dGf81ch)pbJ8XL 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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico b/SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico new file mode 100644 index 0000000000000000000000000000000000000000..a13f14d8bf318efddc8d7050000f9e32d30de753 GIT binary patch literal 372526 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 V9)MSI|G=H6{I~ZpZhQCozX5KOn4 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f9a2f5aef4d90edf4e6274fda612b10a82d0f2d0 GIT binary patch literal 43198 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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2a6b227b0085d2bf809d93d49f7358430323e8 GIT binary patch literal 1470 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij|3_n}wy3 zldFlVrID+Np`oLTi;1hbi>s-rvze)}g*nU&YKL?fq0y6ST@{2R_ z3lyA#%@j1kGxJjN%ZoKZ(F5_VOKMSOS!#+~QGTuhIDD-#vDk0oOvv95y(#2`nLf}l z`k=&tlvrRwz!V5#!jnFb1J69EdB7Y~1k4(}%F|afFfhLJba4!+xOHZlw?<2#$no08 zTPG}9wr7*UQJ-zo%C1fN$f4RlX;zS&YEaU`fG(G5PG*yMCwWd@vPNf$3AbkI6cK6b z$sc$BN}09q_m3$j*Tyg3SAG8H{o?0$ijRA#2uZ$_k-K>$`M`6})e6e;7Z+{eP!c(y z<8&lsO6jx@&86W@79mO37KpEk?T9j9vR!lEKqw_~-rJDbUm~?n#c-yvHGNyIH*>|* zn58;hNq;8oFb@cq+FR`^Ew4n$Z^Ky0!a(e#*_~&oSGL^g8ih8d^O#UrOn6mf!%dHyQSLZP8={gX; zU$FF4!3l%SsgwI!GB)}J*!b`4a=5-o^Kf6H`>rdTWm-%&hgF=SKcrodx%V(m)1x8R zXL9rB$$w9{#gr_GmN3~X_UP+9Z>_J1Ozoz!FL!@G_E044sC0MypXUdi0^H8T3%0Pd zguD)_dGbP0 Hl+XkK@0l3| literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png new file mode 100644 index 0000000000000000000000000000000000000000..283d346e0fc0778263bc2db17a7114b5646a3976 GIT binary patch literal 69241 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%0Dwjk%W*&LhvT`h=In%<*j2SglhSYo} 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%0AUYuiB&QaOS;8nhMi^ zax3UxUvMBz*pIlckCT$?j;a0g2zSlVnHP(di*NPsT$glO04W`8P=ONO@>hAIKx>0< za{iPc)yAI79XgK6 zYIeT@6HB~R{pT8g*sN>?Eb`!YU;z)@M^RO?cxbo9jLc0fW{=JgaTi_#p8e{-fd_eV z{j|?%Bf8UQZGqWWAG0s-Rx|BdcCtys2yX7dO;21+^5H3lF5W&N$n|96ZVKx_y8G*< zF6K`ue(CVwj}~Eo9*rd_P-=q+$ar zF$-%uN`iPKn3c)9)~2!NB)N-&qA5dDsW*P9ZV1A6LfUx$oIH0>eq4K});AIf_DeD+ zm+|#ma<_Q&-;h8Pa|g^Nhma;H7L_ae^7@;5U~O#5sT@lm8S!xOPEgGVgC)kO~ZXDqu+@`~H~j&)@_Lm{t@ zO_cQB0OBt}3e%|fD_o=;Bwv zN;gu9lVHGiGS4Un5;tdFJUi9H&-Ec~xQV&>s~-AS9RUYIC_rDNbFj0L;%Nf9L2>um z%|Xz*juRIXs*qZVEM;>pBp^Jyktxata^qF%k`nHNdpd$-;js;Wb;P9;J|OMfi07cW z6l77W@QopUBS*ogkd4O~%Ewy*dSL#<1*j|JYyS?`CQImj=F`T$F2L|5$`)<$&MMt^ zeR1TtWa%;eZ0drScRykaXI#kZiGEB$vb6%7F9$%4hsLL33=e4a4wWl!OnUND)$z@V zpb=lg1Ho_>H<~Y->2$C>-!nZV22Yo&q~|G@n&{&~&IV0-2^q94vykmX zEq8L6N)9_}T%A;@Bn(WZX6?o*3EVv-)}X{}-RpaieY+7SV`no=V zB-whRA)35`rrYOg$0hOY@wbx4Y&wQISPVjUZ%BW9)!j^m%4O{wOE5lX$lh1KUOo;D zm(DRF!k^0;^y%ZsidK@T+@YpGW1b6DX1|LAIoU;m&YudMh&-pQV#zY34d5iPl)32FP zLL;io(AM<42DsycZED#1{WvYkS(R1T`r{RncYbxl=MDm~=+!UwG+N^qqTj3EN4`^Q z9*K5aSl6}Z!fM-~uy~Z%D5po-T0N+QRp!xtP<~yXm%sSBTXzZ9#%y3JIrU`~E zQ8w!+gxg#rx{lY7bsG-Rfi|+JeDFg)vr3=Gf)-edcD(Mx&jn~pvG9eK?3^&;==pt{ z?7irm@@(|lK6%O^Tvl3lfHmu%rsyOFiZ|ob?%d-&9+#GeAYzM3 zS@E^a834+EbnQ#@0&V`r49UpiD+@zp@4vrPjgWU2z3l^L}kiVZ0E zm0mTh59f6T^>J|!#BKg~z< zW&iU#fbrE{o9|fzy~za(cbF{~dj?ql-O8)u)>G56Sf;lRKe62Vs5;r^KFpZJtlEl# zADntQNfX3;Xx-fLM?YtZY|y2{0q07@l!r-~tZProvz0Zb4!V|rOVnw6SJ4qp5OTY` zLkCxB=)p%=BK;akSR{v5z3`(y{3(W8`ie-tA5cpZhp58~+aT}WiCKX{$E*K1G&%KE z*O}?z$CVB0B1+>nUYfV+t<(|`cy5%kUN4G0;tUO6RyX5zvQ9s7)LFJ~$!rsm0)o%i z)(4OG#w*p~*&i?dywF4kqbK)jyOq`)s8TZ!qeqng4UNACS8P_-IJ3)=J@pt z{WkdBtQGVNtPhIV9S{pLGV9yfDD67=Z`7J&uBB^D*0h-$Uk%3$EqcS^SfdXng#9se z%gp0fLt8!ky4T|1fl~7KHNT`%xu~+p6AtpM2(YGL9>Cw{9hgs*y}Nn5!pQQyW8>GE zCRzBUa!t(mHXNQb=a)|p%gJKYc=z6Dxp#tqz98o)ONzu5eBVgm;60YBPuyu7aj%ts zy!4T2@B%}28J2aFA}{@Uji77AP_dC47dCCoko`5w&!6Q92XTo#IE(cQYU3 zin8voBC-kv4!%xyJb|JmHyL%nXW6;~uajdU*QJ1mOMGpe)EUjrcPJr^D_iK&zakoL z%A#p}^{6#RYEhLtra;5qcF0Bd^<*DTVTd+a=^nqaA2dyk>}bTBDPb$VkuC;u;88-u zMHP!kvt8YRct|NE5l!Pz&$p$l8cy+n#&ybv*Tp{{iZ0$f_~ZtZYSc<#-lb;q3S-?~ z_CLGj6rz?Wc3N}pZaNJcPKl*1l~1jP=~0~WnM3s^#hQm*Al=nG+22H>*Que}q4x~C zE?dSv)Rh4fNK}oyLeVTEy(r^}8}a4$Pr}=;x8V7({7tqUZY6PpJy%h}NFjqQOu~lo z^`$P!Bs7(s=IDhS1lxIVDl2PrnvH1K{7(fL{xl|6&}a}J@BDaO28!pfBv zruj-_p+*0yeBTa)eBj!J!%3tToXPB|kYx~dAJb~iPQh=tpg}Vta#LkxqmU^UaK$B> z`Iu=MPZjn*JG;UR@b70GtH$Z>3gtddUAlGjT{$jla<5l41&NYh_V zwHslqRI9%n-J@MRw+g5M5rhb_#czW5{}ngO(3M{Poc?N|q1!p_UZyGp916T! znBs0X znF4VLrgPcZ^zp;TfWEoYU;0-luL3Q{hC91y*8lAO6_jb|ETjSy;o;Iw|p2kwoubR6PE6PA^2j< z#^D@Qob;E=2mnLiRja9E?Biwj;=mT+BVAZG>voJqU?TSuV|BHLEp1%~vUpzXhE_2Z`{szAee^;R#06}vQoqnSp7CZZMUJy2 z_1B;MPAlRk$tmUSvV*r}pm=NNtD5Smn97NPn0v-+Ldz}-&449i24t9@ zqabgC?&|}>)JqMtb@1^%E4``(*Sg>fn|{OS@6fwr%-;tB;y@$CpIzuBc$ViJ|G={! z4_f}ZJpk@e@Ug6EpXLjU=Q1_R1l;;eysp`>B>fnO82p20Q(rLhN^Zat_yG~PQ{H4u ztUR>1_4IV?aF%n}DgM9%J11&i;w(FX2mn%K@Ha?bGRI0sA$++M&Nf}b=oW7^J8Af>6Htu4A9L)$IDFTXmsh< z_h?E;Q&Pf!sykA>AXwQZZSSwV4>w-NBML|@pR)<4 z3D@Z1f`M?$73(4@=cM@K9U$F_3_=??G?XbkD3bKZ78;xKP>+E>Qcu4Akqn&Pa3@a) zsl&}*N>9j9R7EKLsrFtD8n144&iA@M?&qxZK?7#+zcHd2`2);|rwM`%*7%NTmiH`s zGdJkkelrc5qLZi7M`fYGF75Seu2Cl zX3nxzR^K&M6Ktoy9rC9)S_%Y|MwX2iKUO>uHTJ)qDlE6lsdv0+F)UN%M#O5^l{|*V z%fyl}sX48-y%ivQHI||ItYJS?V#OX0;`!<}9CIi249J0kscBCl*IiWzAjz9bR1JP(p(Vv|Y2=)tpDyZznG9OPz;_Nl`f+0b3x1vs}5gPWHr+^SJh}D%x{%CYgRl3#5+yeK_qST{?)aZGMm)E=c|e9 zJ?E4d;MpnOB#-Jk`t`-{p-*zYyVU5GbTX~-h?DJBl55=y!y^;*YiNGZ%Ws8WLtRl7>kQKVnAZJnMO}{C`bpBDqViL|Pi;Msp zjLKkfJj&4O-+$G~nc{9(@N$JX-%vmubUrmC7C4f75Cs zCHGXicB}&2Wp(L18AY|ZzT_8}*Ln6;)$Y~6+Q&7;Z1u`?^=-r8f&+IV{bwN?t8xkw zmh7APjR4GQ;ABfowc_v=!*1;@)Zl8d{f6jM?1DTS{(Y8-VGUA|*hBunFT}?3#l7Fj zd4-+O?}naUkI)ziuPi)Wyiyt5vH9A}$tRuOU2ZQ4h2Awf!x z*UV4gan%-^BZ4{i-hWVU!MhY$Mt7sdX+> z!NL@`)N8}z9!ZMd#>f@gcBo1>GDIsg(n%jSm+lAbmd?%Bq2*;kW41`L?=WEfRTGKVAjLYZUv|NxH14UoME}O(!QKycoONwqR{CTH0aj41eH12~mNy!9tX$4}|pVpHK zaepLg;SBuHc69xx)hzHdh!&QAJxIPl> zbA;$ZiM#(Q4QzStt=xJpuMzP}WNMWdOy0VP8H_5A%KSRf{ia^>*167WcO)sbB$r!B zJRAjvvb&aDZNccL5^^lx*&D>CeG24!4?J&0lKjWj5~k(cllt&Mbz!00YC%&)WM9Dq zgHZhYT}S3o>KAyHxS~c6!O82Vo!#MtAl`k5r7it(*C>y zWF^?jt_A{iUqJurZw%MeKR?8LNhoBAW08%B8gN2W%CZ8#AXm-g%t?2?B?^$NoxZcT zfl?O5T>VlL}xjpm%hK8e~ zV0N1E-)L8XNnP-!llzS!iRrVD3KRbL&&MM%eSRD)qr|yK&htW4*!wu9S23fRWQFzE z<<14SBBn0#BL3jiObD{>_3!BTDIWEJI`3;c*zqu_W{*COjO=-Utc#wj23$J9;EsSnBB&^R`$uT&tQvET40 zd}r#sIBvh6Bk2#T4h~+YOZkXvrHF7NwZJ#em63Z)7i0d|R4^MHO_{w}tsv2ZmVHON zW*(E{)}3w#UeF@2WaWc;biNe$C=4N zu5bXP#G*E*i!KvY4+qmiL9c|!hch_-a_TxfN>qq1Fl+*vziGOwzmcWs^G$ASQZ3%Ei`*gAGBY)Do}SXF+kIvuYg)%~ zOG%t#x!xQ|IjGA3XOydNs4VoUmmVn@YW^A7c6xorpUunYbSK|U1fUgnXmsivrH)@2 z;1?K3V(#{}Hz#X!~ile8==tGfbq69U1su(){(VLp11`L(da`Qhw)rGQNL z-P@pyI>h>uBT_bqL3M!Vm_RPyNLeh&!7U<*&a021iVM%>4-#?B$V;7lgTpjFl zjDjUn(M(Ti^F7_xLTAq+m-Mcu{*+ICj%KJwyVz4+K-Oo@=ckg6*s@nhBH3e+@KVvv zSkhy$s%oHWE!fm+YSbxd5tds|Y)iRQU;q_Sa_p5E=&b365^9%k{#7E=CQsI|-vVZl zsxlDFKQt`;8ZbWhC=vJxts`fP`rjUt#VnM|-cy}T3qPzoo<_#|<3^#ZC6MF3+J)fs z?ey*ctO1~e!~~KuCC>S!#u99klTuL}Q`MYd*f3#EsQ6~n^{n;JdhV6tzNBg(k;zUW zB(n-#3F&b*mPJnH)|$f)WIW$3L&T-YD(1>PL(y*Ya};U(--DU6UTFwC*G6`er3I!q z|315zx4YtTx}ONE-NF}hr=r*-;F!aY)k@Ou9^a)tnXg#|Lg)EtsYLDjPx88B4UU}g z-$lgt=@yIfWorz%N?d~DGi$Z(pmPBck=tU<6`gPwmvUt0!{aWLDwzTza6dF2Vc#A; zs?Z0Vz2@g9ub~A6lS>D$o(QiRFkC_{vhrgR6PdH?2UQ6C$RKiF$s^G4ud=f-aX9E9 zWo)Nfg2?WI1a4`c`q7&6y3lrLZ()rnS^Z}Wi0*@S=iwKFOYBRwJz*+2#9|vw(AmE@ z3Q~)M1P~A|*;KVZD_Z>MN#k@RjVC0%#T(7*1he)+=nW*Z5)75mVsYui5Nw4{d!#cT zt|^QQ6Ahcv)KXaCSML2L1aM0Z(NZJ7bCf*uHoDypi1$AA4il#$L|Y!GWJ7A{MuHW8 z@hO!OEF6H;Ko=wur`7kmlvE6*%l7k&t}owFv=kw2HR>yJ@Zx;V52~B1{yB?>_=EU` zYSZ8ZX|5$28Y)Xq-iYPq_Bm=H9ri%5J8GQ>$dvAkMV~2Jt?6)gK)23>)KTgt6G!y>j2j~rtt)a0L zrukmZ{S4nuWynQjEMV7|Gm7XSlf8(0Q4I2rFY07y6q^^-holT!1O3A__Jv`t%?GL_ zxSi|{31U#_ngq6niM8*71uv_G9q_bFd(CvM`4k^1NPacSfDXn;@6Yi@UO;ks6dea@l!*?;&vf-D>WA5g+LVtkI}y`;th;SKP+~KGfCy5y!EE%b z-)7R{eECb5RTl5O7tNhMicp*b=D{1F9e>9C_W~hXPp_exdP`k6XB{XGZK0+h-5|#9 zW7$buf$pGFxo+<>!ei=lRaK86rxQH1#UrZ<%fod4K+CP$5(KQQyl07CYY|D2fhf)3 zd6O?FlDoUECD&c!@3@E-AJNxHsmtZVsN&J@VY4MeW{Pseuc+F7yzESoQjav3pjiq_ z$*qYEBs6>FJ&mrm^vLyvI0mq3L((0{B*;v* zNH%&V!VcTDoCp`MhhG;W5kTv5*G}7^z`ECL#K3u(x@|}pn%lO&<-Ua9YZ7CA>A#Y_|E-*p5Oa?oiAt3K6_t# zU2Ctk_MY<^ywJ4ql9Tjm*w<%8eTO&s(e-*ql#G~EU0VEFjYJY}F`2ECl;hLE@&J)h zd49kr(m(NyZ3$kH%eG}kk)ksn8gMBSdnAE6(HIV0oj6mlU_%?D{(cg6Zl6MylUqf> z&ZajTTBcfDQe;mjW;7k z^o>5UHI5iiT503?c*8*@boqleo^kCbg>^!e{+oZ}mQC9&tVM>A;;}3wk00rvEioI2 zmx)2|l1VXM+cDADr{D6&|JwBZd?Ioxa(H1R_zW3^cB#*y90f{-lq!39^~NI5tLI}A z{4cX^clD&xp+&rLQurp6HQkB?we)S=t0x#y_>m34yFWaNF(mUH$NH?EE+C-FYqG0Ft((@bbTDmG&;%jk^WXWPQD=6fx+G3@pbe2WxDejS&FpB2n4fu!tFkt3<>QM)W#&<_^0WSircaF+0hh4=0y=)qv zHV2F4s|xbhzW?|an!R*~^UXpOV5<|1p+wKFz8mAarqYKQ3cY-j5qtAb!1iu~zO;0s zP2mhX$4;5#%Xgg(C8zq@^{l63Bku(JBeoh=UGwzC70`;_!Twcjp0}@obRqhv!@3XT z`Q?Vz%Ei>HHnb+j%41o7jjb^)+N9@lFA(OGqFlKv*@QhQNW?VJ+gs5cdRFN`065aCA%=!JX6pD4wHHq@*C3f zPB9;X_u-6;TEvVgGF>HF~H~d zW-nB&LY#l5b8^Em?7DDueIU9YLkwZoCd0EhMFIwEo@r3eo`l83GZs~rD%B|*{oOShoQ%~c)tSMF3 z1_ZV$IVHZj!F4o?cztdO5r#PTI8W$$x<$E2=JQVziW5Zr67s*3TqGx;sJqd~!hG`< zH_nEdEPBMTZjxlK$lcCAZ>3T#*QsRa(%(dW9ImqsZ??Ik~-e~KA^&Yn`2I37V zgFI-=it(>)8#9?7LpLQESBRKo?WNw#2+h=fG4KMJnv!4|u32%brEknlE$%tFb^fys zeD_-3V&V@O6GBrF4MQin ztDw(0dz_Ki_nzAeh{&jr0~8jrl5>ameNcsrF)FukB?<*2miv2&c}>yBQsKS@{6B%b z;>lT2EvaV({2Jl#7{10kcNVpe)ZljpJ_Yu{biq?jNCCo5(3Bqg9J(p3*AQFc%SR1g(%k1?NPjIFvkcDIF=qSRs(x_d_Ld2 zUdqA{1W8ZLP9h_R&5u~Oke(7tJL?IK_>P-_YgKgs|G+_S&ruQS*PsFZzXgS+D`fto zb>G$;egK2D4TkcfM|-Of?K1mU*(kV)Bfm<$seQzt_x@p2MJ;~hap=l$TK=kj<+X)s zag%aq%Oz>Hrq$l43Cg)*y0Ecj0F#E6`{MDn&-oy+j>ljHib(<2L@cSaj&M2CGTZ?d z74tJYpMkI}1>}kKLgj4mqq49F@57|l4Zf}rR#d^!q z^qEpW-^CqJHticnPL2RAH%-%`j}-C-LnL?^Q~#mixXeVs9GPCG>MkyjM|=IDVa2s8 z9k>uq10=V3nY+Q8M=jA7Dj*`|)TW79GG)V+V@BM8Oo z&-Y%7=yk$`Vo+$3?qM)fm6W|Wh1r|cwh0&1zi917oOIT7X~eCstT!03{)cBsXRJoz zb@^C-UNoQi5*hM}^cD)fb?~n+&@gpI61gaC_&A#-%xgR!icblVbqt^`kXCRC34QzH zH0vLRX^dnY*=`g9d}*W^lm0r4dGFig3awrvw~jC0(K(`@*9SW9rSE>5%Q#9OWhUEv zOn*MOo%B9+2`ZeFspQWeTJF#7DllLm1dC!OsM@A4&!{lK)vxlA+s!Q)U!Kxe!?03Y zrna&|RE1ABp8X2B1^I7`v?oT7=g|!FfXpc^biuQF>+h^umfvW!*Dg1f4ePi4J^J6C zt2#|Bh-~jd8A%09t{q3^rS%_mFn=eZr6J*4+&Jo}2M+y$7s@(=7{qJ8r*d8clAohf zLy*W4T8XwJfPJ>w85ppk{eF6o4%sm%NH+KPh_dxo_8&>TSsTnblxxMysft}3&wkO4jqf>$Et)f3q<-QtOfj@-Sl8q6IeeQQeK}$oUOWpd zjs*_M$y38i_`n3X4vsRhQLk~o@?|?KnmT$f&lYDhh!@j77aMZEECGYvxu*`aybwa| zpp|1vP%w<`-tNG3%b?3aeVY+#-AO0WaNmGIR=kaiy2n#1 zCRrK(9f}K@+l$}H{5u?DVA=}&^0v)OY{~D*(rxVN7T15|I!KDT-jvUh6fwjpQ9H|T zyqOTTQunDB|9ZQ_j*DMAIc>@OZgf&Oa~i1e9ZXLGFkzldcJWkYCetP`bS0fOtae6L zbq*GXH=HoIj4|4djUKdTL9P}nB>9j4rBkAWUsfCxf;49EKRJ^SMicvhD=L?Q=Fb{r z@;yKMcPeK2DIIU`Bt8>Pz>KKBE*;kw`4o?-?eGlY^5BkaGzlW&t}5HFlHznN!%G=h z5m)41SKxvwBG_a+8liBlr+X{4t+IOs%_QnoB-ncP3!<_|t?Xe#?}jd#$>YRI-OR!B0>WFiIZ? za2Kn+2}y{DgB>s`e^>f%B-AcGe3^gD+f12V_A;l5UHz-R?RcX=3>JoOB{QvGexC=I*UmI|Bso{lsKfUsc+;2t_FgGJEQ=+qk;$j`2^+;68EVvt9fB@o~`Z zc(Ik-4|EV0mzy+`aG6sj^kt-ghw>A6(}cPW4XdbS+BN#d3?AL7IDj}iJ=?BSfPvD< zLzJt!I&k+>JJ9fP_s4(g*hmXO6bp{e@W+AWNS@y8aaMH~xNM4xvvUK{jtqJZ6QKeX z@zKH9x`TIRdcz4CY>R(mNiI><8=r)^Q2d|4P@TS`l~?d2t36qC@y6F%ac}DGHtr|c z8Dk7QmN>{ab+dG&y#JMJuONuCwKCzJJ?FMn6gw@MDePiy9q5E1;-svc_Y#Zk`BfY% zfXuz)MLDt2-6qAq;Z9^eX^yrm8E&I*mcsa}zpo35NIW?2S5}hX*J_GwVGLM1vpHx# z6$ELUXL?DAASUK0B6m#woPBvqz_P(~P?WLp_LGAeIU_TCWE2W6CY0yXh$v=^XrMB| z@H?(l#<5CavQp{93{Rf9u<&@D$Dh|y#6{e?TC)XpO5*+Co?0|q145FrQV&gvhxGzz zpq~0dMEzW_Ge>l$Irv7Pmq98>$n)}Op3>_EOy9c6%#%^@->ONhepV&nQb~3wy42F| zT^%i37xWV2AXsm)7Is6`Ie_wo#r%exW@`-Qr`%w@#*)F(ESEsa3m|7ZKZ0yFCES$M zaSss-?R_pwQf zy#U9Ih$K}#Cu_e__~n}@LAh(T&+@)d3$n`E6s-}XxG1urf(qZf6E|sNCuLxq!%vCN z@7$%#t|t#oru%fD!X@t(rrxojYwg4d+BpZbTIbC^a(``2SGq)rr_S@(;!n5~XXnZy z{QIDkm?%#}OxjxAMQ%`;*Q$aV^U^n$7qT$4+{gd5of=69?K({A75gDo_9y#k1dK)ZE`6&75LO1U@2 zqFco%s{H}Kx8n3eLj{!jp*B}_uRMc>NUZ{{-WVg=KZMkGEfA5s9cRkI& zxSV#S|94t+IA6Bs#S@mb-^M$GeCVkl>Oyx}*5&PwO@opYPVgARww@fKA}8>RJJ%^m znIx+UcihRdM}xRwiuH7gWh~{S4rbC)Be@4dVuPQqX@o=6+v*%z< zw+JUzvLBCK!^vGjsBRqimH-k$_|&lzx}WhSM-GT`v93>Ow0AU@W$o(x5?jb*n!zxl zi7ymJipm+5_bG81i~Q7Rtht%5G@E@9V}0;AD~_~#0unR;M&d{=f5~q8;xf)czNUq9 z%5tJMB=AK@F%JMh0E3IrsS8gF#x3|#8GnkI1{VGeDe;q8IbwXtP;dNS%Wl(jO-s$Q zcK5g_8!o0*av z`%L2rM%(L0(t^`hhM00|kRy9xs9K?@{%4k&Dqw4~+y%l8w?eAZG0T}Q&m9l(8Oj;* zXe)TgaTyyHB9tqc?q9u&Z1lu&doJdllLJvTgO_fV3-%b=zR`XCBz{_*Ue$|dI(RD= z5nu1(_<5$j-kAKm@{RnLr4YA0z4@t>|5HJ{ikcX}m1M_~Loro6A@^#MppH`j8^)f;;6!MjoX4XpYrm+F?W6#0Do%!uf| zzCbsCxZ4?LKOFp8ttn{Yk_dY{@-B7!U2Qt*D#5Ud2T8Vq(s=s#8-*t|!$JC&=GP3LM2>n5@V*f+6@?So&m(1vjZ>R%;i=j@Zkt7}WY zte%oNb7m#ttA0BCC_CIVkT?6kdi(U`nnU=1!o0+t9u&GR8%6Yzrrz{s%e$ZXbjqhY zUb?#rCG1v$&k!&)`L$5mMH)}cPaEL|ssJ(Qb}yXwWqx60s1r^G^d2ep2n$U#`|2jY zE3VmEtU7EKIh$Y@ssYdk%zT(;QnSbCRil(v&(E{;&pagC3J{I|%pq516YiMqxOcS= zxcLMW8_ixvVb=O?!P~vwH`Z%BHsXfe&xLiPKAmO#SM3GK4F0fZwP7udt>+m%dc1jF zibHfiuTGEfSwrzhLOlm(t)aZ|Kx1bu;J`)AiV6os-nd5UZjrEd$rk=<$f^k@=%R{n zO5C|DjC?=!_bz6&g^|M%7-;R{c2=;jQLw80M$lot%%zB0Bx%DxWh&Fq zbnbB0?%k7M{r}0sDaPJ++(FFw9)u6uhE5;hy!>q%w9kXln4Kl8p=cfG?do3#yY~u- zf_JMJ7+`aL;tLeRnf%=t{WqY^lS(%S1#+R!R3`K(mr@qWk}~TS8BpNvgqinFy_}fCZTawWUa_Q z0%^tszqR27BS<@|`! z<$F;uHt)pyg)rYzBN<~TYjt@IFBnU{M*;r4NBz>%?6p`ipE$!+YQx?3ftH`4w5@T2 z75}$wXa&#Kvo%Yz&E_0T)WIStlib(xw+Gef;)KPACPYPC7(!I8x@vkG3B%K~Wla}b z^`G<(T=8DF=zgO(Y*|T{8=&ol9zS8|yWh&R3*IiJa}OEbc!s&q=dY)KeM^Zb*!oZQ zC6ij)AHUuNKXJ4b9;NfT|gMy!R-!YCYGQvh{A!wh#6FW^%tZci39H9*=Km z?d=!N!0C)M87={14fGf81c0cR#o6CB6rQP>zVBVnQE7AZXZiUzCb7$#MOiR~jYEyH+C z*qtlF$d$uiNKR7}S^^W|4JvtK*`~5!58p6uTdQ!?DaRK~eC=lwJr?7sj)uK+=g%GO z-Hej=Df4rO+Q%l(G2|lg^D1?7KIX3Xd5+ZGKVN!|%dV5^Gt`{MXKs;p{AslhnDKs~ zAM#%n61LyHBGGOJyW4>RGfjEwS`e9XjsD*=(M`R9{LLs52@fI&cRnH^-ZQ6}R}`dT zEMtZ9wgMFP6zB8`qHYg}P44Oy-`XhJp|1Y4y|{V`ajp*G9~spZW3UwNc|PSSnMqap zfaux!r3pl2wqoPcU4|l&VQKYcKL(8TT04jw(;t4I~MTy9A zC|A}#RUSiVt#4*~2?U^0LzRm2bV+H#yOxsj&W z(1f(N_o@Ae5%4WYBN8Zm;r|&~Q194}Tm5?`t9G-cP0XVDIl@Y}k_^E|p1{Wabv;;Pp`(5 z5PTo(p8;Ck`1s|F^Rs7@QL)an>qo&CEqd*L?#($hc}f#F*VyrAM>t)y)V@3&l0|?6 zwIF9u9qWzFFJ+A3#tH>6a|_cxuK0Lx$%IKJ@%ojA_3FN?L4dv;fL*l^@I(rvDw1rs5@w_<=VYzVP?QKpuxX2*4eNKCYdAuQ$x0ekd(rRl;LCHP`ODdB zD8{N8OXzSNnWtr(&fYvtT91O2^h-(J(CJ5uQA`____!ZqV%&$$VPj=6iYssR<&M1hxu9iw%UlK8P`vsCf@`z%0*A znAF3c;I$p|>cWJtOm3IsO5e8`d6+9B|p zENM*ovm0{tHxnO{VZS+vxPk9z9k2#OR8U0I_(%alifs_a{x>Z8d1pvJEU}(z$K3o_ zR3Yc5=T-)BAuDsmh%}F*f4HL;dua-vM)+2OZD#L{EVc4&?F0sm^y*?1BMG)PNneKv z{)*VKm<-fsPZ%ZASLBjjY6(-bKjiG!=kp|vnzV74graM#6UN^vw-sXiFo8I2^y^)% zlMKeWF3^hCTkBZW0IwV72b$h6f~tkW0dmhapbtJqCtUIQVUJ2(pB+O_>-11}jQtB6 zwq#!L5;}>qB%||Qqe^2K4o?hTK6AK+CG!9YI z@M}*;^7dNNs(PA8zS+pD)E?-2spF659+u7}>Z!XD ze9IMI7^@K(&ALT!xgY?}v$6PgqEWt?U@IB~$$1i+wGtc?Z8Z~DW93}ho+K&`QLdi) z52!;cl$+)Zwzpwsjj(2EFp}BpD!>^wUq(g3G+(%6zj@|}^8TxfVGob^WXmw3od1T< z{eSYsC48haxm?(GL@c6XuZ(n?tZ97+zp#}fXaytqYg}lVJ{{)K_L@}PfqT$hwm0}~ zaRN|ACRf^z5oV@W=#|mj};S{n=LClcp_}7Q|SBtm_%@{!+-Mn7}4)QN! zX9|#*H_^?>EPt&p=^nCePDZ?GO}m~$cw=s_(fhboxQcTkX$3HTSY`i4ai9nFP3(Tn zk7?<^0UYFAOo$}loR;Fy=U`E9TmVmUWz?a5} z^=27IHyx=gjG*)t6HQ)IK~;<+d*(Eazr~WPVEnN=D|>h4`Z45iWsJ4_`NPe^k|?$M zVi;*5OM8RpG*8@Cf`|gul;RIAD_6eCv`HC8J_;6KwhY`o$1w276hkU6R(H1F@SXeB z+>F?UA_NKHs{b7e&7dq+DNLl!?WimzSLyUumi(ven1(&}8@oF8er9G_KlXFsx57!) z9R>a~ABC~@CE?pMH*W%MiO>^%PsFLlj0N)UwvJ1Qq(H<^2Yx6yCu)=Ht(w2#oA;kX_&n9#jdt-#3 z^3!x(TTio+_;6Ph$h(GCX(OPrSA28zibg=Lb7^lA@3y&v*dOLvVsNLnt6$qB z3YcVe?kBDNm1~cT-hw%PlDT5%N-J>ih{z$Pof&{3TwO<4JVhIm$X}OTy(` z<$TMB>zONjFS+uV5btre(9V9fA+M-oP-mOej5BILTRbxs%~9XNvKT&p6&+ZNmI=lW zSxz`FlvEc{I;Hgn>yA$SGLXX4xyB{IBwmFAWI{GSq6dqGiBTRB*SgEk z4CRg@4F-8J2D0#leQnIT4@!K8_hl?)Wm@uJzjvs$=!J3JP? zWI=Y`f%**?r9ts(qLj>)&tCeRmQR%i=^$W{#VBkg_QD2|7wA$17Oie6iQqrFTr@hr*W~$eEKMH{Ak_wHi{|PaC znf>hOvBj-Tt6%4REH)+=o=|KnlP;=^S}!*R1TPy^GMujIVm;~PhKW3hk7jE*RyVJ& z?QMKe;A%3WqMsiyO>MZD$>*VFr**G=2L0y$scy3Kyl&luu(rwA=_4Nyf6TgcBL4&T zrv%up>U3-dkm|&dGNk?mvXXZ?cao84IzhyofSA9;N9lDVte&|f&la&;LNXwkjx`e+Tj}BKC!h*$vOq`r4df_wCEB=KVAg zGv@9Z|0z<8@(xMaHG33s|N|0qq!@GBnkdjwov-UYjP$Dr~{EU zXGwVxmE#tTy*)q5ZZ}U`&9oHXEVU{V?pVVKK!#+}5?Q43Qi}4Ia#>n^_oJ~HTLu7%+=BT5=X*@vZF7e0f`;VV%uWP zoiG&i15-KZ1%~B&&x$q7<$etG_9`IwO{6`!U%l7*Q1j`Mmv`|Qm z4%|8&LIl`ZtN6t>TTo%4k~0U*=~DF4U9c5$9yu-u{{5Q=96A|zIsIdRm$9ehZ!Z*r(o5m6?X7h$SYHPUHwJaIkivcb=YrR;R2^im2XJ#nx0l0 zjxEXAd_&ALZ2nI=f5d^{(l0>AR0mNVn zVZ%E4@(6z!VbLoBp}#cQ zJ485(&ZOx8n7o-=g6FIdo#?lreq`&aB;@s&)vz77f$52bb~zm=;5XbJAc?GO-c@)V z_WUTT5l_W)M&)P*7GeVJZu zP+;P8XVft|>bUn=DH)|BJ<39_#DV7>=AKVdTHb;zKrbb-F(=*EP*KjoD(&JFnirf@ zAM^MVIz%e`8;Z+xQ1?p|XoaWlSQ8A6fLyj{(ObPKp#)xQZSiWB$OSFEHQ=|dP@a9l z^h5+KWdZ^JFv;wHYFon4Yhq(K)8aEMc^ZS)VlzkPf8W&{xb!PD(0M=Iw{+#VdhY_r z`h%}ACWL?@@nv5#hR)tBwKLqVe9+v1G-3qhI7CB>B%(tJe$>g2S`Z0|1?vu;j{3U2 zBD*1WojISe*;a7yD)0EW~E-irSo-VG|hG?w*^I z!|z{ON`Ejs>FW8STF0#&NS@lfT@iPU#ELZWvl**6EDClO8N>1OWbed*sNY$F zvTt91be;6If^5uoH*;qqW09?Y8=99DRnP2m9BLGWL0@NO$I$1}0yeE3f98Wn<-()= zc4jb}f%%9*CCJLT99aCW%9ONl_~q-Ty<;uJB|R3g=Re8_!7CO1oQ|_{<|JUVzbEdWHU#-P0S`+C|`1VCp#O&<3QPpQ~)h+g$e z|KCNz{t(v%Y0GJQ=$ADkp6x5e7!7BS&2l@j>{7O1!L40TV zP$1P-Pz^=wk+|3H6<`FP1gSR51X~jF-=hD-FlPvit!-LD(k6z~zi%S~7nW=Jm$Qq4 zQa1)OH-@0BZ*r8n`W9#C#prr0L==&|pjhhU`h;k@kmZ<_+?p1PH68WPBCSfJl8J!| z6t9ksj*xVHylH4|pkHolLpPewFw$AlgYe?3>c8pGon{GHCQ= zbOsRDwr2_Exv;``rP*8U!E`}NT(XY+jKI8UhwY{GUR{-kvx*O=>G)hry<)3D>v( zKDUXwefZTndg0eDDC%|umKesOA|%0QTA3ruS;LQl9<3^plmEk3Y3L@>Y?-R$kVblg z3M1`4V*O@qC8r?x5cS;ER!S3q^9Z-}acsffv4!7ln&9Xl{IGx?i%6C|ca$=^e6$ii zKK=2kCv@c^;%(RAQ~T?LnkInUHzCLSkY}G3#m5&`pPC|m8plpsfB?g>0q9V1@;aD& z0+>xYOdR#es3u97+q#oNI39kzgs{Li=PWBFF!semJT($<_I^_wiq`3cuxH?;etv0C zsN)=!B}1Mx(~l>nWvw*NZK0fMR1Je0^2Uc$93GK0{jt11v|R#6MrIBAr>}cw6=hRA zrmS;UF3^AHqg9YjXs`T^lD)_H%ZrVU7mMM`qg9`tamhOxE|l9%O55rs>*P6ucU)wW zjAlg(OkRy7LAS-OKEVr&XNhxt^~~q5AqtMtFSlI-hX;=+6usTkpotM7TKPm|#+BI9z@iVI`3gb= zipt$-MLeICkGxNsC?a(@?O)K{^OS33Gl(rUeb3-pba|j+fqIck-PNXsFYmyd$M>gd{SU`T?N7pF=`3~-nMs~ zXjSW6O{)NH!~e$em@RaOu9DkmDaKW|^N10#$_p^9P*kzZJIzc`ub*45|L&=)5*UuZ ziGKA|lPGpc&TP4&b0qLJWw(Ks%k zOqY(i9m|bT9fy-t*(jF(Y*W{fyu@&Tib3Z#X^>l^n8zm8)uVT+saamM7Xi1ctz$pj z1Q&ghWYZe(<@~70{XE|3m$|xdl2b5yGX2NBcYDWV#mhXKozMvpP6#}6Uhm-P5yTV_8@Q~EiH5LE?cAyCQ z#A#%I$LSNVp@Wh5mTuede*Xp;D^%_qWeb4ur}kRCf@+ zO=Q~a2{8QX>V^mud7D*gRXMx(2|>4BQ5HuVeZt#%mF9i=UYC$1Lg}}N_kDx+pLeGN z?@wRq#|_cO-C|Um6qyR*O+Om0?V3frjGHO?j=!UQiD^Bk;hl;Acqa_Wt-v3|ipNKd zZ>{UtU++!~G$%I5ne+J}Fcb%EV5x*kTP1b^_k-#N6hElYlDQ}u!1%o%rDktTa(27b zcwj+vM!Lcj!2Iuw)gV-rx_Ah_a%&m*kfiXZ##oq+_t zT#Fv`Afe?o_s0*fcIqX!=YO}oBQMUV_>z<1(!gA-==_w@knLTCj!4WGW&hWeXL#|8 z?C00=+TVC&?KZt2KYAA9e4)nZkN)kyN_?;&A4l5M;0mZ&0TX~y<4ako0C~fssRCz0 zt=O8ci2x2Qq4FfHLjb8Uwt3y(W(^jqX5BsNL5twZ=hM9AILjf$Gj1irq@{Bn12a{s zTWD7h8ZY#;u*3K?9%ucSd8k{a`T1~K zd~$!+Mv-@fCsxA(<#7bloGme;!ka~EP^Xh2eK;1j)c_dvX3O)QXraK5H<;}*D&{f6 ztVf!h8ihJ>0_t-1j9E`ReaqiTRjMc(fNm+I0_~hc&i1>w#kZ8v)==yODB_w_<@=gy zadj?&wEgI%WUBu6+Y@u1{{qg zorU>;XGFZ$%@e;}SdQCrP?Y{Bu7%KvSB;K)}UjIz*sS*E(&;k+MK z*yy&45~MD!5ZE|sUwFjp%$yGUktQ`B|3z#i*DV@=zx*|Ow!qycGviiTv)-`I!O`34 zA8V>E+4iE-MRrBBi565TvAOYr7fiu`)-kV!0eG*Z43RK!)i1YY0ITu+z-|zi@F%|d z_Z3E5j$kPxvUJ$kqahgT?@ThTZOn2WzShYh4=sz4KwBmG+P?VKTS#Gk^&ia%TDAub z%g-n7qbC1oYpXlyRG%! z>!C(mG?0uoTic_^udUiFs^j*ie514%_584F#ATu>89t@F`Y(J{8S$8zuaQmrVJ}A2!3Wr^yhtv3vmNI8O%(4M1b-% z;jU?|sPpIG&8C=Un5d9h;SoPEfncsdIa=zI2M#WV0Zq=8iZl~B+)M9gN_dQ>r3?YE zD|SNw6vW-DY);m2Bp(HY87%RMf4gQm>2yUdEdV(i!;;1>N=BD!UQG^VK@sV>w)?W! zFM~%SKJ#>%{V4iHPoi;J9r zH6++wKh~WpNlM_!OwhK_t{*Aoi!6BI_`ja@p4Iz`)Xk@Z;KW+V<^;O zuwFHP9%@Go*#Clr?mC|%O*d3|+{8;DYxtKkPp<(JRy1s(q#~OvYP_u6vGGQMr8lbf zM+V|DreqrExmcMefl$E{-XB}t%IcJ2mYF^)Kzpo@gkJNNe^dRQV`RW zDj-a^qKSxLw=yTV3kHplR*jx4Y_6mQSDPM)5}DEf_GE7Q0}EXwJKoZ1!VI1`eVnrq zQ{GGhlE-G!G1ay5gJ7BIu$b}k;L197vG&R;n*b#Q@Eg`XufZ>a>C8=7SY-Lpl|`=> z^EadKM@Q{6a0!pDzBMGVsK@<#rf*Bwxw@$Q=mPc|u5tmG{5$xl4q*)crtg^U2ra88 z?1kTc9#H_%2Vb{&ldAN)OPNP+<>1Kb<~sPRJWC~ zM_0>(`z|^=Fc{xvR|#It0>9fo_(y-Wf7r9;50SiJ{cBd}bG4tRPb}z&Sd6@q|Gu`S z@+=&Og%*oZZfG?as7XzyAvg^Dr?^t<@Yn!?$rN?1z|S(0WL~1C;+8marQ{qp z5Y$oqj6UoGxdYdx*2|%heKCVad52{*D;DX-h?w5&axKxTH`JWFil$(44yD8gHQQRe zDmvH#E$0fiJ`0*YrWf?Jobfa%)o2!<8THa-JDLIo!g6H{CNDOUVeg%c=FXv@=3H4p zK*i^T#RY$|XV1c|@?P=^!T`pm`38D+#hO57HKMg$5Pd4(i=SKrp#q+IBP>=Pd{f#L zV3~Zfgtz5FC}3myOT6h%jqjDumKt90)Aqm2zY+hc#C|;aabe6s26*@iSWkZ__qzDM z$XOk0Mt*-9p?r-!@VVRgpH9%(W45u*Hw-s6%mn9ROb=Q?Mr+rFLV1LH$)~5*>pMH~ zL;r@LRkGb3FFNvv*PI$fm89}LRn!-Gx_sGFw2k5Lg@t%sgyx9uJe;_&+#}LBd&A_{ z;sura_gc-j>*VNwsAoOslw%&kcokYar_>64Mj)T0qWgyoafw$hTDgj^PhlTW1j$Pl z{*@JN+;&Go(|RF>&7>*;RAnpN7w;g2 z0`o++pLTiL)U)_{2Udi9VBj2fAFsjp4Y2~wwBs(P{szRtb1IAUsnfZs@9oIkqzvJD9 zFpC|YMz9h-YxEv;DR^r0@CbvLrW+eS#@>-Og|mhA&N8MzwyzJcy@uUif7%MRm!@TT z3OWvy1Fbx7W%K^zu^7#5Qeu!AXaBkn=tLef?>QAlM$F zH#3J@QgzgtTDPS&FGENHMaI{tE6mGX(evRimqYm3rjq|BUE+$^d4V z)w#OBH+I(9#9jhmNB`=XF14ChU0bHT46vBvZr|;~;+)_DxH8?$jEuYbj0n=LkY38Y z`7y#>r@D9gdRDBC=k7M(# z+Aylhs#3;}gw0C{Arl^kW4m_}h(omgASqoj@&b74wvL{x*sKyl8O$iyns*6VB=fhd z^4tX?OnS?qYp=I5UKLq2XYpq5f3r|h5bA}WgYD}UIL{rv9l_l%s+Pu&3(5mZdr%)- z&@BdCMuWs)R9$~I-$A@Q4bIRGhh zz6f9Km;A#$w+@o%ls&Oby6x0e`a#ATKn<|!#I||)RDhLuD7ou4=d``!Hok)zBoNR1 znVpKw??p&64d)6Aa%LM7W(W%4AhCXLp{^Zd%a1M7iRH!y)ebE%ZMLY!e(@zGx|AZ} zg{EKhGZUDGG<$4iVYmLrd0%NY1bg%I89ugi|5x5BC5$7eIoIh5vGh0Q)-%{;VrQjV&)$yLK3SVlZlWacoX>6RFz zCNkQvLMX1qw;EWgqeVP|`woUW5_#JorYQ!?2*p)~%|9TGatl$X*^2FT5;m8pD`!!< zbP7?ni|}SaVw~-Gna7Oc5Q#>K0^Uqd1qlv_e^J;Mcaw@C@J5ycWvEqT&GUeY{FVC{ zim8X=1FY)yQr9`og3ni4S8x+sd6O#xOiyfHhDAKe-oW*HkWcxKisnC>f`^@%=g^Y~ zb-V*@p-`2kYg{I$M=Pg){WYqChg^e?@=NB>~36JBk zLDkmNXxMYna_j*jFiI$!7au)g&5b{^;6^!uCzTtV?Df?f>#fRGq8qyZ4RtUp87KPX zt!D6nPxdkIcUA@}>pxU#`}2JZ!PS2?CtgOK>#w`5e(SlAlLYSHL{vYnXb&m>9~4w5 z4#8VoLVT&R`%7CG{OGswP{_d}j&$*G#GYo&2 zYPXmxTCY%kxJ^cJ& zHfLc?sSqhrvdd&ilS$3d!E07m!g@j2cB{xkwAgrhZ6j=gq1K{3JlhPh-%^6Z%3Wh( zE6!o^L+=-4Yd|<*&m5@)B9fk8nN@S2zs>k39d=-w%`1K%*K@&AdWRXb|8+C66=pU0 zELK_M#CdEfPmM_RBQG8i&3HT`SPItpT~?qLym*r@2N+I|d+Xdq8vk}FIUvG*yv`~c zf?Ana@BZ79bfkC`$yz?lqF` zDF?-?s`FxkgM`lZD`h||Y6 zyr8j1UhOYbA5CKZe7Ny%t+;L#+iLQm?iR8?hjVPiy-?)Gv=1m3Ud%kR!k&?pkT)`(j90cS0s!%K( zs@N)2F*kLI$rhH@?R7qlw~qFhcUpN}{}Vu-D@#|Oih(^Ymkv{fwengOsu}=N}#`!=W;nDDNj2?<(AYTe}u(uydg3b=bLOYSj7jrc}M&z@;meBX#A9l7a!z z8&?ggo^34p;6aMid~Smq_nY49VXChls(PsEtFQlSfOQtK{^Bo$rnCiv*QJGtwh9*5 z_A}22FMWSIN%;2L_T~TKZF{`?sGtd+1U~v$kO;@ef_#yUlJzcdX<^Cm^K-&)0dFpZ zM}Xx@;4-Wh_Qv*0VLh>PS4-i%KshncY9VXal`L@;3t%`Bj)74NU6ma#hX!p!Kd-3; z*)bX_s_ieMDg;^hhQrudQ1TUFOdWebjXvQ%B*sFY7!aD3rw^8yGBT0Oz-sP(uU%8A z+LtTytplYq7F76wBbkQyj*7nTl8d0}ugo0+mSaCjQbm7~I1al^5q zH?j2cv7L8ktne$F*1G}xS z2TPuZr10e179N@@+`K8Iufaz*g(ssu_nnTCb$mrgzkn}Zhc}LdD>F-XA5WFyW?(v1 z=5t}S67-5KsWToccWwtBdI(l4hpd%w0a%SYUMBZuRcm2?f2(YjrLd=P1dLnNs|6)B zr3+WDrXA|3YlE=%7SsZin&oS&Wa<5>sjfc#MwI3H!0Wr}QOg5)2ejI2+db<-sY}@^ zP3}P|a^2)V?P0%%qN6bF19RVQ{Z9Z3SEL3*2d5L|mQUd+FgP(N`go{ZpD6FS3Z?Jb z`@c0+p4?M@`3sQiuya#sS1~+)UU@y4A1b_x8P6|U8vGNFD?jw#>$e*__TyI-qWwL7 z>sv~e+0@=__Q@Wp9;W*0tB0z-`ueqktagg9s|-@YwKa5d{XoE!;H2>g#@;W1#o6huKj56ii|snt?Azq03* z%jVa@-^X6-)#`v3z_b$BH~6R>w5rmcV^2Z%4aC~2D>?N$7>w+FocI_0s4}0~C*OoV zJ5+t*Jx;fZ62OkH>%8)ooUP5cRh||LW$zqt7moeqb61n{fx*yhzEzys=O{)Bx8ZnT z$2RKI0gQ&quN1C5p?vUx5?f? z!2#+A&ZW)Ctlm3v)JT`vN}DhkR902&$qpxsp9dIoq2;9}#D5))Gp z6O&R<+zkH`Z) z5H}hg9v&e9AssO>9WNUbyC9gCm+z+j4R3$`E`0oaU_S1@8{GdGxb6Z-?f^|_WEf~9 z06Ga81_|1A4?uUjM68=d{-a=^p<`lUAeteAj z9SCE(gEjq(;xk|!CisYk>24yn5(X<;GVp)tz-PL1i-@#~7!wV6^uK^R1^;pK3!0cx zd9SbT<)SrbUgb4;SlnbEZ0xp8#8vWlXL1h8|1p0A~X{xGdl@#MG$lG@}>>S z651N(cP1=l?5S(2y`#m8E|oLCeSysnD>gcLMpK8P)Ge-HT+T8tYxChryt#zx8IdS> z$Rx?+_U@Dx-1V1PlB9vD%&bU2_`}U-KNx9qxg=EL)EV>avafMR zdtEKK|GKm2TiT(c@%+n{!RN+~yjb6+;}=6poS$|NR7`{y#rIEq?AuFV^>0KOO+`n{ zHz4<)^QC$M4ic#rv|9CA-#w_CE!nbMuK_E(G`7V@l?N z=7F&Nz_ni(zKAh+ER4zqjx4P8(4}-Rk`4-v;r8*Y-K5OE20(F_T}tu7DJ$MaC7*k{ zBVgZme%~i|EIiP54=8Nv*vQo&T^xgPfeVWZkVWFsgHk~~Y+r$9LP7<}D05DD^qjGo zG>*Qlq+E*Dm|v+?P4REq7)BPqBS|}O)yimZQ%|z2#Xlb~^DPB{Fx7wVW2t`1m8^u3 zP4{5arigMbDIO+&r&+nUbpb=Zp;b}<&?(j1hPD!Gg|E6Sh_%bnt{>YlNNZ3^SSeDb z89~7ZUuCS+B<|}U=suE(5(<8lO^SNDN@=fk4bWG0z+tPtX9SwK;Rlp^+ypZ*2}}>o zg%Dk<=47x+#`fWpiLUMW3IEdFYoI6#W$ajK+iY3!K_?L>U+9Mjrv-e%1av+k%?LpS`%N_@XUU=1p_ew0Z$^$pf;}@6$|Tcc9kqNihg_L~{K}`ZAE&czD`_JOEWHH4 zI7^nk*{*G~@W=?IRi`M7q)3$Rx-OJ#c^ApC9snBZukeW&gRluIbjT6FN5UgLY2;|PolDLPfBD0O`ZG|2hzuHEL`@Yd9 z_+)!GZp^?{I+Qa#Ph892u}GWZ-NuO6{`gTlvgk649;U2E$u#w%jYPc0p`vI&=S7T1 za-E{h)WD!dntotdk<{;#M`8%k-ML8(+tHZR4ZSf8#C^AmPJQOiVvpm0Ur)%en2wctqq z%6vT6o5!A$?(uEZ0u4JuX1_NCEjRkSvx6G=7r8ZZ{a_!~$EJLmFeL_{YL=2>pE~gR?h>2*9cQC{vc?G0{diOYpB3Qi6h>a zA`uPG*OCiEsvW$TYv6_1HtDOy_V++BdVu*Rn~(QOhyVM!ibhV=ld-3ZS)FMKBGcJ| zC0qri%F4)|Z~Fyn{ZaGKif?fb<`szuB6Iy$qpuPk?||itUhaOFuTbY}3wOGBxn#lo z!&n5q-q>I;_EGfrdds0GWo}V#5r?f+9NzN+dJ4n zjv@I!t|VgP9nazpYDrd>9gTas7!&b6JZEeH^S__+456ppn#!=OrF2?w;LK*v5v`3qQf+3b@k3Fn=&*WRL{m|S;ttp@LKn2szw7oC}6C}vthyZ01mPl$NyusZ-M+@+CKfCR1~~29M|-~*>!G8Mb#}T z^AeivQNF6IrJ6fE*rOdso6;*%SxJG^d-(o^$TR;&XZN|nl2???Tnd>8B{z$}VWT%< z&1ST@L()jtod-ytAij#un%D6=(hNAKzFu8iX^gP2Q?n=hVC!=u%8Dlb)Rn0nf9~L& zQ_tevb=Oi)`UZRMr9#1ulwB{WtMu7va?AJh@Xw_j@$3fwx z|Gd{h{h_X1;ne%MV;b{l;fbeP|37Mc(Wx3TT3aM0cc(Sq6Bl?Mhw#UHADw1WCsDi| z2lcNZ(;0X1Do>E9pMibIGH60*!Qp~JhQy+2pa@A`MXD#Z^k0?lamMSiF!Hik<}p^v z`^k5*PE$DE&8MxsQLah9QfL%R7_L4Edsw<~*zB zD15j+QlH9HHG;J9@rFqt%PXo0y3gWXu1)sARcq+-G6-s58u{lX85uj7TeZD)T4fEu zs?!;U-T3Rg@B=Knc;M~aW(pUC$aJoOhNz(9cS5XX`_E@ zq-WVEuq8-SvG&*~)%PT!G+Hx1X8-)uqYGu)biZ~9UhVS`>%#$I^qm3byb*P?B4pQm zMZ@;tSaj{)CB=v1v3nn)iv@F6gH$);PBRS`*%%ydH00zlf{Ul2sI=wS*2OeRk+^-A zw4i1wurvcKbr&H3b6P7NCV*bop#yYsg4BtL@hr|{~yy@n=*?qeC1%^P23)ZzheZX}co zG_%1sDB3dfxH2GOOUzcH%G)ej1Z`D<9IlX6uN#le)u8g_;oNZgr`~qj@QoTh#{NS3 zCt39?5HagmKcfklmI~p}wx)fY%8Bay*qaga{aWqp_M?g20C2r;8oXBl zHFvr%f%{qF<9~@T$zM)8+h6Y7tye3Dmc>vMXTl)3SfLYoBs=G7SF)G7P^7%fVfWTV z14~)XZo;d@Gh<>EdCw}Va7I!Eyud5pQBbA5uCVviPN8JzEz)-5Jf}q>kc`G>hi&Kh zYB)l@uC7K890i3eyrQ`JHF`Fz-Uo^rE8j{H2UQLCZD|>qEpQ)NO;*;f`YETU;B1& zEhPlTWkQ8=92)JJr!h0Bd0bR@^HS1WqvX~^NPcjNdt}w84b@j@q_i=_ClJkKEjdqa z)GRu8&te?aPXvl*2MBxXO_is^g|r%kD^0Y2lp`CXi=N1i2LB!&cxa()#34fV8g6D- z^63G?lPQIq6FL*lZ>o#WqR2e6!0gM^mz|u|yjEnNnr{MODnFn76JR z?z6v?2NrIa9uVd)J@Xzhpe&}W2)J@>?-OI+)+$!Lc9rZbtT z92ACLlTfBLd%yae!0UPgIbX^k3as84vtB_Ok$%924#$XJ)1(N+<^-mCs@gExV zDGWs6>#LTvpGL8Fk0#i)Z8{H}+GKQw_oI${Q&Z17zEr2YLf8e0+y7J%=HHYoO3D%t zm@h6$N_+BZGSyS?K{{=+5Ls$dThg1xr(DWI3Xmm;hNWOK_aG;Q2Zv(1THms@wm+2R z?%M#x?G?22>}6`lAkGjY(qQi#^+IzgwTkEGc^Q^VP2O{gy_fOv9TQslrh{IiSUB@* zUMBI~N$f0)B-kCovm#0F=?K}s1ER?|G$1`fJwf+W&$tkl&bVg$gQlTmzt2jwPY#v; zDB*u23NeASXjX_oE5G7sPRR<3fj3jY>v$tatCYr4iUyxZqmu&4Pxjz07yS2k37UUr zR*r0SI1Kot)_=Fx$%TPkcz<34Dq5(pF)eMKPjtRL6X$>urdUS8@wSQo=^huXKfb5N(9)>3Hu|#NNZw&I4AMS4DXO{QSq^I*q zEtq-;?AE@CKe$Mf=+9RhfNyxxCODnW{5o4M+u7)O0k^c4p%MD zbgb|@ql(SC{FAyoFI}^~FklT0y-RTlw{a$r$6W0^+&cP|9w`h`HhFDf$Ed&`?9$_Q zKAiDNOFw7`l-(ZN^3ZS!6VelZFGQPx-UJG<^5B$^H`(APFI$3^y=@4c>pbwDK8ctq70(}v+*GCZMfTf8;-Hp^?``_zl> zW!m&T^MrT~;|SEpc(OLYP-hCXRyI@lS++9~Vw+=UZyPLBL9-e$ViZ5_rChae+}-f2 zLr<7d{u9S(z%W!K_1nl{u8du|Z$nlcsa`G|LXRI4$>f0)ZgUIfEeUYly^8GR$Xq)T zFSb-qAkfr!Y$vR29eyji=nwwHgP4B=;+6rBE)+D5g|kQ0Gv%=ex9{30t9Dckzq}*VQ^wd*YFZ2Gps~c@^1aJEQ`YW6}!5%VPBZ$y+aRi0XD9@E_nb zg$}*-)qBEM?=qVqQX&ZNBnN%$yGWfmv*wE5yuj67@*<&cQ75c4ux!x-dppi(2;f(*A&wXFPi<~zHbAfd*atX z|0=uR%bXl@5jUsHT~n=~p=eNQ}f>-QIAXLYu7mnzLWv1mRXN5!_Re z;sOe_Vy#d<;OIt{ZI?y%zA7yVn_b792TO{nrLs}zmd?3p)59P}@~ATg$Zc+QEJy+r7xa;a%d2=Yjgni^LZ8stF4n(O{X!4dN=T`eOEfz zR=mLm0&ADb{8D;1hMBv*@$9|6HTo>~NYn%{_dCnDWN}KGj!5Z2TCF)$ zuEI(KL&iN0zTvf->Llv)Zp)=2N9y$I+)i6NHpnEH*}YDyl%DN=Rj%nOH??(qqDbW0 zof6&)rx7P{UWq^`lFW3%>50R9hra5T9ggV&1yXaZt((R%Q>k4ABXD*e#n?nUGkMS7 z(EfD|slB1I$}Ff2*LY@NDJrdGyu!~`HKJ4GH*&N}4m*Ychq>#F0cRM-r85Q_S)jU1 zNv+q}r~J`6Yrdv*lxc-nAzb|W+CGsurMZ@fr*FYOpZ=&6JhF!xf=Po|{oEf5l9Y+Z zi^Ew~9iCUT+k@wj-8E?nNIt#&c&k1|)hqYXtA6RrfFtB+Y>PoYfjJBJ)?yXzV3C1g zTy@_Bfmj3Ns*@FF>vIiUO*_*f(Wr>Oq}nS1#IVX>YE&V;B!g{G>NW7Yk6Yr$0WxXa z?`$O9IH#RQ7R2D0Pf~{A*aW1$7x~`e(O!ZuEf<;d@!G4rR5LmjC$#=09v&*DTlfmK z9ql}o`c&!ZCxgoRUDS%EgwaJ%iHburtMzmLWU1^s(d~0sCk{+@SM0M*Ysz=~%e4ET zE98}oD`mNe*0>Bmc2yc7iZ7H@-2Rxem5U~_%xM37JrtA5u1t`g!df|qFN^6s?kZcb z<2vFj&qTIN69s$naApd8$=<=7cVGw&z6*vo^AajHKFoUkxDyR($?LTGHA>bUw@E|W zm^_Epsp=<|_lgs}^rVZa#=bJ$u9u@iYb9cA&54Tg+w6{~SoXPN2}J)L{}%GyUFC1t z_kk(f8tu@%Q?*oD!wjR01i@{`x07YEqcz-HOZNos_cvuUH|&%XI9Xv;Cl*{__iN6T z=C->UqihS=%WX|2t~z>CwF8oMO9mg8v6|3YxO5)`UqQYW&ncNd@7z12CryvwuYS`^ zi=(!9`ZmSwcfLcUdg(m^X_pfM!;FUNz^OGOYxCb}*T69j%ErO9dgU_Rsm{G2x`>h0 zcu-KBCYo@f^TpQp{vlKYl-gQBnwua0LLW_kG^hWY&C7J1eD3po^NdYX_nKG)UkI@A zy^-TEtE}fFr5&^#=`tzB~YO|&c*Qh2U2fkkW}7EydL%rI2xBNz9PqDEH)4_3dh zJj6TkK)TPWf-=kOUepQqgL-6ARgZ;XVtGvBcDG#Rt`Y-O@ImhnGp_lC{WtQBhQ@fF z+CQM}ClOH3kXnYx>cxewhJ4s3Y{mk)(q5fb<7J>q>(Dk^t7M{f)y+k%oFFJf&SIf8 zkh4`VUPNY-Y$r?i!ye1l+5O%%dG}AfiTq4iu9Y56ehBHu&k$Lj`}V~Xtvn`Jig2cMMlEnNxM@s`0~1TDYTgJaq)2FP2FL zZHEUUkDyed;o`vFTjD z2OrnLUUH~uzfj~a?|+*@09$OHH@{`0ajU~>x* zD-D6gxQ07bcczM)J#7TL+NiM>KeOJzt`BU;Fmo=0Khe|eeaQ3laLe&pS6K%Grut&^ z2@NzF7*ldzA@j#R5TD%-1=H!&m>De(r-1#j2uKA+_= zAGJSo?{aLS3Fjj|TvjT~M7)SF({waLte5{1J@H~17-2=*B=czVgyD5@CZnk(;#r4j zw}xrAgh`ZPwBDq%xc^FH>GPl^D{-d-gFs~g{v&RC^ih0k(*KdTC?>wigx&Tg<2|Ab U;{|R26UE=58!muI485NIf7)L!nE(I) literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ba1d9b143388a3daa888ce6243b578e2901c89 GIT binary patch literal 14639 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֊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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ba7ab7dc0728c696f6f184380d6fb67e37a40a GIT binary patch literal 3971 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 ST0g7CV|I?j0 zGAx}oK#ra2sXp$S3SP&BlOoWkbJg&vjw2lHh)V0D(N287FIjxDQTwvrU}JjS&362J zqvF&^8(B?n!~7+PKI{SjuRobTut=MHjKM&q&c;TBHxP^WXAJIf6m2 zXk83tEg4pu#p2Bd>o%>HZwH3xgp5G)lBZZvf6v!r7rt;sJCPDSxD;+b>6Zg1U!Hw< z0wk4{UQd3_tX{6GETM&7(K@`aQO5tF6WRN|Ij>~1k+K~4t2u3E#nP||aX7~rA($lR#-~l=b{tu#{#w)2WkKW6ZgkC0W9K+RdjVB-&ZJ`ORM~^0_I-Fe16h=z7j2 zA2%A#UHhN3&H)%plA-U8#>JhMW{q9=FAU-5TQ%|mjct;7y6%;!7K(%=+&(tsx1a7DI4*|DeI@4C!^`!MQa_ zb@iaYmz`wcPC(q?P2QNF=t4ryuz34BA0TI>7j*?>nJGi^@EAWg)7cW4$$jI!%nw)Y zM}{?LCQRtkdwC|}h;lV*L1w|_tN4Q<<`VRhO}nFIPy?72Un|!F$;`RJYj1bN{`Bd) z5{*~~S9-Ys5JL-t`a5pVQr}50Vy!?WwYupp!obJC9%2_$EEAa;Oxsc3lL%H|>tyTJ zbJ(jKD&2Tb_XqS4DI8?(y^o^Q-GsWnz{jV3DzFX0DmP*a<#O1=6)V_|90{z?$mOHW zUSZ32mt%L_dEhewsHB$W8Fx9&{>jk%~! zH@!mz*q>}7UaUO`+cPA1FP)Rl?p1_IXz;Ties^Y>%MOqvPs}lODSt^^ zs_y+yosUV5Td1X@r?+swol{>30CjKT`Xu7WwKx^%fa2M zpAZjZO#ns~?_wqQPx~8M<6T>M#s!J(OegYtH}3NoA4{?7ZF}SApN@3@Y?_p6#GKr?`#M<-kKwvmq33cF_zO*e zUoMB{KOQW1$o1F_hK1e<=U_yM+1Q_+ZB!VL&R=o_SyUbXem&gqRHQz}2m+_#a-!FR z@}@%-7J`$nV^_;ierwN^~R4Y$10rH*||^`7>+@w-#@cb{isvvub+qc3OIm# z0UZ3D9eMY^S0ARNxG0Rv)(5@%URJ5drUPEryAiD3Pd~4Hmz47 z!xr)GuLmu!86X{=T*DTDFP~l$AI0?^goU;XRhsC1`ooZsAEn7FTorevxNFd_2kf-g z35v3R%wUrz?(VBJnZhm%MW0^SN$HOMn(gBZslan0p)TLY9*&os`f0)nZL$$`evFL0 zU3WF#?K?^4B-kmpwSm2kjTpR*K&n;a$#zhfm&0z#2hHq+TfSrbL%G5XU$y-JO=8DC z?;cD&oZb@#+}WE^HDA%3h|lO=@q4z1x<**@D+N=b&7W$sa}w|cVOIPi;{#RKD7`6w zUk8x|#s*92MndKMi^k?lRI;5dX>42gp~)IH)$%1Fr~J8W83MiajUdqUvXnXFsKT#_ zs;KQ3GLGU~*SM|K8Q22uHv1i=1JTs@bdFJ7HiX;zw@xM}zhdeW$JAZNaa3J`$}0OP z(tJ_Z{2Zf*t7!VuR;?#3w$S1TfAyo7m@SYeR`x2pDNES~63Rmc9j|46*S6$*R&+A} zwts(q%?$!fR1wkgj}y_RuEh}s?^aB+MU|(^!4oc~Qq`+4qk^CLB_u%^2y4`v(b;4Zth;Z)>lLD$`{p z=DFI;FUZ3X-J7T4ZdjoqyD?J3x;3ce;p)&UR=sI&{JF)ORkQot+AX+`J-O(C6=Pp~ zSZKpvjdUSikY7-LE0XTBrM2fxD4y8ybq4K5vd+M1Z$Ew0thu{7A-rA;D z$eMdw7r{)_q>}^eo0^D_BY*3!E#zfY-s$wdpZ=%9f0gQT#FnVvl92Jni)@K(ZljKu zRmG>XN|36&IUvc-JYi{`KuF-+WP$NRBhap z*>J`v=N#TcE3o4wcTP!-OFw~K4YNGsv5VK@Pnu9tGIo`@HXs*C(Z~45F@25z?w){I z*(%>ier!RZ`92Af-wDPw6Y$&li1{`)>zHac2-YsbRaiHmU%*R#LT?7%gw<8{+B!qH6B#x+vPO*7TEt;>!Q7zZa$_Wph)P)$Fgqk@Bal z7n_x5=8cce64(A(n^$qpH|n|4@l37A`U$*rKF&CXn|!Bw$CKGjP9VO0P^b@da$fiq zzlp=bb;5RKhqiXkPiRJDKi3nsa9j4oU;n9?&Z>V*EtumsI~c%A=>C`4_ep)?{qfXB zi_TMW6vRl7W-jR{}c25 z5YT=P4q!5I?{pD64%`S!CDys>v;bbWE!_kH``&dht$JM-y{mI^W9b3zOZ4C2?Sin{1=8GSF}K00r!KtiXz72 zzpJ3LJOw?2=lNPw2@i>lNA-;DlBw7V1A|`uwW7SfZ_Yt(K&pvB=0(U+t7kN832hk0 zYlH1qG9B2*n9u3h!+T9_3r%|P3B%)Q*GoiQgcXrh-zjMt9 zBF@#ne-UK?UR&uNM$}kSegSvuu(Z?@1AyX#3vQOQVtf$jm-QYoW+@~tox#|fg~Ogm z@InjOxZrrkJMaME237&1~mQaoYAYqU&4VjKsFf~37<2rTUeD(lp%{No>mjMlmUW%vo)KiP|mhJ zIDX{Hi~T9`S>2&0&-b;!KBKDrxs>bOG37HIdxn8#`cQ}}>{juUAlPl$nYsC^3+UPa-l**D<#%2%eWWc1n;vT3Td*`P+LnIq40w71Z6l zi-r|m+#)Ydm0M~|p_QN<1S$O*1C*mFYK*@ZZ_SzP(9W7qC&@U1Eq`rGuR7v@)7$23S~ zgn(+Kk7at~++T)Awr`=_m2La1A6Z35^@vH1$Ag+bxMmtmOuk<{pB zi4XF0bnLA6F4Y)YdJRF2LD?$ECz?;B{<7)0qqpFp!7qY0jJoGIY69b6Bu^-pj@Q9bJ;OX; zmV4!wPd}tTIcfmoyh&0oI)qkf0@}MJrtOrG!SbvmPw*k~w9P)-}_;B^j< z0?hf}+D=DH`yVr;vROaQxQ<{?;0c87n&}vXGz-mXSqjLFuuKK_>~d z&d=G@g&0*e~@oLxz6QMAU?Gs`7vlko82FIQ|f}EivljDX4 z*nUCTRYXB-!|CP~9Gd_vImTCvBWo0fG4;Bsl$F)^n1;?~Q_ENf$q5-|ufyR0nNZLr zCOJ4j{%!QgYn@9`*=Def-K-93>7zjNZviDJc4pj;WEi|I$`<*aoDwcIg})!&z+S0+>PZENA2Un$F zmi8h9RtC2gapxu@rIzyTYTZz}HcDUHB0fUS0@S0CIzz^WAH-_T!Fh+9Y#zJQa60mP z?Nz`B0;s`%<`N?Li9HsaJyzuSMGStqMtP%Z;{!iBv+j z!Ird%RoCBc{G+pH8M1^T`nTHy)c9c}1UH2if3JYU%|Vi}_k4!De5K6k+>Mo!O1Q!6 zm@9cBQ&`-!W-iE4)uEp9*?NbuW`><@z{~!tkY}4xLT+F4$RdVc0I+2JWX6D9a{@KT z^J-=?_73eDkxoN$3l!H?M;@DU+A0Q-#FcCiJ*vZvZNSfgs|oxZ^)%>M6h7tn>t_$7 zzX30Wt=1dAm=J!$MYvoNZZYF_A zJ8&~DUvD!c^rLe-9IGr`hHi6-&+?DKVDIl}%iujQ;r7B;1SMCZvgO8?cE*G%z^&d0 zmaMP@M_nsc8p#4e*A6=-P;?CVluz67fmQDK!`ccVJ5mf0nXi)Fo3hjDmvKf) zn4C!eM;!!YwVP3qE{15;yJ#|`$)kLc!5D9@-BO*!GczP#E+KRss&V+nfHH+UUPSa( zZVRk>Ujab^ue5CDh?{&vFXO}x*I9=szZD%5n=H^F-Cac->PY5x9IpA%UX?$ae%-c7 zEDGzPnc|+kxDC2rd}lX1d#97R*Amv*!%f%X7mP~$MlW8}@KZBE zs7UtN-$RxumC?>0Aq#EKPGN_eMl1Dhq`?!DKXdEuLu#);YwA#3iKkoCVY^nz@aGW| zN-Ok6ONeB`ULsn3aY%6R-m`|U*Iq`cVbM5;T%+C613pEUo*mD6SBQe9#7hr;yhh~~ zRBk_UeYw|9G=JkjYl&_7kr0<}2nY-}Y%FFGQ}1SC-#gh_u(I;NDwyEhMTNSjpr2B{qi-1{1eL4uV5V zdm1V3YL&m!_7lGqHgtb>>KiX03Z*}()B7lvmMKt3ko(RfiY-a2MkL&Pq5()PYCTlo zRMqf!LKopOgC8BmU(cW#gmn7P!Db{dela^}E0m zh4A1Io?mGS<`_pCI&iB@FgwUTXZqr|IO@iko(>09STXBIXCPhWn+rZ%=OPuOKEOwZ zAIfuDE6O_3QRZ*!xqqLDQNLe|Z)=BAiIeO!AJ}n23EaVtE=a|G_?rcb)G&aeYu`hV zam3D+4*XitFz^6p)XceHOLzN67wAa&ss=1v$K>t@_T=oPJwk0H`UN6s(Yf~T7mQ$rA78vrfa$wTdO`;`wOAwDuH{n!5YLufg--;ZRR z!|n--yVgL&y5MB{)go*s zNUs0ZERmFHzLZW(wsD_Dn1~x<>GH!brb8Gk+>Qe3bew3A-&Z-sPB&FC)A-6B1FB>c zSD$q>4q{d@2=&n>zMVl1;<&B3TR7f$d!sIO7Q{2YnWUB4Y0mYd?Gr2HuD6@ci6O#E zhkESSwG#jPvm~-rNCY6IOWTs&Sz6~=$YdlqzPioQYSRN#0nhTFV4sFa`JKbQecDPQ zMBxWnKHi0})wbwOP+ISbqcu*Zp?J6URc1GjB(A4N$tsWkfBpwMb{|)u5P5|=&ar4> z1L?KMnx5+YJ7W%asY$EB(0G6%z`OBluZwca#fz~^>AJ}e$5nn zM*Myhk|cvam1Sn$PA%HWOOo%qN1PeoXp7Q|q2Ru{UyY~KlHHGft-+5u)lXBxVcKt} z$FbXqayT-wL@>{9`|M`tB@oWfe0+if)Lmt0Te`v8=*algANHDs*?&>aVfYLr`X|$O z+Dr-M2AKZZn;w_Y)!fjhg_V(%pa?h%HPTRL_ho!plS%1K zw2WpWj>Kp|^xGsrp|oJdF2>uY7S_r#S9;Pd9^2-Zu=yXDlGx)U1NpcbLN;>iQSR`K zpJnHCNZrHT8<4_5pGHIT+FHnG%O4u`3MkfOVWPcnbfewd#CsCniuVhT6g##lMR_|a z8hbX8V62yC4Isrt(TX*Pj@cF~JY0XEEMS$-n5Q(XM{v^2M^h8w_dQqyA~b2Q8UWtZ z%Vw*uO0qwVs^h%tFWAiPF$r1m>R$mtiUJp44I_X5c5J-xkn&Sl#QIvCv$&`aTHu15 z1)>;l@BoL5*}Qh0?EP zH#vN;Z%x|D<)#00$n^B*eOX`8yDsD89UO{jHwwaApNQIg6>`^|9MvfFef|=1^pdHf zzGHdjgq!?5bPD3b!}SxUOI}h-rG>zD$xA$DAP;BO%}!u&jA?N0qF=C9)c9h+JxItP zCoUQyATSkCz{ti2c~^dWBO1PHrFvi*AhJJ9tK^yzNmW&gg z@32)>m5N6@8C&c&RgCLNm-cE_bwXN4dNx9f>KGP0`~Y*9JdsT2f9E7OsKdnUT9>Am_k8*$lZjrX^zBrapE_1XD%nhbW%W8-Z8ai^>oCc|fEh&9_SC|# z3a-axc%nErR32BJ$4#mq8N-TRC~@-$ig(Y8&0I>c!Oasc+^FE$>I=bD?OfH^A3kps zZ3x|FN+I4kpF)Qx;vI1=P3=JtIi4QdmsP20{Jf%oQhpYf|K9cEXZdf_Q`X6prNVq! z3mmNn!&!JYGaD)O=lV28|I1^BCqlSx+?Sq1&)=~Ao$t?sN!&TpYERBOy&-f~HSSGj z_&l`NC_4M5=?T(TE~zWtS;M?HnJO=nMlBaxYqjOz7)AzcakLe{H&ZiJv{y4_!SdyR z1Kr3BewMdqWePCeM=`$VXQ7kIZHv{_GDYK4kiMOMn5<6e=H%8jB7=`=aW+MiFt#YW z_e<-}*F)KH59{>Dyf)nQ1&N78AHVO*e}3@P&P-~HVlki?Kwi87_{P}Z2<<(*ozu2Q z%JHJuxZurky6CD5gu}JsIx~sgelLvtWUq|qJuwTMJA&LXSmiT&iEK|;7S{$!_2cfr zhQL&mKLjG+MLg~HQu47trKF}%?H*f;>2DS#NA$FN zSXj6cG*$?0-l!Uf(U_4Dw4A%&T++>*W8vj#_udkr1+7X74kjrHQGG`|*3i(6R`_!B zGy=Kf_;WHJ{iKM?tRyncZx=RH#~2?7@?&XclW|D$feqw)kT8av_xS{&<~ zFo|?4+o-fBW+XYsEd=uN<9&VO9)mEQbt0BmJ$lNXLfuYb>do`>Mr`E*LpHN_WUD;q9tO!{JW;}@TII@ z>7%SRW4+u`OmZ6o2-+s&)9=zLbG^Q}(I7$!;EqL|JaP&zJ{8JVSe0D0ik9P-iDhT+ zFy+xB2uvi@4skvRPoEC+UJ^j#nV2)E^=}I$cyFC0dphek*(mh##mPUua1j0H)#Pg- z6as@uCLy!bb4U1iFPPUv%WD0$2`nHKST!f^5CG<|CzmAEHtnpZvkL0q1P8||;Xvt{p$a&sv|doN=z#jA zI}>Daj9q&Qt+yE|PuP_}6bkyBJj$2Y>*`6n2*NWcz1`~Tr7>HlO2`bZFQXhHXSJy$ z5gYZ_mhmCNllE%5mVS*5*JOJB?>=O(`>|-(VQColJ;0l`zK7HD`-zWo?(azUk{l5ObBP zs8!LUS-mHu`(C!H!xDwtE}2KwG82(`FqCE$yom@lppupKA{gSND#268uX{WBgQBSdhyZWvcViG3Jr6qUI_4 zAkN2CtT9K;ZvZ>uXPa>V%JdI4zA1OK{5*ccP;UfvFu|WK^?Ab6MT*XShBOjvtcQtz ziBVSco9wRs{CVOF`L22*aS*X^ue_yFlJ6kNIbZO6dUPcU zEz%bMyO;Xn$RYsS2^8uNeC#WV))1Tq5kHT)15hD*2{jTsH$%b$r<%SkQGR{Tj>8Xq zCx%EWlVN@4rqC31#K5I8SRpm;h;ITX)5{-=nYme7Or=rSR7L@OeW z;z-M)!G^oCh;c4&eC_>3vV?L7OD?+Dq!@y?Zz>^KTn5}6tC&6UKq^-YRC(!&lio!a zojDsndD9}p=VfM(RH34|=ls)@Sd&u5l1F)^igO>I{r#z=#tq+%-Rgh_XQV0>jov#f)7yo7^wF}yW&`9%u*k%h$;U6*fB3PzyY5uV5IF&+B}y3QY{C`_lwwt2902Vvg0B9C&@q z^^9wh(9sApadc`^H^~ig;GDp0H&FU?#*U*Zc0`J3<(t=g^!rGzZotB{M;H#N1(4a(Gjd|b7-MGcm$?}gLIMd44VKWtT})3nr>lC zZSK=*!cnDP+ePkI`$H-{7ZxV!A?k|m1>G7-wnZIjh1<687DNQxBfLKEeA&w5V+mS! z`XrL*9Fy|fM8>v^tML!rK2=OoqO-CthSkT2% z?QIrBf%i*LPtyYwZf)}?*~;^r zDTg|(ZP_hb(8Bs!=H2a;kn1#^(%4@H5B=1+&%T3-()8L3V!8*^0cPpdL3icBGi3aj z>;k7B>z)QkZCBArFCb4;kjjovHoW-mOx6|24lzMl^WO2Wd}Xfk>6w#QFiTVTNiyhg zH&E``Z_GnWhbWyEiLBYc9DuRS7lUDfGV_KI(u|`QPUS>&Hab-40sm#7>BTJ|&lWCs zZmbUon*BAi*@Zmw#?7wi>!#Iv@QPQpHi%93A~iaO@6&sBi`=nx%n+Tk{5KZ*TH|gw z#xrc>VOSO;;en)mYp+&{v3i}K&8d${o2tXhtkezEyrEOow_8gkkA1EIn%O^vXVu{8 z2nCz8a;Z<+JQ=mE6NqGgCP|iMLlG@g$eaB^bDv^UM`w&yW-d{$R)u2QVQUoPg=Lp- zZIO9@VEOoxQY$}x3rBmjt5Y@)o=ePb!b^J_%80tphoSvPPblk$=;w=?wqx9@|(PwvZqcXydyQE z*4PypZxvG+)EjmEYn{skx)(h>?N}A$uX7NKJMy!=z$UShc)2P*+YH9g--x-LGAHD2 zd(~9w*>?+W$!2$j*bE4(&EXx2UUWh}h}W)rMxIgoLyaWsz(3Ec+{?>XHMds#6Borc ze61W$H5Xy7(gIYE&Z#q@AHlb9f$UJm%8?bpWd&`O6%jr-j-wF7cn00Ai0#}I(SJxT z)SM0jYZs$zj{33I@2kzMYp`mpoM!`32+K79`%OTE%BPX3?lmk|_7vkGYhu>K z;#2Yyzlx5A>*mS41@A3t$-k5>2bt(z4##DuUZ9_Lk$*+EGl~~x8n}z|5HljY$EJ-- zmPk^)=TFs~+ya6hp?es2N_vL+NKr!M=X0iYC$1ECy!6!CbQz<^LZ8MPAkT1B`w9;R~F&_ E1GA#6g#Z8m literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4a706d6d2c3e65d43ec6ca2bae5e3533f6f734 GIT binary patch literal 17083 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 Ve-CdEQyn+8nH@5=|L+~@{{y^3(((WR literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..5ecfeae74ac591f2964e53415629f5a4f8190f56 GIT binary patch literal 4300 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 BtEvD1 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..30b8686e55738bb6faa6c8e7ffbd7a71a2a928aa GIT binary patch literal 3711 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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png new file mode 100644 index 0000000000000000000000000000000000000000..116cb78ab39130e4abfd10a0e7107b87b302be0a GIT binary patch literal 8006 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 Ps05IgO)ixqobLV`jKtZ^ literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6733e6ed12c2df23847a573b07ba105cf15075d6 GIT binary patch literal 4213 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 lZHnPD_WcC@S6gRvEinh)_^85Y%pYO)R_=Pra zmzScbw)Ci&CA(v{w>Fdim+HmCWIKUV(|8ii;*w-SYDhtO2-2EVfLSOh<%Rb!PEl@J z%}wL!%$Oh}jgcG-V`~OsQ&fDwHYB+SG04M$swe25FE?qRDhYZjk_lvtB%D)6mrOXh zG@g@}iZZXz1Lr~97Knfbu>@>wUbh50LDzHzVmsF?4QdcvOwhYQO=l)R5}6Q0n2=u% za2$w687>@&M!B;f7~q0zfUKyW3k#8`5R8Gnk0#zsWmd?FBYVEcDM8O+YzQn{DwUX0 zh(Tt7<#?WVG=f1tLHMn*jwRc#TfKD!5n8gT8dya-a1^CHTEq#OM7o=TX6(!A)?S%N z!B|@|SdIxeDb<0Q%>SX9wvV=O79Pa=Phl%pHXxgY7FslA(zw}P$CV)@O(A!JYo7CwR%>s?1X(qYD4H=>>TuNx_^1Wwkuzp@qRpXWTD)gu(#bC z9n98)YhORy+!-D1X^pq!o4_mAx2k;7cjjDWwR0ur@*JmTZuiVTytn+@dAjM;xcGGV G($zn1;Y{TK literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png new file mode 100644 index 0000000000000000000000000000000000000000..a50f622c7a52e70882c59a4e93084c4d538d9eaa GIT binary patch literal 1012 zcmaJ=OKa3n7)@=dr8rs;q3Y(6s#NIYG3}%?p|MQ!XhWN!Ob0venn`Xuahlwi+&XDD z^-+)_MK^*AaZ`mV;?j*!1xvw2cdlIM9}q-bi5qXGGgB9iA<2Dk&iTIkedlh@<|h-q z=XxoMO6XHcfsCif*W1%g{?+qczsPVFt0g>#7IDoCAeFOG83NrkmtX;!_Ues~aEzil zX{T7iC1Xakkjt1chKXFCuqkS6Jn~Je3Na|dCC8KK?{DAHz_BHIK5cM@FT;v6wHCm+ zwS3W9t6Eu`9=`&{B9REV5St)!m%UJoB)YCEl6kz%(x48(Rf#@Ks$|Rp83hoenc<|x z@jMU&h95}_0zU*&9G_x2@(M|QL`(}}Y7{gcnnVliMX{i0jaXzQ(G`q+k!5SO8dDo) zP_V@E*=#n}NTrelkqlQoY(_~h9B3*iFth^4#}4v9tZ0_e3YKV+>ERJvza{I1jWUsf zv61PsJj2CDY61=8|4`R$p+j7NNBRC!I4rLEkS)LvtppZn+~PnS$`|DTnivH|gqE9C zoUI^?!V2<%JSTv`dB?L+ExcUE8-}QRAvQe=>WV}Y1;%k~kxL1goRU`g%&^Au>ga@! zk=0yA)-)xeTkdlUv-kjp^+R9b4Sc1LNm$I=$XmzWVr* z3U+6nY5lv2z3bp0)IarnxPR@|UiaX=&5fO|7hg~GEl|eu$pRxGYsCY>JwgvUE`@K@9S6LD53=_Oll>P~;Fj?@PLqdK4CwnPmgc zEvGWla!KN3dTJ6(SUeF>Ar^t9mNk>NLUdi1C$@df(4Y>%r4YRrR5m#aqR4>2=khuw zH_HOQ-^Gsm{C@T%@VHqI<0i}RWXE}*pZ5enQysP9eI8vCcD0wOVym zy)I-dFf7M$wuZ;!BnYRuq+!u=YUXHDL4c-YC^}Y<25dz!k19AslSubcQ1zCqW;V)1 z3dUHX&af`Gol+B+O#UCLsx7pM)9_Ec{}eVeOFCrI&_oqOB8@AI+OBjyYCsVqBZE-6 zS;g5R!pJNl9Yp8+U~FE|WK=be*YU|DpU_M!Y7$HcA(|+-6h-Fa?w}_c3B=i;H^#ED zK#=1iTqGg{IDr#{xX|PZNUEq%!%eQ-;s)Jqx%MciI`J$(Ls^7!+(0U*r_3wuV-ecw zHMnxySOT%OT!sY0*p2+?x)PCvh_&L^9T=d@h&U z>Dqc4UVj&+HaoU+Y)5pfTI}U>ywXybOkanzqmF|sOmj_?JWI^g^e57a7v6aFX zcdeZ`I8^99SPPf0y_GBAYc3D^eqOj6p81jii&s|nr2>VK@3~jvns;FP&BL8j1EtO% z(Q-%a$cN{S8+WdLT+gkZs5v&ig?|m-eoS@tQQPaZHQ9A?z<#rdSW0+wI(O+ejm1+y literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png new file mode 100644 index 0000000000000000000000000000000000000000..de013c9360dbc0f6c903424e558a60ab90b10548 GIT binary patch literal 1014 zcmaJ=OKTHR7@b@k!-c$DB;#rF4Gj*Ef8+egpJX_Tvt>Mss<^4TkV+d!gP>rkHCTkIv2^P_oS>+F z+ANiES-BzU$YRt0!}yj%*c3G}={u_4fEZ}7X4*;m+v_(pFpVTVCn%iaWMJLQFS~Gd zdAg)8H}r%-PhJHRzC;8ph*jWQ3$`cuNxG#gk$JGq(x3&wjU;`XR9Tq;8RSABFp-eX z@jMVkhK~xO$d7|C$A?*tykdxtN`febW1#)eB${hfrJ|f`$0DmFUB}pwShm@0GR+8s z+#1U#5{W<~91amg$Xl|p>W6G^w4)$HPj^iRo5%)%qN<@qoTN#n$49W7uB`2~%R~ys z`l`e73>O@!15}j%LoKU|_HYsY$@ibaUTMjJY!P~B(bY-gs-rX;rf}Es@0%MwnloNAYIugzC@ko~Ev$41k z%gIyWY&@Qh32`CX;mSx~w4jYUT%*esxSrg=3YJ46%g{A%LnG%R3$%_bnZ0w7d+N2h zM$cTL*`8dMB*O-c{j1TPE#jVF+O;iNbd3*f;&zwVdQW>XLaxNkf}Ae-Uo@jq8Kks% zP&L4XqyEFq@f1CBS0Blrs(jdA{UM(Db-8bTK+8TDdzL!d%x_+NnaDiKf4sMQ^i@th zzO=LY?(Gi0eX#X#?a8bA`%e#sKkaUB)QznZhwG{Fjq81>)jsOZUVP>AiuFCXiG}R6 J{Cuji_8a}pLqGrk literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png new file mode 100644 index 0000000000000000000000000000000000000000..d04edae15ea330b6f612c9084cefd67b412ac9de GIT binary patch literal 1274 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!2~4#n7tAPaY|exN`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFlS_jM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWv2L<~p`n7AnVzAE zshOFfj)IYap^?4;5Si&3npl~dSs9rtK!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJh zUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr> zm4GgVcpk{1iHq`zbF$JDTz5Q`N^fZsd*)yF1AWQ8NHOu6e|Nm3t%Xk zn;4iI8JJlZ0(ln3jt0i&hNgyQ&ZfrBFf*{}b+#~fHE=aDaWr>!H8gZJaxybBc64&I zFn6;wG;=eyfa&$jD=taQOHPH^n+dcRs@E8=UMuIK)WnkfqLBRj99Rkn$jC3rFV4s> zP;d@5Q_%2DOwP;$321^M2;yIt)S}F?)D*X({9FZa2wP=haeDH! zEKM8@%uL*rpn6lt2{nD7WAs7E11Y({gn(%f#Dph)AP1g(QuBa$rU;lh;xsyLGB7Y| zc)B=-RNQ(qePdU%gFxF|1+HsJ`Ngkn8x$(GZoLutiz_PYCHD<3vq#+(6BAat_U&n! z&V0LLgSmi5;ak2Gj_=~yV!uDXwSTwk@Ve{sKVN@Zc3VX%DD>&wjVTGgKG=3nvg=>Y zJa>*9lZvF=oZ_q$_Rb|8%T&8ed79U~o|bx1E9tUHp-lhdj{c*pOEPbn_$Eqh%RN1@ zrJ=Mua+<2=Bop83rLKpa1aE|fin?C3Ie%XNk^Js`@0%4~?DD%H{J-JG_t-nalBY}W zZqli}UvG3RSudGq->*d)JckA1murY!IKZJ%IgeRv&!QB4?sM(J2TjiIT4&4uxlCo2 zn97vYnYp)j{B{$0EhqHr{J;N6pP3>;x;c0Swr&w|O}u|WeV+bpx8?pJvd`a!H!w1U Xn{v+iRbP0l+XkK^$E6+ literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png new file mode 100644 index 0000000000000000000000000000000000000000..fee4bf40256fbecea8c0339705e7f0cbdca0f8a0 GIT binary patch literal 1277 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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png new file mode 100644 index 0000000000000000000000000000000000000000..2aee59a719ffde47e374c1e7afd8f8396cac0872 GIT binary patch literal 1876 zcmbVNX;2eq7)DX6ShR?u&=I!_f?P>9*_?n75~5Lp7#X>=x=9uYB-yxGAY8>swGhOD zkr8R3!2jASKW1qUsL0*nGcpv5T+GHNwCgTNRFzvUHxwe^?|LvKZ>;Y5nk3+VK;v@}{8i$;(MbcE06TRE6aKOo^}NY_!A(NAY^8)p#X1|_N1Q))s7 zSs5_}kwOK+z|wavX!SDLdt#koEKne1bR(vxBQyqGtF`*|R@y+x@qf+uptK<}U60e{ zxPeF^l^`GSZsTAOyN@ff3Ib~cD@Zj+3Z@Yg$`mcGqom?M7~IfQYL$S2@IVx~D1*yn zaCivV@mN9zi;J)kj)=_?jdOem%VddAmIUDmxhNY!LYaJ2A{2_5d<2o8ERIAtj+N>R z6sA++<9gLV?--W*QLI2j;uuAckp!U`uYia|f+7rwgdP&D;y{aJm{P5?9(Y+3^v+)~ zPO4LJm4qa;(Ax+L)E}^b9V+Itm<%Dx9`l^Z6bez4$CaQ$RE)6UF|6wUM2!xNp9q1VnG{=D?$0*QqCaG8$X>9F_j#;k2=G`qxtp0_rm?Shd z$xzvL)+&eDei7Vu%F));6q?c$5>#C0@Uba7eMcB1%L-k&_Y;A3$qM{g`U0r3RrIFrqG?n+)#Kz{&NtMfQ4GmEw z$<&X(WxBM4IbcZA7l zZgNr*>SEt__AI}M=H=z(<5MCpE!eiBt!zrTIeN{SuyCR662xv#-k+NjyD$HANe2ebN&i_ zC^YQgRL;>a1dYSP{L7W+&h-zJ-$|P5bZft05EG;X0b5~YfRb?vg34#|ce1s4T*ZK29W3tX~D}5#@Rm`~fFp$Ifro3qR zi=zC|IiC?a`{Dhz(`(mF?`ayDIbn*8UHD?B12y^_ P>wiuf8ZJH&vflI$#`fm^ literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png new file mode 100644 index 0000000000000000000000000000000000000000..dfdd35ffa5457983564f09189602a52cd6e39d76 GIT binary patch literal 1807 zcmbVNX;2eq7*6dd41(iW2B9h}tJt8DWRq+z2@;Y}5Cb$I&{5DOSs=(}W3rHNh)M^M zsYNY=q6kGO)(fzl3KXc7a)?!=5`Xulp}1}_Xb{C7lmNofNR?U$j@LGTfJ!L@ zgJBs%rV*o2Dz5}B8j#={s7TnO;48r`Zh)&nKoVdmfdB?9My(SVgy0;nfZUtJbP$+R zA@&Htw@!t~`~fkpMFE(`a#1iK2;gvN5F6%jpiKai0Ws+e^5(ceYyr#>FuB0|1(MdZ z$_Rm6;yG`NJPE-lg3t))biH0r)3a!}Hj)nU`Fs-xlj%Zgxai{51Y&Se>((wXNKl#Y3_6CH;+oUe5pwijH{PqQ z3yjyGbUCWSW3>vh9uaF7z+~<|Y{;ZYdL!`Ds>q@sF%n!6i=k@5TOtI>FEph}DPTZ6 zGK*X`gUe)aco2Ewu|y0O7lI*<7-oqVINpclGPz8SCx;>8vSA34GCe#bOcBfyK@7Gh z%;iZJu-pGf{5%v)An8SlZSWXgR04y(UQZlXy`&IIdej9i73#}GZG^60ufu^ zPqJE)TY#ly;;Uo!7AfW@n#wBMQ|eMfFJ6+^Zz}MqR!g^}fh#tgO zTvKs4g(`QHONN^B{)#i}NDs|Ddml-p)wAl8Cfoa2zkT~*xtYdhMJD4$cXxMVqdV0)VMuSg zdNn)e)^cj=lI~~ew<2=RoLLu(Abl+@hi^W4K9f{iTU%IIxI8DRvZ8_w!%gS>@?T*k zJU-u*B=?J@&4p3`>=G%f?w7=-N<;s=q z(>6fjY1n}k+cvN(;E&x5!%tzumMg3wYs)3x>xx80aty~a*R@$CKHSfo<{p^x1Yb-| z`9DpeJ<2`7K5*Xnbb4E0B=*MYU~o`SenHTsrr&Y|M{BNL<&`_A7QfjU7N%vHbxsV~ z9rt=XF|j;+?at`v=z@-@$jHHtjxW|v*VotQ=B`<$O|!|qBa_K4IG0yeN_}3Bj2tPS zdCm2wS}#j0tg7NnUl0G$c7Gr5#Y=~Sf5vQxJyz8_dW9D`xq0I~C~mi7jNaJQMMlf( zZ63(4=^RQ*9H0EI;bnaP>zeqP=wn-*3I>fY!;+5&UD|$hktIbvM!$S=WH7|^i}IHG KN=iI-r~Cth2ip<= literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f82895b1d3d7d8a7aac6373180b752fd0b67d6 GIT binary patch literal 1059 zcmbVLJ8aWX6m?apf|hgvfeH){w@4rnJ9ca*HZ_$KJ8dKqLK3MN>)0=iY3*n1SK>yn zAR%C3f{D+ThFZ8|29VNh)P$hun#-^XO?&U&*#X>G)#x_jk`UFi;vvZMeS}PEPCR}zrmHztt1q~cqr5D9gs^sTk+ga!au+}Zt zt?r5?+w|NyFdHd^z=hZZk-O@JN~F>~UWLr#ZI%W-6TG6*eWx0w3do}X0+C54trW)r zNn$ublqBv9;8PsWrpPNLIYAL6h0lP&Lld>YZYfp0Fwi0^m2P9~D=gdTbeK+>LBTT1 z$+8@C@O+Y3B*S$Nn^DpWr-uwW46VTNv4cDiGn!4bhEPPB zpXHbo>$-7VJ?jux;U714wGQj+K4hyfL~DUX?xQt51e4tDEfgCPZpl_n>Q?bwPS7qT*+GXz8C4T0k{T^EduZir%D64TktkYhJ&UKUeXE?1Cw!QePU z&@>@!WVNgy^L$Q|jUl$^h1m2gIMj8B?f^?v_rNOo0Gb#Db%a)j6;Np-jKVhZLB1w| zQ;UvgqfU4_zMg)xIt-jE&@KeX1-<+#&Mx}@j=PVw|0icGafXeH4&X^m><{T6AfT2a^P(Z}Ym?d`cyb>!ga!;y(wOApG=x>q+g7AoOq>Zku< z^WwyO^3|j7`|b9nL*w5zO<{6AIdk?NUp;Y>zccpb$&JT{CleD>H?O@t23}G}ULVNJ S{J8%vZrh?!)}Q8pZ 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

  • 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

    hml-foF;R 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

    8~Y^A7PQ* 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 TcKs>fq*Ax_O>TbDyC3-2av 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%0A3-Ut^0s+S{Vy@zjkyH3#neP zh_OPY~92k@Bn>U>08Fu7BRaBWOWnW<(u} zLoB98_bKE=0bI*oZ@AxBRnUGT7vcVWkfY()f7Vy*wRLfIFK;?rUjKWn9eJE6IE~#I z_e)Jh6`m)-oiaI>RSSPX7O3&3@#XsA2CP~h`s>#~<#|yTYDo%4Et-}RtID03;Oi2_ zh{Z~ch357@JT<-^E;X4Gw7ukLdJI09a5Gr@uU@Bi`|hswkE2dI zSE~YV7Kx62p%Q~<{oz#+6OCYcZZz~d?aM0drF<+|=8qT8wn&2Z)FzW{bC=?bSUO6P zt^=^@7C&b ziQXZ&g2<9&&>39)QrE@}Q?mW@uY zi0w}lf3U=}8%|5)l)9CN3*UMw_FGGYu_|KB(_Gl%^-PC8%N@n6ri7Y26*SiUA$r>7@e*ArexN6)!}t2vZ7Lrl3w>d2Xu;+Z03Lmo!;@ zO&tS_ZrNnczqyD0s!5!vqF6%TOYr;9)qV|RhK@VYL`Xc0VB?MAVyU14rTGB?4uvP} z)ZM{fy(p;0W$ymMVE2v=Uc583N0M^K9mm2|M4!S`3|53a4%Yah;#G-ffQbLk)Xn+} z>0)jdztbQ7PXA7WU9XAbm%Y6v!*AzTla+YVyaz2-v2XP}B_p2pen>9M@}Kr-q0zrK zO&BW2?YiRF>Kq_7MI{P?K5{L66HoW*alK8zrp=#;DC^j%bo~zlVGXk=2=Y=t5sg&F zFG4R8geTrHMGD5HxM-gUoEh*VeUA3a)med@4>5lq0E9Jn#>N!+@t*nO5}4W|In|FZ z(I(A*>M~BfezbI97M5MSIoz}03wOe};qLK|12MQ)R%T{d| zBOots=$U-4Th^Ssc#||o3UCWhI7ZD<5W+v!o3uVUy3*wn2oYC`L-V$S= zL79l`UHvz;fejbULNd#XMwK$Q|7&8S@h3Qx!LlaITW)!l9bW-gri+c=W|^YY?uMjA-YFi{o@1qpz|=TF!UX?h4p(0D3GgcL&>i&uLSu z)2($o6H>ILmlyw#Z};TtXWh9@1z$P&EcMTh1280TS9I9_|#LF=GI?wu7V^_CH&v8rJe~hQ#BM(dD zFp;)Ql1NW0WKs_$-$Q$1S5K^-e+f?57FEpM0a$p|R!mAgiF?$b7Mi?yWOD>&$kD6|Pmkz9fz{Og_`%H8a+|A#n&{^$R!;4p842k(eBrc{AdJQ-BcJ_`MR@^@}j zgP8;nqarpp@9mjvn*=Agk^F7zxk}9EJSvGX*;f*@w=O(WIO|82vr(w_MIefu@H8e= zS`w>d1QwmuO5i3rA&lJQ(=wx7Cm{^vf*($QgJ!|zS5*A%=rwB4CLj8Q9d)o-FLj5L z-^@7WpTC6}{N-2oIbWhdw(ZW+t$)a+6ry5l{x}i0IO!T^=E5+-$>Sp3MGwSLiE;R4 zUP(JT0L^q^M#0f@7I3Nr62HixHI54fX@=6OYsK%>lE#2JFv(2Ox=7f>bws7#@gOR> z<$`WJVjVp*D5|&r0yZmgqiy(q>N5I5T5CNP^Z1TCG3s0j=`ae7tqQ-ULSzo(nT6y4 z6QPIwn_9|ChVld)`N_2#%Q3u_qd3*nOb=1YyZMmR44x4+s+F85ZXkT@cl(od%mn09(Z`$28#v~$!GVzt6J%0ppqPcP6uhSO0jQYv zNY4EJQCK}>F5#vShh1i|$yx_=JV+$tX3L|YSX2;Wg6Qw<+sK=&tgn+!9Q`~^TmpD! zCMdju#c4GZDaYHZmc)3HRSa|1j z&GveM16CyWs0Yd(f?H~fO4sKdV{6f)XDynJw2@U#7FJ)JJ^Ft54_zF- zFCi@cL1J%}xhMg)PD>$KQu96J@rO`)xpidSY5RS|t_01OaX0XHI;k9}wRV;rVY6tK zoe#z$tIt4bQ0Tj?^~{=9(9B7DQr1D1&{-|H!k8ITY?Q|5i8{T-`$&Cy7;#+X&iwD! zhB=~cJaS5_d+hb~v9-0eCr3x2#;bVlM*nP`r6pm9CvvR0_d~4?)51l1Iezj`vI{CW z^||V!F4i8fiWA1UHT>?rlO$nLPfC>%pr;Y#YM+k4A_j|K3f83=H%P#Rw{wXrillT=O-jTRRSj~W#Ty(7m}9U5Bd*9l}`iE#$pRYMXk?YL=ow|)eov+w3P zpFdkILaW1zeo$WH4Y&EM=>fgVf!BfF`Fzd z4gSN^>Y1WoX@4h~ETr5BF~!xmy%60FRzE&;ZO?z-dJgiqdV4+>`x<+KJOnzQy*@AZ zxokUp;{Mi*c;kI$s48Kl`(f30hO??WDS4u;=9Obq;08vMdYGAkGck;uTaypCg(9zo&Dfo-f8SCHIcK)z$oD3&*DWZfUeLJ^Psm-U?D_G4I05fVIKR6{| z{5Lu4nFBl_0=s9^Cx6BY8AC~Ew&v2p$LcxT?k_SIEaTW2Th>N>`se}v2=_S#R61Fp9KDJ$8nx?|RCPJjT6 zf&5v;A#$;qW-^lUN^uSuVwkn_q*5Aco{PvoG(r;B{sF?E&!wT>^d{^$)zSKs z7r`ol7jtImBRwLGCmc{;kl^DZng(krEZ7~vg}un*F-OXTereuP?NWoJawMCx|1+}R zSw$P{uN+A_j4FWDK$iR)q@@AkczwB^NqT#kd4G|p$-=Zr+ipBurT0-6rR{Q+4VlUL z^{8%hnm%hV=i#)-LyRsyTp=0F$(S7S$m~lW+FzO#b6*ixvQ&l_bJABN2T=!nJkjR4 zLPRN^h?ZxDAwqCnBX7RPm#m9)L#B=Mn@dh<=MmX#VqamPu#ovMu#XJHylL^ahH5bK zNx@&vpVQ7l|HIZ&O!?94t=Ow)Ivff0=lANtS@a5R@fx0cs{nMVika6iL{0ly>|%g` z(Bx!5b?I>j^K`v&`cjte?&*}3T}NdpxL2v=o81WLktIPH6)|!G1a`%T)Kd9tfV{`P zDI=l(i)f@@=Y6isTJ?9d?8d5T(S9H<#v5dVWFOgwFowv zmpa)F?;zwhSj-I>BQkjob2VMwul9078(pSWI#piH2>t;Wzmxp%#w&|WWR_?^Oe1mN z+)W5TmcUX;+^X-hi8rz79+pOhlX}(%;tli zX3uTi(=Yr}f-dNta9F9y+3(~E8zcwF1pIkR@a&U`ezmD|>!=O=g8m-}z*t|Sq45qM|<+-^zP<2kR z`G<7a3dFB5qP9OYo_6j^$xBo%2D2%HiGsD6CUX~l6)GwW zj151)Ul-`EZVFi$2)Jpu>AnqM@F7%)L9mV&2WK&srdNMIzO9zNlvTj352v&sr)V(0 z=@GK~ZX@q^i3bffyc-oyc<-vdb?S-MT=D)S#1ZsPR0Od)IE$|X`Op~azz6C_ zMn?eaUq6m>&423K)GiqHbak?3xvx6%<0(zg^8mw!xNgSpofk?@K*(r+FtxA=2N`F& zc44lBuQP}kxwSY{%FY9>Mf5O<*--60|W~ z`anYfX?`?gty!R-c;S7v|(# z+%f6`pTSINpJwu1)N6Q?oHu&pJ-zGaPp2zha_>y0ZCzsKqScc9LX%B!<)i?HUBoUhl{ZhU>ifCd!WJc;U^o+9vD477VsXSn;t9eFjV@-j$q)0~RE4~g!s z48Sy1vOH<56bB($%}ln|su$^9;KtR;k@TukbNvS(HS*KRHgluW7Is(nz*!;)3{N)t zrb&@){fk{EyNA`ozH0Mz!)x#TWu{k@uGl5l>Z!zKj1Zo`3Kx?9>sZA$EEq9V1Fmk! z)hBQ6+g)*mFlfybl>WG-irH-vg??QEMJTrKTL(<#9DuYQP1P|8Pfe*vyAu7s@SeSY zL|E~S_B?5R*08p`)Bm#IQ;8wL7z`Gk1Z6MqW?{{7iXf#$K9|@)-%vDF^l4*IH7qj5 zdqe<+0l8eymFUf!LA{H918b^qQ;Dkl${FXS8yg5WX@@51^)fRxE2Zd{9BD%azx!!W z;KPdeWwmU+>ifY*S+xhJ<|%vF%LHfyYtL(G$uxpe(FCM6L)jp~*>w+`_=4ITz# zttEL{{lwXz8FAx<_p38Qkdd1P(nlNZUN{N46rlMS^+lhZk^*ZxSQlI-&u+exQy;#9 zhw0gtK4((<`JYe5Nnf(A*jlp?sOO-K=gT?w-jIDddpl}HN7%U@hrUYJ3zZlO_El`c z+{h%>n~W)Iqb}V7tR{jr(e+R9Z7Clq>!&Qzy>p6=dA&{D)|JLm#_6UyS8Y7w6G=p= zeHPvML#=}Re2!~)%B0TD4Ev6$zXCDl|CW;`P1t<_={oIwK_I^w)X5b>pmvdPA%q#pUBbpj(EZf@ZlrS)o=a zoS6zGtYGM>vROTOtPq`1)3WpfOw#z6Y=npdKF-Bv!||*$^xYpP&sH}V4}qImSAjkf zSSf_2);-wPp*bzQ>uhCPBE4N*lb@aIuh&1LwhY2_8%Gaa3;(^6w&+L=M)jrF*H6b7 z+%Sb3g{6)>COe=C=HfGrlq&*!Q(Eq1q4D-f%qA@$$ouG*f}VjvW_EMQU62Q%u#$jg z+`@qu4*`$-zyon@+&XO8=Id+NrDK0l8^*_Eh-q@$q$n5ug4$s+3t{LWGB+C95d~AvRr^@hrr6=i1P?ONZUKORaM%w{OW^ zr&bPgX1NIMyh>oCa_)jh>I!b;$cg$mrf8sN(xqsS^TZ?*L&Oqsg-O4Rq7`d$8+J>^ z9HA(L_WqDrf?ZD^CK~EIxsv^+Lu~z#gQ^9_#n#+5x$ zb$s0xw^A@H`N5`{%x2tslGsGXaD&{sA&=Xr!VF|w#Z3h$3en?@s(NjauWr7Zz2I@| z47u2zli43(=y0F^?#mP@J1vqW14rR5iPBM|t^)EwW7oO*dml3h@KW$nAwfeV$XDl9vSK_R-pm%v;TeDbV6H=ADRHZEODr_P$s*^!tO$QG(h1<3ZR~#7=s%m@ zootc3AOePmo38p+Rj}bo5S37iRY@PvrquoI6X0hR0v^e^O~N&l7{qQ+3U7p8JMCbo z7=dq4!?~5hy~u+-Uj(l#AbWfD>qj?s=FRhrUpak%I~lL_P;U3E2GQ= zGwMiK{zcz}%|r%UAjHoU0IXwk7Y80Fi32bveUU$mVT8opgwj4g{spG9PYpymTwWa+ zp0=_!^W=UX+bL5}KFYbjzyT(zk%5CH4p#o05_xp4ePs;Eli#hkyQ8tV*q33%-p9bf zAJaRaQoq0cEuj&QO`ZL0;w%wVY5o#u=B2~JuZ zr}hzmMrJC|+8sXmp1=nHn64oRTpybK&sg+v!v)<zU@ur^ZM1Md7 zh=JycW<#MxdR2GB(|nn9|8E}4O_7PshC$(g!h??smrt})s9||eGj%Jq)Dri8vlJxY zbGcFlujCNd!P42o{>{TiDC7o&@&oL#TJpbVmz>M+qVRpdk8_rBY za>*T&qlCOmo&6qAqioA0Ge({XkfQN?#mpZofFMrqy4;f`8~3+%&y||}srZbs%5Gsb zTrp`mdeM5IaaIVQYYp4-_OCO*0%lb0eI=9@ir|sJMDqNYqi#C5NaYZ;2|F5?_njMP zaM&#!jIwoX>`H-7p>)RGY^jXs4EOT3m+X$X1J?_8`oJ%+?&u8cxp8e*V&qVP1h+Wl zc?Jx;CV|+ZY!R243-n@>?c6HMC(xFdp)GfFs-*8j7|?&0C2Rx|&rV|9-K7gI(nU^B z`(VUrQRSO2M_a^*9?Zh=DOGFqOnVtkX<1aFIC3dL(Yuc%LR29eZh(f+;G^qFt4J6s zpdMZgn|M;b{S7?(ovi~pt4?U0c!7z?h z2(KpM9-*wQ?b}UB2M?hU3J6hNByzylv~5t`A3g)|lbz`n9OSY6Xlf;HEemK)hQR%p ztY-#@h6fzSxBBNK;D`j8P|K2ZoAC*7c;0QYcH=9RPPY%@6g?jKelzYBt+IIZV4Xlc zgq?>OJ?L`#Htx@LMo2s;2m=bUr_%FCXR$C!erqsj>}|uM7_OKy-;0-?E&w!CTw&kU z6*3q{l<2Y$361=BnC~7x-svw}Bw3C8>R$Hm;A{sNG2zB0*ctV#f96iWX5aO*;DE%E67_b3Oc5cLAG}LKwkJFz4+7SRxh?0zzQ`dB z7CUCPNo{#7hv5rnmG8rzgjw!{#qhwvIUB$QiA$YaS z<8Ip8oE&Ke)+43><@=ui6AfQ?dgTWPA#w-fTKoDYn(`S-YpFPOV)Adqzt%PCs{+wx1@r zdN3%x^Q2ygg_sId^MxyUxR;eVGW8UGbr^^LAcV)U*dl0dw+&+ zMA|A!WMeLfHiG^4yO{?dnz)c4RYMX2ADSB%aSxqE$V_TJb$aGLSIWLw!B&z@CPld| z4*26JC?^bwIhsNjR^v^}Y*Y=>C-bVHp@tm{2A%adMP1(=MJY_t;qa~P^*#NX-E~=!_ZJOTT`FA3 zV?Fh=3~Vz5@ahJ_beQVv-SiK}^FOHWBtn)g_h6g1 z5_r;C_O?BEN>Vgaf=BV?}a?sIKJP&d!6?VgqStW@O8mj{Cq1^40W)LzG+MaTD8Vfcv( zWNE_8#Hx{;W()*$0aTCv3W5O3>0RR*&=&Io74J+P0ZTt}PzDSDRZxm8M0yh}78T?| zLzMdaKA4t_MvyHboEv88UrFms7*iHH3~32FOE3~pqnFq7LgQ+z+Qcph`9$Q})vVLk zBOqX6i4%g@%%)GtRGf&1^V)@+cb7rX6cfPd?cE=gQdxl`@rX@Xu0H1UpL@ zQUy%H*uyV`%YQS0y5>=e^n|w_SNE2f-BId$`?4|VK!z2|hFXY9JaJ>B;K@jh(Gn?* z<%{3C+P1CqZwpKsxnsrioMymA#|FIx^cpr6;)pYSsINc&{dhd{JM+xJyTB?V_}hC{ zH@{h?qfkA}{ff=#;q?9D0|I&`oW1z)ta$jqTu}DsjxZ$tzZ`T#NM8&n6o+A2l37I- z{OZ3NYp)B8aNqsxF)J$YX)aWf3M=&YT!`rsC}QO9ZCQF+ggIVla-ZwTvfLc^lF7t= z7&mIDmrKef@~S(0l1=bGJA7JG68zE211C5y8(Hk#Qg2d=L{2qcfTum`H_yeL^Eh}IS8pd`d%OODmPN}vdx}2va|i;56_4l zKT!+dvy!lTV0(v`qv)uFxPWW?!;H%Hpq^m4z6eLZDTho@5>NihN#oqbul}ptv-&AG zihox(uUs_*UOdwv4GS2T533iO^Dcd8p|cx=jNiR ze@w)m4j#P=E$1*|tp`G~U5x6Ns9D^*%<4j{49k%_!Bpf~IzU$mz73FU+@%WBc~-eQ z(mcmsh^r)jDX+2thM@{dozk|<5fY2W5;{;&SVfPOsT^xAnU_N67tOa?qD#w$+?jj@ zP(i4NW7J6;krHQ--@(oiMa}Q-f!0f(Rwp6ykZ)VI%Pj`odM=ojm7gPN3--0?Pq@Nc zk+X}?UNtjn`HnBzL1~}>QYFtHznF8Lg#8m^9S0qCQpC{}W)w4c6>xxZf+>_IniIzi zO`EwULfVIvLG?HL&K%F6VEZgO`8zD?bwTcD`HuXhB-$ZS^J$78CF$5Pmb^gKYy+lX zT!XV`1z_n%Vp_PK9e+;C>c5VyxAF9$*tbD7wn4zP#NitOGUWqH`L&f5fgoM~t8MQ4 zvnxJF15u4X+JucC6esB%S)^E6>z5RR8(WAx>uininapI#!89?t_P<$E)s0OkW=z{-CL(CnoH19wbWlNOEx9N#A>G$CBBulYnOR`>Pk!%WjW zzq3i<`(N^xw?lsyKjDISjOyx~Ik#mImELE6OBT@6KpmtpklikjKyAJ)FtfuxH`(Zi z;kSOYS6Q2%Ww#y_s*|pTHoHdeq9`<_$@<8#(B-FfRyrmLXe>);yn?zc8?l>_abkQx zQ_SdTR(v-E3!mxFF@gg|;T!4RD+rd<7L!L0&VRA6PI{_Waol$N%njv0)BrqS6oGi*L{-)OLT*(<9YbUt$DU zfOMS8o0OLaB_}`VJ?R3Yt@5UZVgEr?$o7cxTq9PSn$~d9e&@zog~4PC?|b!0hs7SJ z*yNZEWL_~TN^k0voO5gF4)Zvs8-5}uFgZ7c`Gp0AUf7dlTskiIgnJ4Bp|0(x%^dW#s+@|5{dnNczTpYg|dM&hT-AFaNX}>8)CiRN)y^$BfTH% zAKFR_Vyo8^+TE;_1^D^ijV8o44!po!O$Rc&} zDZ4PTQHkl6=1gcF1bfR6nulNwcm;=W!kQnYBT*peZ+i^Jt}}o;bw{Lcq8eG$NpUs_ zj)a37&Cr4!!2{r7j==Tc>;*2n%nA=hZ-}N{YI#{xT}>N2b7rA+d*{Pt(d*V6X5htZ za|fg9^(47ECkIa6IotJ(<5weL!{fS-@o_Ik#khtTbIThFW=P0oylZ)i`8lY?$#&y^ ze9}IetslB5=Y>n+&+z(`EPq~g^y|>Z?HFZkbW6n=)L<5_chGBMXlb$0!Eh4Qs&7>G zXt%@lcOeINcF8xwCucZ?us<6p3+pZ73b73j<&H5r#c=(Y)Qa#s|3Tq&7gB4=y+Lqc zum?Vgpa0);iI;&l!FVz1855DejjFU*NqdE=L|FB2qd*u6_Jo1CDEP+IJYm zF#t3TKf$N$z(aPCEi3fKUC}ccBN`D3`0Z9Xw_up_9NzI-{mMo3WmbRZ*a-R1!2K+1 zb)e+W|1v{x?-%n!=NXcH_-oSw!DO-Cs@yGG+rd`^k9Sl*TI=;C&lV^)$WlIym0GqopNS5FTmMOaK)`szQLfqGAUPFF%v z<{w_DPoV%plq%_FYvkuroN*i_z0zN@+`yF$GJ;95&?LlOz2iGo(NUY`pg^3lRD)NH z0~aJZjfR3kKgf+jn&nLSM8|OQRlcYt3 zjMSTs`itj)CO!=J#WAn}(-cma8R7&E_3;ywhijb2Gxs#~yUyZlu&zwY&fM|$oUGC^ zpg)om&}4>Y0UmhZCDloG3t9L45~4_XPNew_822P~zM59aI`h8U`$VAnc2)I0lO{Yv zR?#Cg)%0T8s25)oJt|vf*J@nn&pF;5Qih~=K^&tmhtr?`*gA_!)z;^0b)=ISBCrC0OL^2U%J-+Y*8Yzc%Vlf&F%W5yRKv;m(cX7ll625p^SDnFD-sybM zlS~xBzDp*^^X2F9bC-YBT1Ie+jy^{pEW?LBcm~w{j7Q{GL(|CLq&O5TQG^I#=#s43 zt0=|xIfn`m_isAPy^Ol@1`Ea#1R=NR;7TPj=FFQT`_a{P=n^;Myad7JkFv{E4df7i zyg&Q!KIWf&jK^~;h`NL|DE>`JQ}fNL1zWS^1b~{Lwtxw?;_psGK=Vb!%6(1I;RXz>A600=EsC$0+ z_vfxC1*c9}aiKJ4+0~|FcP7f&D;J*3TJ_+?Zp7+bl$rAU)na^&q3_z<4P19Wh7jdM&M2Dr^0#baA!*&Kt!?Dq^FTrkfdsO@~lr8X|A|v>}Rpxf}`i)$5_z{N*M3!acrXVx+*Ikgb z&n_`IM=nUK-Iy5?TQFvbR2rehF-kyfV8;#NAmCy1*M75%$0iut3;pIwh5HHMW=t#T zQeyv0$W04JzC2kO?I2&ETfQCz#kRir@Y{HWsc%$IZtEpWlI0g|q=^Vg(sSesE0tK= zwIEE2i62O-R#4uc9?-x&IHBUr$U)s|>#Mrj;wioXgs<8UIBd(=`JjatZYQ-> zt=zHP&7slRhgPETSQ^X)&t}^G;cKyz0>>wK06wb#u)d3h->zi?@{wBq+x{e!^$&Cp zsg|Fg<&Mn%rll-6J2{jkkLchdiim7!*7wxJf_1J6VBu|LKF{U5Hs>x1#VY$o)c9MC zCML&zVfd&gn+g1pI+N+SY11Be=gS7tqlR5WIYC>ln>x{3np_9`;mi|JbibB!3#w z@y(+X z)9pW6@_6nORGo!k_MTO0a#nlapB4B$UePu$3bzAU>CvPF1;k+Drn<~3i}Kj?PApau z%91tPy;# zlegL+mlPX9b`K*;q^ESq(xq>AVgE;<2LT><)blC=2A#Qo8)Ur}SsF0~(^gfM@SM?h z(QH0-a=fEvW7dytHE(G7z8>MY!h+ovWVZev0+}Lyd|0l|&1FvJ-?LufGAv6t&HDT`>*tN1#z;VIChR83>Zpyr zbz&jH+TgcYT6nzaAFN1zXQ3X#r*b#RRs|MrXw3sZH@A|{E1nrvkAD6+l1be>QSnO` zj1v%dR^OLm1EbQmN7oCytXj7Ee>XE1NB(e}gj-X$idrgILHEq{EUI4{8$<5I7*4D-BW3k50^0RX^=pmw*e-miTJbf$FH9U$ z5mb9D8UkJ@@_k0FyDYr~oOFy1iwYo$@54VyAV({+eW2PJ+IJ=mC~D+p_TFL105}!h zaoJnoPBlo0uC5VVizmN3>-ozEXpNv(1oUREK zb;y1CF?xmLdnD2R9itk*5X8U?U{h;@U<<|ki!R|<$Z^LA{BCcf!JcD;&k@$L-OqPv zfd8=Vs^`*&n5^m5FMR`lqGGLYX-7_sYPxm1besVw=Q+1IU+n>X{-n>}*u3=#=Bh(aDb=hIumw-6GVbcaoaoYsb)YWu(jkpel zhb0l$O(2Ogc#x8^WYLSak)EmY^0&e3mZ#H(rnD2Hs{N)3ui?_OZ~A-do0hW@Nr*TO z16m2Sn&jCI{;5eyNa*-iI6f$d)mu1~@v}UPR|p|&m*lj_s2Om2q%4P7w#*c}k&)o+ zZf}tlAC+l?{&VvuuC#wz*j`Tu>ZWq1YnzBLs|DBm6lCi zDRk+s%TI~sOt1ayy(PUj*nG)!;EAdo+K*WzKQ_W%{xq$AT@U66WgJiDY&D*ERA&6OVBjnxGhg__=%^Y zjYqG4Qq3lEXURZ@)$GxDep2WqCVC|^eSV^mN1)(~ z|KBD+7ZANt!AWgs%M6AEi~oF*&$T4DL4AKHdVLcM@b$QTl24&0aDVnOa!L$HCDp+r z!D~jwtK0dZ*oIU|HAzmQ)YhiTYsqW*@*zbX{*Kurqy-yF7pI`uQPUPKvP#k(L;pWa zy#-ekT-Yu=ba!{BbT=qck_yr>)F9H`FanZ83k=;M4MTTGmwKI9hpXGX!k9@-zNC4f#u$rE-3+UCv7Gnh1Xcv#kXp!i7mALHAR56We-)AXAf>nSMzS)8C9M(nnczM7x`gp4|kFpqAS$?1U3NH zocU4VWQi;?>Djbo@!%z{Qk5n*a+=grF)cZsTZx9kwp9(Bvna6HGHBQq9D?UBCJ9)O zY8K{P+6|a#A#G1{7C|=+aID^s^7|^$25TK~h6TkZlO=fdrQ5rXu8zzA{D8+1{ser! zcC#C{$j9;d#H7{j z@;;*!^-ppw0yQ3Mn#$PTToI=6$h1b>d+rXGWo>5T!#_-}G@3V-+II#cX`dY6*m)Xa z!?#h>{_%hv=_^O7(4}<9n9Z2Tk*WF>LPyX=E7y0gGNG7VyChkg5_Z{w%R}=$fsb%~ z0IisqnEMx9G26weo=;M9Nz}DW2EgGe`H{wc@X`ADKmS@P86hf~zq@Wj7aw_6l^@bq z+nd~V5NmXXv8bldf_Ox}JNKDxAi$zrk}Si;a=s955@&hvXaT!`OF{LLJf`gGWqS_% z`vBY^#tFb&)DUhZz21i5c33GY*zOlrkCN6qacVHsU+Vw8%F4^wK~1*i`QomxdtHO5 zfrLgIzh%@5jSOfQGsKmecaB)3pA%T5A0}clHJq-~Bcc@2+}z&F{lR-aqWQumP>@XO zbgF{98N~i>*2b0dzPapAQ&~lR)m7|xo#EW_sLsjdxJh$lWdGX>lKo8OcaCWL4;R%& zqGR=bQIhDwUYv&rLVDi61Df6T{O!7sQ02$K=DL8`r; zvGjvmwX{BC!>vl9j|LlS)D&>|L&A9Yqu)X5M^V zt*vl6(G2s*-n_GT*x7D3t=$lVKkQv2Cu8-nQ zt>PO?bb?^kHmLp$U+xQ3YA94WJvFm@?>xMm@m9qIWtZEJAlw~il`1@#I|wZZPhGyh zF7G;&@bcv%iQCj5=0|@@ z_`U->ibXF>;JCJWeZqM?+vttVk}AkO@)CAUH1u;R##ZlUp&=?G8-FvZ|1{M*yDA!z!Ybfk-M9mwZ)d+Wj; z;V@^b3MzffCEB7;K@&bCQm(Z~dI>9ta??D2%n80f>xm)t4gVL0Mywwb?=oI>z_Hjv z;cD!WZdH$o7zHS+<_Xv%c@Gfa90}V-|Fh@Bs?7_-CWebtkd7hHBMk&6Z)4qP7Jli1 z$PlkXzhgprC&wa2)lsu+M+_&;y9~LECO?#*?h{17(2-K@I+7343&7T^I8Yz!Oop{B zIt8NHzWVAT&W?VkSd3G(8@rPI>N!1BIc16yjD$>KB#9L5;gp-d7B`DUZEC-p^a7VZ ziCmVzUZi{|TZkgyRFaOb6fIkNTdsqS<1Q>8(Vy*Lp+dpl4!nY?1bq%v#Q&7XjKM)gYunv^l6;GCna;1c9sXH5tL)+KeDu9)K!3}i zl7S~oI4DN)8T7anacX`?ef3+eMgcQ@bLsG7fBtvIJF-?XX5k91N|ASgWPAe@EDXXa z(Ye$r>M}4~WJe*(LbUPH)aZinfnE675gGDAnuXgY&S40w@8Kizk=Udk^sD67&x80z9&HY@KKs0-Dgz@3k%7V&OLt|6cMtOHpZ|M? zL%bLUslK7D&M#+IQ&$42at#ccdxbx;0*zY z1c^fW>!+n9iBuNOg(r?vV-5LhX8|D_#xl)~ zZPc(>uRlCA;DShbzWkt2jbCg0M!SClQUlu!sy@9*nf$y+N(5-Ta&TB4t%DZCn8b4% zY}=I>L@j|TgR{2of? zumcdm^(#*-+2J)pb*vRb1YX-IqpIZcj?Rh)(>m=)`V=uJR=8d~p1X2<+t79ZFL9au z553eC+J@Afi&ePdCOj^I`7f?zw_>d|i?u-;YTd$yqUMv|gNTCNYzf1RSJ&XLz3np6 zYJ`!oc1kx|#^jbi?cielI?B)ed2aS};D~nX;p_LIK3H(4OXPlEYuhjH<7s*%b)(|( z0q<1%)gS;wD8HgeC6~)rgX?FrD-psMBj-a}=9Xsfe$x#>$(^&a*zq)h2&*+W4UPIk z{WqdyMiP+nxD}NIYZ#A<;}o-|!206+28&Jq*64C98^GsOnzT75Cp&mj;8>xYuI5vS1$uC;4$ntj;QX)KuJ>_Ltu@?t=ZM*)TB=@Yjw&bCK2ibK3(EwgvV<~) zArfA|mWTl?AssR^;<5vVBo0L3O$Wma9MP#EIx={FP@nftO%{1?JEg-Ty z#O`pKGwug8MD$kb#Xb^^;{QcDbw5_<-CHh?K>fDLvrG!L>DtpfwF6U^(y!-P83C`a zFTz%vPX0pF_x$WCW5YEPg}YQFUQ&6pq*K?tx}=-~ZA2ZcA!Wit5zJaitiahcK_W#_ z;r%?6Z7}*oe+)O}diF{i#BR?84bpp5PeLQCtJzZ?mqD~RmXVRsczLN{uUfh3JB$fc zM%3s!$EvX3Gq~@4tMfHw16Mh3&j0f9lxe2r$7Dpg2p(ZYbRJ03tNDa+1;H59;;dSS zieyBmn2L))tBE|xub;!NZznmE{VK`R&QDGG%69!fP#}}VU#X=WyYp*rCJ=IH9%zb? zs9AIOAUiM!IWJkwzW7H5^EU_Tg=~dX2bmT!lW0_?q;q4?&1b;z zk0$a7eS%B2*C>g>ct1qGka0b;VMGj5chCH$ZVIx0PNG5T8`9-P2y6j!tRz?4jvq~z zpRH20j7&-adLVjRHz`D-XDH^&8!+eKNW28;cQLH5~_MtF`-ST@t``rYOLJkhQp_*zNYegiMa(4OcFHY&by1uJ<$|$Q5&vjTE zv=WWO*tuiRTa$M$aLFq@;!0##^@NEf!7+MvERXSbK&WnpIk10=ekQBC^ zN$pYEd8pkryTsR%4t3@DB`2GuYimH`-E%}p3K4q~+TIGG|D&cOu!Ar3$D!s4RU@5q zct)8TT~5Y2r3!kf5)YdJmz84yPc*MbW@2n=i-lqZ{nT%xWDMRfkO)kXm#Fy}N>xQI z#|gicngp{!;8Kj{Z!eTiB6MA@#+FnJku^>Ws&Xx%;O@lI3W@E)l3x*B@_I~!A2Gqj zj_|b2?M)jg_r1CK9S)|a3JvOp$;xr=&dxhhFMHi>o?hF12?(IlkLbzOZ2eFEgGbAS zONfIEGw)So&^`R!yN-JI_pO1gwBg+Tz#^|b zCYwfN{R==j1GGjzgM?qG@9-~-m%CH!uTnI=IQX}0!rfzuQe~} z5(?;{g9!Clgo01TMlhE0=6XeGy+Q^bg5#a;o7t#lijwK#>9|!$Al86}3FM<=`RnfL z`sZ0I@_L93Y}o{?K&H5v55Mi{S!pRoj#l@am%?JCw{*PO)cPy`WywmO^p(qLb z-bZ-T6UcuGuhKv3CCM#+{RslyulyLx*M3feF9VVK10!SV{>wfwO zIM~=2Nz|%p_r6Aw4tVQ<3M2vBDpmgYfDXijEm`j@FPoiYO8WHez{N7}%tPPLfHYlB zQM^A5jV@79=JLMAVpNoTZ%m;%ygGTH>Y(mibFSXFtzE&p`q!DgcD~tf_$P5XLa)Br z_;N%-7ndJ%E&aF1i124ktfEeVVn}m&D=Pvg{I8zXjheY|U!LpMti!_cpOQ9CG!KeT zq;eI64s#8bZ3Y8<&zepqq@==Z-=4LxNy2F5V&nTQ#@*nc7LTOlrg019tMvnh^ca$# zF+=c=83b;WWKfR&20dEZ*(PHk)gXDEHps0C!RC_Z>oC5ppuCZ!*7CZ)lBeAz4HWif z%awWCMp|2MSr3`&sj?Q4_^YG{5RxaZz~kkm4X1N%e{Vj&mtmopxL>_F$p(&0?)mcV zI5Y$tNluQoE&i(?P4<5eafV%!klAIHG8B({b?1Iu-Bu(u-=$bdN=VRzHwnc@SItHz zU_e!{x+DWgK!a=d$V$`YHhK4y#IUSqHh;RTN=qa;Nq~_=`CTy82UKdF&h+{=SvF-G zvd7Psk0t%M4JUT>mT2(g;5MVrwYIWjNf&pcjrcDmRQ|AD5?O@PzN)?r$6L^1LP(8J z2`A_lzKz}7O!_7g<_HBKS0EN~Hh5GEXGF`;~Vs!Ql`V|zOY z!;AkKN*vE0daY2eBfra7zZ(=I?M|{AgO=^ppjTm7x1yMp@+N~PIaYqzZGh9+Fx-f5 zlX>%6E?Qa!5GgJ$yNidoHPM|xYvxe{OOG4#!>hV^jzpxTXYEcttX0=yeq!~}3qs36 z*@3Z_Rz-n4H?IAd9&-JvjLvtvqb2**T;IYy&&<7H1@UvUU?{M$(&1#u#IVElP0-xQ zxa>kLCfZa(DB(v2!6UcvS^gHys6kWvtU~6y?w#ZX`m=Yc59`s5{zj|96b_o~ivMUx z4$#CUR>q$osgD5b{+215u^i6NiIMNA?cq&(RnDY|3FmYf}&=5F#@Iqj@<=y4MFNAE?;2Fd%2<&#;H$b< zBYWG@s3~h)HhkOHKG+LMy266ch_oGZe8#rP7Z!N(qN-Oo3Yc@u-tY%!geQQll`Enr zxzgBKec^ntx+U)sxRXqT#Lt21LZ!~kL1A9%!`@jnCM@jIkm<1G@OtCW!lKT-EkK-;|q(VF&E(g z?_n>kz%nvlo2@27TiO^=6PS>2N`$8K%Le}L_;*PU9UYyM>%&=lG10Y`j`<^=E$!!I zG4zv9Shq;h4hZR2T{f=P~nEemEs!}Miy~13HL53xjq>FaL<*jGmK%PFXb!N`| zUgf%9ty6PHe$(7ZE&mpQ;$?o=BOOP3MvP6%Q#e(HOy-6w?BLtb`!P+yBj8LVfA`gr zmZ%xeZgFpVPtPc>3h6@+pimoqXeW-5m(=a=!OCyKi6uO9r44p?(?oxJ3M0=2`P<>n zu(xm5t7K$8cY@}Bsx4_>z_H8;p?6=gqhe}>S{%1L*z}*!aWHy_EU5=Xet%P4`hNJ0 zBZ+xg3#zx1%Ff+llRUvALSWI7p$o7@luJx7EH1NVkSh=~J;{%}l04E4@OPPf}d-@RlpHKO~20;y`_Z zsk}RlG`KRD%($_&iKT+D5`g(eYX2t{EPP|!H9f~#xT9&fUkYqL4(mZyQXf$Th;lK+ z;K%r#=v7)!Z1pk6>LXw6H0b+56pcqa-lFgcOWe8@b>mK)%zQ(nrfER`^R0Q!6X7k? zQ2iN{{-b4*tj5DqgG`>eGKz3j#mN=1mBgb-RCAm^y-LvLs{%TqA9>U(4E?q3{eF_V zbp6UccQ;MkLpJ#awB8;UfNB)tsHg#*`nJIWletSku_K||ZTJ?p_^+^idhr9d?s$mh-nam9*}su0 z+$GF6f~BD5j}NR=hm0NutVMg9)^pA|38QPB59f$uV57&K33)?K!Ea~we@va{X}8b# ze&hKE`B2RXf!uEMPe|i*M0Hk(jnvOA()XKIZ>?nkw@-U#XJkYS<9nhp#dBgg{gf7Z zd^wX*RClOzo^XZ)G!ZsbhPty9Tg zSnl@J6ZZsh4A+D4KuxBT)m#Stqcw&TE^;%TZf-raID86FwCuZX*5Rnq-*ch9n1>e; z;5j0=4~DNZ4t|ji2AUHwhCJ>c%anB>%sHOIoz}gjx~?{Hsf{SW5zvK)!y*#k)ZFt( zvVM+gmBQf6A2a?hf?()+^!Ap?gZqjIk-o*tG!0fanwTl4sm|f}QR% z`pFAYzs23p%vm}tr015A$WE~sV z?i>PY``tE%|A=tFVZ#!vXk51)742)>^(n$lvGrncL+?-c8FUTB9Q}sn7{Z8acWHA_ zB_6*LuQ_Zwlt>QImIxNU5dRMNZQ=XkLYt=JWZlFeI<%Z2$x3H(rfE#_7e{j&*p{YK z#RD99olVBtuhL7%djyEGc_5yoKX^va~LTZ+f}1 z6a3~7#9W59cmxr$M(YjrjEkh1c}`Hv%rmQfiSY2NGW-1>Hm=37N0G(VRxL)Nl~#4g zSEg>P9ERfhh_8PjAzWI9PPa8k&Y=5Ov9I!#xW?)cLj7{qJ?Fweq^zA0=V9|%EsIDU z$QE`0C(F9E6}Bz<45Rdx_$mg<8IItaJRB*I8NoS-9fq{PAHyaN1hoPpyJ61$`S;zmF7AyRCX@k&^;Kw!seOKL&;D0n0CkGmN zALClXU#pIfv-lEP`ezT5xHpvOCUlS&}U(Uk0TlP}t+Wmap+kNoLdX z?o)}({=W?z-=Z>`UdJGs(?b*)?_|y%-e3Vyny8F+^nf=FobRw~jM?AT z&ajVB7Fq8~1RA}DOQiIXao@oIlNhl&f~*jvLoIJ=2V$~*cl|mWx}o!v*zc<}M5)$c zRF1cxn}m2D$uPULCcUekTGF(kpjK_PXgEf78F*S-fS2u7!b$Pm9v0Q!^fQM@s4KgOMFMkHsQ)HP_^ zP22CSuF=Xx>;n3G)>wkCiCN#J6Fy}t1d@$@`@>7~Lp6Iaydi|J#*dj(+oS2QF^wnL zc+dMC&W_i&{a;DT$rIG8f3|Du@yq}&9#K|eb7E^9cc!vs_jMcE{s`IAC7&KI4~%C| z-Svp$?t=Lf^F5W=U$NYL=y6k1lk=Nht4mHCn&jZWY49IcZH7h(Lz%CK3vF|t zP&iLL;#2N%_c_ji(SGwWe53{>wK^<*3sA$s`RLq0{CCtgw)v=8jFXZ_82^_m-wdGC2=m`c@Vh;JTJtzgis&u1X14`K;}O_%qGwCD=if9}|MUKUr~Vk1 zQ|f}0j&F+>xn(m|Ez-GW+p*|-WNj93Aj~%Ts($rJ2~r|xMl;b`IB_cw0npjEX=oYo zWi2Ng@voSa)B^iSXP_I0xdAV@=h#y!Lg(t|x)%^O*PRJS1hk~0HwXF*_}{>iml7D) z)B%J?#~C-O?Lw<8Lg#$>Fc%eZimrY&0~Y&rG=43I>oTn&8BCTv!2qAp|&qr4!esD4)gw0G5<-I zWY7=j2Z z@LvQLsCkUT#EVNNiJDTl7|ACon&ch?6!EJqt6r($=ZjI_R0k!T zwi9Woe#=FUU-J{UdTCZitqb~!{D9b-pYNk}e>3D>zxkl*wKTEkrqURlntDRs_R>v3=p;s)S(npwR={!!E6 z%0_fvWVQR`sk;*+j}+A8GdEAr+2VcM_k7&(+^}?i&o)fgwN|YYXhX&df0UE?$J`RM z!Y`|1qpmqpHRrvs3MX@1g^Q_Av!&~XVk8xHM>&CrX(Jwp1Cukcaeypa$GvRPAtZMD@U&rjN$I|(~CC74X1vmr;RM? zj3$^!d|Kf^5I*AYgJD_kSD`^9Nm3RaJb>y=GcGyL5qSgBfZ43nVYL?xg=sP`bXjnI z06osP`>reB8uQQ9srRyDEZ;+cMx%q!A%OalaIo`--`dw1zLk>G z4iJ){edmgd(XBG%JmAN+vj6%rUxSzeP)mx@7d;sPPkXU*K=mf4&`9{YJGI$x&27B& z#|57yb@~oh;8Ul4&8w##iInl0a8%}bKyQ#%_bzJBLf&bX%87O7e}%x;P5D{DaANKs zzu#x%HpycW@9jo%ceQ61P)j>w>1UlGCb=YPUhhn^~+~YMoCVW?&k?^g})d?06bX6C2w)9rNp5{zzCkE`Q2^cXFp z4@cn$KM+;v`Komo^{)D_lRhr14d5G~xdv~z4;`NQaykMI-#h)Ui@Qjgv*Njh*on(( zr!Jl+kc^zO&coo41VPO>zzP$R4wVcl>@0v8@}UugD6f1IOU&f`pb1D5sd$I@p)$$$ z%Wg_)VRjGa0bQhJ=s*$1E<=DwFAqYmzuu>vCFl2#IR^Vaf(wul8xPffSk}ItI2JH5|-4p;B6*;5G84HVL)J88GQuHU~>*C;6 zaX>++uaV+Qq;^(x*$QjK3AW>$*!5yvd%Nb)hKs`T5!OfNYMUB1^kP@XvEKB;`BP-hbTB^_9OJYx?$eD``mi2?fr@j%wtM z;Bn`2*oUgAU6qu@&4|(Di8x8cxc=xPSyT%;sjlUHm6`hpD_D}28Gm18)pkjlCaRiC zb97Q!|2kq2T@qJ#>7}0!|J`61TUp$cTr&~xi)f-%TFJ<7T&A)_2pR4|ym8RYgqzf5?1T!d|I=JCV7w<;ZdfS~6Pz#G5>)LFD3G5gzmV?SR>~^KVsolKtm1onwl}t-pMZB*!;}d(SP!a( zHHtquEs#8Fce=3$)WY)yEk%Jt;Tp{l`B9u)WUHfQ+uE9TGiy)%ZylOgVzR2b5V|wh z=TLrA&oQPKlXWUA+g>9b*RUYdr$l{c+I*MvLvI!LMGy6q80ZDO&#$)BJIn-PY^J#vxd!L*76-d+x{U@qZD;a`+5^@TsR`0ezV^CsT`drwEGJw(IO*Tr{zSFHC^__2OM;M?6R8b9@mXZM}2Qalqpxnm@7;6}_U4e35rj~@A ztwPqhhj#lU%*w9pa{o?GzoYotsn$2$Hqv8Dn!ZT|o&OOt9qzl8#GIM_Bm5aanQ39` z7H56?1GZ(UpMGM`og41(043~Bc>q1i8d$Q0&{o1|*k1R_8`^95{bsl#$waU8BTG5K zXKh}f>Ao?$OqpCSPi}W?l6@f3VZj>5t?ln3!OTFO*+n9PHT0wO(d^V;OdMjRl`lDz6)g3lU;-)sra|$R zgIyahH)}C3ds#HLNs*fqjUsG^qj<-=1n?~VZp+k@kJK8x!uYXAeDG{!V7#aEM;;v# zL&VRzoAri1Fm0PbOxbmz+~glmIBM3q_b?cN|Jc*X%5vq$4=9H|604*<`}6StAlH#V z2OIR~H{OPvjkX3DaTEOv>Jyrmo`3-kO6-i0JK>7IomLq6 z)5p(~#!d-~C+U_`thJ@D+}Amg(qSso?p4XNj=pDi6G&gzqRRKx96T!d@U z>FORni}ejgF4aG2Fz&xZ(F@2Q)U&vmm>D33@fsvr*#4O~cT%5|JGWnoq zz4wbDlYi6SkliI8i95579mH7(-zKgeE;=vH4`)B`=+s!%blP=4%9`3{9r{0dlk~vH zZ%+IwNUmD%-|9OQc9_o3KV+)Q-~qOtYWb5H%DM3_-lP8N#neql0%7Ww18v^LlC9Rc z8@+<`=%|ZkbtahnDKH`BdB#-*hs$`Qzw#h5b2AnT*a$*bLI0~h_&=jOYp@)Ef3BHU z86!Q1MeXsZNnQIx<9V3Sula`#!A+mUIqe&1RG|!@J;0r_J_~$+?eZADl!fEOAqCI7V)uW+ z6ST5rkZZpEh!;EQt#{AoCh$BP4$svla__T|*T^kb79`t16;^-lE-O`ZKLCbF?2hGK zZ}Yzo@eGp2CK(I2I+HIUh4AWcJ}w8igir>Qo(9`L#>1 z-+|R*kq;>~Iz`A|5=_Cum2#zu|ArKsb@fYZ zi%)Q>WLo^pstrs<{0FfaW}55>(lR)jr08kAaQ{%6)K_?rY-IBIr8dffsXcy7OjhFW zFCJ}CvekS>MUOe&mQ6CW5&eM{ppE1hbEhjCh{`i&x|~+m(%$YgtJ8q^Z5Xg%rc?=N zSV5G}Z#m{-n9(POp4|Fj&LzR2Ksn7@-P3XH=Kn|?LITdNK zQjP6ivJrhE0Mxv-q#X9bifDS0BxT{i-TGw_Em$&S&$`^joFyJpj_oQhOVpI>?}s5X!|K*1bg}o@$_ujIILPtMRJzVa z#iC&P3g21LlgC>V0(%vka6evFYt2M3Ia0?;(_l(b{iro>8lqN zyAa-*p3kqkgM)hga5xn7HZzHt+|o@mOzm?y-p#;CK3JzWm@UX6jwx767l9Ej?9J#> zt&j8b&HPzt!~;U&RIW`Y^_w#vai;0&$K)xA#~3Ibrl^N0obivy$eUMx9#3E8GmF*p zcUn#Owf=mhVDdEEhLLmVQrc|MawjO$x7b^iE&MWvt-@&Ip=(XV%Y1^n{nJ%w56oucUX=zw| zp*5t4yXe6e-+cZ6rss%*2#^OLdIIjae%9fGRA?%K-eYssmNUu)F(aAyy0wpIsenu9 z`?V??XfP#Z%f9V_P$HOHG#`HGuYnFi?VePUOVJ4y6IA^chq08`Cxu-(0}><*Yo$o$=o!{D=QKOlWS;+R3xR-2k8+PvJY_S zla;S~k+WGbNs%p27Z-ef7h5UP5)!#Zvg`?hdLcC5!8P_uf+3^vT&_F6tR#u{G$a|n zRufB{jS*bp&JxG}GDt?WK)<{Db1&{y>6 zkn=Y^Y>t5;=vj&IHR5fEtSyn`10->FHPxV*&>8vO20rg_KI7@&wFyYX21C}vrZ-Hg zqU8pPUL>pkicsZywNh1Wl>|XQprnP$jP8xU9;qvM+zM|>D9bC&s$7@}^c@DG4PQtU z6cissK~w(Hb4s$^hNm10Y?)%VA24gc>&4ZS*Ns$pp#P#&hVznd=Q66WP5B|>u9H98 zW3y?Anto{$C9iq%zUz>Zii*D{VONj!%V(a&_V6ERL{*g0i*6iBAFIP>n>!M4S6;Vo z{bO7P4?<*^IxXjs4zC#Z>p3nb8Z@gvE3)4sInhzg-&~?4-l4R8X3j#WQO>2VF`B|o z(h(XZUNn3Bi}ABz)>#6ZA%vg)p%l2eTJ~qKrXbMQU)p1H@EgXNX~7{Y3Huve5t{-| zEpwX+LV$OvQY|visO7jusOpu<(107SNZ_Powi$C&76?n>?=49+!b-t&lCnttVR^pr z_{X0g*|i0r-b7NaETgp9#D?Glpn}FJ`lst&Y>F7ve&Eeyn@YeHF__@(z*0*9keWBs z@U<|O-!-C##dL-fybEY$=meRqPlkO}^sO9R=6_@Jj_w*BM#W4!biaJ-=jAbaze_<$ z*TC+dlhtiwum#qMFz!s`gH@o^hR@bwEh8`Wx4Aak17TG-aP82HT)%oQgO_yQmxFkw z$~3nux`9YFThw7owao8~-D7FT6=VvfyTtr&s{NPQ9&P^aIV@gyL(6{%AP!xgwZHvP zj%5{*KuJm4!@SH&KK&2ax@8uQi;}=cL+?eZ9UB1fe+^xg5~RxHH){Y=oBlLsx4V;z z(fKzzow`!{au=~oN|!51{WniQ?R=Tqu(O|xbT9$CuroV;glf~6(DjhRP(i@UkjAd-tm3E%TY6I>s3^l zzUrJ%^Xw0uMcLh59rpU5Fbze*P3vJ%;o37xsSmvi*43X6VqTFC%`nL%x#!rXoJ%_~ z16DutR)sHBLRv|0_kX^)y1BXeRlgZq5BG?D zL|TtjMi0<)_wZ0o_WFe66ZgPXSyDq9(?3^VTas!fAUYzH#$=H$r5vfE%Dk2<^OXob zsfhkKZ-c^_mup6YuShcTY;SML$Yiy7T*_xZI!1jd59XqyO(DcuMQce2VMRQiB*nS{ zlX(XENk)i^(01dEV^VEMy*nI6izF^%7QfWbb`BvRI^oxUUA@m(-MKC=N!*HL3+iD; zuDjX?CS%BM+%;d}7qlLmfJU;3IXU16!I!w{DZ^&5*K)i={_3PowhXxSp zvP_NQaRl03FgV@!Y>Iw_G7z%ECp2_J*%H{Zg|IL)5k=nNs`X;jd_Duom`@+}JqQucN@+ zzB_w|cEh@Pq%rWFW=Ze9qL~qki@H}6nAx_kd*2MR5hSHyR%;WNLAC;~o-@iJa6Pw$ z^FwLVzOHGiW}G*Q|AGiMxb7lGpep{~q8nRync#e}`2I^c{g2tlfsk~H9G7Dh8d22a zak_#R=6QX0bMqid)Iswga1Zv!$igEPFIw$4=h3|E^`iq1_`uW67p5`*rdLldw)VYm8C&;G(w;yH-tGW@+l!19|8wp5Gz; z3YtO}PK1p)kj;Kk`?`0o$zC0Oa%!(0aFr*`MC*>g@@I;}CK}C?>b-rjJmVZP;9U|( zs$FFCn>3#?njzZWmmC_~plMau_qOwHL$~(w(&A|QW!9`ltdFTirJanHFceQdVAh8U zPe(%yCy)L@N**xy-@Zl{AxU5zn8U);$k@1_6maJ8nrYym(LX)1@cyJPI!cX{GUl(?7t}3^0&H2{wcj zVlo2Ms&E|aE0#x>4eFUl#4qqpryxw;-NCMo=XqunKfP7K?`V1&O$*y(YOLovfa#8{ zca6n^vR~_LL+B?J4i^v1&-9N6Yo76f4rr$igY^>JI~jTG{2VgPy)xhsuaZrTj>Q5) zdVev+`%K3 zZCEjq-^17CdNBkMEi(~0d0cRl!TfS2LNHRH5J&t!iGq-Gop+9*)HSBQU&p?F)~xOz z2ag5&UtzylaIcOM)cwz0+w^^9dN2B~3!fa@^aK7fauzzOYnM(#BJR!FbcwaDavadh ze(jp&4a`M6ZftZ*`aS$e8;M>pbCo%bZ^-NZxuy zzUhUn34H`D2KRb?&JNYbm`m4_E;#3P7*o zIK;Q}Tj4CmMIwFdoBc0scjK|=xhf5iSOk=gTSZV|BNTrTcQ^Ml6aF|xqx=*!3-O5( z(Gc@iWy_6RAvPxAe;*d}BeL*>|MXVuoGuX^EXS9}7X|;|apVeyUcjx|i)L4eD3E!SOfvoAQhKE*w^KrxFB%nC)OT*pbfCHcI!2@0}^^Cqc0W2kxKaBH2xz^0wCH<3dsZK)6TijQx&2^uHrQMNSRz`ki>Afw z*M1#K6Q6A3O1G>wPT`gmZ3qM!d5o|dG@^W#*KdCU-{e-kqu`_PPSPW7B7jwgujJyZ zJHBSjp;7XIiE%`Rs~>Pf7_?ZHv@_B1+|yyJy4(%yNBvWDST3T`c*h>qJmv3FY@54( zd;iA={4Vb8R1x6^KqxZEWBm~5$Wt;;PDbOQP$&vLZkAH+RlBB5*0k5;;o#l0MTan~ zM^T5?d-~oTy+fZ|vnkCVy9tEl_b#5#_aQ&#Pd`|W^$8OGDWyCq{5#zDd|U)dCe)!P z;q)|XEy`9@A!aOfl&pxjUnh!VtV9D~LR%zaH>S=GuKxVw;6zVzl$EldDK(`nAItgS zh|On{PRfR^&~_uazDB8hPgKDiH}f!Skj=s=f+ndnzt^l@%)~0?6L^CK~@6QOPNm0fl z!p>jF76yQo)~Fs^FWb)EyL=d)`|li6qOehLn4t(wvao5brjuDMdjGDHSMi+P?ap(0 z7$x0o)rfnitL$=fG9snEgx>2@`*q1jDDG;*+IKM;cO-dp49g$)y+nsw_}0jf;BM&X z)^_*5pPYM7l1%XjRB!-7b)Fwy-LnC>vXp>`ZTDgQ3=+`2EQV_BVvjCdex1TsKq$ee zao3pr7%FRDKij!hPpBbA1TI``gKd)2u}O5J&vZn{j>F@5lt*FL>GpPwfQXO-2i%NW z><<0|ojbgi_b=jS=%YW3))#hOVm#09X68Z9)U2A#Y97%RiE{?hMhq@ahzYkR-SmNe z)!Q~7U0sCTU_zhzIs$mVlZdM{TZj=HI@^LuIPbL#Mh%qJsQV z+HEFVHk%PYIWjo2s0K><%Smk@!72`;<)&S$RQ9Ab@g|EL?ajK$ndf+HdEI=l&XbXH zwV#9?D2{@RZ|?TfL{OTehd5TGu~DxmBe z(sa?u+vfR(`niB3sE+eM}7#jyv!45(piGciVcj5hB7iNrDcU@ z1JLM$`fU3}%STHv%@@I1*1q_I`R&6T8*3Z7)K$72SMRYILq`<`&1|`8{+JQz^Qr<` zOzNN8sh_%0BdLfD&)WM;Et&Bd5%S&pPCKXsNiir)HL=Mq%ws`u58` zhw&p4^ZhBTfr0r>=KYZSPJT;l^SquQQJ&U|jGl+n3Rm<683+%0$}L-XaN6l-#j{-Kl7=L@xw2Q zF!+1f{HXbG^AQj)7)#&DVoL9AZ3AZZ<#Lvb1msrWNB8=-@X#Xna$kQW>(IO41TxUk zr}xkN_|W#2G^vMJ2v5jDDr85=Ke*B9b<+8;UGcmdk4H=x*$nGzRz2mKed#Fod`Wpu z^*sE```dH1{>ft!(?2cn$5~sGq$*I{S!7z9&z4coUNDb(62^w#At!m{K>luF_@#&yOI68UqFZ#9ruOT{(;$l_wUmgjw}aT zobf^UN#qfQ?#E%zHy9)q6_ENmkkqg%NIqD$++DMqd`^K z1Z$Pr&dN)6zG{s~450;BnOKK(J{edR!;6(l2+FA%T6QT!s|MiFh z9!!{MM<$-kG}%ITQo&X44O!ael&K_kQa+_TfNl{`X78}gtYd$HKF^?r^?+QrPICXJ zp>rg>$gHFb__=dPzd&*JB&MV}Rne&<7tByPP#P|%r!0nQr{?6~wA|_SyrQGqS!nn) zAxknjJb;kcmtP?L@euU)ggla+d8J6QG2N7P-$W*xpgYGyL88?L7@K^oD!u;=B;*B&n!(Yv;dm&)g- z#m@8h(>|l~O94JU2Z;R+dd#n-$Elu1rVW(Ae&fVDmv&)P!iIa~cp_boBN*HOlJ~&i z(q4z@-o=q88{ogT^-GLrC0}W%)_r<@;Ykctv=1JB>C)HUE|=bBEGXP{YA0+tN{jvy z^>SsAOITz|yQK0oLXMk>rT}`@fMw*72Rx^yaB83&3kr)KQ_xn=`$nlw9sW45;(U$L z)dUAd{>kpMu$9D0T;4$6V>Z2oA(uR3g%MjJ<{S;!dV*Ca$Rp%&rn{o1AtDPTp^ z8YK}0z387D&RBEs84|x;u9LDh(ZssNFunX2Z}~q&TpzEHp*p3Zot#Fa((QNO+RkW` z&1CZX7Jv;-?$=>%Oi2k};r5Q1PU6lqFN?mgm_!4{_`%rr*LK@UrKDyFN(mJEIKuPH zINjJ=8SQ77GVa15_p-7;%bX#X`j7G1c9R{vPWrU00Zbgj1Ng8h(kZ1diF4^4PU9R) zRx_E7T0iekzbzr!QttsJ=c$}7J$He{KdljKu&D730YNoqHKr_%k*!gA5A$;ainp_$f{pyAfIP6nhepDCX6$=JVYyn6 zFUQ1oIMX0nGx(?HS7|bAtEA)3Y3-UURIb18Fym5MME9uki>gOnVV_q&0RaKi_{g1J zahD$`U5k5rTqO4{#PIF9m50~dAiRE+D8UEzU(1?g2b#6L$iXirSiQ7kuBLGB+4c4v z7j?2+J}7kp`cF?Uu~uFie=P&Abz-X2dnFJ2iS%t-PYKs(&_=QBg!fB%tp++gue2f8 z%3P@ClpY?%Nv~NtKlnJ?Fw?!W>rknRsP*V$C!7oj92MO%+npDiuoMYL z>4s1Qy+c7wjzxb2#ociNu`xq%dEV(;*i_lZbo1@t=^`g6I4!bE3F-v7J3cPcQLK@> zSSxGrgg|#BxFt#$aQG<3q)PO!tL5gL#5#!CBethjzF@_p|=+R}l2__uV4)6$iGr(j4=-4Idsdf_Ij*a0;t!=F0GM ztd`^+H<3H*a|0c4AAwIDj_)w-n5XPyq!w2h!{je7OIR0Nf%AVrDZC+;Y|QF z5xcc{nAOWI9l34q!RiFH%}Y%N{nr0@jY7vf4e!~y8?_18PR`hpN-@HmwQBpp;;|rz zDVTwimmMLjNa8zIs8cnPt6wTN+hPEhP>m;BWcVPWS~m+Yh=cbBxO0&X5BJ;pE-MifhRHJs8b% z`eZ=ga@4hViFN43Ii(8U7C5P{|L2Aqpuh$Lr9Gq{f0??C4ozPQ)@9lGYr?&`G!8dQ zTFt_-Z7X2)pA)M8VF|jD2_y|+QwuQ6+#bCP${0vy8T0c`{^8M55@|YLfe!DSg^;F* z$8zhmJgfBbHI>wH{Pc2k?lq#MFO{y&WcNmhgnazzZ&eLIiVV2As%&YG$5WC0=@FR$Sfu~wD_JMB$cA?QDgHueuzYkz0y;%q%B>(=1 z2?D^KcNs2|Xb@9xh6gqR^g#%G1tC9O_6Ix5xX%o0>_;D=3*q1FenK>BT$5kyJX{V; z(j`HH+XYhPx3rFRp%PpE^7pv}49!f^S+_&=pP*A$w}=-yHYsdJ+*hvE@*hHCT;DiC zXDG-d_Wqq`JwFx=;-SV$s+5qD$v2aOV3Lec)9iGN!Pc^6$z`XXAVE9)M%PL2Hk%nH zHAi90Y8iYvHB|fslRbJN8ghw$13aBuosZ)-Sh0+$RCMG~vhK0{q0rrF%CJ?D5^7NSw{Dc z7LI8ooB9Lu@*xD3(N-Ad5OgZvlH-tL5KNFwG(#vbORSW7D*lY`O^GJg=pYZpW@;>-A$K}2vjB9X_I&A}^UE6-fd5)|{5QLI z=T8D@es~Bn*N@}yJ$t^F?Fg3W!>1$nj`p1J!wm13m?Iv1>+twi#)#jf9!=WD(raZ$ zVnn{5kcFKw#dTFxTYH!NAlKn2cG%%(Ydus_bfXZ-pdoK^EjdR-GKs=*_C>T5V!9dq znyCAckE=NiA3->-UJRiY%vs7H->Dr~0`)RxP}=|oC}aY`ZN@Z$P{2T}k{uAeh(||a z-yr#Me%$`u&v|}#ydGfkd)dVpf>hqiC?Hxq8Qzs3<{g}uit^{HN$FodVjv9{Ed*2!Ab>Xq$K;vko z@YU$8D9tkXBcn6BF$Y2wA83>*r-4B{(j#a4UzLvU=Q=~@PF9a2Qn&^t{lUSX8dNaL zytG6Y9n7N&)kM6@_Fi(NAQgi2G4iTXQeR%+2fT0D-5@dQZ~#U%s+Cf8fC=7`4oF}T zUeGp+(v;;o17%SSE^trV{DIg|9|jQ#_ZFEogH3Y+e1=jUx_D;R2Id3L)+E0Ij?A{7 z&PGYmdR z;#P%0b@Yp`$d?1_S$*yG%#6hd8+(guJ7Kov3)Ah-oBXy$`z%AasdrBr;u3g|0i$I2 zV3=45M)jcwCCL#~Ub){(_{t3@o`+8vRX@LSFj7iJ!m204Y0$x-pll0iZ#>_UqgY`8 z_P76pkpADR{YtdO#;EdO_mT63I)-J#i>QO@I8)#I-1CZb)zm~F#?l{6 zk1DDPl@zpYK^09U2oy_r+g>u<#Zw?#oZxTba7Zsg+y|Vf?s13PvA6)flB9a;pbDkh zC^@ZEbMpisH*W*qORFy@?h^a8N(lw`ra!Ww!Wa4!@v>1%X)t28Gfjc4x?bM(Fu{do zz=BNE6|&;uR~MxImMS?ZB~Qw#gV=(@zDU)yACTOdAIXNgO&)Z;{^j27%qw=NdD?Uz z#K#QjTsorZX`^5z;*e-@;M`?W6=YIJiu`{&J02lR5D71CpN7CeKTC+YMI`i;D)sEF zvSD_86f0jBm(pyT5ma40?3S>jJs_8n@l$VRvX7D#Bf7h#H$7@G&CWN?c2CQ5?avNF zL5`b2tV=8_(Soa+Ig}3i=!a+Y)ds{Lck$wILBUszszx1g z#6;xb)M6-(iP8Sr5bDWT8=$-oM@_xrrMl>HSM*fqUK)$>y^4 zq7`#u_YK{_=#q_o^z8aYO^LW-&EzxA!3;G9V-{j^<$o3l^kU3;R&4|rhb=@nH&wwE za^UNz0i+t>xP=S6H&&>a&`WJ%yVk;%C!$+j&~Arsn3ePZ$9VO zAcQKIM{D=ePM9hkFtH0xTf z`JwkCRBw`6WtkYEMF%?|rf|eZvs0gBu1cwZR9UcD z!p|BU7hGfU4o*24~fMfWv!4x1N*PXZn(Wd-``lAG~{C6YRC$$mU z$TSO1>_QAZ6HKspS^0owjs$M72$~U8hmkulUPg{45qw^Cm>hDV8_{NfSqYQB8Wu$G z)f8f5(r{)@9(!<09LpOAIdpcCcyDwH;vx6;)^RK^PWtRI*hkhqN`ToZB>r##8o6wi zCZ57Fn|B1c2W2<&R~+OEq}H&&k?%o;tKfrW0F+ob}3WS zQ?GEGjs~kj=>|Cv^xelBva(yG(ra?Hyy2}&j3lV;rW3TZWt4=K?S&wiSn{)Z-8@0D zsR6v)n~_XoTU!2u>ON&I`SXKIs29T1wQ&wgHtcu2lu3AyR9uD0oYf-IF+rmY#KF&E zBk^pK1>|1IiWTvu!VvA$sMY9U-3TJ+M%P##_$q?lT>d=c*?Fghe&$6mi$>JNh#9{i z4udQ@2v_Yc@X|EbOk}~}X2-F6rcPK!fl_kSp@n8#VA^@7gARtNBf((U3shPu!+XL1 z@Ld)mfAHUGIfx4aM2mg@yj9}iouTVTqU69J`Zfu71d;C=VE5#iPxHIcDo>pV<$;h@iA^BRUp-XJ zL?W>e4KU(VJ(O_EpVZoEhxWV3X%bCvK5KYU0D$k&l5w!?C>`(`D*X1C{CL5(K|zTA zd_~xd$eLfCaq~Xi5xH97*O4{ZNTRJ^xHcx%4R%DgZl6;!IXL@8Ut3RvJs9%J>omb3 z3L&F14IOCEWdw0g`PLMuH>F!-<+a|{&sgLjSaCB#CZnDNlZ?~VTnS}z(n@_$_S^R~ z!OGO6(J&;DAowhuy~r>Ewv@#{RC7BlAfG06HISgW!#VH(Ga2u zN}q8D3oMQbR@GbWN%tzY;FW0$5EEXb0Yn~B6Gn`isM2grV3uV7sl(UoGRd%Pvyv%i z<1U425k`%s^#%-jh|MD%V=QfZ)v(q7TTDJ-vc_M6NifvTwejnle;kW=KG=5M@90+X zFo$~%^*h9%T*?dF08E~?T2oAcwqHV$C`%;lGGtEhknfy}DfP9_SjuNh0~Zii`6XIJ^viLMq^0#%&KhgGU)9OPY-rcN$%L|ZK>XRO~wX!z;T zrn7MN^CPWu{f^;qL!{R7MlcbTL{nsoMV6EbfR{rCQ#nT*)N(8>WYGXn45-!{mZ-&H zs-W0h{c(be*E+P}FQcMZYC7wzTBQ@=eEV89vIdKehnY`utm}Cx(dzToIW|eYw7lyz zEG*PCVFDKmhTb7_)g>pd*s(O(mtkuZ(itNAw+f9h8u?U#GO$u{dT&4Up&^RX%`8H2 z)|$ODne{p-Hj!Ov@lhAjHOBC&ncyOHCYM(58Z_&f@}#4|9=hL+%419x_dOwIXZ+`9 zY0h&Cr?;yHEjvy&T1^o>Ke)0UX5jM=xt)Ol&54NXeyt$p`KDW;K#R96+oT1kaXkzG$ z5GW$JYtKy689T9TL-_L^yjJhC@$6v^yC@%#3#PFNVFW0lhMK1gXHPlPR`{iy<(*|D zo8vK}svM=8(*?Q+kMXJz4sk!-hc?Qn8z9h)j+f{rJ>3qqC!^_mbg91JZ(6{V|L-%W z#~G?h?>QWIoHP}*OWDxkKxp-Ens0)x4S9c)A4)fb4g6SB#Bla_i&j zD(7;(`e|=C!?gWigpEVmB6v`3cg~KN|II?HZ^6O2lfl8L2%qOnhdN%aMV}fAxdTY$ zcy|1gKl9x;xPQ|!`A4q9`4{M5L@@Db8pBh^Se@RH=c7gbN1`8AzU~>*1K#J0uSU+W zHWO87LTz8h3k!pnE22jjd$R;Mstf=*$|*av7B1grw)$D8msCk0gWdyo_h1J1LPeuRI&(IKn#-biQV@#CMqZTH=+jW}YZEc^%)w=$13yE?G0EjJQJ8 znw)!ng9|OmX2y&NOCo0yi4aEN86cs^Ztb<2X!nWL-+C3$bexOu_PfkZbW;fR*$0RR zsNxdRzcj9yh4eLeSDK4(=9pktj)>;A0CVn!+VRdBh=dI$AbwT<_e%m|7Dez=A~Yio zJiIMJwSV6{zO_qT{CRu*f+v=YT+F}i|LTh}Vt{4ZLHP8njIYC2|o}g@IIW;I5uz%+N1@PaGLW zk*h!;H<|hEL%zzTahjA&q+TYoJuTJm;ro#Web-LR@%G=!4aAcb5vk!*M#`Ka9R1CH z6dWf;p!FP;k6$q)9k0z}gr5#6gX_eRNq)^S)vqp3_%_-Fj@44NIPY42Gb zir@J&oM|>j)e7=xa}|B$@Mck9Gu|)7BH*w-?gWqK1@0WDvcL+!+o)ThV_bW-A@I)U zP(0f~&b*EU;h4E;&&bmG-tKmufktBw#uAg$rPRBY^R|rO`TeI5K{y7OJ z*F`bWj+RApEp@uM4Bl2JEVC8|TRLSFTyOrElY_lf=qJ4KpnSZ)9fTwEI&wUdfwO5V{UV?h^!6DGe4ihvM zp!czhiT2i%0KXjA0WS*R^TGarIO6A`*4^9GB z=u794H98ukSwd{r%G6W|Q=G>sV0vl0raK?HKad?V^8Cr-s^jRxF5$iPj8)oW$Jsok zi?|eIu?*#|))CiE8h-8;)K3e>u3&Fs9Nob_0a-cSh=GU1~-G8~?w*KB;02B!Gch{(_I( zstZ*C4k-vRS4xRZ@w>mh+_Su_U%af}R(b9*EJmXb4*qKbRK_E|-@G#ge5u z6qzh7-!vaoJDy{jtQ(vVn&&e!(fxx#G&JU%sjEIIhWPKIfF&o|M;$URiM_Gxo@>fG zPh9-83fB2*qU%r-*CO{pPv-9d-JC-NJ(Lk55+R{_UXPpfbgko)>brB-fV5ZGy6 zdMo?fZlhXmKiDu;HxZE6(A7+`aIHCj3W)8$pxhY$Yft~;A}Y7#Mh_W+lwhB>iMccbj!LYamYZ zUOOHXRRid~&-`_1^Dw}=*O5vY27Ohpc$OT7NZQp z)!^H#&A*sr_2nnci*~2m$G<^4^m)_nt;fP1JN?xnmH(Dcdnz!?RB!NoCF{eI=PaB0 z6fuFyK*-OCy|f;+nCNH>+M_BHQY&FSrEHYp;YStC+Zo<`)%wza^sRYCZ14z&Dz>=Y z^7rp2KjqgyZfrVqt5L+1)7a3h{1x{9rjne&@QXRuyw{iG^nU1oa13w9A2U@S8f&iS z2i(Io)c7JF0xY$n@ ze;|gh5}sLlrq52HfSUMwHIt8iL-pF)^%oKuKogln9RV0ot5V9yioK4IJ?S6wW!E7| zx$i;@ftQFkKz3jGm(b6h%h;wx67?WT$u9++Xq$`IdxQ%uO0CU2)RboN^#&u>Je(t$ z8F*Vb^F5&bx;YTkleTb|mwyoo<+F+L@VcF(j_2dE!g%NhAxCT5?QvFAz>wr~BTw;n zHZ!lpGGs@{0P=!ux1ZKNNvKYKq7dy64fN+H_2e$-w{ zzUN52tkpu5MVsaRi$J&ytq>JiaL;=Yc&##@jQSe}O#?DNv*pW~r{vM37%%M;-dYma z)I@tf35uzV9B8R)Gccf4RHGfUA5iD-P{Ce7p2fz?7_Ry1v%T^0 ztfTEo$yr!I)<}7ieOj<+jv=*2e-#5hJQp%>8 zBXyJhX62|^PJVtZ9qp%;jW>_vJPQZ&)(ldwoemq4^|zaKec@D>*Dashm>$`)(eu5n zSx!4<+9C%{MztjZ_0I@Vk{__CO6_}hG!Hjzzvp+qr~Mo%^0GUGA#~8zsNpWlFW?@1^A;g1uSexkxzs!lv;bs8j<+aA(2oMAJjtzeh9}-* zuz9*WbP#oDlN5AOT|d&QX$4i%DxVE~oWa;#(SJ_XeIgcbRBz%^svre_8S)xKO;pT3 z1=4E~)cUAf=+pf*&v+&#aRg(hU@fBgRB1ER1A$FMtk6kn$i29UP>jhzMXD#qY^Mc0 z>ayCv@|9+$1AKU*SZF&9Jnv3CRWJ_@6`h=dBVsZy9{S!WQikc6S*elT{Ga%UAkWTR zcWD@Qx_OkkP3E##eA&-}r+H?EDfJz?lt#+e>ap9IV2_JpH(fuygdZSZEYbzg9La`Od zWa7;j#$gT&^ykdfRmj>^3f&K)M21!`E+(y38fzH%u)>OYtW}F(QhliSt+Z($XVDW$ zBIE&&@CyO|WPt;$@8>M&n}yVn*fY1dtVt`=01SZtXGn^C=2VCt8Y~?`OPi%+>6*{D z;U8bZ|1mp>my=4}5H!xq5Z;6JARtLlwl`j?a~o+8Y|dAYL%OKMdBqM*=Uc&DevTP_ z!wggP(hUgVHMnYEyEaNW=Kv>MJxP4)42YzUQA_6^q1XO~%%s8Ztx$)g5uo3CO~jcM$%>6u~28lN75Ki28}v39$W z7URuB`%xM_;-ugwXl^Pm>S8WO>nTN7PIbC@dn*=UC1H4h!3CKmkcE7i)Ay95DrQjS ze&<4=XjaV-DyRx)=9{AAS~NVCU*8@DKDk?w@I+mXEP!vM;DC?390V?u&rGFk$)6hfw`T%ctI8yR>h>Xe?9$wK^sXmS`Pr?g ze=2ROZ0ndUCh=}3aV`4^zu6)KJ^g?C^7>xyy2>EY$xODi^k6q@1>CyazlqxB+_pn!xK?*y=>B4*Gz z?4yX_bJxpVrih)0*D=FQ#N->?E!2yUEQ;1pBTX15!On*wEcg5OXwF59H?-HO>G ze;aQhWU(^rdi(LQ1-o#-1XF@`rAGfd>}Mp!R(#fKru|qD2fPGXxO<~6lUbK7$i8vx z*ac@3cIw;Cj5@B9wMra40NFhGyD(6f6_tjeupKPV z_YQwc{lYnXFwKQoPOPmtnEQ)Q{D!QZ!Hu@wyBS}2Y@ScIQpKbN@$*<}3!%1^nV3KU z+Gp;$p$nX|rF@i7vv|aR+A4b!a!I>S?#QfvdF&#`650xg^AXtqCg49z7UPcWpX)x3 z6{Cd!gfXN^JoN30=T=o)7qQgM8)C~niq~};NRO*c29qM=en{<+^rb0S`dZnUBkzHfJ2W8AgaRM(cu#_%YWYl$ecBG5LY`( z^x*zbMOrU#rdIT611ef2&g_q9+gwi;G!3QM4e`(zKu@ zc{r#^Zn=Nwf&!{~+^su57`E&wnPFF2k)<%2FX@I|KE^T&jKyUFITFhU5kyVlRtD9 zsw8@rP(*8yBZZguP;j4%;ZA=I7!G(n3u!{cpuU%aIPz)Jj84<*qG4&G=6yY%W0gdBBe!XCJ*RD>Q(W&YNUzwma=k!+%tvOA-oUn%zTYDq zWiY=O-I%(JeqIhu^f(Al7t`c)t2aa@YBK;)J2j7NTxY~v;FBuaK8YKy>}5>e%js!g zme-T{UinbftZDTzt7m4G@K;26JC8sTk?_4P6jcGzOUr^VS{~g(P>E(mm;J}xKL?#l zC&??jloGJ$2zj>ssh{ZOf`Melj$eN8EK-xtz$HhNA|=EL&hp6>XdX3o_Z4=k&L~OE z6ynbX6Kid@0EJ9BxVL0_w9E^-x@aySiL15v(Y& zjuL-*`Q+2M(lCthEjc+N#hL}%GtvI22|Xy9Na^rIkPpjfN(wGUHKkU0G9cAxy(z9K z6XC4!8x%ZMkGZlnuwc{(2Z9(i&>?Dny#E$`=0VhHbvsN86e%m5LKL{>uR&zzxK6xu zVx!kE=fmIkr~(Sh*YtQZ-a@Q7I0ti^SilE8LS1EdoiOHemH!c%#w~o`g~}B_HWiD` z6ZeX|@~LQE$6>N-qY&>+V%tjHl^bU>rs?CJN#m*szC)H)b{ zd89keY#mqBN$;@6$oe#dJ#e+0vLG*RdElFf7M4hUzgN3IeDgYSIXpR9JeujI(ga}? zM%f4wD!0umg2PZT70|fTae^vvg|5dOP*qLsPtEAG89}JZ#Y%tkRBOJWY+FnOnaZkE zG9*_G6KPe%ncyN(3hka%>2-dS#vVP%ablB}yb`D_|I6PA$v|c^qLTOaW?t53UG@bF zTOIvWWPoV~ayZtfG_bSl6^T<_dDZh>S*jMyqr`lvQP2`4pv$qa>t><;ihj{FGnKQ7 zfkrIq2FKg&o1d^;_pM3N8V8A;#}6$|!&&=ZLXYw({D}$a~FGXJVe1&KYy!przTO6H}tMFp1bX(?MKe_3M#6T*IW{3CZzN*lGtA zARn|QT=J#dn(eDlwgmkk#F?$2fflT)>N0JW}fSM_2rSd7Ml%CFL9p2EQAuu z6dFUT&mDNy)NmdEe4q3FM}*?C{4mhP>!y0^xkzNk=ag`;%(fVptX$07>E(WK_!6^D zY@~=_`9ymQ&8CU6|K3 zK8X{7S*$!`>?E`Ca_aP?HR+ugo$VD2nr*4qZAp|p*$e0I5WXdt`j;cotEh)Ow6kNx zHvf@X4|IrZg2))g4JT3PoGl&~@tmJeIpV4X({1c7A7Cf7LKuUAfk2FDj6&XPDeU^! zSC29;VA>BGlF}xYS)%;_hZy<$ij(Fa;@)8Md3UtXrw@W5?&872@)4_ZpZ;PkPb(fL z)KkNqPc0PJ4ecU2Ao0>)IlFz5g}pc-R6w>w{rad{k#NLGO?Nl#Zzi5dGQ&7%nrgGu z|G2X$L5?EOWVJcJ3dQ{qNddYuGPM|+_DMmAzZ%HTgS8)6IR&M9M@VQ&J9J z>xqL`%jQ<6TI(~Fbszf|1AK?08Lr1XSk{L9YxeZzTt~NirI00`!WP}Q+O$k^nQ@fG~cx_WQbrfrv$)RQr^l;FY>}N+-t#zr> zLP9%T5(Sad@`x51jCS&HUo5X{tD%`cT?nv(0N7wH6t+PVt+9iolPzzBtBLC<3bnKN zfB8iOiMIsx4()_N|244H5t3V~)p^_F?`SRB{ZmXc8T8xHp(<{7zTZ7h#IW|UJ=%%? zh0c<6kYB)cG07uKtAAEbt9inSPA~z7$c$i^@az`cI&K%i?vVRUAI|{7genTqPu~9{ox!^zT93PS*1_k)_1fY|PJu01X`--djQcn^T-~A1Zw$ zOP%pOt^?cK5J8TnftDQlNHkoibK7VW`mKk!ooU}Ge%AHPZF<8<0FXUChzlRJbZA~K zTG1Ou->$ugQ=ZBcGR7Dpg$7R$Aer&qDLRdQrKJmfGXw7jgn|_7*{O04VG(l*wHR}F z0e2K*o*JmM#@+<@8BPCJf{lZVvM0^~A$r8N4=x@o8IMTQgc$zxSeTfvdcJR*3ciQF zHBu9HW<|YkUR^tl)sODOuG{qwo5%j5UPserNo$c{*NlVcM30`Ce#b~3DI*(UpWz;* zJ_?}8`epf)K@3O7cI?7?JbV88iQSP`j`Q6Ue$Hde^?CDCh?s|- zG!|05*!-~*TRtzSnvgYNpk5bj#;r4R)`rmstS_H)p6NMkGG{$i-ZYEt&WN+f|Jfytwbu;@9c-H@Ix!8Ex zzP(sRSa}IX;pLY^B3>^`(8$L-XAFpG(!$8f23J!!$rjs3&^yRhIi9Eq)Z4Mq=Df&+ zuUQNPm9S7H#cY$D`vGFsA9mYrR_5^z^>47(TJLeaUgu5C8syD5o4*-M<+0P1%wO2$ zwr}@1|4e4q!J_%IbtoD>4U5+iKgO^uh6BD^SeLT*O?H93rRMPga zADX$79=U0koT|w}sT5)!GFrbRN{acTP!5IU$lwx63bv4DUCcXQDxG>DyH8DoT{B)V zY&23DCRJL$F(f8>GklaNOmO1{uSF9Dw2W~x5yVdZnuK@Mdt4oDpA7%NNT_%m;Kw`fJIrDPQ z>bsZ3bFmVy7oXnMy0)=~~t>bLrqEQ)H)t6S5l{FRS7#O&UEpCtVvVcoGsRrbG|CQpM->M7@Dv->!M&;p!z$~ z@xi-8AB$Fl$twnZZQi2kk$6<=J}#LJbI3ZxO{B~Vp9qSJ3|<7x0VKt^TMG=jxr%q zi%08g&z!DE)X2i)NgS>AN9-ig=tp$|E(GMC%_(~wa-$7`(W;0nBQ9?>VF^}oY2xWf zNJxH@A=WRI_kY4_QIk%RInk62w`sU={(+TL4)>1oY?{3O0h2oij~*>! zo{ig{0S828em~%AJ<#~6+y;8o=2ZMgto%>^ggBITi`UsaGMv)wnQ-9^RAHKQXw}X@ zon_~fpS?N0@Vd{|dpkWh%cic&Z;q5o|9ajpO$?F<45T8H`KXV2=7IkR z=i1d!Ipod|k5Lqu^OH$`dty?3Szg#?7IHXyTYNJ}_CoYDpZ!AE@%Bn0bAZSB zdYrP-0SnHfT5MuCZj34Y+}H=xbIUK2dwd^P$tdynL$)Vv7XlTWkN9)`uoXWq{_sUf zU(qZTnT?za*=oLNrHFXlGM~;L=di7E@fZ1I<{~`QAfi^sN90UBIl7;+Yn{o+kp`q6 z6>7D?eRehT<`H|I#cTPrXkNL`# z$~U5bQsqB+HxYR=C;Dvn-ou-U^LxKk@NghP6YHJSS_N<`(vj2TvV!Qfb$MPRg>75JPd(#_2bMyMaX4bGJ;og7J-`CycoqE=xKWMmd-vm>XTU!rP z$9eyBX^+u9R<2&y8)JD`>pjVc$x#t3KuuWh#9ki|O;s16CoIcLnx==3SgCCzB(8W0D!chDZ>s&kf zw}r#aaPMSg`{Q{!k8s)_7l+O)y_nJ6V+tM8pX%`eJ#+#?l(OMtzao~B>x*k`*-n(x z?)dHA;y>YfyOFF!JQAw_TShMZBgh#UjY0G(wy>f@Q{f9JB{wqe&#(7izqdGjQgG)k zMi(De_j!cmB{gHuj1w)EE~kYA79}Yz{d2}r?u8=0wJ%x*0H=o2^p7*jr`dN2bmdv`Cq1-#H3U6 zqekW;>EpO?|BtG743D&3qJ?92Y&#R%b|#oiY}@RZlT6HsZQHipu`#hG6I);QyZ3v} z`TqBxzUryEt5&UA%XG!PWIq4t)x_((X}NTloMa|$kXHC_gf;a@`Ar$2X_%EsNIms;*+g)!2 zg2|vSl~bcQU~*k)B1(JznT{zSLS6)R20jc5YVWD0^Ewc0&)HSsY%#Mxxx`{)h7Irc zfMN&OlBZEJM2cDY=EBc!1SH;8+>;H@sSDn;N$~J?-{cZc8=HK%VIKRdxgZ_y zqX<=Hdfldv;1N~~dGhW3DcQq_dzKfChjJ1^Up+nK7QR91Wlf8KywsjqYr2~sJ9Hh| zrt=?@w9zVbkdb^&w3u|B>W$>gYXM)aAOWmvwf&z2ug7N#r0;H9$*l7%r#OF+qKfcm zY)ztHSzYvBte5v7q95{3>+p1wA*345#54t|jdQ{OS^oZSUvk#;C$lc!*=T>Mn(fqy zQHc5ruh&@tca6{4z;aDa<#z{$f`qe)sq1mNZNec>KH2fYgcQ#Xx`{YM4elL2MeUZx zJ8t{kU=3Od2zdS_uP~Jig~TNxZ%a#--BGOBXn5uzGllBwV8LP2^YS1?tn zGp6e@96v`-03Z5%f3P$nkppq6F@|yXrZ-=7!`yNC*kA(FXiQll;hd)ucN1A{q35dI zoVfDDg{WKihVbggk|FFi?L}c<+MaNAVBQO6;T6lvgSmo{LI!my^tf48lKoo9Ol6z; zYJG?J^3YYq*!@F_ox}p514tZ`o@G31{>Gv^nS+Ao3S8i|Y6<1Qe;8VUh9SN=2>H9+ zWB65nqWeZb-R=FHtLe^#Wj%C6Vw1cCMq$3X^cyc!cmGVyA~TXv{8W*DwcP>dPqWun zB;9bB`oZ)k*}Hp~_CFbEZ?c>~y!FRPhzh>FiSAX=vHK{EqL5ST0f1L0UGvQ^?@7>i z)wcV59Q@1wK2rY_nH)M?4DKN?K%5E)@q~10d1Tw?h(M#~Z6`-xcnajeP;s~DD$vnB zmQY|;k7qYmnxZDz!N3+$C!2}EPTi&q+RUv@f~lEHbwAG4FQ~UvT*rPYcLg+gBt*VKieWoDhMVg`1`|BZvcR0`#`eM!F;;XWV1|Zi!aHSOB$h02S^jGB5GU+ zo>f$Bg~4Z|wb3CPko+a1L;8E_0aw$h+L=Z)vYQ24;`BD9o9BXPfOnj(^zbuMy_Z8z@V-}z8hAfPZlfK1g2>!OjTB|| zGmdCRzGhm?=hNjT9pIwI^MJ3yYHJ&9{ZN ztlEbRt9NtFlTK)wpv>69v4`MO`?TeM;URp7L-jT$UVexCCZzFy@u0UxCZ&-_Y(A~U zD+mjYaHg1^hnUQM~Tj zd13UVk~>CrFPB&LN3qqa^6NiC@xj?ULP9^C!F7z z4XD;_6MG=ZWG!uN)cOKY8@WBH^5!7cE9N3u_h~NF_m`MhOqT+f&EG&X7OPzA8mRJ? z+S8RV}NIFo9bD^AUn!<*3?;p$Z5ERft=Q$gn@q)1l%1xKgUux-NJ zLpKBL%6MFc$O$}Wx4qYZEJ*y%~c^>0eC#zOSh6r5kUnAiA+#)18%V)1J#p1$OJNVi|n_$ z-Kl@UTBR=^LB5=aWN$404Sj7>@id9i<<7dIy1;??0=T9Qk^}H~WGEj5CPDC5sehRV z!?ro@XWZRJ@{oKMYRW{Wm{$%PsdDSTg-_FKPRKjA)ja;aKL=5j<(+E%hu)z1*RcNa z)ps_~KWO2@6j`5hM;R*`i3S0bxH+?pnSP; zoT(NwZM~bixe!jB&~AhPH8QNHb`b^F3EgdTn=NLUmsbkR`&Ur{`Yw`%J zR}r(o_3ES~J9%69@sa`@4iof9L^elL`>Baiu3E~LzY6TDS&sLtPs#R`x(82UyyWLN zMlRbvmjRDimcbp)bu*$;n!HSuE4>}smk%sMVbV)Z<4M8%6Gr4$LNOA$JtdHl%C9=U zr6&R#K}=#`<1>o7M8^DQ7T9f=IzfrS2-l%%TG#lKZ^^Ss2hmJ_veY7(EOfKmLY1v=^;|M-54Q9{t`Z5pHiZJFcu%-8i^vYp4@BCNKvBFRwxOT}#n7nIsJ-|ZI)=YR*+C|U~Cf~d-7XjVh&&bkv3ldVR z%zR)_N}sJaH)JP!+ui=K=kejE18Yz#I7{y$47cBwREA~cRclokUIWser6nfY8l91w zc}kW2;*Uvcf~foc#1o|=n~`cilv=tDq-Luxw*L%9|6@0%snZ@%p88h5phYdvcRv2+ z-~L!CiY4~*a7{AMH7J?4nK1R@bS@Y$Ya?b2bKPY?0yi;Jd&H`I%guEB5qU91uU8T| zDhUIF>QuS$T;5OItAXWew&-exb#g@}y#PJ7h^`WmxxsZoH{>UKt;1Aw5F#`oRDcr# znk9MPA(?dny`v;byN{i16q;o#vW-ExAu#RceRUm=6J4W%;~2o;|#$2=8c0?(H0v?nPLV#K{Z_8v~sN^*AcyBL=avfRGDiKfIb8|23d zzx@=g6SrZyHu5zvrG@?ts198|gO48ZO%hD1wDNin5EFWrOQ}HwlE&eOP@i!QtQ)mV z=PPd(T2})OafK!+=QuC8e?JJDibTR!KRD`6Hb?}BPJihi$qoComW?BFGLlHh(FxIJ zWN@`~sqR208iQ~_&>*nHT(=<)p&f-5PuA8*?1=h-TNBOIpO{xGAx-5E<98zb$QGm^ zyZt^)!n!eCgv1_!E_9eD5=Su=j_%1=6;b8(ef^~1fF*ZM!)Q^mt!XDEt)Vx`hojZ4 zy&Hme+jXClwWY*-lyE%1DboTfGD&-7OqTNlhDUl>k3bB_##x4QBmS|oHqWv>B z!A4Zo%LAP>{JPx8TU~d3JDZU&DJ8SFr?w5P&0!iT%QC>$u>_^Wk}jG^@ls=5+>Rub zcGs5p0x^#RX&)8+Q%b`(stzvcb-|w_3-%t_^rC~MWl3GFuq@(kc#z=)Fo`v6OvU_| zET&aB@Oq8Q#+6sGpRS(AJs%hEHfi%RO9Us*gs~wD#)@JS2I;1ljXJNb;+y&!s?}GI zB8kjnsF4@4Lh9Ki5ZYNWYloi}dihU;z@+(y?PsC4DT8OKb{_t`DK9EXkDB#jCK6B( zEJ|sZb2?i<;}Z{Ts0ls^aYR0(;kWu!_1BPmnqs#WY1q&afE?8jK;`W{pgoIg;D?4d z>fwSR+)lhw0T`skdg0;p$*^+>h`Nkn|hY*5;Wf?{#`b|vx zz`JeDbG9sYAXP~uxO_ubTh8g-MJU7)10J`JeK%70fi7#~C2`AR4+*@43zGgG2WlK* zyVQY40kuO3Iy%3I6!Reuw_zoOthO6P;QMqzCQ5HlC-+Ud)7v*NbA(xJyss06qo~+n z2yPxLB?|sDN)V2#y44hXJv@0~EqYa4b1}Ffr~Z7=)>fc^bBjPL5qi$JB>bgQPnM#< zaHOtQvePye)`J<;WKG!>S;*D7_8nHw&-)xHAEEdzuEELrWKh$Z8pvI6cxOhv`<|=< zUef;GkK;c)YG}q18oCh|v=n(E!cIIu`+qi}T`mt@109jDDJ83?*L3TIHFHxt#b2ce zLh7)bhiUE_K5=6n%hLEPw{A>#!XoQd^2O41zwttVm2+r<>~;u` zFf-4VxIzm;mUan|CcADPBo?wLojhohP#iDsqTFCA&8@Kl}d&G-n@=i z6pRK#DycsZQXj9eF6W)C6TS?mD%EK6Sqg(2`2i<5{_hpH&jj0f?%TexAQN)+4~VeT zoEt>=;E*|}66sEy`A_Bq=XpeUvdGAMb;vmF9CTqHCFGn{ne(b+rc*QLm56y3+W}1y zuPn~0GX;Kh?7lxT^sy%i%6C;lQNp4*<8-W3A91qtdtAq^a=#BZ#RertMuO+H7=3z! zVyrqCmQtf(=-Kv`qkb;@elT6cZbr@kMn;h!F>~`lThw(cVah5$qgA5`^)o}WrvVLN zm}>mvf5)AFi1nU~tlWuLq7bdl+^&lRtU)TBq+4ckaQ)$malXyzGQDT4=9+ zm&fl)rN4DU>gxlZli8v!FPvoTc(B@ev#3jMuMwH&EKn4Vr?b3o=UkY>s@|QOexEP> z=L&(XNf&diod~%>UZY08<_sPr_6@S{M^?*8 zivLx`!e3xv>qs54_b23uJ8vtPS1_B(H9_TC=afF7tBS&_#sam!4H;5t+LRYL&(7EW zmkqA*=_-{^|GPfQsr=~7p*8GK`<)7b)}v7de0m=f2+H!So+4)prHe(k7YrfugzP{p z1-t7Cbqx3QR`fbaeG{M+j}sZpiftTfvRte=G!G^p9J_(4id)6&Z(0WMX^!m8;N!?) z&Y9I{8eqzVJYtqz!EmW_z4c0(xW~e-k09F-Uq)^I@TmDo(YLo)zBC^UfG(y6%5J3Qlz-&*AeR+5%MyKrv^UyK$;gn@DLfwR7s*ir63Y%(fUy?Y6N5Ni0b7R->oAnYWgE(1h@ zQQv7o|M4?!zg#HgUv}yLh|SJ8*7cR6MB6uA0?gt}G5l0!K{_bH1j4!kJld2u1+MKp z+QX4SY61k+32I*y@>#}|NsK^}zYr)z%1S5rS+5l@RS)^3Cj(M!a^;r&lUQ{e-N*ae zH5XVy$yecZ&HR)Sjqi{}KCvu#w?_}UKihdcNPN1fHJ0cMC*wsW$J;(<8Mg~f1dZBN zqmZpmKm0vnGJ_$IO#{oCQ*CUrJK0-xf zrc!%BOq*@qDSvY^=aTj)pqV^HXRT?^e;E-gV@oGe5u|x*Gh;6h-O>Ueq03&=D{g4* z)NMFJ4=Nu1MiaFIJ$ic;E!F4>df^Mr(8%#r`K(AxSHv`kruDI#X^;#dYu?+~DQGH1 z1;Cn9lD|WnRCB>zbt!{@O;~9OP9~JRAkSaRjz?#;)@Fg4aIH`J(t%CPL@38aI6Yrm zgx-F>j|o39I??~6g{j^S1WD@Hz6oCW0)6jb-gs&X>R@vunYf{ zL`Hoc#&ij-(Ytg$3T? zV%9Wh(x*=z-hV%w2!DXyF-~3Als)!14bA>y9=J^-(P^z1Y4Rsy4?o!=C-`dDq$C#p z8mBsoJ+njH^a^{p+(OwZ!SQ>$n2rBIpCZq0utCspoH)&V*ja;&v~KCCJ7YOxGP8U1 z#1ss$lI+Zj$Vs?#l5C(lpy0GSGXgI?S3XELKFS(9|$k>#rqPwgCfQST4?jsEXvZ=8{JR%Bq^<$GTf?5 zYZj4NKoTV665V|@@)2mi`5Z+O`*@-FfZNkAtId{VV@68?SDMcoWZAJNr`TXM@e>{1 zb&-d1Z91ARvn@W2wYSuR@!Cb&Cu`;zxA`Uh4Z6U0*#T{mB*iBN1fqu6wY_ zQm_>hu0=r}61ENvv(AH9J$A|K1kj~g_< zGtwf==f&geDDaIbW{-zYw!xIp%*i3aflrAzScbSmE4`g>wT&sYh>f9zR}Dg~=qW<~ zTyYJLzA8~owS_AkRswHUvd+Z0P!~No3hI^4$|>QVuasfZ*z7Q@O}byLb$;*2Y#giB z)Uu7=U&O%g>E?E}gJiaf|KS9&ri+eUCZHlP@{ix>C3?yDsoqL4Cf1+Rq_f>tI7@AZ z!+62qX6_LsMh|Kmgn;nN-IoWF@w3=aacyP|W9(foKs1@{f{yCtyEYlgL+*E`wQDdA zExL0T(n~g6N47 z!itfj=sdXq2fd(<8TK?^ObgFslTipg0&aDIsk3+WWH@aCl2Z5}3q_3ak4z1H&+wR7 z~y91faBkzR7|3I z-4{(|BS#(rLisztMGogLpDi_jxY_j_B?%o5R^zBljM42#4a+Bpg9IuVRlr3wxWg?8 zu*N_|d0xWryyOtWQ55<1qLVh=g(jsF z>4nj&OK+ss#Q$@Z=6^RZpBVe+Zl>o@@sKTR-we(1e3hx9UN}uJ>PzIw6`PiRMER|< zb|I`xIC0}Ts6yiW88#PV8q9E z4z!d8n!=QSqDt19$vRc$)w_M_k%*7z_eWG_#Nu+J(%4B5-_D+X3Uz$o`97s-9Ir(a z+@4=_D}Xv51%eX_7K)0g}ZFC+r9bO17Eu9Sv9H|kEF@VefEE@pj%5|W4VRU6c5 zTSK9RRU3f~=-fg9fDNdRiH}{985rc~*L#(B=0@s!Z$WML8LA9UqF59tXXPyv0HvF()E)Pb8S8)uEKSAus?e&pfcN*-zp^u&Xsm^a`yHOAv~SKdlH!9!a{Pq%xbjZAmr}M5 zb0uv!h|t6Zn~%^$(*IWd|9d7%z=r8mN0Ajn`x)f;CF78{J0AYd4(xATk>}`X*Bp(^ z`>-GCIHV0%71H=N()KH%$*QH97eX_lwMFd-E-)!+0^eQUq?O#hszxY}S(ddGSaHqc_IoYfSxi{Mi?a2tOP!&%^p`TOpP4D3ngs)a~wx((k?g z5i_5Bwb#)lM{}IImDG#Fql=H^fJGD4EDe;~z|# z8XeT_5P4=N2rL5#Bp2YI0lk&et0U4v>>iZ;z&l*ipshSG49uQYzN8z#v0QyqBe~!8 zY9$OG>;C0hEUx3q!)NJtmfB!FW}zlpiy;P|YE!Q;wv*{uYBSvR8x>}5MBG(|Tt$vL zS(0#);5ZMJda4KTx?T4&VA%>gw*B}=l;S^o+)obN(s#s99n`wEn(=z95WkQ6v8t<~ z+gHZ~sS%}g-L=9o(R2%Orc8cMrJs`7?Pgl7@wCNgV`V@?W-V&MVy^}4nDuSeGs;J` z3%%Z{bw+Ob`NJ?Nj^zS6`XXPn<5EVlB--FoW6F?i;_H^oxIEfJv7THuAhby5Mp0;k z&h0>g`$^jl`|X#HXM$UI|GN}QVMJbaMK9GYtizGVCji~77bEoR;u-hJszpxG=R~Iw z@o{HPAt|_kzjqC*C?aP-sF66t+V#|RF= zb!Uo^n=(|CajnuyfUj^YGtZVQ$%H0e6O1Z?3!*V$439{c7yFJud+Mp13Zdw%OqYxE zqiDKn?5f`r5~}YPtD}GtHrX)cYr167pCd_VL^UZ~KUjtx1i+`5nJukd1OaaT<=LkJ z_}v8XWqRb+|6|Ev#)q{?-9qGyCgGJm)s1u>$q=(y9Nr6gL-~4SvJUz@hEHl4rl6s^-wxbaMcVj1JuIxVDo!9nF988DG2`V?@LsKP%gtECvsVyf7t#xK>}J~AlLU+ za2?OYhD!<(qB`yQM)HQjn=g49x*+Mh2m!!W`&Z`9ew*)w(8NR(t|5QpX|Nksnz2V- ziA6B@Kd{3;jbjPwc&avCPUJ)Knc5~liUZ1*iWAYq;ZP;C*oJaksi$I+A|?K4Zli2! zKQ&CgSFH{T^;qX@<;h#0wB}ZKj$D~}^7?GUuX)lVg_3B$N$uR2@T{h8esLazWd!f?|NOP1E+vw{6v>AhnIL0x0idO z=T|vqdPMh@Pn{#lF-Q4NZ5q~~l!S6OkzVb{SO>10ai4kfw%_hMbLOliV*?o0D9=Ej zJp{Xa&R`#bNV9%5Us;W6U8S$|t7fN@0}GHZa(I8QmGN9yOh)g1aGRN}i8XbQJL0=o zqd}tB?t=5?L4A2a{~2uuW$r=HsM!5FhgiSufB)S-bj$OIF+^l5bWd&?hg81~#9t((-%e=NQO=xS(HW;nT zi=NH&*Tvw+uocc+RqqCN7+3jdT_)-98Ub?I3UX`YMF zER5zwr!VByFu;5Ls`Ko7X-)dcxc|Q_pZRXOc@uTD?mhLY6X&%I1}3R9TS0xSvn#&H zP}+ko8aeH=De}qsl`07$de?y3><{vSI6P_>RfXgLHQMr26;K%OvnTSRxJ7lv(Ntqa z{z?@600NCLlm2=|;@ej(1R!oLJqt#YOc^u=;-q_#BgR5+A9N?kQ3<-7(V;GTjv&V` z*6)0=N6!6k=1fJ-2ZSC2C=IE2ca8@)Y9SK?QZ*kk?#kzr*xU|=)aItf@FGY-1}j}b(@aQJoVE9s@b2TKi>S! zehVb156mDg+G@@eBeN~)8kh|{W%rWlqIRUZV^G9#AxXo&ddKd>){q4)_w}JgOPOeY z0cb12%QR6bFqs2cGw4+m8u1Z8aiwlNM~4kC#{-!#!UV&Gf@rA4dA4S4H0i6gBf%UWJko>za#BA-{&{KfkqeY|b1JIqgT3rmBbzt5ArUAdn$)%e6LWi*xQ@u-ij?wb67NZ$AOX0VWo zqwn#<9H53mEVNMm%PSTPV*eAPnaPF|xqf5veZBf}yX8$X6Ui+2{XzImby7GvRJt*3 zx=q&oVC4#hZ9pD-TMVW;6opvPf`t;L`5k~caT2xVf5zx_>SB<4lVQh-DLO&`q!0(sBCLtmm!GI(0O^4!~*_sQE7+siO~g2&pN z4Gnz~cXO+Tb?V(<26GXm{@)wl1c=$E!wHad+!Wc@&{Cf3qRljNv`L#$j1Gi=oFRn& zOX+`_dvhfuQ~Lw<)5gC!+YZbLW?$&Ix+=%pgH@X67?9@ZFmNm43=eD}2N!%a&pm5$ zZFQWq@r=<|8Hx$aiZa0@x99AmuC>{u4=pQv&~X#mzThgD7SZs5)yNtStdX>n|&0sprIb<<*8<-wjD^gZI7Za+r<$*g?EK@oqVOJdp!#kRS#a87SYj zthv^aP}NP+Gyw_piS+-_=7NtB#h~o7ru_OIpG4OIHx9d^yO%QpHS%wfJOl?6?e2( zYv3xiT}>@RpC(lFJ49uI#OnGdd)Yprvo1ezGyoNbIwR}{cTvmsJ2+B^xF@kTbeqHJhAImX^j!}fSdA5yzvd$pakU-s8H49qzi3c(>tg%2dWBQvd)<{t@iZ_%E{FG?gHZlnSXP9WiPV2r42j|Ty78DxASY>#gZf15saxol%P|bUO=&k-aqywmM&@%8MZtb99T}gO+`GkVeBaIZv^FpT zAWDI_esiYcCtfnhL8ks3`D50SL04g1tOJDC!ydvnPnkyZC4GH?<_!Vuu!7*|jq>KH zIf3zm7l>^pLXc5xU!6?vk#01`wOB~uxKhgo4AqB@&{;xkeqEpSlJ32aiF>`LSq!Za zyJ*V^y<22=_xXE^e5`+53(GA89Kp=RuUteIQqAJ#eR@dFrjpr?qQabcHj=xwi`N~E zv}um~;z-^l%%{2@`0jwnlRk6cRuZ|x{ezVq111O)(h|b7yVSS{=2f}E^iBZRZwV~< zY{cEXmw`Pd>D{x+qFY|mr4pQR$v$k(tJI>;xB`o{*}0#143m36;E_ONAz1g%`3x{?s=ML~MY|HLgaaZqz+ess}f|Xa$kA^QijXTKgo;iXKcSxzx9Ls!utxoX|>1| z1c|3jTtD8`o5^gtMJjwbnkzqU;ph1C#E~(%-?Yb5kb5>eHt@2KqTQ&=h&!X&>YRPm zwo*A}7rJn#=BM!kkKg3qvXqI^tz-90d)ux_Bo|`4 z_YwPZ-@1cL2tGt6zmL#Nd>Ai(sUcXsTggyOUjQ%Pz8+~Y>HepXLSwF3RPAB>k56kT zjDy7E4zIuTD|AN0=8G^*&t`0Wjh@ospn$XIqQ($5pFUE^C&S@@pq3wc0&D0hkjC0r zk&T-IV(BU7_Y?KS20F5-KdMv-oN$l(K_}S=>I6Vs$x4Qah;-ZkGdKNLXQav!uxP5) z&p7K6!NHRy1lLB0a0<&y{;=5dO$24t6# zbGswbX_&@<-PTl%-5ebs0dQ?>3>aK!V8RJ>*ZV!eZH2)*|LqQn@Mq#m_w?7g=2UNX zih9=P$wP{vQ8kXK_zBzLlMv1CTv1uIKo&BjxSXPREg z`bo|uBrE>#N_!3YrL$nyN9>6jyGXW8;SgZj#)F>>XlBX@N;IMk@Eb)1s6=PhsH9T^ zfgbY9F;cg|N7-fpa!_mPkyKgR{vr>!qc8>Cy_X&{MSFV`eBD0L$jo|0TqJUl4oL;t zxI``VOmSy-FFsdku8^aO%BZud;fTwC>el)t&-a2&a05Z{wu`rFE@TK1>df$ z3R&=dHnxI6cjWAzT5c_hCo8a=Wvqck*0=i9FutIhOiYsStnNyye%MN)v{NpPT>f5Dg(IApoJ@a- z-RQfjv3O0R{pB`jUAPd`^@{I`>!a^~^K!ev&V91;_Q{VqVI%oMQn6f&J+Nfjq$rC= zg1UyChdgDDaSGJFCZ3+2-oJPxf+5w)UI=Z}WH{E@e#Z9w`(#nJem0wlf}#+4wi*}$ zYog66-*m|@o=XC?aB_z??wm$JfXuJ_W>FF5_qfCl+$+L)+Gq~T9c&x7b8b(a5LmXx z7~>rrcdCy2rB0{mW&{J_LEXqNwSVJn&Cc=#5O{Wwp6&NcJ=7^Ef+o9gFrh)aR_Vc? zlkNTF`B|Kg@TP~2HJI(gvYD6N`Y(2jy=1MFmzL+il9hVpu~VHyHc%{=YMV^t9DZn4 zleAPFv!DA}Y9l%I)R9i^2gAo*S(uK246gDRqdB`4BWT8#vl+Xx(9AQORlQrJkUsDC z{-2weFZ!uu1Bpo>Ni!ZT`SpgWPJ#m`W~MneZS$&1y1>p!pAj56ku3VdFji?nzv2m{ z`MLv9BIDnIYCavCMGA0trE;6KjI#Lszq-^@xO8W5JY_TBkORVL9FnqmRhWp1+FQPf z5yKk31ZX-G=+92pU3E}OJGT*z|1t~qsf&^Ra)a?a9qKSA{Cq8(``!OhXtUKVt#hV; zVePA>v$k1N1<53T?sHiC;>pZVu<~gx%z+H`sS0Ki1c#*+N1A>>vHO;1sL<=NNxPrV z*NmY=>XMS(pDTyUXrUrPLQoX6Ynr)YA@6fDOwb7>he@s_@Hi!SOvR!Mg<&;{ks+ z*1R+BocspZFTlOkl;b16cZ;D_R?9ou{WEw{J(k`qJpsd7IW(#gyNfP9pH(m|L6l;n zKhiWtO%O1bY*k@!=1awdZR*|1kjBGrasJ!^OBK+XH7ZtA3 zysXxcsJ*N1-8V$f4j()I;-M)uGeIxzWqkY;60WXZdg=1hWgrm0uy6{+aAopO1$MC} zZGc^n(9^jhCUY;yl&$Y~(w~RdeO1*4@GV+~mtSp26!9N9UED8C=k3$4!|3su#^CCBawZ*R9OE}EA0r;1tpUWXrHo=0ArY@-2Q z3LAAy(+XDO0q(6IQTiV5e4B0lvGp6%yf0U=e&oK!AHUsuzEQkyaUKR{ReNOkD!n-B zH|HRBnf+qtv|^eD#{fGMPgUu8J_vLD4vhgldH2JUJ?2`BHeaI;yBgN^?{goRjxTPI z0K6rnhpRcE={LT1eU@(IZzzLnZZ|>i40rS*nqjD9Vn5-~K24RwKKx0|8FzK65+Ct* zTjH*6jP#Zho~~^t8t<@=)-a}3Lgh*ET;vdhq0O|XU$5{c%w#iP!!j51eg86i3O#~> z4O;RPpIFN7SxRUnstoZ%07|8JUtFdGpWqCU3=)GU^WyyqM%Ou-bKv!He8rg%%;Qx$ zoTa0_HkU-8%UZO6K2ng;ts_Fp=fnoBon-x=`cO{z{VyJlEk6?VJFf(?h)J$kv#(!x zsZJIMyaAVzEkgK1HxODfEmuiy0sdAIBb~<^B z*2u;|>tca%`=iMbhN%1dBxEZ0UfcnIkM804rLT~17CgnNC&Q(uP%#3RT;jh06T#lC zVSk3q1viC1%Hb6zx!O}#!d#bZ+G0Fgw4cRXFI=Pj(i_xFhtUfB8jI_dU@f^Mw-t63 z;{G@+=g1ZXq)Yzm$yI2?mH+9FS?r>)rqmA?+A|74D2^)&Q)WbCxzza<_Ss12L(j`2 zMHfyEcNcDUHh>gI6Q4N}e+f4(VTtY5UisF$Xr2-%ZS86*4Yl!(Lpuoh#p?6FK%7&m z@MSPt4w6DC+T!V6=W(7~27n(Rl%tX&)RLoO>bN3P<4-K=R)c54<41AivTPNFbkKiUmv}b7o&jLDpN;>>FLwh zo&N6vxhQ6NvN@G$er@r z@!4G1cmK_<&!~ZqioGg}Olq&MXR`u|#(6zIV}{+++@f7oJvlyfFqi0kX5FQyB4|Cj zkHlH0G+41%n-VK;EK@?YyuJ8B{W`V~PtA)oPZk|dcJL|?31hr(1PBtfA;N{O<>{+A z#VWF!bY#i3=E-+%t7RW*S5iQ32Fx;#r+`G$P6eBVj@(X(2C!r)gYS(+BnMdrEwq|$ zA8&=;es7Y@2)|_c%cA566!d&#Z09~*N0GzCc-D|i^3ikE3nx;GQ9c~GSen#! zh%@?cC2}%8;e$8Ue!w64UA?>C-&=mHvUlJ6_}53FC(2&8aaHT0TjPaDv?x}qQj#J_ zUI#sFm9*OqQaO!ZKJJeRy?y`K`}n*=6v$7}_m19rTw5;ddgz_j4C139PM0-Ljeg?c z9wx$`1Tz3*(_DNJV%f%k0doXW& zWTMT&e*Oq~aLvzPH0CGq#rrCpU~*4*Ov{K6c6^tj`#++osmmtzU7^ z#y;<6cIvd4Udi@t+}~zE0_s6na|m&sGmdbwEfKq+&p3^lGglNr?m>0@ zGm+33F>2yU*b^>9O~8jMJufd05oSR3+|De#-9^-Ksu3WBijCjKozxIp(n3!wpLsq= z3+^}NO_7h%TpQc2uSB|q&tI&!p@*LDAFsks6kd;GdOFjiU`h7hXtO|g$n-kTnwXZ8 z4Y};UeX9XfY=l~JIa`@6o0}b!Tn`CZjO}-QBfz&)&IoBI*uZA_89Fm~gNboXjmf1r zez$M)C#ugwY%sgRA2 zsTF6(bbxELuyf6e+x6zX)z z&?o5rYNj$%niWqhnGdCQz{O}T=k<6=rq>RXiIOe%e!%rYNb`qr!2p;IyNG-@u^lt4 zHfkZ6w{6S+F4PXnO_<$EIs;yBpiQZlG#=gzWwIyA?Ye;VcFAcBhR;^YYQudK|20la zfJ7q~`YE=P=3nfQfm5xQ*UVIQc&0-D5Ebts&M~htYu4OUFBNR!3Zx?+Abs5+=#ey; z455E|0m^qr0XEq|`7Bh2=RdR|nB7nW8+Iqpr zWHI|Az{SYc_j{(*pY_^c3ovcwCE&#v5ubkcT!lt<$?8ewy_>rXmi9t5<+N3s?zqcs zZ1|?H9ae3==B#xS`Vbr)9wvi$L{6Vwe*|<65HYR>{eHVyNT6#P!~}bY&~N0t>R#(XJ`%zb(f)|MB$ATA& z|KUqYHlg6=rkA}%jco<((Sc58FNz1Kt)8V=r+_owi*k?J*f9eC2kZ7BG>yuy_-oEv z>^^J31G}Nyi*78>^kt z)V3WEc2u^IFP$tJDL@fkdg#E}PIR=l-ETjNOE!W6G1DqTNlW9_|NSIqF8XZwcvy~E z?jvO`iN;{rpjGtKq7^p}cbX%*xC4_F45^+h`ipoX3>)gz-IP&{@cv${uWx`zFZuLD zn^goWwFs)Oi*s-mlK7%ew2rH6IKQ&RPwl{PP5@I@N9n(5(=|-F^GqK(~eO&$7t~Bx-&BFpDzO$_ z8AxsZ9zi!_yb&Kx|9o=(DIHehlcc}a&2$j{M4II9gljK(6<8$zX725+bHB_X9@5<3 zub}5X0%m!I9BE~4cLi<<3Df%WKs=Z8o^dgI@jmS^Z)p*V3_8RP^XQ=)JKzH!r`B0V zy`}-7uPTZKicw83N$*)P~p3EJ9`Fk_QVY+vFfye!VSi9l4D?t-%V z)BZ79m+Kjk*A+>(NX26MF#lwenH3&#@>N0RFnue1_FUgA+4&z^c&NT($XWpOW~c@5NW44=eP*P`Up($R7wa$+#V(N4Jw8jgj-dr?}Bqvt)RTF z;if^d4KK-{XF*(;*UjMXTsTsldVMLbuxMd2V2S`{`m#wLY>4%`KhT@X{|Dd#t z)jztnk;^X%TlfPlbj=W&_ z{JCorF^)N_SF;eVkRFj~yV40*S`(dXMU**ML#v7QQHldr{Zzys!ulnkb>gqQ(WX`^ z;~A{yMr&MU7M7L10oih_isJlyy0S{d=|OOlA|4bjyD3!l^*M<}dJ*7wO8f6RWvyZ9_fkS_yV zA$d+5Ch~EyK5=jO_tAkDnF#y=z$^$1ztq@Iq#g|UcbF)Mp9LG>Nk?+!#<|(|k;cg1>iA*wp22t@;j zg046eQUlH@QTu7jg9o3p^8i5%KL`R4g|*ddD0wxIphhG$kcWp$zbsn8S3s$CT_jos z(}PCpU%W;b)sg_j9>^NjqEUiWB*Bb%k#b&Htq~+8$o=_|ao^zy<`?}EYPsQ8g8p9V zE6l01I2z0%FN++)6nBpE#kJGi4DoV$irD*Ie0}P%e>^67LV^!Wc$T0hDjIq^dx|&XZ+7> zAf7SPI`Hbl%T8VnU_lJqf>`)(JruUV1Y(GJeSAZ+(4&V?!phNUwMVi|#%-yaK6d-Zgn%N)A9Oyz7Nw zmd5H>qBzot%v+7_Yd2&1YEuafe7OiHdDlv^I*by37oZos2YjHtm{BnOyv{$or3L-x z!x#1PVrnU7Bk^+#+M@7H#rEOr5=WLS{9@ffu1o!^OuL&n&7lFg%7D zhz7TDSqg-gf_W&-Ep*ZiO&z*(Bj?pOzvgUnc%?>Cqu~_8?_qQ7W&DnQFO?G7nW?yn zQ|}rAvKDo_!|q4!bR&%X6i}x4G?Z2L@Y@1G`Oj@96VsIIXMztCzVa!)_`($&b=DoBh;=?Vy zg+G&W=%t8aEu0tF^XR~_K76&wsbaf)Dntd5zDTC}EKIvsI(&U8)juj|6VJR+%m%)$67@w63YziP=vc zvA7uA(i`6O+=W2Z-D6o0q z87`*bMq59u%_n0DO#Fb#WjDc_uYE>Ty8#M?4mOmIy#SV*;N3@sSyp~LoadWo47O3t zW#PV`;g--;h6Yw#1&G1Kj1q#6Id~|ueQNJ7%I>9Dd=Z#@ltvtUl+KJqL)X`25pvkI z@4Eqpk?NZ^$IsWj^FA5A*T`Q5X#bBJg^<}xRid34J!JFY32xfFSoM`WiWDzO<5eh} zQ<;==c8)(=$2`x!^V_YpK3?u*y00&%WfI8tZ(r^_?lZ{CtjMI)^|yAQ)=qzHGi~+f zpfAkm9e~WGckE{*-}O}3Fj_%LqJ;m_2`4q{kw{6VBh+S9Ea#j`Q3yM%bsSx6BXs63 z21RMjf);i}YU*SvC|zOFpfS3_jv5#mO;y5*0kFX++Od{<*gxj1ko_j0HV4H75AXvS zj-3|LUe1ge;ts~Ed%HbU;J&;>RJEOwaf7wRw$u-MNvaP+JjHYqAqbSWx!ynIxBuaa z%EW?8zjQDnrN)FgD~>$&AfSQ?*2^G~HUP;ied&!U7;g^^(0}*Cws5AzX8-x`zbpq; z?N6U&$rJ4Ueh&Z)YwKrT!PLG2xpvPakxZw$Z~&ZxW6{EvC6^1+`Y`IXmR*j{o_)Wn z>*rsgM0`Tpz_=~XekiGd%qd=>zP|Pi8bbq$UWm_(6#ujONI`KRvSDXLBfJ+@t7V*| zYsq}H6qjsvn~37|lHuF+r4y6$p}c4BMtlDnUl*4@Y(TRF8g+)K^g^7geX&2y>J>N+ zLYXYAWUcR@d+e5iDX@y_FELNUA8+&yDE{877FzSaQY2NvMaYEHhUHIy%5*UM1nFz;(D4hcDsD+(4ZkEbwKYns~~oM+#0 zMX1aSoO-d4R29nn<<2Iz0@&zhLZ11y^_yvzfET}!~w=* z0>>$}rkTm234MwQSM85)4NL^kUQj=qE9*(80P0X-g+ltt#B9K6Qrw}F3bB(ZT&9hH zGg$ZbpYyqPrjbgLX<8xegXBAf)huO`gmBv^B=q5I!YOo7Fgl3}%;>nx+646wMDQ&BSnUW0F^byuRy%<1{A0}^a7BYC?Iixz%Qq7S! z`7w?iO-)T4%v4k9tIz?3ci@Tk?78#8WJ7Q{OSWg^S!LRuXj$Q%8@(zoz2_50X+sv6 zT%xU|PDV!QEv=*o9{&6)Uyn~TCe2luuQR?f&Hbl_(%L)Q0tR`jve?U?#(K|@V3S^B z>sWq`u<=>;5z;St@}}sN+W$fKV2&#le@5T;f?T)VOO*C_;o5k;5MwYgXQ{Qpot!m` zhP%inQA!_}f^gk7$sK$p{6o_iiMgSnVTa8o#IKrkoNJ>C%2IpWg6k`C_2m5k-M}Y~ z2$MJ5Pp@@GO2j?6sm4;o?eqX^p;7@Auy2HE*F0 zp`0Ub)&h>upcFvF`nB^tIC|jf>9Pxok9y5P80k*`Rhuw69b(k0Q-XjO!m@^t!OR?dKRb-7wJ1h za)ynES50@92Q_VC-o2EiHlxb`Uik&}!e%Fit=Iff7pqG89rerOMb}qOKNMrhpPW{u z_D7rE16B*%uA`HztYk(Ug3#3{BJpzrE^$i4x?UZA#)}lB zU!H0c%JH?kI`eSz;#Ne=72Bpc{x&7yph;VnG0@k?WwBc^i{BagQ#ve|w_K;8&XfQI zaIr!eF;++WUAkz;d*s=~C=H!=r9clo)|yXP++UGVWB2xJ%0$tZSfSyR(zxWU=B4tX zvBb<F}(eZ zj|co1r6l6VQtLdd)$;|;%tYbYfBjARsUPc|z&5JU;_cwuc}EveU89#^G`ntvuYHzJ!@=IPN zwG@jbwa-R<$oxs?>fz15S&JPXc>FRSDxg|ROOwvo=$-(|PZxRGnQ-mr-q+xX0UIyV zh=6Lcy{M*C;}pRLhuw(W*!l+SKdWhSi<7Und+IIew2KVS|q}1sG*Kbd#Z$rWTuL^bV8kg;p$BFK!Hs+;Z*N z-db?Xle6nqDUzH8MY}IIC=0e~6T)MX91_Hk&k8ifc^du#;kW;BkK$W?4=Qbr{n7J5 zYKw2eAdXUT#y}igDlz)qAOVGldm(V=slC_bLv7VyDO(L8f=W7!&0yMNy<2+Z9H#e-s-CH$$~hS3NMEs0ReyB z$~|A9ecKIJR3pPBg5z%_PwfW{1JHTcO?dqWUf>xI!TD#90vsBXJiXu5`RS=v_5OwYAxq21vyQJ(qyps5@u*3hNHe1b>@())F6AZK%B z%*DYG`|8~{cHbH`u#G&bQ$mc{X?<#76D;cX21MS;?J@edspVg6Y=;i8_EbWO9YeH# zRx`ezWJYBrBUFDY|K$qulj!{GXjx6q%sfR7SyHn;LKW`wUeU}T@3`g(T-^5IF%=s@m2vEy6kpxiAlZqpFEPtbi;6+3;{r~Zhw!z@(cj|Kd({} z2d*S5fOwGG^(Wc%Zx!03)mEg5VvpHUI!#0%;LNgY8Nk!eE4!s9NY-f0Z*HEJS8$BJ13?VkJo!eO~Jk5F4mF=k18-+Zz zw+&yH`QkYBhojXJBB;eEm7c}RoW$7A*Ynx+9*FxMF)Q{cR4@?3wGcHc00VZggAVqQ zO#8IkzWkU0h$~%!sHR~GeF`|C`@ThDJmNzosw+=Lb6m-y$2%WCj@15uJR+5naU|%! zh4qs5Zbd0BE$#lHL2N~Rmt`spaSFHFu;Xb#)tZr})*i`=e%s#erha_=xe$5JzR%{Y z&~Q^ofDSJh@_!N^L_m7>2^(#WbUsTL$*4@AqKH_!T+bW0uX;UMbFa$E#Mj@(dm1KM zSgD{YjI#?-=mRR%K;+tVZ1{yfAabOts-?#Kz;_oCvd~`*&Lv8cgA2z}PGC}5yd4`5 z6BO2)n9%z$P1U4Vbw1@#ADS);E2Pgk$RD}oGRQ99+humN1T*4E3=gC4N;i^SW+8nK z1EZMA4l|K0T7lQ0n-Gefs=^v}ODj3eJ6YffuyI7=ogPto0;uB)T}rNy660kX#a6#T zAfl1B+0n&)1y|Ts6Kn5D*zt$^Eaic?aX4k$kz><{E#zMsb6TF=56)^KIp%TGQmY>J zmO_aFr?yuG3*wapxa=;ro^KoW=f$B5ZHFO*-H`)PX{w(yBtMlhRi0GW?4PPI1*j6< z1$Bkdn&h~k|Cv|A@6^PoMBo0xqct@aO&gl0GTS^eqs&(+SQHs1Y>d{V#|+KHbnU>{ zuyNkUwR<|Aq12E&24L2&1ZMvelrivYm69b^l@d4k9&dN8wPeZM-DjPs&RwNNFYhCG zKJie@B@fpuj$gaS>qtGI6RygaPei#_i8I-t-U*Y7)=}^d)gY8zBzjnR*Iujx5iBt#w{z& zcA07>iBEBds$+c7u$In|Xrk-kFo;*;Gft%ROc3#{{X3h%zIBlpk%gwLV%~6&)7_JN zEmrsbp7D8)?vg!g3B>qx{&%C7lGlCsZY+*%JhZo1L{s`vBrH5%N?5V*z{OXjk-%Su zL9bm*l5fWrS5GSdfg0=jGluEdMg37U_R*FFD~GyKsJK9C7GdxN^j`T<6Vv*iFNtoQ zM}mJ{eVrBSpanp!=i$g#j@`lzBa8Aw~g(~~&&LJ2IB?JZO6=6X1KA&T=sp`l|4 zV8z>0i8^m=3d+PgA{W!zaj@E+%d7#)gP=b+#Kl#zirUJuyV*@%C`t_gOi+7p;Dwb< zz4PjD(@uVf5f!+Sx%4;F#VhycUrT8Ups{-_4vK$gh@p&o9nPl(+OW=RqWW5@X&!gk z`s*bfUZ%QBod~9`6+%35U!Hl*)IiD&k<;4Wy$}Y^nv{o#*(-@q>Sc3r(ox1n<3% z&vsw(%xx(i9^r(zCfBOej1TwpkXn4cc3_u7?@Dw;?kH!qYyyY0ZWFNqCwwCGbZoCT zqO*0Kz&J1$#LWECrbXA=gd&`j)9ev@`H5$EQh_|A*U#QQW^d$|fg}I}(By=ptXa=0 zS9G&{;h8I>Isc)vlS*;926WtXM598Q|;htMr*^<-Mbw&b^(|>NwWMg&6SoB z-d6d2CEN+uP_e`~q||Peo@yKzr2KjnY);VZf|Dd8SA|oI1w7FNTm_=Mjm@J9bS){z zzwU;6MDsDDIN?fr-!rgCVX=YT^LlxwXzZg(R?TrV_3*D_`#Oa0QzoaTP>}b?32iX;-O^B6C!T z#-YqyHBxG%ktwx>UhCHpCx4P&n&g*L`xu!*!EwlNP?oHhvnXP6l$79eObfA4&9~^e z1g4*6r3d-vJw4phE^zdXc11%)JF(PpF@~3al9*+`v0xBLfhk;X(#LapNo_dV`?=Qs z?z00eV_OdCEGleMCiU8=qg5Ot7D?Q;@~8b7!?qo*5z8&e}AlNFis zk*lbI31w)Um|7Un&oxO5cbcVMTxVef4c4+)i+t?)yoTse?aYeSwBx{Fb zaMklT4wkcSWZ)UdV>|oua6OQJ>S$1@g?m{q2G-S4)S;n%>>M|3p`n^6xR~j%GSTblJGC;xdG!+Bh154B2kCatXHugH3a~Z)0 zLeriVsKhP&>^P2mhY!WS;MzL>DFyG00-^~|6<<;G`RC0tOZkDBPO%UOfgdq%5*VTd zQ2OmRqcp_pDbSN-)Il`TH@>3lPpdehq`Z69-o7I1x)VaU@Qe&*&RXMG^Cp3Zc^VZZ zI#|pX90*^S97wsY23Bs_HlHyy1sUeOZwgM>$PukW%Y?#flw?wsR z$VobX#s$$Uws>X5?Y3)gOa_|Rt6}rOm`i~ya@%AI?wYgc_FT>njhp->Gr}!HZl1zE ztF}BF@5gB(dXe0tkwq|$civ(8#aH@FPEcOoFWfsnf+OAeZ$20MgoJZ*d#{Rj#I##c zJ;zia@zb7SMUX+pPCQ>>zbL^2EFS!-R-5(@u*-D8i)jnk=lekm-~5po-8u&xPVg`V z(=2oVW(5BLOnz)rwYKb{n)UiG-PU_^>K&7KgjqNOUj;@ez!HDj428@I!8A;;#hxBL zSCW6_Yo2#)8`vc>Y3yOM4IlZ)%5yawyW3BOU;gldm}pzGP?)_omq%OX?s))R>+TR(^Yvh4pk z$QiNU_D6hpEw-Di=hnM#sU?d{yosxbDA3q>-kc#ApTrIRF8Y`M?ScUef}W?8txLK~ zeZlk|xhSm$Ud*>*`q-Ga(ixm!``;_;JPh(W!6F^}+y=HjTWgx5l*i9wgzEr%G$E#}SjeWmjp`UuNlC@ZT~ zKQ(G47gUKORU5e%5pOj!$n?G96Qj4gcGUYpLXSi(g)|_qm(% z?XX;rB%4&{s0V9qJ&W}Py|+X|+vZR8Zl9W{(+fXu=uR$&ri(N>(L84>jd&Z--x~Ul zFZ&68HXXFU$(p2K?oVx2df9t^qP3T0E+J=Mz1D~ml~0~lBC~`dIZX>rO~1~`EGZ4m zw~VCQ(bslc!fjeIxQu~*f4$ds&_`(%dSQ0{2F zRo$f5EIz-l+1)6VV>4~Ar-kD>|A@rT$KxY$|9h>7=8=qx)0^BX?^mIa3dPJ3aszbt zI+@}VoF$9RN|~hxVfG1ziVj65n!w6EdM;pk0%IGjRn(lDJbIU3@6(J5^9`I{n0PMv zsByOHCqd}zBE5>v8(@h);=Y|S!+K@_unTXUZ=HPk2wd4eCAjwL?I;*f7%({4T*Y{0 zwAcn!Lwr^LUSa4#zI%)GLMzU$L`B_G(*Vn&~+zzX_ zhP~mPj(l$W9Ndeu`8@Pw=hMD_qC=SK&SaC0+|5OF$eXMr(J8&vD9JV1(~jtuaUxry zn`ks0rz3Un>yA^&97e7lW6g?>NEtgAjoU&4&9{j4lR~c)2xvtMi@hKWU*=QR&8CY@ zQo_e7y7h%B=?OVrOI~J+cx#rvi^!L6=KR(xQ@L|BtK#TKDooWFz!I!~hplk@ybVhv zIgIZb$*lC2OtFBThz$Rjp?)i*QiIi)Rb*Q)-ZLdIE>3%l%^}`{dM>_#Z9rLue*cwh z>vtyZyhjpx%C)aid&dM}_USieW?@>%3@Itfh*cd_5RsTuMtw?9C#wl-+Mqeu>$u3p z!-4wM+V9!#y2&W(in1iqoIVzVmtRak-SdFVJtTREnD&DRgKLkgAVhi@J63^e z&)@4R+Ti%capW4Tv0WSxYdG@p`IBf_K|pAcTSh}-X>&i==A^DkB^&0(mz4!6ESNU4QhZG?>C@3p%A>(*9+ zH@i9tA)k(Zo0n^Bf1IHFWKe=V>5@Z#&(+Yq=r!_+yqPK*={cVv`}nAEJGhCc;Y@?J zoM}>WNqd#-MRpe+E@JAJvH_GOhDBaJoS-4L5^ohHzWB}XHN)4nR$=+dC=1o{3M*2# zqbSwZ<=JX=C+PQ?NNuo7c8YWej;zS}v{!=-zxlDJ0ZAWsF8oj;@b&UI28CdzYYJL- zX~p;eVu4cwnKY*(u@4S7@jx+E1!+z8u2zi&m|5mI)2I7U*0G;o440hKC4j|`_oHoX zE{>Zqb^(F8;MYTM7at$mNra8=Ld!Il{%?VTXPNk-*gYHOMUiwF%x=BlX8>dW3cri5 z@dx791XSddJy8>M$1Os9j{6tlp>9 zSQAQeQ_Ydnc^qD=`8p$AOwb;T+_3W_y+Dov7sVUfd#zSQiDr^Y1@_2RxKwZg&kz-E z!Oe6a?oF;&;_`<-8VW&2GH+)Zjx}I|bv3c=F3epoiBz1+{la|h<6xlU7We}!(@Bb9 zPv>H830ypEKCBW{j87~^2mLwrk2_n{TznBtVBGy+iE(cDEqcw_UY%}Ju9Mme z=Fay3Gab!hSMS-}JLullqoPMI5rq#Von$IwNfXurwMLTsy8a@z-_Z}k(9OC9QAR0E z|FDUY=;Kj@!}oxuM<<@cck!?ySlZ8=9lLHy$w8Afe~_bOkr1R;q=UghH&B?aMW9FU zCq9H?hVbxppX&h^4-eY=B^o=0ix;6(;&qr%rgF(tVte%~FpVC|o3;Vu=in77A?_T# zk77!BY-i$!kn?Jk1cJl399iRtU#|M8@23 z_f0J9l=qzq^SzzjPLuv{Dq(=Nqapj7K+GniX=v0IXcH|k9ari~u*gf4%k6XCAxKU? zEo|Tth#U&ZvSkffJK5)>S07{p=wlvmpMSXWo?*;;pSOuawhs`v3v`~qFaBcJ8W)25 zAXBM7+Cr5y-f7$)qlfK%GK_Axb2;0Uauf9_j$2*yw!|9$Kf=<#yfc&;BX}w>9_c+7 z2IE8JfSK1TT=3#sM8`wKkc}Ic4%YR{&I!lfjy54azGX4c(hUFHL?lTmU5O`F5H{O_ zN)D2}Kwu(1iod1Bcgg<7YovRQt@Awm`zi+8r|=;or|!?e1>D5L5AT zm7Im2(xqEsXFePM&UFb#BZFf!m1hE9DnlWii)VTaU&h-{Zh>`-DSrO_;sYIg#bpmv zQb?x9J`n6&2XgAJsosWn7+o8+B%_|Moe}nOyNT3WZy9A6xZ(}W=;CTLMq1Wr;#`Vz zmRgPcejp{cTfaIMS7ymLnmnlE{h!D5?w%$M-0ZQn*V@#@2kvg0f5 zjbcL3yZSSo*sI?Ra?tKiWDwtVmKX6niT(wI_HS@iFLhR*mC@4TXU=*$qk2~YM`JvtDI#W zwWYVcOpHBm;ey^@!H&x-tb@#+tf|!uB~FV28{Rw*o`Rv+`x&vigh(J7paRo+no3ww zb4Dl_3ztfp6=3FIKMN%)WA)W0EZ<*xhf=-d-*Kl(6@B$cVQwzQRPb3_5ZsL+xVOf~hkQd@J& zXlM?IbOteK-;milf|i{)l0%=JxKaW-Ct+yDrjZx_gd5TQM7{g9FvFU#ulak@t3Dr^ z;@(s@OnAeAgE&)!b(Aw_-!&1EFlx^4K{=Z_R@ckHqVJI4hFLF+%%8RE8_?m{j*S#F z=_V3l${DyE(E@qpf@=cZdGt=uE3*EVJ!8D_yWhSn%dA)ttS^qpzGgp&HICQO5QeCAQKp&3H zr`=WgW9y@)^Ivy0{MvWleEyJelu$kTWS58t2n5HAjN*cPNJQQj)eUgZN35jy#&3- zprY64J7wF%zjpy$j_kI`{H$6_N%)n zqBGfC#9b@|R1e>VmMoU&ksfK_afb%P!(#CzGMnN4_&VZ`JMz*V4xjGbnU26KxqdAp zBLw>b+`vika}eriY%~uMy@nn*Fb~W#R&*5N&+!~}K*ep2qgrmsn9B1;IlS3RD{N7I zVt6~qnrWLUy6Hgy=NRcKqyy8Yuq%|22=XM;Vl~Zsy|c;u&m$R7pZZm1(=L-arNW1>hMY$I=i$cY~{w=jxlZR?RWcRrSRPNqR>A~Ov>HPu;I z!m%GA#W*T0)vzy*ueH7oF%Mgk-XrxWn=`u)MdL4NIIV{NYsf^)kJDp9bvUE|R4TO^Yo&-Q74 zMiOBb7rQ8Jv61{E3#Bs8rg&${;)=3D|Gz=izhG;c_;I{{58@}At{B7{a7qJDI5Asg zsoB+Xay#=A#hlkg$J@|*{G2N4TDz|{*yHRonkA6nvoG{dG>zPWRMN$W-EtVF8#?Gt z#*yJt5w98N!eZ&CM4;g!r=hCuF!U1vc~vP$^&44Cl=|*GU4bO^3h`!$;eZWO5wy)? zTnq~%Hhe@EW3Ca}lylWu_Avz+ub-O`r2Fp~JmtV#a9Y-4a)qk9)GVW_H4Uj1_4E>B zU&c>^0Et>`{gj}F*?^6R8u?u)f&C3mB2E3(5~tS!datl&yN zdT)$m08=P~YA+aI#`Yd;W+S{-Fy!>>6zEdO5Cqe(8)MCfD zf*FEH9(>G3!{05oZP1GaBTls1wbL-?%K?r4<1(Y9>z)7Wq5F1T&(}7+D(A!ZFxSzc znxuFZ_8sg_(jiw6SAD)iba((#`k&`V6(ch6*cEg7w*fl|R!Gu8J4^n8H-pSl1PNXw z&t6h$9St&_Gw;%+8@3y&It?|b!wj7%;0w|%C~1x=(NcEqPxdKRL$Ri%m(wv5-M%!} z^8?iwRuRA(qc3HkZ@~Nfj+cvvGpCIv`Ea?6L4j4~@N)C3*I^SXekzMruQYi8ocVhq z9*Y!%AvG}p8SeuZA#&QR8PQ#ztO=s~?++Ftc6O-@)-DilhxzAeE|KepoC51nA^P9a zP3EKlqbB_VoOx{EA`jNRW9IDdA-=wSog)j(B@cS!}-(Vd^%QHh0Zxz7nD1wR&4O1~W$dpoRx--%EiR`Vq;(pAS%-=kK=i2d%*< zzI(cz%j+#v!J7YclD+K(DKjao!>Q)%1i4SmKT@T-0sBrvYaaxaNdp<$pKf=iJ3N@4 z&fGi7&V8@G$p(8rI%yu0jsZi7br&*1j|WRlUSgoo69m#MTPHeIotb~P{HD1aIBI)CnK4@~&i+|1*J!wCCUsiV>ylzGB0QCbln!oTl^e@Nz45CUsT&ok>k>M_nB zWn%V3ixtwh;E14gR!(Ai zIuMJeXvXQpeo>}jh@0EpbW1*aK{ynvzG9(ig6z9S(sGl=`e#DP_N=yFwsf$)xHBmA zhxI?T%pR%@Gy*vX8B>+UCYTmZY#QQgX6kfz^&6V+*BeFow+*K0mkl3vIH?wSPc?iTX2;T0Dw)#Ph|16_x|h z{I8kO5BsV(K-`{on-K>ccAc1HFArA|O!2UgSE~aZ*8|BBx|F}qa7j*kP_^>+HRtUS z3I?cjeTYVC?ri_SiHTmr=GFi3O0vKJ|Ixei*=z8a>D&&?Ni{x{M5#85`-JyDS{~Sh z@wy;F`X=5{D8mU2Wj`2{aFCKiyS%(S4Sve(sOq@sKW1LMKdcq^a%%`m67wv)wFr7t zUWQD~^R9h0k(jqlC6K|7EU}HRvdN8EQkB?Yk(*3!XowCLX{+HQ`(l*fd-@b>^O(gB zAGbqTML`)QZ9-YIcY56wTWKPU1E6s6@she^%o$=d|3h73q9JW0TI(wOERNXhb;$Xn zyTzSgrsMSu#lrtR_NYHeLnzMLkg_`@31F^DfzS66Ue(s6X@ zL3RIuGEEWgk5N=a=aQ?jU|pZDYUP@KG|0Daf3N&Kq25e|UF<}W|EUIqJii_-Ssie6W^fU9*p6NNKJ~F*TfAji6ZLIgddo?sR>!UcpM%YSF(=VD-9`s$yDe^A-IFYm;~p zr%1~}i)t;FzfltE!D%GI4C@}L1nT0jK653!oW>xZ@iO)CcR!Ml`m8+!6voQCsh>8- zLnC)dmh1{RyJ>Orm>1c=<#ej(q>AGSG2OSbF?TlE~%mZG7^Dt0t=)6J)y!Z{kli@i)0$FHZ z6Q#nzh2pA6IMshj(qLptX8|$#C0$2mq@L)H!$69Sv;>pHLd*OV*wST(^{Sf)hW65d zJk++=ZNeSV`tWN(YV6ixHRRIX6G80|QK$i@rdVvFbwfqF@AliWeEH_X2Lu2c0Kbg2 z^cGKfs+?dgOIP_pVR^1e`DVzkZzKk)j3!LMm)>c}$Vsfm7dU&#hZhf^x0v%c6qoxq z-gQ>;o8BB3v|)S?a#^QC-Lm7KIBiBAsZxiA1=P*22cKSR{V!~r{VH+@3ErAiYk)}` zCKfo`TD>Pti|ft5g~$<3_QP-W?CGEm^{Dc2FJ0Lz!g9Y~z2 z5$};0V^|U6k3u)JKbEyr8hT3-;=)^&?De2qKE~AOp7Rl(T#pG{*afF)`<($9w$;YU zwiYf4q2(Sg0|>Kn^dTQ^Yb}f(#fvY5V$=HNi1feTtZih{W|`RZC`$NO<4n`k%2Fw3 zC4z6oM7%grxw*x;eKwVqdQFw>Z&CKsEA}0!>Zy8q^-6A@JjsAMEYSBKfG=FCMqD~2zsF#E@LEi<3+%Q`|$r0wP$vG`hNI+%&HBy7P$UWi9N6<3p(!%6B{7Rja6~C<;(2KH^>s(k zDW9zDYG>|ee1LIx7YM3`$1bXc!^a!5;J}+PsS#bs0_RwO;tgZDZKb6ckPfZx@G3A{ z*SfwHyrkC7G=c8>K1HvEas~gUfCl_Utwdy^D0%c4Sc>Iqa!zj7d?AO)Od_Zg`xrif zR6DF9&+9ZEhdUX`_3=2EC&5+nhSAJCYRP?)CW#p+d6@fGx*t~^NMYr@rofih|P{&YXfqMx*QyTW<=!Xd|R zda{}1hFSCOGjdKA~CC+WU6 z>q+9yn z5B(3dtaSwR2WMTrQY7o&cdyGkk?MUKn4*A@onK(7i875pA#k*t%h=NLms^R==jXZZ zhAZw2qsA8iqF_NeSIY zPrKa@l%>8c@;GdA60rOFRIeHbAuuC6WqOm_j-&F&4MSsfTKBKuU0YMMjz8D~Jq9D0 z*n4^Y%cqDy)pWcn?0JRY>}NDKcrwnU%!li%I1UpT5!>$&^%OidEwwqNzHOkqm3W@F z-A_N?pXYo2o<2JRu{;HrI(<`6R0VKmD4PS3M*|cpZ84)LuqQF+>Dv?q1%*>vTWN6T z8-1~HfS(VQ6=ibk8a5{XK<9pecbiHq4O2JW|Go+ug*^gMv>!h=RnT^aXSDXmKhAv+ zE`YX&XDP6nOIzr8VT0(=Z16b+a(MP4#R!J~Vkl&dOH7*33ROg;qlkBSoz&Tm7&-H>!oQ!kSe#ljC2m>BA|t(b=Ta z2GM)4?ve-H4n`tWj7Gj1h7n#jiD3sW#)^3fgh@S;0Bkg=rM8Xy#3B;H-Qbm>DFc-G zM$4N*YOCG-qSB{e10>u58Uak_e?mLjdWa(xMA{-wzUy%YKEWF#2!hAV`mqBdvtS0Z zV=)wZGKd=vx`3hJ$$kg&|71=7_0{8Uo?c{fZR#t3*JQVyNJZU^LQ-M28Tn(P6+Tu# z6P9Xox@%thm5Y~ac4QarQ!^i@w}e-F4Vk;dfi}BCDs;ZVA1Q45($cedcUUw(efmaP zoc$CFpxuQhC6{noWFzO}gr#n#%Wi~1^+o7Ho}B_)q_C1BQ6w&<^vfepVIfbRX&;n& z74U?5y1H=lyYRwpN&Ogu8(bky@lPKOQ{}5v^_RiU`AQMCGTEgc5nI=j8=v3_bHe8D z97L;ME$Oi4og_lg6r5u|_ZJwD>pscZ6Q&*ii04$Y zvRE}-<)h8vS=Jd5APUkPR0R#%&*+Gmj>A>52|;<*qbj!Y`+u!nXH-*7w?=(wQi3J) zs)!(=S1E!-K#>js0s>M(M??v|C{mOnNDEa&B$NQ5*8l=aM@o>8L_h?jgdU3Y8{Y4| zcdhToU3aZ}@1L19=gd4a^UR*vd(PTtCd(t;gtK6ahh;u$KmAwS-Dsn&k%Nqhk*te- z#LRI<0j5`MrH7DDMN!Y@o#ImqF5T=xc4)k@(}G#~kU!tYuU~lua5%}icaA&O=hs!~ zmL=d7$Ush^dM0%iXomb+M(631Tkl5fZ(msc=7XRaNzY@rm4Q6gPFT!oJ2)4zJ=I(T z-+8#bwIgA887lWolG|{QAM>cZ05@byioaqnT0M)w)28T9l}vX5UX)u;L;G>(aK{@P zhGPa)+2c*mEml^E2+#pwOa5DG_WyGAp=^}>rqMB z;W_$p^^*|oxi02(-`mZ;*Xyt4?DhX@68OSPlM;14H8Z`Pc6VD^0aOm3Le?O3?@L@$ z%FG!qO*eUS$tKth6{z<;Pz+p5I}(wQ2aGKB7=H$T8dvaAF7!s-(Od#Y+Iq@{pRBYt zBe*oRti#9LH$Mqpw^O-x2Q@EM6~#Sg^Uyx3!t}G4CYl|s(&w7a^a%i3m?g&COv&Eb zQMDN^5q4<}(*>&*c!iRQ+a2-f5z(O*otT*`;EzW7mI}c?;*&UFFT~Xxtwh{Uy>6(8 zU{q-BD@_g^*Rn+&{)!W0Wyl;tq%1Ug%ton)xt*}TV0`i(gORTDMUl7|B>&5o`0Oyi z$oJBF^;8^z-G+f$W+TEhMwVAeZi91`<51&!?+7+%T=GX_uuzQPTkKf6l6XuwB4yEBd$A;Ropmf|mf4t;mNZisn8r0Qp z@}Ac7O|LG}Ix^4yIqdQc+GWdKw_?o-g!Tt*hvlhULh{f%h1^|@v!Bos zdJ3;fq#~LK1Bv^FZSMMPqvXeA?_t_PD_Ukbf#Oi`jxI& z{jmLW{BNIc{A3R1W7pPeUsa8B1o49x?kU~c;kTCh1S%={^_P`Ibf>?v++fNnFGMrL zJk{Ui6Ey7$yV4-BFHWY&K2DCXCmDc(1H`v}j3xc7*8*V+WW8m$`gcWc-`{R=q>`HD zf00}7pJLp^9BwI;thI~AD#h4Nb1l0QhccSA0Xwr_Tkqs$r!9rYM9q|1CzZ%zoke5V zRj7~ITcnRP2k$^~Dt%^o+xXi~#!t8LtVo0C8 zumi`uQsJsc7IKr7$xWyo$ah-x(ZyP-h)IOk1^@gy?$syTC(4A6KCweNcy{&L68%rz zOypt7dQVAqLQ?P4BZUU#z|;|2XUgv$;gyg3&dVf31Ng9bJcnK(mbu5UX>r%?M~CEM z3@*vGyMwXn6w#u*>N%(QOL7YPd}Gw}LRRppM4H0e83%Jwqss}6#@|ik+@9UI$vnRK zZh=HcQY{c}h8O{m-!9c1oxud8783shA6i8G)Sy+P&CM)|!B*I1Fnc!x?v@a|=Y z%~9C{&1OO$;6}~40ck}{)#SR zl|pPy33yZLhr}oQ0mD((I58@(m&O#Evyq=6dS&taaHXFgfHziuPcsqH+e&XWR`KBU z8kJ3_ceDJB#8804=06G1>%aV(b35c$>>DLUYkKPV1QU5WEdZ`wmDY#Z@)1vJ`7~?d zix+m>HJ35zyEF`iS)hckz03 zf**yi2f3NS{;SBMK_wM#cYZ9<<;A#@80Tjn8Bf)OXQx?N&D$u_>h=j|&$gt3*y!w0wgVWhxU_gsy6yh&}IKOkI(*Ie0Bwi3-23-jpOZAi2j11-bg z)fm)C>oI#+U;}{9d^&RVMC4AC^@P{*Q+7*wXHSbX(y*VWCAJ`t-c9NFSw&1bjWiSD zcw*= zD~l$5zu(5zooKh2lA8FB`_NfOZq#!&;?v8+kA=V&@R7m2I5)hGxPtVu_eJeg>Z)tG zt%^Lx9h)0+7VPXG#{f|{z`jZAL1Ejfpm0qcy|=p>j#ih*8oD<->7`5YC3PZ zR-NQuPY1^b7sWbN<4xfwVqXI!Y!-(w4;??8*l8Zyy0e<>`-6xa2QPMsB<}b^ zyC?k8+`yLk^L9>_u{UOJ>1L_8!(H>Tlo9`HffJ=OY#XJ4s|arYdxFq!sJD57)xleBKaT59iPS6olSSC+jF^A{!4-flzW z-CZFhNXsUA&NZY}COv1;tYreg1W<|lT4T?J$%aKZC|ozJ{O-!*$%9>axwXd&Q*M(N zpsp` z8Whd!@H!PsH9M^lc~VHZr>;2}wBq|rb2~`&-|@0OnI8xR71bMY z=cuSydNv;B4YXDO@N6!*eMNaI{NT=Ev$qMHeRB-Q1>ETQCehoJTJv;8OkAENAtm8;w!RxT69&hw@#+C5}FN5!+W{M zX09O>=PS|82Mb1nFJwS^Ym!QW5^G=j?olMD?bPp>oc8mN19mC$WGd1Xdu#HBE;v=Z zLRVt&G9c5izD z%VI{Vz00*@4tpo>QZAUiB=j97_Of5p?pcT`byZ$zX8SG2oO;BbYFn_iwLH(TsH4d1 zrD=`O!am#<9xjD84V3H$TLgZU2adj7+LwI|Wz#H+Q|&Xt#T}QXN-;Q`rfjzSFazVA z1K4wZ1y;~VT>wf`QN5T30ISrj!tWe!sZ0cSwG$Batcf+}w*(hBzsbG`ptI_MbADlE zo#JG8UO$~ROtrQj#x!0Hb{vpco;eIbtcoqiy z)$*yGD1LQ1#bHzO%a;CDd_>KrklAdx*DP|S4;~;)YFf|IR5P_+nf0zmNMac$KaA*x z$6-K?Ht#WdcF0siWHKB4qQgZ6YrYs8QRgY{PU1J5iJZ-*)#;UMTK)2J&vb&J9A9#ENNz&&mwRqis z0sp9=MlSfEp()fLS9DcEs9W1gX4l9DYap+;N!vJ?ARSuA9D9HtUW!q*qo~23fQ{q# z7xB4Skbz+TucZS>x^a0qqfVR(i2b`SQ5q01(=X@9d!(?}|^D82`U45~f0 zp&rE*2na&9=6n%b9yn{<t1iXKCs%&#U%Yr z_pCR;K`$JtEH|(r@y0!^39E;_J1cPTs58kQ~n<|4E%lyn$T>T9A|7CNDViNEpuQF&q zjA~fIuIISdc8MRZ9zAR`?~PJ1&7rPpH2!@Z^=Uuk_|8c~WXO~;707;UYJ-9Pk$g*4 zLz+v#_1^W};aWeKZ7^}CMgB%3PuE(LCxDI65w>U|X|+n!7Y(hY;mkTgAWxPuK|Gpj za$SqsjW)auL*vP*oIP{%+5yE%@gutruv-&}9Z<1$cLJA35j@cTKCn%|Y*0!bB2iD2 zKwWJLPLL?mcb&i!8l$RPFuY~=;>Ul2FF+k;6d@vT)!el!h3z1WzN((J!~)Acq33#- zZJ6-rEH?6gcOxWP-m6Cc!+wf4{baKU+Ep(ov)n1XjC)Wxb?I2}V z9xd=Lcll|ZR3}Et0qne{7CgdG9k&9d7~aI|75=awzZ>H*?kZ!Z2PsI`n0(@uFcId8 zijNRyl5uBpZtBt%HFyTaITk!cLS#ZTrfmn6IJ(GiC{%R6eRr4BgJFLz6ibe`5>?~ zqc2uqv+H^bBBhiAN!n;_cSJ~ z?vjocPDi4b;`QH+bo4yB+t+l@O%qhRR`1}pfPSefZcAvWSPE;R_s#JP%^5EZVC$5G z%&R170+d+$0vYTrAGlSs{Kj5}tHAO^^{&*EjE!G-S9ZN034fTa{D`pmM~j7woPz5>@P_ckE@#!qn2TU zunq(V=0?kuy|?~7qYKWkuCH=~I$)_(xjQF{=VW$n-2FOII#L%X9=zO(MSF~AChs#f-u zQ87GXajI55fi>#Cfs!ryV2hFnC>;?$)}BwDKPKC0H5HAk_1V8VBF*5;c{TrZjn{aZ z&QZXt^dnYOY-5nr=P_MB19~0uorUS|*>Li4%4H_kzH^;jDGcP)YKw zbo~b_DiJwlLwyQ^%xzWD5DXh(3eSEpsRqnt{hN-BtPp+Gq6plM)6K(@NSq$pVB9&f zda&|1^s8$JN0nh(c!nqD2W-|c#LVmsC%q=65M?KO+5zo9svoz@;U1FzynEaegXyPx#1ZP1_K>z@;j|==^1poj8MM*?KR5(wSl5J=cXB@!)_uNZPW7?$2rA0Ms#E|0l*e$afd{@{Pd!To;RJ^TqUKnRgGn`7apTR-2`{n3^qEX$D7 z(Fgm_oH_ZMC<>ycY1nwR0znX<9HMEOS+R26j^5n|&sTFC@VGXEfkGZMV{Y`<;!`IN zZ5|x_YlP=xQrUb9Jp=@S$PYW$_n!S_OgwijnH&|dG$~Y4mY!Jto^uMY*Z!;4wr~I9Ys0I6@&&?&Z^XQl%t$U4aFgr@ zKGH*xgd|EhF6VL4??N3J2~kO=4!6`)RT*9dNKq8BsA(u6YE!8>JP}X9h$zE9ib_o8 z6=G`QN%8va3FRuEDn3)yqM=oSV$Y)co#~rgLoE&dI#TmG2_fhuq_(95v<48^%qYHq z0lwMHH_pt&4XqM%bNJVRdM8V{YKly~6G4-QfR@DoEpC9I2f*hdpq`_ME^jh*`ta&gv$AmIk4rtiAUv(_Z}wvJ}<2DDZwu9`(pQ z^-o7)B7UlS<;|WC6av%U?nV94i_5V(ehf?ZkK!NpEcvmvnkb#-t5EsZ-bE3EHXbWn zFQhZ>C6+`h=Wl}6@bWfG{(o-dU*X0#-$vwlg>(uU$Pb@uw{k+dW~n9F<_rWO)EN#r z^3gze)860b9n#6Eka-kW?-WFlYp!|`viq9B72LMW>S_P}y+S&AZ0xx@R1oI;GQDEi z-w({txw`!nG4B(93mU-!iZ;<2CV*v`^h@+mW)cNR`VjyC002ovPDHLkV1ijTuTYOy zs784d#)uCXT2Ks8JPo}AEVxe#y}orULCB+f2r_4SK|Xm-mk0U=^Q!YlW94c$6lf`G z`|-E(^Yh@+OKV*~IC=6cWgvGb36ByGd?yEhKXUu-cXtry4t9x28}#HiZ(d71d(=W~ zuDtx>a+Vwqq4iTrWmjb~gf*xO7?J z=vB+0l=y7cY#ka z=)IMeMq%yR#rCrtJ(_^l)^j2V8cDtRGoP6~Ah@Ui`1ZGdgsIzImc6&^?WRp@iFdz% zUI%SF3ZHxJ$v`c%z>>srBKT`pLS;T`yGPI}qjoM}Me+bb5I)NZ*$Ci5=RnW}Fd!?u z`T?{zwT_pq47C+k`FrU-YMMsbptv|pFVoS{4+jpM5FO7(a(LE&;GzNGTi^P>=;?oe z>01=A&!@qyw{9SmA0?EUh1XwyAI_Yyv?)z&e2cQWFEFpH?e+~?Wi$-=svvYpq()B(nwt7X<*1Jo4{?%?BETqwtH13n81;;e{98W+5HGU|aKE?8|OVSGdLtAQ0)Fn*d(xtTsfGz`PCe ztU!BUb^3_9=Iy(04Hd1q1Zr$sEeK4s-~2cVNj#>TjzD!myLl}Z`NJx4SmCA0(RpCJpbhph1)W>b}lE-Me4DBe0xUg{bYM8G^Pl;c)xy0)pVx zg9ij65VEZBeJXIT@HvnSH(2HsLG&xPs`HPHmb|-rur8f8R7fTf1jlR;Tz1(~8w6zA z^1I*do0Z|=A7ujm=5PKtCV8H>5+@RD*icVB{%kf2KmYlww0F)_{BSC7L!Vq)b@a~7 z>RMI7)U8G9l>T|`p?*p50Ytjzp`Ii-es(g*%S{F$u zVm?`iNF)qbUb)nE3=bYWDP}0q6g12!6Y$M%{vb~Nm{K5W@zSMnsI9GniHS7P{I_VW z6U{#vxTX(cl}ER1P}lMXHbqJoKZ_b~Is$Ti7MQ?x@Jy?S;hrHJ(*?mAO!M_A7(u+| zJ)e=*P6P{%{-JwOU)oSyOi)o#1m)$$+!T;vJWrS)GRI7SiPRrK1Vy7En&HF!H{N)k z(!U|8RP&qDi z-XN_#HjuaP{hsL|X zW1N5bbO&ve?z~m$=JC?^?z(UQ2{`9UQ8nAZTsvq+<E=9lBIgz-KqM;bs9Ef|+iQ-|Oj{9@{K> z^wiNa++ff>0@qo|PH_$0;~%)LZCLw0a{u>j@n8C@rr7Rt6A}8%`}bR>AQ;qO(V{BR zDcn967~nzD2yuMiU@(sY02}3b_lX8oaSE(;ZtU?3`L{v;MKJYeu>s4jZ% zT=UJz8gFpVUl6z*1$fMY?K6lDp>SO>MCA93QOmkjfxt^`RVPxqpGG!^51*!uv1m~x zsH)1(jT08wHfsU!zynXCt$Tnwerwh&0iCoQ@4qMCL0jPRzWz+$_*F}ll`i3mET9YF znJKVpi`NQ~^ z?d?6bDX6c%gn84{6nuLYGl2OZb9iX49uDY0Z~xtQ57UPq3f95u%x3|4>X;F}#2vrIi|12~KYH{u0YR3~E%Ewc z`H8yP{JeQlC==;k_fo#WJb4corUJoK0vFAKDMSF`Il3nWY)-`nVvnIHe1n0C0hBXB zMGVSn<343~cSR@uT`HA=-rix_Hp`dSP!?bycwp86;Qssn5k3DnJ|Nou^70ZQ_zWC7 zcA5fVIDauTc8B(_U+!D!(sbPswktLlwcks*hHwr{cKk#}5VhU(6yrR(0euRGkKcnR zd|h{g0*`%qt-A8fW_f?xc#QtWv119F1uS2{N)x~Q^4|Jc1pvb^zr-^~mt0a!YYd6d z1Q?PJPMeEQEL|9gOh9&u z^F^%}!It#^Q53#?F8O@r5?>9nz}bmnrU>U~yTs$AVrq5EY+`^d-1cJ%R8bQo$LiBbmuBLcn^7KRuDn33Q9cF&es0RUp-H}WuN-n?Qo2hiMn zmI^toM&L}Uu<6noUzIM})>#nXo>imrc z7eXSbB`S)PGDDwC_onG~@boEwkrhKOU9j7Nwz`BR&~a7}rpu2oJZ2^97QE{_-2$0? zZ^CC?U?f9ehPrCCx~Vgp=uQ{X_UP#uplwxJS|s+eZJO}_xbMElv9CXZx>Zn+4~n8t z#}D7P!)NT3t2)OsQo6iYsW#2Y^l1pfayfM#&)YO6=LQTxs5Tq$qPrQvFeVFLEC{lU zm(F!J$PAC*vjXjlfWf~ZaxUu~Hil1+6!xLUcXagFV+J%$p)5e!t^UOqcSmM40PrFB zV2xO;kUW?{w7=hq@0B3*WD2qO2Y&b7`0Eo{NSlVB&4xSYuX{ltG_0-RrXyhQ_gq`O z6n?&D?8R7>fjomN~LL=m6R0m$cZKjXEXrF zgU6XuLm2>TbpEhTYZ2&8DV=!U2Pe~Q|NiUYoy{HD7O^q2`ed6dW(Qrdzb7Y<^*Ci& zFC%yW;dL-YQ{lDqu5eFxz;`|$#w&b0x3WZub`I#B{n;=T_P~IZ6vFOt9u1J=n`XEV zU~V+5_a`6_@Y4tF?(U}#nDIrSeMsxzXO4`U>7VUN?cVv;`0odX%>l#kIB^0CWQB&E z4^ZesnI?U}_zVXC`T!Dpc!Sik z{Yv$?u8myiBD;@FG{4)FZoYPRwrn4nRZkoXHA5+C5tgesvx*syT? zJ(B@JGT5tN{5)^mVz>bS;2HiU4l^?aCsZ_3o=&Q);Rywq`J#D{A+>XPz$oV?z~@uw zwIzvyATpx?z#SaR0W?9D4MuGeVStk1^IiZ4d#c1ECQ{x{Kyctxx_RjWU)l1wR$E;v z)wm=iTMbMBAzQ+b*}Hx+(^`oEL}rYD;4rx6ODxczx&zCuO@R#z4-F5_meDcD0%H{(wZ(;=F28C2Qq7XNqA$3F#>QfSjnCAPzt(6$6%l* z30>nEGu_p%4}j2pjMp!TDA8a*3KixPOO_91c>!y%iY}T0T>yh8@#E^(VEY81bV`!` zOlX1&oNqXa*zyS^nCU(MRT#`hE69@=HWkpI^c?@d8K`65YYk16n>CR>79uq((wHP(~FbOCQvBno< zgoMycHUZdxk{#CyBVQ(oU-byzr#iydsPJWajw*mbC8|9zY77jIn*)ksnGS^rTWc!gS9T`a96_mgjWI*z=l>b^m}3!eq=&+?DlF$n&REYENTK)Y|v>thLD zC6eaHcylX)!)MuiNBBMzwkBKO@#83H(JaUo7!(EuS>|sK$(HaL2xR+B9035XMwhHR zGTcMIO%%2%3ms1eC`9-ehRO^GI9G&DfPUs&wz;Lx9uon66T_SDg9F> zU~E8z?Fiou3R26~XU+sv@Z@}j37!H%W_|#FMSPMUaGvCkIEa)BUg3h1=sp4=D_KB8 zMxYZ@k!O;bzai_^wa@nI%`Jo#st6Fuiqw_l-YiBSjX(e}g7==M88jNefuY{;8D|xl z>0w|4PVZ*1K!$p^;cy;7_!#(A2vOUuxI;cwacsUz_?iU{pTa{!cARRyY<(64PyGRI z4kS+=Kz3dlg((s~wi!@7$s2{Ido4jD5acZS7lvbE?Bs$I+941+dX2Wq5_w5cfw}}8 z{k}n?3!lHlKN>?}-rg$;o7Fo4YjrqH#^On}V$7^u@{F$wwrQdWYDm6*12%`V|v7c~iMm?|+H z8AvD2We?)@%L?UKz!;(a5w;C(_?jGkW_irkneGEL@&-W11|KXxKS=!nb+ikjrRnmK z@w^U|QMW?=;{tR!d1QkNA<6@hF&802ru%B*n!IJK?ycN7GTGu;F< z^2{HO0zzK^8GyF3J^@jqGu|N=?pJuMuUK~6$^40#K*u@6V?JgYxZqU<97j@iz@T^l zAj^*MCC~6x@7x2f(LOZnv$}NgI$3s|jBfWo2^udm0ZKHC#3QO9u}mnd$=B7so^qJL z%pY-xLVkLMj*ebC2XNP2pK6%V;{ks9)5j8|K@#}DoXS%NnpEdXQKH(gGO@6+3eac9h^ZQO3 zTXv!v_6!O$Z8U`)kz)mr3}f4H?H?YVphM=Yz7v>{+VAaLML{?4)F#fmZw(H$X2_5R z&k!$oERKmGZnL>L&=jFDnS*C1hy>w_g5bw}Tp&z17ZP}$W)&9*xZp()scvv-40!Y$ z4-lPnwd_PTvf!(b{hCs_E;!af6`{I%9&M}E)()Wu(rlO&03h3c^Zb8rZ<1yNOG*l9 z4P*Tf$)2s_bgw9m_H+BKGFG6CX(xUh;oCld>Ik0-#ph_P$OJASlcKR=ALE)Xuz|(| zPiuwM3|y)J1`z~Q>$yo%oOHFyBA!aMI}U~w@>N%t(S}MS&N2H>%d@ir06+WLcX#55 zCwwsUaB&V@jkLHm_Kh@T&*4~+FI6E6+HZODqB)RlM^90}b_%)heS)_81g-RIZV+e! zDD2|H9zfwU1Bg#B1uo6!AW)s!2BYAJa{8w!X~oG_;_=!NIUb(qpwo%sBoX-i;9!ch zPm=o|iF@w3v2nIA0DAp9d2HL&)k~uQ{*s8^dkTsmS!XA0WNYyS#~e7lfL5}{X>>)N ztbIPFl|Bvzrn#cP#S-uy_fWp*L)g@>34&)JPy`mz6elbddop=P)xv_Y70T#2`uvL) zSu={_tmk&LV46E&25(cn9{#M=BM59*xK3B($RoxVk83?2)P>cFn3Kw74xt^&Nw$~I zohXs^Rly#siX(hY5S(bsMRQ;~c!GK0Cd5Al?fV3wdud-`_h&~Xio2H*pQDO|ev#2r z<=7VU<`vPkjIvpz{|@`DAOe7AW)%Q_@r&=FLzBP<#ApCPfFa?61r_xBO#4wN&a|zU z*~HXkdvPmjr-h(cf!RS>#Q_)S$XNt&2~ zmK`SGom7j$gX*~S1E7eC4ehTy_W7$@VaP`J*I zk(q#O%kJ`sIuhp~P!v89q-1NnsyYmy*d8_a6VB(1F=tJ7gsuujVS*QrX{`7ZH-m_g zhN_Ab4=$kECcy5Ou%79X5?JByJw|i?^XA2f^H)lHN)Z4i>x3ZnjMo110^qsl9^XNP zPLXY~zyQ?(oFEdxFwxTr`2)w-`DDX~qj+4SdSs_p&(SCc44P0>LFl&KmK|X$f`DmJ z9HH@J3O^s%-+EZaC47%r!tZz%(ymDfXy7X~&aE{@tk=L+uU_oYerh5UU;gqfJ7*;T z*!HM3JlurSr`rkov$TUK7K>Ulg&cc59Lct?rz3jN`I7`H6}xtAo9bwrV)qbw1jYIR zM9sF%iQ)l+>@bB082Yy!R#6rAZ>R!maqy~wIan4;e zXFde8U^_1WEEWLD0=V2uTiZFB58%_KWm6-NI`nE?fjL+wOU{4}yF-U{?Yi>&0vK!{ za5fND2vG$F;R08|DRdnn(KN_zGeN)Onmz^X+a^nL?uRc{v7pdgVYKWmH!^7mg#u7t zZ)yMT-3RUA;FvJ`%2#gRIjaG{wtKBSxs~_EY1MI@0Im!|Ul~8wivGYRKa9orzztdG z)#Ll#hE_Z|0zQefOZbwrn1ptLf`HJ3wFX?~L)2`6N%-}-+2X)04M9Aw>%h8+q(%K3 zHmsp<|0ELaq;#^O;&iI~XJM9X7X-jBfB873hIeuhoI2G;2aDh|@i=uH9`8A{7tH3j zZ}XeuG&JO6`(zOiva_$s?w&u{GlMw4hA4PND4K@}R1a`uaKL2yB8pq{ZGZ~Bjs<>* z6%4g(8fiO8DIV>9d3h0?8Ex0D{dT`UvR@$JfBILyYN($J48T|blGOQ|$Ut**JM|0D zA;gt7@Oan3y*{P;*ljZCK1t9(ad?*q0!5fUUXg_9;|1ZX9-)h1P(9x(f?1G-_Y4(D zu=Rqb(_Ti|xzDhV2!F8ow%#NAd_3WU)Q{T!o8P=aL66Ugi&-yQwh*r!AtrCvi!bi3 zpY;GBEPz9uw(^b-Oc7&fsOtuGkZ|y5Ha!6?4KMiQ_CsG#jC9O9o{#$jisS)=>a8&?->@A)#g(3hYPbttKu63Qdt)p?T&(iP$xcTO*sh`u- zbOw$eZ?(r8Tzl>t>rV*+fxUHUU(c>=XYLq;Xi$ainQ&)4Th9I$OgSXF^}Q zb}4;+WVJWnd>{A{^|(I5_19lPf$`Q`2OyQ2puRzW|Ip^IfBmi*H3;OQt{jRWz?DPA zWn*!m#Qgd5$i70fBuVGiH4JO4T}gE%Tz1n9oy800?++F#9lR^orwDm{p7imAd%T|N z?oik|tHpf|fDE4jEDaUOGd&v*y|phqaL$_TGaL@l<>4wTOX#z|_0|V);zS!;v7H8{hb!jdKzJQ-J^ng+!x;P**pfF3XDD$mm3& z7j0>j1PhlhhLxMvca|-vIuwej2@U{_0YH`9alSYECvLhRaBrRAGmwo#-B8cqio<(9 zh_xO&WseBPmBiPqSxP&%QmJux?X`V$LM+|}6%{2k!oly~efKCG7=!B#-*nS@Y6gxS zYsK%9nx<^N|Nc9t1VPI`mTV#JQ9U7&9n}x?BxW4|`1ZNaJ-nTOU>nyQoL_L+vKl&Z z0y>Dv5wA2*kxAvx4xk z5UP)5h~Qg}o?3kT{Ug4v_AXoSIP>|MHH(RWi|OaKwr;BVnCj+B!{HLR80+J6eDFaN z6+W(+@aa!qN#6*<2;uj?-%Hto>{Afjci$Z@5FCG^WSgqMc9!c%5=*(6fS_?!0syx= z@BG^bN%b@b0ct#so<;8&wFvDgt|E@%qXPtD27-A|L%>k8v}Snms->NIdHxQ6p3+AG ziaycX7d?F|ALq;`JfTC3nDf}kP^zM}rLDa6WNWzf)EUU6GnTVRkcHj3t5+|fnoTF3 zNR7e1eaC43hQ!93qredue2!$^^M@T^7y{zb^FE)C0ssqU2XXPN@$re|(9mcjKfYRi zF0l~yY?ImOsObWNj}!n51ZWDLCm@J(jl(>8MMWtrTv$Otfc^pYC*ZO(IO8ULK|_`u z?VDEu)isrnN1Vs`HC4mpS|gRj3(wCFP7p_|&&cYrWdEQa-&-JC=CDW=U(|b6~2%B?xok(5?bkk-lGFB z*!RhU;9~&*-#-8OzuQDE_icRJn1jG#1eIuG32Cqx)i~OPOox(5)HEOvFy6+#cU+Ae z-%-Txc%*^Gz^WyhwZpe`Fo9E4R7kZn77J6B!QaBaOD0EYQm4JWn+nwpFlZq4L*Mz% z|7!f|SDzpNP`Bd0fkpp zRYL5mH955i2oxm$Y}M9h{Ep`zkk&;rg5Tjv<~XlEnwZhiF`GREHlbdXI1OR-y`|d}!k?Z49G@G~vTSBvb*LvSBpHgaJVLr99#l;a@ z_?Dn$;j=_d1~LS3!lFiVy(oA`DfJ z{!2VwN!Z{Dx}2=h_Int5>rrbMS$;mO`^%?5Ek{?Vhj^N&rxgf3Q2_Am3t#vaaS){k z$WLt{zZe%CK+&FCf^&}H;#Jt!faU?Sac&;~Y%S-{!J`qfpCDx?DbGCd#9#i|vG_N? z`GW|F7>E?5$nCdpAmEGwbnJq$cOIv-A0V{9{@%ZWz`_;80l+yWL(>if(*gkE_QfxL zr=9>{3;EfNUSC0U(j3#_FvjHXB*8(Hh^E8qoj^ge z6O093C&x(ZN{MHldFUg_&u`uO*Y&EZet_A)^$UraIr0O`<_C#0c>DEGSXD!WAF+f# zO+j!z0I1U?SG{A$BPhIS*}=kE0uY@1 zRq-Z(qCfv*xABYZmSMCHU0FVu+TOfJ8K3CK@jX zis=4yWrAtX0MmK<=dICgvhf;CJ^NG>uB}f)SQ`OjT;p?AS-Fby^jc15CddKcL$)Vx zjcg$i=XTm5r5dnt@gNkE55~ANUFb{(K@I>PvKc1So4PfNSV{f}MEz*<@tZLaW{jP& zAjkpWLpI%je5GvbYdI}0m1kH7-OW6XaFMuV~mvXe!34>#;_i+>NGAqIl@4&5FkI!3fT|E2?(N4 z7&G|tH4)RGAgIp)V8()=e_Dee2Y`PLU5W2V^$N}IJ0YUQ52SM=S zf*=Qg83}@#iw1%m0A?fz7F;wC0^=fppzX!~f}RttbWY|>uoi|_Jr&obJgCh@0nXkiyBg$8U+~k{|d)m~47HHjAp%K-l1+=bn4q)%}|Tz|051c58)m z>E4%8_u$ldTS&pWkbE~tB$y-s*!j{+|1@RD_n`pDZF6(WMFBYg(yc)1qJ=qc#w?N#Ma-p6@_Ly2B56d&PLS&qsP zSIil=h~iR=EhS$QUNQb28i?mTAE?Wz(zLw&{d2OdYBe$>pIO-Q97x#PJ;KR{4 z?6g=3(@`l{bHddJ@X44-%<@6WAID(-EaWcl4H0`mJ(#8P&Q1BXpDrvJhyMDT&RUBZ zLj+fhXHHA*WulPW=wE|^?H^H7dU81CVs$8E+ZFoPJpXiQCtWl2J#k2VP&l_WI-#_(Rwc`G3X}4>$pS&hy_%mV_-oI*ldJgic%hN3 z38ioAlUX~*y%CgWc~ zZoI5VvF`sYg5Z>x3A?nz%I@;EnRfV14E@(h?7MqsjbO3tS+Vty=zrvKn#ypY4o|)J z0*YhjjjM;6uLQXK^VgiV(@euS#wRw#uO%PC4!Zs`oT}r=&+9-cXCrj4rHI3P|0Bg? zvfoza=za$L`ibFiXK|sw*7DD~0@17UQQ5GAXAeV-A{y3$VNNlff9uscLi+*ZlM%lG zr?Yf?i4GF~IscEO7RD#vuJy+`EhOi2-u+u9s1N9;))D06tmo+n?0>0B`#PZjmn;tZ zM_SznWXo3F{$91LfTjW4UwUwXBCqz>IWm(v{$8RGR`?&m{xb+TDcS_mZFz--#GvfZ zD@7G8J_)IYecuBjZ_Q?}nnHGa5!Lv8?3x9L#Zig~;Z8I`c=wku?MT%-PMeXgCu~Di zUo1RbF%_f47-m$OX5NmKh|u-616QFAnZsujffUevtH-*Kut1osF?xSxuc**1Uu z>-pz}tG~5JU4;7FFh0!Cu1wy~Z0)Gm4OJo_xP6OcSx=u4Y2g)`eqD-NOCj zYVukUX9yR{32=_vyUPLAJ8<$%dC)NB7f(B_?M0kk(KuUmB2oiOht^#4JJokl^Gd4K z!B-8e=c^4|48`gAXzJt`0ahxT0A_VUy$^AB?>LH$L#^xIK_#%Be>$oW>ncuXolIN& zCPK;|haPgJs3$TYwrB5mhzb3A#Os5|hW%0r|K-G@a2MzbO&P1APzR%p?|=~_ghx;V|tto2!=($I#R6ta^u89!i95@=hIoWBsQY44d_8 z^*=hb$YCrP_LdboK%45ZD>?mAK%b23f)>nQ2HgfA!U5>m16x>l6Te!pi zE+*%rZN9C+m^at4f1m zcAdz1b=fm}!u3}^i_jGK@tnoP2Sbn9<%@Dagzpf-mm=psl6hSvU=N~Ov}t45f>1pd*XxNC&$+BO3j*^o7?56 za{Vs@XcwzOSaV4r*NM;s7!Gc7z(w?e+@A)qn<3!#t<7_$6lAh9n-F4t-Tm;*Qv{1p zME0@OrsUP)l8IntlI(z-b+n(K&+LiJ{1F-Wb%u3zzYSANNwia7%K>yG>DVcppRIz6 zd~}}nf(7<8O{0S|=j2E-%h*B$bhPmMEzKcbw9zU-l1^Pq?{y-wR&hlzej}cy;i1^V zB(I<3>>9!lDt=>MRR-EqFD9*u^GrKZU0HJF&Y!Jx!<4zl1=~Ztx6&Sk!%^AUS{#c9 z981EwCFpF4q9W863rd1RytIo^z==F=pG>Y>th>-PENe5pBXil*&P_e*vvv|?V4iMmd=`}1+!Mo;O?qgtq zvSA9Wh&=CL20uwE*W$Q2<-nW6F<0PIqN-d7n;8r1Ww`{B({+LGiO@MPviIt@3|Ms% z6UjlDlf7d{<}}p>Q`pXWes#(eTn9!lK}IN52L8#FntuDxjkSRKx3&d>EjzJUApUc` z;2j`RlZebRY*T(oj1E8df9(A|#XDL2I30!1*V^0cXW4GlOAi-!cWH`;VBBMzBpk{}E3W74fck{Bju!GoFhk*$DVUEFHHB6Xd zF-JwH!W}!Y;8&lL?({@hqz$PU!1NDoXp&zve&W9XlsIQ9GsoCN(wT#_nmo*n|u zsCYHyCEq9PxaCV#UkkRO(EkK}SrVv)g%U5f!lHca6WkeL*~|8McM=l$|qX!o*(2 z_8(l_VG=?JPV4PL?VmoS#oZD%&e#vfGHD8iadA~M>ywbxC!0S>5?UPl3wyEE!0pTw zcqvkSlS$JY#-hrT9x*EKycZlzDR2*cxrfbj^?|~dLwud z5#c~49zrm!w@dl5*JMN5aabr|C|mW}@Vb`?Nss1emIp3fFVSxE{sHe5Ee*` z=Fg6b(-}mDVJB{##R|JJpxQMrzB^{?LYZh^K37bw7|4bvC)R0$6;`SBOX7s@O^osV zZg&q&>Kxlq;KVCR^Nsc(kw@39iX%OZ)y#i;!>Lh&@19(w#Ft4l-^L-kdYfP|e@s@9 z%03;-Ig_Q{$G_Kr!gLicFZ#_o{C1O<&~@!3yEuY3h>k)YJh_m_i|}4&$+58tY_J*u zuJwHfwFjCCSB7V|Q##$}<9<7sA>aD$%Fbn7uS@^jXg0W>^LGzU+(ue=RBIc2X=^~0j^&*F{uOG1h~wmowu-m8UW!B?#W-e6v4RQwT$&+H(b&pH!=*d4!?KIg)8Zh@=E)17Ip8akR)s`RcMbl_Mj-ZW#CxC z+XN(oI<9!_y!=uhKjU!cGNa*g=l%MbpV!kve!InU#**KM%_SScdI>?~U*`;9Oh@k{ zo&FGfnTD2)LEIVUatwYOlB7N!@Q%Db{sR-BAEfn+^~i76o2^R;ZBttrFG9%u+xY@< z*EWw|nPm$(0VR@}<5u%#kP~NziwNQUx-=hu8(iHg!?x#4B(?vs1rBp+FJ)S$qwXa` zhXU1igEvaW3#O+ckhG;lWBt^?M%)YQC=r1^nOBu^NVnWY z`7ZP!g$Eynnt3%>e-X+`=pHW`mmDc%wmZ2s&P-yi8rPgZTT)6;=n71K) z790G#kas2z2qAXX+>hU+GR+E?dPEwXqHt)h5~zOJhO?>gJ4Nkwr5ff0h7geO$}y@5suewaoE*!H z3Pks(eh6Z}M~=(#Mun@$5FcT(B)sZgtSgU=3{-5Cek91R5yw+$OJQ0|480m3*3a9r zm;joe#EoRXPcYn5vB6?a+YyL`{d}jNHwb0w89&OY*mzPC0RBk{LU&|ZB^w(;hoo;XQC_CF6YC2@Iu*U)Dt;UnL-qPscIfYDVnYn!*| zgU3n_kR<+!g0URvPt#PBWD?PHL=7(FRf3cqa`WkG@XA@MI!>E~idZ1ujwkV^`=iuf z#{Kj5zHqR);;p}~{uFfWUV)j%gsg?J%57_QVC;Mpi3eC7gP1!2)k_vW-4lUe#{Szp z+}oZht9Ow|DIbpVEXY_DII|GsFyt0KrZrMb8K8A#c0_dYQ8E>{EiaOUSw8M!OWE{$(ESZ4=7aEEUEnCbI?i$wZG7?qD1Ci=IPj29bQtw=iO+P7eylYp}H* zBOBP)cI!}7*+o6qZiT{t5TzfTn3l00dm$Onbto2OGL* zzusD1hJ1GRWxv-%&KUw;remA0U`ShQGxP*>B6i%A7jxwRf(6M+bi~&X_fm+I=ab6+sWjE z?WRUxtFq=OFJ4EoHcLCw|51!-GlbD>cF65N5(C)G0)m`d!G``T!U$A)IQQ|TI8n7w zCLa2jzl7S$S}=Pu9{zsiu~>J{E>El-no-0bnVbPTk8T57Hx_r?J5?J@DOzcwQ1-1ioK0C(5o*tz?G+gvjRkOPZOm0*(+P>5W!`X_;AL-!UKnXwfMA; z+>KesaHfpSNQ=YDssgfM&RR{11tt0o+V+Y)2Yj-;2Falsk1)CgMZ>{b?cYBzj~h^g zV@;$G6j#9^EB`ZX;W1gPLflywKy$O18;U*@OvUH1{Jur`7PR!*s|{PmA|ui!ao->9 zJC+k4yk9aS_@^A`1AFDF3@E$qo#a8Lk8ivCLnd+}=FvhP!x7JpKm{y1g8p~HAFwT+ z=87={7f6BAm>(&HRch7jAnA|FM^h(G6$lK6X|asnDm^y0&7w0g*=7v;I3MtZ5e5R_ zGPG6}!oq%9`0o4M&g6j~y1s4_lzaPUj4d?ggB{aN)FWa~EhamElXgTiK3Tk+9}9ZX zp+*T+C>Yr|*^T1Mt9ArCD1tI1I~gch<|U>Z81xHO?1q=>Co7X)Y0E80R)x`jK7cff zfV~!)%#op9h>W@o2Q!7zTp)@YT(|Q0{=N!w~iNyucFm&e&W+8wR+|U|!oJ$L?VLKem7-57$c_C57#UBpc6Z1za$nRL!ON_*>fxC?ie&4B^^m6T*oV{F-69YjI~&2ai)$wzs#>3C>j+#E(?#(lr<5X(n&io%&K| zGhvqgd3^@sRr$6o+q}f-$1!{62s+tdp&4L@)TY$TBh~%gDmemcjMhs+$Q7w_EJ6;m zWsXO%$ow%oI%uLA*>s%RdEx%b#B1Kwuah=4RFOoa5rU12XfSS_P*!J?wOwt!$Em;q zF*FzXYM%5XR4a4JQ0g8Cu1){=-e936cxUg<@KwhORyFLPvt!LsXP zWZL_HLsPwd+`*H=Rb&=qK@Nz-CDzZBDy%y?Na9jo!&g7{iBUWgk!c7Qr6%*#!5LYD z^*0p;v5rd|5F2CqD^jC!iw`69alXnM@0D}hSs2@W*GGgA4&xb@_ney5g0N-+RbQ2d z_Hz;S-KanCQ?^)0B33sP!A7F0Yjz5=A{UQUwal(~C{okn-;RR$)cbc$ua-cQ`JU_M z__> znKA7!GSN@*lG(Zq4p~t%nH*|y0(qEX$c{2>+XUY6j#eCRVcp#R9aw(p;TRnPT%=0r z0i!cVpSN;oSHVHYZh zh0UnuEcZ|&VwV^};u+y4`mxgNGE!jSb&`>Do)+vsaA#hiEplUO?XdpbLFrbQTH86j3eV1TXy@H?Zl!7^!)L;H(xn zb}m%;9K=V?v(X&T|0#jDOyG2xRYqE9-~lJqh>kGc z7JScarc@ilSdde31QEyU&{)vBN5xPbthdH*b*0p{%2~PEdLy zQNPwl+fwgN3QtNOSs48Hlz1{f=qy!e;p_#A~1QfLwTud3S9_+y6Qo)ScBMdY3fg$e1j8x|R_uN!E z$D8ZH{ItdqZ=?OdJ`{-|Aexupue!V)q8cHUAy4ff8Jg)f!QXaQys!0YhBu7|(Z^sI z2!(ErtJXKY#@fqQ3=U^1N}>*V5sy{r+x#x*njvdXsH$jpfHW13j_9MEfw0p5D? zcqgKxqk#b|WXd9YE0C;v4xzA`-U@FDvR~1r1oZ*fuIyWC=1#wnx+6e4T1Ur!a0V`} z{_2UF6yBcd+)!D^8&o~23kFBoj4BB3-UJ<4tVQI!U z)Ef2Y?p3UOFD_r~9esrvy|w2ZrfYCUva9@hU;BN*gjd#qL*+dIFvk-w8Up-*&Y=*I zylyY~_9L%td4YiG=-v08abAj~!uhPCUzn`hXoWu-g!@qW0G!z&8PF0w{kTMxtcF3p)bje9sR`4^ggeK^+g8&f*Pa_fqQ`${ z@SN>^dHMNhwtKX)8f<$tFC(pPDO~n$bzSSUY;UYqMUv;ONLkjSlS?c5R+k7B!-l+; zHkCs8_VVgNkIG&Hnf&PdK@Pe@PS}h7GlSkd0dZiJ1T^#fH0+a~9myC^H&Srit{aZ7uYJ&2OsHr;!NayFB}v_d!L*E&WCue6sj3xz>r)Y7=}9+n0VK}f zJ|NRFzjAaj?>+B=IQ)kGxV7}cy7;t3y64nVC(u&7U%A%RFNJ>JR^E9nUceUqD5#NB z5>kChl_Tr2g_&!ref|Y9hhiivkfXmsFUJzt%Vu0~z-Yp{3~}Kh>6H^4^D(p6fJG=G ztlmQO#K2ORpTYN5QEEi39XkPYb@Z7x>AXK<5DSKm`asq(*wpX7I4mAyS%f3y3~2Ag z>Nb#e)dRLf253z3eSGVvomTj0IREFGWt(ODI)11Y#Pp7rOBvhV562jwf$GcRN;QJ; z=ZAOy12&7i8lBE`pmqUc$Stmq&dW(M2IEY3Lc2$bu!Y|$)`*RcTN|%gpe|Em`rB#D zyc;t^CKV_%zY`@S`|D-OlgQ|{$6CX{Ii%w<) zOLZc$#y>H7Ii+>TDzu?g8>smQY{`ATI0@+XBJJ(B?g)W9XcX#d@sqx$H7c*+X^XW|2zfsGsPq8C{y(8 zD_xDv?~5DRsE}a*5D5};qa5RVCn|F8h#!s~z~0RF*D51~%RU&kSzB2TTMNGtyBM~x z#n5;4;i}(p)T2#G8Se9Z=!^9mfdJCv67+aR)ty|DPb-%v9p$3bncR`e7;@_=hIzD8;`~*o#2LNPn|(hs z*h@i~tP|bUuZ7k;Ck^6k8J%E(y~@Uet6stbTeaTp>UJz=?xT_@#6!~K zvel`j-Y^=zD@m>jw|H>>kkzF~?33XbS#Wjoq?SqciO8mE{=xwd(y5*Z`yHbFc5qq1 zH5bAmy><AQ9%bsa+ZE$HZf@!X^H72eR-HO#rgO^c zKR+L=m05fmE`8p2S6GCtu=wi>O8a>!k`lB8zy z=nf_#5YMy(&HWOpLDuD6&LoC=xUlD2__fB-yNHjdUiORjioNyjYP9Uy%Oqd>IGYpC zxK!wVjuJjZYW8kxc(2daF36jVwSOd=1TO{kOyf*$ZuV{2{;Y-4-bbolU397b=+)Bu zEwH+p0Z4;L=Sm6dPDF}Y(sS?)k6mW+^xM~<%6dM%zD7%C89adcWzF!FjRv(Jt#xy< z-}Ce}+S9*Yj+WH?P;`5J3M9R|dcsRrlJDZ*f3uLpVR)Rnqm=swmDvfoQ(EUELsE(mI+o$r)IoSG8PjF!CF_=SN-M>%T;){4;${izHW@<>;*Q zGGB#Vm4JE6I(j^dj?7(GQBVpcw}gGENi9rbr(LSx7@e=O+)yTl+?v7e4LA_9Q|C#`Ae?MbzKgNzqp4gX9V{WTr9-*hLXb z!;fYQJ%t80`hREeHxYyLIn0dbcqCzMo_W+~fM~LG>H-t@q5WL20v_<}4D#+T)NUIH zmZO$07UY&b6Xi6%xN40ZH*+0Tg(iZO9U=v2Ig!IRV4k=^PPo9q->}_t8f=%t1!<)x zZRg)emdbdDd7*_2%!|D}PClJdnCFgGCiyX@w>j`^`xoy7fXC=-kl5n@S$$d7bf=@F z+SM%Y44OO^gsQ&#QOX1I+45sRnkFa6`>j>CuJNk&)4PUa8r@VXTloVO!v zktZlhW9w{@iMk@x?u~S>NTcC4fneV);~;8F>g}VCbQ|Tp!`u^+3Pli088A(0Ujhb? z&ZYy-&AcEwW8(qLivXxG8 zVpxAtdVB0X6bdvu;ehUX#;9}B`)B%BMT3jpzGNR3AR3pAKiYU49ZKdf)P`fTs9GR!Bh_^CQ ztZ;)3`MhcZG>os911 zBM5KqdgsF!g=O}ILfSSrH$7R;FSMU;%Nu~7vOzxMnR!qKm5EPJsJ@y0JhMsnLmu&| zewe6D(dZ9S?iF@6DLh@688}m7`|B%AwoWs772n1I{U4J{TmmS#bc#!k;jxB%Olros z@^u#qwm#6)bLWZsTcdhko@~iNm%dSMwsSRo}|mK7L*Hz=dPEif3oSp=rK=M84VQ!QTpGzu$t&dk>^;% zt%zQWuy((=8kt85C@V?;82!i2YVW-ircL{QrC`Tis?M3R#@uKZVQ9ZXyP^;h*slHS zjwpBZmtdV$>r(b;R;>EOfD(5W++>3SxJd%o18Af5QyG-zLz}CWsp9{gm9@Fm2P`tG z{dGyCZ|=Gj@rl#(IMO(FH~d-By)-LRV>1rTOV`+&Fu@>bXK*bz*N;Qb3;9%6*=MEO z(W1J2j=S9OZTO&BiH8yK5TINA7ePv4Cg1Zre^N3q27?c+*r(?-GP9-ltMr99G>=2b zQ$mN{3?*At_OaO*;1>j{DqPl^YN(60Dn{5|W%?rN#U4)t%yLDR}K(R-6^{yVjwsQ*nOwa>Xc zXFdTll)K0IapMlK{^ep-aingI=PKg-M7i~14o#k@$Kl+GwK%j^XXqYhgwLV#2b+`4 zmV=DfYb2Kbru}{@Cs*K4*Visf@@dDDpeqqncgyXI(kXxhBhD`i&`#hH!L|1}9m(kG z&sNpt(`dLIDspd98hJa?c=wmbQo!rXTbL*t9^}R@cikq3SjwHXP+G)RVSL?8^nss- z=9hb?Pn}DfeA6#K;J{M}XCe6T1Z0y00rD9G#DqOP-T%%XsTYqw>y;!4Qx}NSMi+wq z5ki-D>K2?SK1Jrg!-X@k9nr%Q99HXyi->yc+7b=AxT+zqp*4fR<-g}?hTX8rV4jv~7T62%LY!Zx3&dvh2-yN>`ZWew;!Es~Ze8WYs(}!CXZw$@0V&CWX zSC>HtYeQKGxx%>Db^>wax+Y&Gx+@cW$I~0kBK_AQ4O5U?*k4O;^x7->Fk*-^z18>0 zEZ|9wPFgIGB<>FdInJi_SHa-jGR6swfN+>#P$>=zuR;7OETsB!nGCg&D|#YK!IL5f zy26+~19)y=%bsyoPb2es(c_}8MrYL?A!`mru>MIA&fe#hln49idazu&ifO&>s|&%_ zFa-kMv7VN_JD_`-Q}gkRQh6;bP-&@V;CY9@#u|8$Om+&c8wY6rO;ve%M%65z@qC4h z@z?tn7laO>@*}S>PuJzV_xI`2I{QV#v>g*a`6aOsm^bue!tE~J=~w z2SJ8(YyIy3hmfq?FjG8zEqea&FmKnldOy+&YE(|Y3i=EIYA|bmg6jv$Rlbugv)46K zK+$-Z66)^L2P|g6?Q_C}+(RgX$ihQ`y?p6ODpIerTyHKL!g4+K`yOX)63IUas3ZV@ zKk4>IsE5|ssmP5TR)Wtt(V2Vly68 zz8++rx{bf8;8-i#1&A#yI?HQhnP5}rR`X?CBJ;h>10lZbceL_4GE|%cyuUay{YkbV z9+cIi|NNZ~8)oZwQ=G7st2(fvKq6*I9?t4|gbW6%+OSXOBbrAgw@rbG09j@nN}HP}82D%#JWKim z5Rv5;&H!$1?J;ifA5uxll}>LT`w-tN98czC}VwTAk*<4H&u!n&9r=;-oIc(Xs2{tlbI7-H_9LUC8`)he zg+a;;8Dn3!=+e*hXwH-BmU;ww&k9SqfDQYxCojFJ$`SZfd0n@`OA=tjlnfVS!&K*8 zQvcVGe$%$=B17RM^D54f>P_?nw{obgSR34k9_E(VTOZw)RBib}P_ye5#1S>yzZ(M3 zKd<$;DUE9*PO^4v0Js1My3rUqOd6{mg}cvH8{FN%7N@n?oQy&!7*X;hU~>0(Qk%J3 zy_wl1PzRLCHnK4jL*KqfJxm#XM!>irPm-ShEFIwUICWP&m-UU&n=iZ@c>0K;kMhIG zDcq0_*nub~@r61gd*1#2c||0_8^i{IZAC7~`SmliQ1??p9QSO2{`_pK=uksiKaRnr ze`n47OXZ&op=Fhaqj0(ydGQ~d(5`I_p9FQfCal9?uR9|pG;-h@r^15|hc-*t`#o{X z9VHad7*r=5db7f2ysVJ0H{StV(5%d#*u}h*=C{5q zko)D+-bDi>w^V!e+8&`c2fhFYu;HMa*GQpg?dKe1h4%IfpUUoU6=%*lvXG4X%<|}7 z!11iR1Ibd;0|p8I<{*wO9*mnL`qMOhr*UIWgR)$QjQ;|bDF4o&lP`lv3Cq+y_-%R7p% zF)!D!wLH^>7V(KckY0mDHxi+*XwFdIeVfnNY1xw+?M1tPN6{gvS0!P_aq_nx*F73} z!KvvU6IG-8nsJsi<~J@-(BXSm7n z>?9}A>8_s|;6n@ik9iL+hJIma=arDw$VpNZjO{43%llk@ooUJp2w-mA|1~CmNK}Lp zsvwG}OED`+eQ%f6w=P7lCR}*8;d)aMAGfKQpo~`<`4Xqy2GroMdsCy0^eN;TOgCm!=1B}d892XAfID#{q>#CPpQY2BsOGn zRmukR1g-J^T@z;&viasAfA7c^m)fhPuXprpdxd98q$;fEF-Jgtw&+y;!j*Nv z7Sy#=;jjf6i+c^v`*yD-{6nSwSwm(PXcJ<0`>6@4GaR~?eO9&$7}k-mOp+(N57)AI zQdB{f_{{>l9JF*jVtUC>MAJ7@C$({{Gw1{U>4u=+i|+wWDp+Ko#CbmLk~ot+PIbog z_-Nuz4GT``oK1xDvu74qhz&f`5WM)4(5_{kAI9sk5qoJ-gEjsU;x3*qq+=?S4Gz0>r#%7+|jqr6*BHJR9(g$0-POJOC$DA?$ioecXPC? zVZ{7HRje_v#L{al7@Mr<1)gd6pa=Ea7nyCTO21(A^ne|);#5~N71ZJETEC_n{8#w+^Tq$_hC&`*&u}z3hYdKwd2(a z_SiRF??)Jw-j3bfAe?efj!)%xHZ_`EgTKmkX4 zbT?6(d= zaKk`wE}Z`}E@SCe5_AN}%AZtl`gDFgW=q9 z;FVO7bOx-;H=*u9kD#9^s6U#LbdaN@~=XIf7%sG-sd-YA^Keji@Il9q0@6AZlWX)^tN{_oBf6R(Yvc zi=Mdx?sdZyjVzW`q}ywoyctgYHW3MeD}23q#l%bxlqEmc#R{dPcd87cS008AGUt6g zJ`!^I5UEB5B;8kThyAYwJ~(X}K^s&v{09^#Z~6Jcu`WP%uF{dF1n3>DHJ9=&S#X!V zb*wJuZ9Te+oOW!NSY^No#UC2~hEyha8&kGQwEou!|9W$n%Q!~<*JG(eewNIE*D6g0 zr+pe`tEjInJ1SNPpz@(Iqrt%F?V#k6Ox4F)pXj|T%uBW*k6zhh_?Q@1jx8Cc+z*fnf7nJAs2OuOrxpa~3d!p4F%TB_pL}P( zBfFtxhIQJb0g|Meam~hRP$#?L9QB*#K75GeWY5ac{<$KENbnpk_>jd$c;Z7^R7Oti z)>*b|7@*xOvQ!+FJZ}3eCZ4SC?lz|ctWdJZR`FE?0}g0^UOg|tTNdyyD^cGi{x;In z3kRzf!b|3lvz6m&EoW4K&HM62NAg@r@6KD>iANJNw{U%*@}RMA$a^OVn8_k6oS#&) z3kqz*KA!uq*p*fH5Z3fwy=%8dSz5p+f1s5#E){{zR?uZfc;H36@W*MRvd7J{H`_H0I z!M=da78Q-Ne`$VibgQnSz9~;>@h~}esG}a~(Nq&_5>Ecx=fGOr zEYhJ=hzw24=oM<6wj!|OOmp6aMzRZQpEJnYe4YiF; zQUqfx;9fY2KBs2qkgf7&g?VPi6{XqCBb_hzq~)u(o!&Tm&~?IJ2x7zvqn}Q7R$9uY z)`D6UN3fFE-KYj!XP8yFn@?rhunWOeI`+%^&_{u;+IuPk9Cs2@t83V`_%SBy|W1oFkX`sTd>B~58ksb$A$Bz{noPfuQJP!m%19W-Tq)Jb?< za$wG;!XU-U2Sbllcj6XhnAJ}V-Ve$pe>wn1)uodz0nlVIF^!?pP@=k8NiSMheDUy4 zrw1W&4_ODdC3h0kg=L}5EidO*ypdWOB&X&mZL!Brz)u~jzpYR0`SWAwu)QzV%}|u@ltft?E*7 zCfA9}LY#GJDLuzZ0gd9Xx>yd#=p55lnsKwW>}LE}vNM#gm4?LFrYY_iGwGdu~a zN*g1Z2UJcguxTA|oe0Kdoh8-%hGtrH&%a?}bo&HLC*!{?{N&s~z8Iw}-w5%l`|(9* zHcE7PL)uLA?XTyC{yY}km;6sPj=iKaOW#cV?xzUlR4)Ajv1)81T&mN1hR59`pT?-qw90;I_}J^4=9UOJr=wdR@sMSCb>u$@XK5zVcAAO;m4j zxbg|R2dvXxk2to59Lexw3z!{R4%TB{=|y-~EMjctBS#Mu$E2%0%wz@1*NH)tDjN`% zeX^HcsPnF->m=#BI57e(!EsMmNKm4s(?VYu&_@?+?pV%$zdp1zQaT;SR%T_fuR~#m zw{y`;nX@kRrTuBn(38dJpa|XgwVh9&${1{N;TvWi<7tmrrz;an96)UK>(R1@-1`hk0$E% zjf9 zEn?2bcE;wK33fncJrS8)?M;mVOQ3xNM%Ee1bj`_Ma!d@Md?rDr`Fi$Xy6yYLuh*$O zw)+&J#>y0{<-Rl!o(^_0H-Wm)Xk;P~xCkFg=nf5HlNR)UzLDVLB8$az zx!^=OS}AKkb}+)EDiuwO1MVMM;A3N;Cmxh^OD(v*OnLLH+_wr(xu0yuU&Y~w%t2T! zyl&*-aV!yf~zbKSBbX$db5BFjwdgyPK>(oOK(9jg$uHz1-Hs!3lm_vQ&4f%&kxNdeYX4o zIV2Ttv*8$W=pjWaN22e$u*{R^gd|akNUdpysvGtOTu}T%jJ4*f`(}8&5uon8oqmD~ zjY@8{+ez$y>p*KRjZ;>!$I-H@B4BFE z<=~|B*@rp5?i#f(T!Vsb`|!`GxZZY99(1m9DIQU0E;aWK&|caELVVpkW*w5r!)_?F ziHXXYd-su|A+(EsAl<1v9r55ow`Amg zfJQqGR(>e&mLfQv67X|!%O-CzTdjj9(jTXBE9LdUMMlk)pe&~PwO5M^1$n!gH`9L9 z+%N9^Q5ot>%dF$K6$ws99kloCRE(BXzlo59{}`r`^C&_wYlpdj(L`jOU%*&YO!S!H zSie{{AN4QY?I0JAJ$O^k_;%+mYUauI#I4>!mO!OnrG<-HUp#RIiOBiY=R|a;NW{tC z-{LZL5*!9wn9uY?@%H~~>&ye8THiQ6=q4$YYbi^M8_|L$%9eI5mPBM5TgXmXW{45l zl_cTXZpkiMNHjvtP?m9vC}NngWF12?GG>0y(Q9TiRofvdG6SI!$vfR_ru}ytMYW>TxvKcX9}F|nHIyf@O~xxSCP;Q{v29?4+|&^; zb2P{b{Kb6cS$>+8 z{5tJU!q)Z;J7gP$T(xi_CPlAQs@F3VChnNCR3kg+?jeh-krS;NmtkKOM)~kHZ!0y_ zDcT*Hqf)u}(WJF)&V~KwEW3AD1=Sz_hJs=0L$Kpu@oazP&TVJJwdKsa#25;sD*0x7 z;-=3_z=nlre6|+s?kxSwzufYuJFRu0?E-r%r|yDOttbbX+SlNBy}&SYAg#WgsBV>c zh$&ksU2}-==86u>BI4Bt<%oCI5dOaPJICV>lu}9Dl;yq>qx+Wm{Ix6#-*oM?Xil6) z@2=TQ+nDNihb?7%)E~x^SMhYe#&` zeX(ao%ZV3@+`1ElI2||#Dn+MvLfgW(|1e=!7+A4~o!(@^JFIePoWxY?a=(6uI#NZp zPMwdBLt|#uUqIa7vGd@tf8*i47Y-FCS}?|8>%lVGcLPCtQH(?H z!wm-tjF+xc4Cek@Zvl{6QHo|mxThdATi5gA;b}||e~q9$N)eJ!Y++w?@R{Ocy$2{c z4%r)VPM*ramTk*ybS2jWtwb$Y#E2TI+{8eKc!vxvFjKt79mxx=69Mm+OD4=YwH9}D zYVDD(!pariiru26a(hbMPt{cDa(hHB&PT5e!Mx9E!HSF}xMvHJ1IXti34YBUY!UlJ|-Mmkpk=HYAg- zcKkYOwh_`I>Z;s32 zT>z`-U0XazIHMGYri|TVR>g3-`c?uGEnJ6#L<_~RO;PXdXUFp<@y97$^K8As&6sS) zHC9(Tgxaa$28(aD$_HgaLq#T>CV9 zY3J1Eo3DzsPU_H-@!cA;ncD2oqqLqjnGnjVg>G%GV;ao*rN(JiHAsScoiK+7;@8f{ z8T6yvC|Ve=I@10Bj;HTjRu{U*d^lKnn5ow(0XcFJZW!LUnVayVtrRU10@iV zhX+UGuwz7=?lu0!+#vK}vDD?U^Gd29Mq|)}^8m!EqfY`mZnOB!TQ`V!o*z%6hTpHb zJ{)8j+4t0vI|OTU4mV=uqJ>sqGZ1`R*D%R7pv{$50os(Eoz4dF^F|ZiLH?Bw3Wz7l zTf-NlIZO7~9n76csEyL%-Q5Edm7*Md_=@bDl6>xIJc#w(9h^3=_$GiIg-`1GRN)qn z8p`5Z=$7L;ro!B*j}j7$o7myqg5=cTk6L`Fnyvl54+6HEMq7^Ji|~+~z9dm!s%YTY z=K1C|6G=9?8*)t5TeDaT`ySb)MjR;o?GcHYHRFLlzMA@tyhj^~j4mp&kK^Bn z$5}QT*|5wzT_}~7)eB`;DY056L~p0v@mIUK<`ghz zKCC~asg$C#=yZs+T2eP17G9-X@i9$4D#7sCZ4Y7(WUw1SjCiE3o2wjXveyDQqrv#VzW>_ zXv`5|cs?#-MHzGjBijS4xfL~pFLsN;cZ*IHhB@Da>n^7)#$8YKRbP+C-2os$bea#y zA)}r~$l=^af2C=ySgHZNX@d?Vd_0fL;?2ACwA z!JD_K3OBXQII~kFQkj{!zk~B^2dv_{ToYbg>=qjly7X2Wu7!rxHf^}PiOmnL3Ckbh z<*gHS+mqmGR6Kq^OjL<$k-S}mK7L^S&g7V_5hJK+I(DIRa!NZz8+qYBDKHC-;9`cR zU}uGy^wAR_;rC;T0Qu2)bi>Z&{+zIc-sc6Y9lhZN+;iLTIyR$(Y@Csa+yBT>L%q1+ z^xz5bEIbon&|fAk7L?zi$~9RzG~ypKT|Uh_c3#j-MX}a1YBz#qiD_Y-cYOAffcCooq(h|ehAa`^f1JHE3x1;sj4Gvo zafOjaN<26#pOJA~R-R*DyZlLp=$hT?s%IK3=c<+iX~E9$p+>gK@eAA8w<7>vhtJmG zgl{~wLOA4x>eGr;tauznHx?p)Z37atLoN}ypRzl8Cvakq!CU=bYq<3}WmD&3#czqv&z|2nM z`ZKGDv`y@V`yKT=m~CQU+b^KmJcrlBb2ptkBcouvBlQJyr%dAxBk!T!0qjH79cEAA zq6br#NI;x@ge8&jhywcnx0iYx1>5V9_T{jX(+xcBWXoAW&*V?hI*U*5C;0P0wn}n_ zU6@Hdz!ILiu@bMyo2}1P%WN4oJIr!J0{lg2zW&)JMo=4ck$P?Ay&bzTh2WqK;P5T* zDB?ArEp4Z=`bF!!ySQGYuIjI3g{y0{G0(YILvR&&FnZ2reA18GR~@o=Iav-Ccdmd0 z5ap1PP`0dynJE9*wPw(tW`dEfnILX%CRw4|?=B6yWfl*4sU|^#OKHj`Axv0DB>sW& z0@94YAm`pwv{|!uXG%buDWWzUByq$5@sN~pwzg5jC=U$5$!j{qWRQa-S@1KLlQNqc&Bp% z?Oaj#K!hrpB@pI(3l7#D1Y8(Rrm8#Z1raBEPv>n9yE^9Sgb5_D-cuQ_5oU`p=~@u( zf5MM%J`mXWeai9jXbJ$U81O(7=to>YC9g5Oc?{lE-gJ9cK?m6M7b{S&zaCN9X(rOThx ze0Gs`<{01GDIm2mQYR=4Q?$yxf&KPCaZwl{61MOu~W)S7N0?saLb)uhyOrf>GmtYr+( zSks@9{^nB4g=LX0&A4s$fD}mKBv}oC@||Mq0U)5yx5zsMZyNsA1v-ZPb*9)EX4r%3 z*H!B`WXNo}U!^g;V&>X|6#N#XYgM(`z37c>cgFL)Ia_X}zmKsNLdR`<2ZAoEh80xx zj(Fw5B4nGMmp-I|uB354cm^|?eC8Y`3g1omS>@WET?aYV*Iv1-sqOXjGKkIerPqxW z^ehcJ(RDw445&{+$p3yyz>lh?0P@1Ak=I~?tp#4v+GWE&`5Z~4Q{~mXA3J3xZ)I;{ zOZBfNb-fTfj#{Z6gNHd6Js796*qKUA&rRY75^FV3BLzg9{ko|`R(3IH_w;w(`A3*^@b+I83mcvuK2W@gy&4C! zhP_VpSRy`7o_r2X$EHQ$?SkrfJaHJvmu%_~;yls0*QcvC1Ul++O?hdXn2RQIu5G*4 zJXv~NPR4LZB^urviR-D9o1KtSA8x+j?#0m&7Pb&jC8;^A^>RtYJzZ+D-;nY}4N)NJMsaShg>zG*4%f5nL<0vXIPRiZ^!C`B(TmKj?b6)gDaA)0suwk-4 zws!;`f@|*EG5}P+`;xrbJul+uO3pzJe+McctTUoW!a?n*Ir$|jS&G{t);R@2T93d_y8!oht5j%pPd>o;b&m@ zf3hrX(tV79$7sLOX}z#fLHLI|NCT)S%n&InswQ5)C20-4{1>4-l4DkqwGhti;t8=S zn>*j9SGX_4c}&7xdf5Xm#V{(qCF*H;D7N&s(j_kv0&NCEXcSyoo<7$`@gp}-n}dh; zVqV>!wQ@##?;|cJj57$XMIQHJkpKLgIi3)Rc%!FN=)Zrou*zaj;jRKvT0?n20mZ0h z!^7$3ZAPV`Hf2wI?=wT3$!f~Vfi|hru>h8FIL^|^dwgwwad}_(FZ{6#ab41E=5i-) z2&6K0x20#m3QeS*5;^;uA`hX6@y=QT^B>L4OXL$tUWTc_iT3+9QF`p|JnGgZhysbE zQfHB{O((U2%kJLlf1#s!9uzGjiO1=p$XC#pJGW)F5XN+JT_p5;{NPpt-q6V|VMF>% z=QS}|R8B;IH0!kWKwMv=zCgV#mCs8SCP@f>Ih^wRu-C~yinBM8VFhn~bN)mtUU?~( zSMK+ndwjc%TFSPPMa4%#J2MyRZsG%8LC_|yj@#E zpB!Xae3{<6)cRyH|7Sc7Z2cJpV69A0dGgV_TLc^sHJK&*(I)Q04LtXUa`LRsuMjRa2mYq4+pefWgACVVSLB zUwPBTsJXU&@QNL<+{BKqxm3B-Cv#9pC8tb|Us#oRVSA^2P~F&CdSZfoFesy!IJy%X z9J)X>cri5ji-%*fHp$0{a?EuOOvx&MAcdhjNx`ZSRUUo+6i-~5ry}Rg6d;6KwKNAl z86iIdH&0%ts<~G^Lf5a{h0O|s z2Nx&2gFUt~qX;loJAML(f?_Zd89+crj+QiJ7HgP!`Nd98zzwtss&i$0*$N@Nr9b_L z|J{Gsx}=KhxmsOY8Uh7wk8cfqr1<-4J8C2h{GZy>!~R{(`1M4UnV-ML8rB%^YIJ{k zpL44W)j%TGWsZDsYU8=4+wh7(-#q7Kg4t(8Hp^}-NgYn&)&i35cXIpV9^{+n?4>`o zs(RAeF+E_6TQ6ufQy!b*Q=8u0n2bGtDs~h>_Rk`100+aN*J00Y)?@IE`;yA0v(kiAq zSyJEx-&j&f{WpU8$-~4j!#q@9dSB`*8pRh0j>=>6uSFGZ;O^MNt4XzXc*B)*x3F?M+ zF03Zp@kChCQtt2ZtkUTSjfAZ-DlK}(R?!UBg~kWALb}YGEBcD|=jC@r;a$|gs!xNY zGiMn(wl4eNylUzS)^DHf_QuD|9Wl5Mu9vYcgAa9bLEWNeoW_N-*@CJJfZBh~=zh%AuFhcM2KA!+h(y{6mqyqka3Vm=Ln3B2hx z8z4ZO^>7tk(fAKb$J!DoH>2@c#mnPqj!wL8^;yG0!RYZLri@|h0^MoeL#yiAOjzI` z^YWXD8(71TLl_pf!Xja(CM~({!|K4-5p$;VsYU>3b5>--?j8E%Xu4_u50E*#j<868 z6N8K7a`oL;G>x}3_N-g55ID=$P$^rHP9m#35Qh3xA5X%r$i=&5DmsvScPk^imEacE*-vdAE$?jdqJ^<@LULYAN?EA}n zYDiuj!I`u_+3}nnQC(Kw-F7=cdkHIw*vtO-FZ}=8%m2QvX%qeA>xacSzN1J=Qgw}( z>WO7GiU)Ac&pCERjCNA^C8YV3pOD<&WMk=41WQ=RTYxdJ*|h0g*G~uYUMa$!Neu z1Vj4r|IY^q8P|Yt5jI?xHF+yiQ%AxI6U&W2Iqvy}9Cq{_Kf}Y@l6@_qpzA0w_~d_K z(VvQ|%hy6JtqubZ_MumJ1Y$=ALUfmr6FO^lJ$go5D5x4SoJa!pYR*f3;gHjZv;>0- z6fYe0a*#uI$V*gSL4Rd1JO(ko+$br2t zko+Dt@~=fLtB}=p$s?qf>Wz}k*>lT-RDHhG+~jMVK}ffU+-lL8KUM>YdHO!nw?p3 z^EEd)K}8cW<{tuBz|`Bw-f;;BvQ-$e67y$|A-MjeoMhpw*KzORSoNv;zZAOon0kDCP7XQWrRzH4tb?9X9We3{GHM;Yf9)D*_r z+f${188=+8@=6MXYhDa|tH^@!AZdRd(f(0W!y#1c7CYYRkMlx5N=?-Nc=@jY`TlFE zknEo~*8h|}DgHl-`+v%Bi2kzf{(d?dHfMh;d^`UhmpY()1653d@(xQ?Gl2g3%SV;( zpX>V1c9!c$oswqSYABju_ec-_job92gCq6-ez=8}if16DREDM_>?Zo5JjZXK0{dEf zV_oYH686_RC5noKyU*jl4+6n$O6gx!I=+wS&s92pvT2)q6>$Ynpnc7F64JSIQ+hQDryzE^i?rv4Py{O7Jn{<5<{ z>JcnmEBf01tCI1xWXsl9~?kXIc1J|?Y}y{C$` zE&)Fkh17*uYMzE;=+ln?`Sbf|4TgU!X0h~WB(Ij1<^6gjyf;W;fTc?gW6~D}UrTcx zlG-W;wJpBh$fZI;*;?GoHBRjm|Ms8Su}zAvl9M;jhIjh?WvTS-$jhCFFh$nScD<3Y z(Ysq&d*a(!d0JOtUb+o7@ov`Qj&Z+*L?gcb@}_^5v}0`<9KVt9rJHr(`|+i7goD6) zo9>75M;~jGzdg-R%3umKctNqHBJQjoC6UahOjMghO^%c#xd%gyhOc#f^7!Z+p4T_$ Va}9%>k!nz=<45!lmmIVS{U4JMyy^e| literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png new file mode 100644 index 0000000000000000000000000000000000000000..67839d280a431d2ee180e2bc6ef746a6fc8ad7a1 GIT binary patch literal 27170 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%0Afe7?Hf`|I+fN zV)pN1_N^!|hXTY8vhX+x-sp+*x#da?O^)`ur(~Q|bl(!)$vUxzGPB>-$|Sgdz7^Tf zYKt`}bDo$^?9^4^d)~heuy{pbQT}6F+fZ$mKA3a8k+tJ&NR}8 z%IV>rY>{p0vQz~zRtEkho=JG?ppg)o%Am!uD|4wG!$ObJE!!Zk%V>fjZBQ>S@lpUw z8T{}EylOzGEsin9pRoP9>5Fp4-l|iYr@8$N4|c4-JY&Ms!DGK zuB8!A*HqAt_t?Ms_&J0AuZ}q~{G@Rb%O!LOki6$Eu7NNJKY6qw+58=Q)?kCeq`S8W z8UXF{76cX!E6nr-sgeHcW-}>UH(YR^#MeN!we~tn2WEnsM!X$Ag0lWV==11JXv>j+ zhKzi_Wp)4YZz1_>)bo23tI=F-^8TU%JyA2W_U+}8N+$dy8c8B`WuGAu^brChAFT3P z$vrR}&>(oyR9x2@JP(#ic4Ti?bZ+rvG?+UJD^+_^694Yi#nQ{yO@0-0OAgl-yv7{r z@-}W&!kp?S=|uG%>@quZeByQu!vNxLy28~;9fN0ZL(HD%6b($axX%~HsrXsO_0o1x zSy?2+#fG8*x0h1A*YuFMmp#%8NkE!%YPJPMq5hIj&jQaAmi|LQ`eH3c!$T?HyyhI6fGl|J>rHq@(M#s|N)FoYw@IPvrZ zV8`GVP`Mkg$>4Nb^7H`k_xqdNK>MFl5ZINfrU(p+B!PUh=kKxY2A?J_SZX_ zB0Y3%9R=Bj+f7M`h0&QI`0ib-MNr`tYm|c)$Smt2JW&wBo%2P+L+2r{erd9yNB8gh zZW$4|=2;E|fzk^M@yV|GhY$2z2_?e@B$%a%Ys*(WX*|#P*fuWhM?M@w7SZZso_cDskZN}nagR9vzYc5m( zJ;^R26xgwOkrO=q0o2 z*HPZ5e-aQU-&RkSl*U985Oae)Stckix?0nmQ-6!rD54h;V{Vpi35@3KZ9r=MuE=NK zMcHzE-$iJoda{P;C#SRyXuRiC49+qOGxFM}5h!bz**dgGzvu&SB)87U>D!aWh%lJX zbnDLsZoL=FFze)$d2-sD;%D;hsq4>+1c-v%B^8$5$gzQ(<8V4XTGh=~{t-IaqhF;w*Z|8r;?QdCy%d@}Cof+ap2r?Zs(GS918);f|CSMq)9( zWQVQFU&^o9?~7B`Kr@bt!yY+k1~=TQ>%lUbE8y(2p9!2bqvqPRd%(>iVh0?^G$ouH zu<~gU5mZ6u2DDM``x8TA-DS zhvxD`9q6W5i$`3yB};%BEj69_P-ak}+UMDCx!lHNGjfvUGND6Yp*lKQ(iZEFW`=zg z_;sc`Y6sn`o|s)&GPjo^B!oEsla(0h!wtghS$vNfd4KEM7!2P@_badMX~KsXu5-&% zgoWo>BmQ)-dbq9yQIUCp-W6T;Qb$x2NU{Or`x0`)kdAix@R*E zD%BxAtF-CT>CKZLtVqG<;_%tC$6s`8rP^c$mJEn5f3XlFujd<#2N4;9kayp#d<`3Q zmlfz#y(*5-cbb%*mUs%cC=k+0;J9fU-dXsYSGd zBDnYDN>bEPO#3B#SZ8U_Im`L4o@(tw`F++?N}VE8uMI6BO5PaH{=mV>(Zg1q3k*jn zEyzWx#X(Lgky?Q#In;xNIcA|7s?L&>2)y?XscSt3VVaP{F%j8<^ z_+@FtN3~~imXqzUkyPi*+jZL?s>3x(e8XL)-C&I|kiQY&aPRV|mN{=UN8;b*07(RnFoWe`xvRp~m^#_Dkl zR7FboA@7_RaL0@+2yB^@#+x=iZm9ccW@i~Z-s;gnZgbhKnbo71V7ExClm&E16T?YL zkQ>k#!VkI$nK3glm;~Tz4(i3-z900VG2MDjb%jd!%;QZs7SIf+7T(^(w!XSR+(@C? z(v4>?`-#}WMHlG?;Jw7UNVqnc$&B4Ff2`ZU#w%>lkuFC`ZBrSyU@d2)DB0H1*6-~H z$w8;qy3bW-#Q%1(0hYZiGS8HcFo`m^`*OT)Oq{U9#qyU|DsC?|EYzo=C&cts7v@?Q z&s;FUE!A98KfJ>C{Ua_vem*87GMNxelkjNFH8~kph{(w?hm)(3{ztl5lrk_dTo?3o z_UL8NBRPH@IwO2ugcaR@_XE<&A#&cJOMFrDE~SILlMau~MQpU&3M~v64Fwvco>9qz zGbpr&=LI3%GSdE+yiRYo+*$(6-N`WOCE{;|L;v+tMv@}stM+O7JESWm!G(o=?twm5 zC-g0!i*z-%zPRD{(!&nT{X5@|3H)&vED9z?tX$oCt!)TH2X_#;7Ma?{#=)4AO>n+W&(c77aqyF(49Xwff+JG; z*6`?xv&o0OgAB*>==)OQalW@H$rtoBn9cjGnj}trGmeM;IXE#oT|1kL|_n?w)k?;AfF$d0sJ+(kl&`n9n#O%Div zN2e%pMhb9_orE;tDvPp!_3oQke1edIFVgQW7DV=+$tS89**BxluEc&cqW1Ic-pB_C zl`(ZGS&WENO2EQnu`u<|K8QQg{=$CEh577{6Z2v48ZlKf^VX!+Qv^fk@UOz0OG!qj z-S=BedunGg7ERdIksx$L~A7NbI^RBJBAMkfPai(w--A?c~e?0KH3nX;L?j#c|nRCYO+ zUwt%~1>d!gc11T&E>Bgg#JSH4-gFpQa_c^^of$2mg#jFAV*LWAqOd;zPqp*Hls4Fk zAaT!j`*@X3z-Ci}R)oJSAhM>~GS^T-a$=kP9Z8r>vB|n=Wr&C@C%FslE`^)<4NgU( zOc;qqN`C!DHs-NbH)*|5@}}SPNR9E%k)lAOiPPdvQEt>*TZu}oo>ytPEbm^&c+nNN z>C-GVyi~K5Dg`(;uH=yxC%f{Oe}Sk-G+U^v6w{9=LLBd37@5zs;)0~E>Hk3c4~yqH zcfAn+kmK3Z+jtNBrJR$BnU5B|<%8pI89m!AZrn*>NRAJ0okdg!Fl?|rXaw)bjWrV7 z0DIj-!wV@7T5TSl-b@v-OHZ5|i`+lq3G}#SW;QtVa8a#tf(0nF17>*8)aWq3uxj1! zAu})tZR|3Xv^hP24nWn8cVPQDP{p1F?7hY89s*BUa?Ow7+1t3DlBor0VJsftzw%rA zd^!$L9mx;6b$5pMZ$`|q37{Tz<(J62-Btfs|0u(Ihzwx$q~YGp_r0vnx%}(Xcf3#U zzA3u)^cxTM?sRR3GJIVIl}-v8EZ=CRhF_j}DiUaSYukWjZ-(8kYSuue3hfQwnLESG-p)(+CH1gNF^?ftAeyYnO0tZ|{!OIswV{D7zqZWi{+WtSfl0 z{v~%|xs-q>M6*!u!iR_*T_XAr5N{TsUz@Plnr6MY+O=GL9Wp19hzup_I=K$`XHjKD zrTOpQ6ze!OXp(Qhs{1`hw6YSo2!b+>p`r^R)B%3w3O5j!$OIySw5sjB@~Ig!#(zJ6&Aq#ty}+^ z0sxlsU5Z z^0AL&k{_j7zla(X-HF_Fua(GXHQP8ZVTL=j^>5EdD*TXC{917Y%J;67)aF{8Yc6r( z>p79RS2iz-p2QE?N52w(0hssmH|1G0zbbnsA=U@w9B?EX`XX|TjgjHUklz}5v>1!?FXQVkI`G4__W6c$XX4qg||8m469YD)k*wziMsX%o5GQfM+r;ii|mpwB5 z+z#)uO-}ING!_5?*xShNecJECvg70B~>PnLA-GTDjdlti%yki9!k+rz> zTRungj=1vSInT7fO+~$h$>hGWjh&;G*#$2cmCT@0L)5H0=cJ=l7X$gd;`8^$V5yFr zaI;KrteDcM|L#eFHa?N-%z3Rme8WFZdd2t$+warAq-hRlZ=$b+eJ?{yA5}i^W5^u~ zFvIT`8LjV3M~i8(zbcaW)AF_J4HHk-ODx>D&Q5fQSz`;v4JQ;3bcjP~n|V|4 zL7xAjEl#fvS(SCov^+pLm-0YE`b zzkn*4oG|zNz>oE|=Y*6u=l#0SrF%3nZHvTwACMZeo6gEa+k zpNVTS)_r*Tvc&S}m_sR{nX$U37FtN8g^On#bslm%(QHrW9>(rkB1#6!K~{SnA--yH zZeOJE8Ry&(oH*7C`FbA5!zP17>ilZ-@fj6eIDv*wWOr;(DA7o*FgMw$?!77z!e|;f zHXRWDaja@lzG>o(q7Pi#@Tg=}`oDPVaQ}y{di!gkF5o)V^)R1eN3yHWWEPpK+u{@V zG8IV^h5a5{$%h7TUXnHN1vdvn{Bv~LcWxUq$-eAf2n5Zz+6F9d1au9jyp}G|5zVjF z`)k`|s@>S9B71S1iImaeH=Y+zsVyMxDtTLXMG&_R% zKQANdx+RK+$@7HM{E%xA!nFw=FKUhlx@Y$dLDL~f5kX*pkq+9|YTt40*@9oA)V4mv zUo}d0l0y&tjDxKPR0&)~ba09zr=2sK&357uLL@FTUrjrYfCVL+`rGH=g6o0EVsAxBIpdd&+|K@L(J=#fsiOhna(2TsCTZkj&qRV+V z)<<=mmxaxdM7lG3!<2mO#(>bGSwq5LpB}#rbvlEy5m2^*E9~axj^4A`JR@Y76?3Mxpc!OI6*P89QR*y((j8hMGPeY2{YRR5*^xvtu z*_}7uQ`vR}74?Afzk-M*+K0Y-QOL9#Zt6UsaWCKa*ENdpa<3e#+F;g~EQJApT2k^J zI*Xyqe%ZliBBz#-VCrl7mpGbSZV}EB9q=vch4$C9Ir%Ox22qCGCesaWm3!gs?D+u` zKTK3O3+9K8+SfHS7tRBrn=k(gRzc)kF*ff>CdOcZ*=s9AR7-Po1-6kJ(^uSBxZ4Ifqnc~Fsxs2oGSC+}dpy}V z<<7h!*>(5KX3xW{27h9@*2p#)56Y`8iG!1}x!;`Yu1WPg?&U+wJg|h;U7h_9N4W$X z^dqEdk5@HU;q*XC=P7v`fh!IOVwa(F5%;otH(P4M?69uFXoS_G_i^ZV1YE(xjG^Q4#x8==G9IU>zHZ zlA2M84ze2{*di3T=(a{v3Z5!u0FMY*1G%?pM@1!z z<%BJ8Ps3IeUE=ZAKOX7c^ViNv$MHhRr?Y{l0t4|eLpuEDmp>#zLeV)oEi`C#@2D<$ z{55vjZ%-fnK%EY2t_R0K8@M5XEQIbThrO1@t8cD&E`Q3r*YK(5WIJTG`iG~{=kGyg$&aQN)e3octBFphIj7gHoi zFnuA_Jo^12x57AvtbxNC-fnvu89J&UTgi>*0km^>1U5LLB(q+{CGIPp^9^XI6ixKm z&rnBQQor-$I#I?7LlQjJ-iA`Lr1R25sb(Mn{L-%GBGTeCYQ>0_>wjxMETy`ue4w~v zi!6ofgirJ>9rB(n8ja^b9XbK!E7PMs_j&9GmSo#n3cqOSEu8On0xA|4GJJ4Qz@x^* z#N&kt0h*YHD~H`@f`A#((ie#DUh4~ISyF5A-}H@yXLJ_9DWm3 z7B9NZM+Y7u%{sA0YLyc9&^)0ch;N}gLc0l!Sta14e&mjJzJ*>9g!BG|*rofR8zfqs z^^TGC%6*At4`MaX;OnLgL0CXQ8Nl}+fh7(v&PxxZ!+}Tljho1(AB=0uD2W;)1yJmlw`;KAnc1agh)_`iI|Av|H)8X?kN_Oe>y@=zi)kQ?iJ5}MYNq5aP zY=&C;&SPQJF9kcsuHe^RyfpjdT4$%6Ma9vwSXTnrgk|R#t-iA_bQ-F-3O!OcsogVx zjJ>H5Z=P-#K96>j)0FddwD3yvL}Wjy+aT`yfUCm?mOg8ZIcsb54r1K4C*f?UXm8RmDV#%MIlL2`6y0VvW=kf>>f~1jU?3P%%2f4OP>-j`G~o7 z(CAce;iGu4x}BT2hUKPLkcSc^`hdpCQ?@ii+Sqks8_^GC+S$#!WevxRJAK&RJAdSv z_1C;gi#g*=efYR~Ii3sCr_(0{JcSNm#$OB!`6s*9J(*0m`0BR?M8nU_;lW!ErllsQ zNG`EUheDiL7Me)ELrr(aAG|-edLZhwG99?$>i{-i=k!VWpn&pOIcz#vv)XcGhwm!P z+Kr3~R03=@Z+>Z&r8d z=!JovX%6OWwM9QdkJuSCZdW``|oTkmcXj1xIzj-(~u{r>JkG{d|jGem=wk zx*OCZf5OMkel(y+Pa!EV8*na*KM{c80#v>+WV5~wjc(6to1YqgI3nf!zrf_&*_nJ} z>8AF9Fa~d9b3b-C6{*VSXq<@5nU#j4*&SHXH};>{2X4jOgF*?Cb~VufD<|3uBbx5$ zzx;t}#Q`O*Bo>?OW|JiC;T~&!L{~^{8<%(-71r3+qKZ;21K)fUw@93JDZpd9l8<_Q z@}jQq%{l9IWn7&_6vRWdm!B6{0r)P2^jEv5(XRYzN+_7yf!XPzR7%f~-^^}S4tw-E z-suu*Fw(1RnB?816DoY(i?XIGYh};_M3ahYt$r|4q;$&HA5?ujFt<~#WRmvAf%O|` zq85K1YE4FW$ojuu!8IBcr`|muly)7O&0fJ>Z36QSt|#!nT^RG;eeaFa4m@g~#kUcC zv?!iZLtXU39i0m=>!yz2J(6^J*AC_*o_nD8b|exNm@`B#!agnt4NDJL;Y3t2wv&|3 zcbj>0yr!RcNo>$yFZS3hwHRnBdeh{!m(LI4 zFR(48{x%r0C))g)S8yrCNk}L_ zyQ=DNn9&SKZ0x}NMlK`=^oTX|(fw_Du@peIG5_o6(%hlWpIJYs%xv`)egVUIdqI6v zAIAl0i)g2Zc37|@#Hjl3)rrLbF`Blu*{{cJUU#2GSL|&>Fw=dktSlM(Vj=d<@qGh+ z>=WC;;gw1NFwETdaPM5z)0yqBNOSNPM~^tj{7Sq_q<8+(m^FG}h78a*7?wi+icYVu z-S*br;IIdw#0sT=5@wg9EtzD_^txTP$d2##sPm>Qd+Dm6?(J2e(o-Xf_FupT#8?@D zu!2SlV-!D-c=Wpb96wN7S}m0y;zJ~--$oBE~(eP%4c9R*!h?j&z(LdPG>{pbW21|XGFxc$CWZuEQxWSvY%O4pWmg-A~rSAsM5#S z5I5bL=mVl~JDJe?{+hFX9`W|hv_dFgypEG_zhZA*F*?d`gQmGA$MLjnSOpxg{}ikT z8fe>%o?S1O%POg!bP|Wiq^Af1m%!)00aRi-;GU@NPC4Kn1iX{q6gvC$0^lfu?n+4S zjBB?nE(5SjO7@xlRa$w+QA9ZnSRK_J@iedJ3d-`Y zhriif*)p_-$BGOh#0*%FY*YIn!N-fTM<@IuszlWxOway{U7_x!tUS3(W8rv3$85w! zR^@aq;mbDuIvx{%iaizb-#=e3KN8tRY3tCbipzha#Ck6yylqe=lvqL2p}@V_M0Yfs z``jRc)o|SuZM9Piicgpp%emSRxdZcmzjOIWVRAG;fs!qpb~@6+TT?D(u`z@KpHP)JW$ESw^OzJi*D@N;(V=nxv`k3wVFDnn^!{-;J0{RA5eyYXQ*q!cV zXoB&_JQc}8yrJsgXju{rJqPxW>6_3c9vUPgu%5kw0BQM4B<1RgTF~lX$_f!Dh!m6dY5)e|ZWm7a& z^6XyopE3-6&1SvQfkk)9R7wV(hi(XOfVf1J{hD4a(&zY{w2wPc$de@AFs}au+`S=9 z9T37u1g|~a(C7@%wiB+YJt%Z@4z8k1AW^`r8y_X1dpifx3q-;NV0Cxk zbrZ6IoLTNU4k30xBF{{%4Zw)T78cj}sq%M_!-^?aG4Al$>>S{DbS$7-WD)N;y*GpV zF64&(@)jCS`YcIb}U|TE`Bz+iDfA zW}BPQU-_>+2I2J=x?-IFqhy6iaLr1e0nO}^6XY*Ix&vdRD zf#aV33pLF`9)X!oQo3-qfdPsv%mDG)xudd9$-b(Eyip zWpzImJZeS@!FQV3CNnC9>etHI(9N@chy8YbQjODEb{~*#DSG)0Xid59dX}DM4@beZ zhh_6jLA*w8H1IJ~Lk#`FhoePc4Q@Hz>Cor`!7L$el76O{DbEM$#Uj#WXR=}G+$Z+K zV>$718$_QyCOw$JA{Dj~+;3Qhd@IaIRv>B`o1qruv-sg;bLrFAQs`;j{G?r9!GH2L z_WakaPYEw}i3&789#6xC8z;io!|{;o6&F|8ThFcUu3GM$K+kgY;y($>)%f_-PCo_@i2926Z%$E=Q4PM?5i8Yx9JM61 z%j^KDf!)m6L7l}2)Xcl1Q$HEEVlm#;KCQay+CojohL}+#Zt}PYUrTVgXD9A5aYznt z*1Nzn?A!VTD+rOZ4KllZiZkjO`)8+9&Nn4sSIZi{wNf_22_I&B{zPhe@)lhmXSnHhnxN)Sz5x?mGDF~n^-5R&V}~i6mXl)hAHzy%DLwVTi)rO zda?bH%eGN2EXem9gmx&*&hrYY5C6NekE-#k+zd;9ON@k>r$k~n$=Zgl#%aF3dB00f z(G21a*qL}~G48Wf(WEC95w%ha&+hQrnkmmqAa?M5sh;04 ziEGMpuQpQK2-3XY3&U?p?QRC(efNOyb(W6%E<=G@=cWL!BccpFZ$itDn(Ci*O&%_L z!Rt>je#pZJihCz3D?B9$5p|Jcf*r2 z{okx~>%|4RokoDvfa@DstFhx#=WJ7%YY$_ZqYO`^OD+-nM+%~}LZfwm_aWpiM@c4& z(1405v8k_;U{hLGD6u#?DFeju+4s_s6`JNQra5Zlxn#86DG1QGawW@DX>RB3anr39 zI)?$~lc%KwLC$fyVJk9e`iC*#_xp)C)Q}4IWAj<5oG$ozEPcz3hu~x{0zm0R`PNL4 zUHBhAuI_NbJW^W;^GF6?!-ao!w3;JTn4tK)#Pw^e|0FadAYCp>#!nQAII>_x*grK0 zjkcz7tqea)m|tiN>*_9Hle1+3ppJ-ztp=(yNsumTHaz$R5GxV9*)r^dtzLOOMa;@& zq1NoP_A{deRW-8*ab}7;=O}Q8Adz18;m>Kz$9lE^CC1HXI-~0IILvw%^?j0ya#yU2 zm29EQIKxA?y#Ws`j%Kw=pNQXC|3DFJ88$5rnJNP?ks(B=RvGvcu>>{Z@GDZ!(%rkl zVf|7a=>yn^NtXYn_-^7EIcPWkzm}@rx-UAa=JA^f@S|G^?F{*boUKXv+@uR!AWGY`EWUU)In=q~JD>oQjGk&@&23`)6MvHoYsJW%Gfv z%vI(-a#P=D@z`{Q<9Ynv7<N>CaQsxiWN}g32Ou=WyQ-=tEz0eSMB!+V9tRwgtNwmdv)` zRLC@_`vb965nVBR6^w1`_F!u?;_zvtJo8N)Sl`uiV))F-;Zr-#!5H>R-O!;iw5dC2 z-ivx?tg*Ut0&w1Y%PmE= zgW$+b(GVl;r{9S^yA5VnWxraFc+3i!nd8o;j!?~c%LqRdN8d=m#BVE)Kq@aq~3vE@uagS zG-6_k9&-NBjDk;7qY8Z#EbyOKVrj|sR^dr(jrCl$5y`V=bdclz+?^|RWYmpF7xp1iy zCIIr?FdYUBjr7i$_?%jZqQJaD0Q*o@$fPtiRwD@}RZH>K3iTyYF6*rJQ@jML9zfje z3>fHhh)QIl3p^p5!n>$KixSZD2lxN0fQo(~p84u9YtlFqQzFpDq_-@=>rlE2htoR0 ze^J{$CE?Hco!#MQTO(|v)s7h_67fpL$S#OG>E6KO>N%-ty<@)fXe}_;_A~#s;Fd+j z(;tl^yb7!&dB~@p-BFRN7RKwQSh!%W?k|s}{lP+CGfbV^kw6CA7!+#q@^C54ER_V| z-(v@dkp*Ud&j7MWbX#iY|G`NKB2GU3A5L2Wp=2(Oc}2Ca-vdC~Q@mfJxfvmP@D<;3e4bNG4R{*ejV+9J%X)|w^_v>~-!SDS10 zjM+$ZwPx=qY^rvG-D1bSxu!g4%5&r=H(-ADLv(p~3ShQ>VCSfwy$aKdGM&Y^_&#q& zGurx{qP>+^q|&%FS5}d#CuhN2br{SGJGnM#;YpFw3nN)nRNGdPG}|~;B5zS7ge1~u zC;t_HX=4X#k;>AuHZBh-89QTF^`MJ2XkHlwXeq@QJFvT zauH7#ONKqBq0vp;*Ea=NKhJgSHO_90HSS5wV&o`VNG(37R5y$`i8Gnhvy)9b`;!NF z0W&tGe*HJ;bsh>iA5K&AQI2z;-Mn1nI8c~_{bzbZsO2(XAxQnwg8P@t#{$q@sUa@|d$daz z)Q`q`?_>tla#g7T)VgkcQeyP7iT@eW<>`y4+WFic#7B;>W)GFvW$wmIcSSZ~b>rk0 zt6^1{xv(EDJE*1E2=MQPvq50~2_A?B&PVEQe`KgGr#ZXODXW35f+iOTNw?rHvjCL2 z7W3OJ?aofO++Ld^ZNj5EZ$e3DIxR@AHo!R~ap07b1K`>8PtmCh(N!6;AJte)~-Lv%Qo-5@K%byzY&-^SN8P z5`1%6$TUo<)U)Bhi4Ns4Tm^;7Lb*UdC*LT6%#+#-%>NF}oTLf>puRPhPA9PLRu&7) ziX_0o)@|~np3YB3%4{_3)~xJM#=u~0yhfu!-_cCZaD2di;LjCLRDBZ`M5^wcmB7PGugRVzT`4OC zluiGIUuck9)}JG}_1|e)n1G}}#i3Wy{l4(Pb8;e5GW|@zlU4UGX_e7GE4%?EDbkb< zq{w967*Hf0v;fQn(dac$V9ydK89Ai%iMF*Pm%IrPH~KeC=o(I>&!mc{9Crx3XGd)_1HW5Tn+by>afQm2KV(rP4;4sZk@p|GgmXadcP7&&;Zv zRFQT1pto#w<@LK40-!=KvM*DpfH!r0F2z1wwn6z{z@)lSQBiRnrdKi0vZA_pP&uO2 zEnZ3gGvNRPZtIfz&Tb7Oc6wqe{K`dWT0QjcPdQvGwXS6llax|f>8Z$x`?LDYe;KAn zLVIPtAu1QAm(X!jnqI>hobEu8d9zOx8_m%s@4~oj=`V);b+68qfv~-E?W4J7Oj{bz zu=cpc=F|iFZT3`$kk4cUI_cj(3aBxX=XNfmt#sOOpAy|WGfs;IM33g!^`cOK-job|Apcd4gblo$d%x4*dAHp326!Pv&osQus7y#`zeZ8`rMq$M$bA0o zNl9{_9S~aRXb?8VN&4-FO5@d?y>cNo5CBq@)V!&l))-x~voKG@*vk$laFAn040evv zXZqfNiP=tdvtM5G+r?LUf-CW>mM{5vnYT%DIR8&Bd77MIvw*36Gfn&;;;4q+Y0y4V z{t^pC*teB;7_b21lx0iZP>D-3554R4%Cw*4Ze(Q$TRtb&9v-lWkCn3u-cP(euGIrY1 zv~RLctu@gWu&6HB&+^C24<3~_rg(NZb-xnNDTgbrS|y-ZK~;uA1OJb(_YSAJ|KrDr zNEsCsSq(I7${x8@vWp^{tjuGt<4_clJ+n(jvd3}EgY0#VY!2s;ajbKWc@B>8dw1V_ zzSs2|*U#k-{yFpgevZd_nbmAlUD~-F*k9^@Hxk9l!B=+MoB!o$&lM8s$Z=3i*5W>{ zDgEHxPzl;v=lu&=TXMavo*Dn9Ws}9dYR)Z*Zw3I!k}fTviC0+iH(Na~@ZVS$*A5U1 zL*1ctycmTi+&CTE=z(m2Z|)_Kxe;|twF?+uoIA1XKzo#bj0NRFd)#&qzY263Uumk` zW3z(TVCJyR`37E?nhk{u#OX``eY+?80DiXT{>nc z`pv>^o)h;Ja^9VF&T-u@=Lu(2037P%ymm=+k-~OKseNF#**-ki$McGQf%(&%3pJ;h zWJs6v7|mO>p_Df{QJwIU>kHiD>r0tM^;uD!Xea1RkDTv1XR5Ea{0=s-!PL-@Z(Jbu z3(lD}oa=C;BZhS$e7fj*osHqq#nWZcthN~2RuTWB5d$&fn-21SStuSQO)3&S_9d-)?fdhF+n`d;D$hL~d=V9_JdoW^weY3M3c zuFuaPCny2L_lYv~(qb1SknvD4{H45ajjHFSfWT~%&rQinVfID9ENu~mGI-WTIO20t zM71LcDW97cX3JyH}9(DTZd3CW0 z#8hQ3t&KR09rv`&4-*V*n@}S^LmQyR&Ee-8omq$b;+`?@Y+KgW;{s z_Uus{?_3#)N>|s6j9UUXplcYagbinUzHLUGZTo?83t6h<6)*m zM?Ou|!%W-MV0E8_P5y`J8=J~(9w+MU8PRzgjwfj!>AlkTcq=m-g^P2WT^Z|N)}w5j z^zVVP2+Fxzp+3+ZWSzA$QMV=(v`T9iT6w4`2 z_vjuyXv7}6I-<5`AIIaKvwSl?uRvAT{NXwFLh7AY8mZ<+mwbYm=*Q*zwpXdiecw_x zn23r0y#6_7<|7DJW151O^0UOoy7o4|v~ycooZqmlTD+#;x?F&8A|4^<@=u`y36Bb; z2+@wf`P*5$eh$)q(!sarTS3}!^U^aOwm&vT|L77HGv#_WmG4~LP@v&+N=@qZPP+S0 zPc>uu(0l}-oW8O7*!KlPEbfexKI&Imo+Fr*f$s2Tw=05Lr<1e!x2Nl)JxolRbOz59 zqR{2!X~pFB-VnCUnxotSBeyH=J+50l?%>2x=R#`KHCcp3vN?&|z+gSqAx_F|ev#FI z8HmcpgbyyM$KBmOJ7doQGr8x{ec15ibjPY-$k-#vy>lm~i#CiHg1NrXplbu}zWZ#M zJ<%Q9uS^@MIyXYJ>ZiuB_Fb;BESsGiFqyOf0Dj%|;XTK(PU-Qnw^k_-)$_T47xW z{-2k>;}@*Q|1(K#_9wK1-SW-X2?GwSJZM5nQ)8-%Pb>a`3(jjs2V_F$;B;Nem}Sn} zL91y*f+L;l*xc;ihmQM4Th}V2FDfT)gm*z=DHz}G@~9TZi!ZMpZz!fL9>^7c%$+%q zgx5n9y%9d8vfuyh=FevDH1N=+yKihEo7SfmddHf)-735U>01faqY8A79~E?>CpgMci>{h?PVPSsqF&F4`_SO}|0XaI7Bv7S_E-Xl#8u5Su)b3}b2+@7P4n zCT)pq=W(7DzX$^aUI4pT1lkl!m|K%|2Bl@YWTkpNe?YG2Bv}lBvHq!C#|q1Aj>>CU!W{(=e|=;2EbSfo3NCGbP`hJEa<$nnL=8i3{_l6ve|>98Ggam}c~e>?EK%CvN0pJ%W!gcI;;Tn{`rk&@sL6hkfn90e z`9Z#=wG9$cgp67kKuAPLR9h*;*8eh1QLF6~o!{%OvsPow6dkplD(Rnvsk41r!}&v2 z6=_=mR0LIHVKwP_+~Dc7BDN-dKy#?zI42ty4_SpsL@Iy6dJpjw+<8GJW$rU$4kQQXxt4(zq)`81N7=(jhm-j!h)p?+6Q>d%+Ya7?P;c(*OL$>MeD(`NuhF&qrf{l(# zeG51!%b)ju!};5)zb#QL_apB!e+k)Puj1<2W*)g(rXC+7r-N&zM%UJcurG+T+R2Do z>C*0{BfqcAW?Sn;uFiuY0ekMp*ru7$1O9K6TYq0dyk9h`HACk_6p*u9DZSvftOqrO z3>mWL*qxtf!zJOW#&=Xnvb7An^_NMjw!}{NffE_KO%J-{v@XY>NtvHYCRH~fo149zO6~Q^H?&^Q^t%>xF zlq@s0g**?+VHwkv%VsRLV)$ftr))@@SO?50ZXp>NnA}8iC?xtcoq=hG0 zt-zhN>itq)<1E&90TJjHgtaV8^Vp3HtuIn!U~M?o#od(|bbgW_&vPg`<6U%tVk;~OP{k@NHTUa_Oqo@%xpYy&Rf-5G*iTvS z6#4X&K|bqXom1S5)%I_Ma=0SoDGz`Ep~7a}N0F4*Jy?R#fE7xgs1I{(tmr?ezW$INonYw@f;snq zo6S!*iZgv{YKI>E$Yy}PsRR>BshGSyjZY%$4uJ#ZojN-kDg!-_e&u2UR=wehd-2By z+z^SMk{YiI_Yr|olMhdsF#}r&5qN>8jfWCwJWK16QRQ}TQfY1S{xH+J7E39Jy$ELM zaaSLRY6&rt;9$}(7c2+_F*{`JHqk)Ido{PA| zR`ya+)4+bmdec%ST2SxrC;h`DNKx%;oOQVB>xd%2QHRitbK5)9P17rbM(YjFU5w_1lcvQiuq-C^VjJ>a4@TI=q%4>%Ps02-FM*Bty z;THJVFt{EDq!wSaAjmFV1x`U1$eVP=Rwi~!Kxsg$cG!UUV{&+#8DVv7# zmKfe28yMH~exj$R-w40BWj3E1cvz_9P@Bmx-u~0*RJBT>8b^(&-QB~Q`QSGfRxz^D z2K84%X1$FZvZ!x;t?Fb7=Yt9X)26F~*I@clbQ8B$qibtb{!fnGKe>)k@Vmb>Mk{DI zzXiY55GRiYK>)~D_A@XGH)0nw6&DUrOcustI^)o$`eeeQAR+0dN{dEr!Aqi14=SHsNQxo$l}izYQ8F z-`Sb~He8R&~}}QWR-BUZz>dVfmBlbpLO|`B55|$Hk~ImlYrYEPv50uvz%)8av+OdM4OkD5r1wgDBU*v){4t6gcGB?RAz)>@nd zygI{O!ACjfO{cWI=0E#cO;d#an8kI=XgE`2Q>pjytM=gNAs95RSaB?G@0DHLk^Ia< zLiwXQc9{MNr8@uKCPI}G=$e@|ZVQtrTbn$j6gG-NWt6GjjEpT7mC!2SR;1@uLA5S_ zr!Ci32ud;gkjQ(kW9>JBYV;rT4PlcHXW$_GY11zyt>^nrhL( zapvgKJHfO6lV@CJdM=dg{Hkz7vKXqA`mp_3*L6&~zshZ%qf^;dh>z%t# zFRWIsUCxq!9@WVPqfui#{_~_pG#}_1Yb1;)&1>os>I5_I_eQtCqSGR8KApywaXn^y zwurr!wZEOONM>ecj?bbvPL32+>H9>}-#~hOP2{0?n0SYZ(h^hP#v7e_SAGqrN4R}K zjdYuqsuwl_9~h4}S6y(Ub>?OWD>8dj)*B!Vr-dYyHJyY_=I{a>8lFwofs%}CuP&>$ z&~VDyJsW^lRdh;t!R$KG59h{B#Xn~x&+G^BW*?fdKNXLXuVa)~3!6~wcFn@!=g9+w z7Me}V6#Gd_rAC<#jC}fN=ll*^ab5`rJNv8Lm`J1IlbLB=DS<)?yO@6AYVkww=AxLy z4RqGtz8}sp?qbMIU0r4=db@P<;`XPp-o+Ap6sV|{U`a0z@xzGjI=Uu5x)MxCg&6tq z{QI~%wTXQmgKWck%ih@%&wHnxoazh89_7x#j^Dv_z`is1t}Sg)jSA&x?LHrQ+43s~01#~GgOm$iN);Ja ziS#oO4Ol17Lt5SkV6!kc@t?VU>H}Ek_8%;a|1Q7A1v_+C*oIiFBVU)k0)f(ns{%kcBvUq0bL-s!I)63zQ=vkeIq{o#hP7p6wsS9pte^>f=i#Ra?ib zr%^+47iDtmxSFNG2v)Rxu{={B1;JR+<0VmARp*z8xxM`+K>4GTE&cy-$ktP3q8|79 zN2hj$0lk~}$}v4A#KuGHFyg%qMX70vS#9;b@v%ZH=T-MjM29Dn+7-c(TqD)_B*;Cz z%c^5>U0mdbV8)!r9v`xE@@#?!{>NjV82Lb)fZ}$tKu!r9+>Ii)#qgiUvLSR zLDEqNhnCHR)&ZGK;wljW+M5gv^F9BCj(@?3&*MV^s)S|Nv#HQa<7B(^y)nGXU|9Ua z@czfb(d(dyu=h5$u5$KB6?DFot)van$uG4^b;YSNQZ?=YRN^ziKwxwxgELb4u;IPi zxof2}!e%&Xa)d(6t<4)oyku?3Sh_Ps7xFb`lGxt-{C0wMSCsOqUY5fCxo}NL-g|Fz zhmet8WOAW(y*^S@`^@jV3hcaLcjyImb#Im#_o_53mK>rZHU?ZdUW67Yb>?wS#@UVKPqfd>?OUyuJ+yucP64x2t0L((ms;Q2yb!q^-y*(Qy)*ekVvbencB#30DrFPXbebhS zOiAUpMzbl_e(0z;H&yZRsNBk`>K>)s9mtGe0)J3B&VqX?5H1*HqV_1J}EbkqkNN6_8xZdQ_quAWsMDZ6a z@^y8S2VB@G4wvg+%-du({RpBRBJ%Q2F0x!87K6pn(rOoa(bbmz_vV-Gz|99mnyV*Y zUQHqjE!lRdc?+AhHhD<{acHu=jo4X!iNMj2F~5i{d4wmdcn8p_!-Q)m42@{FQ^BBC zaL5BQ%vbj$oYYWBr)N!|`_@7vyW{abCwNw)my4{kw&mKi_-snfIn@2t)gu54ToxVh z0E>4!<6zRyXV$_P2QCZ=jEnEOIhz+t3Z_U`gE2GwT z{$tjdp17S#HqaNiCFa+ZEfa{`eQ?+_*hc+%td!IDh`FgFSu$;Q>|lv0)(@$LA3yz4 z0~RQI76yy$q5FAIi6!damn*cwZYNII7F+uHxq(~Yo+^$;bV(BE*T(f3xv_1c5~>^T zkzyKNm9Z+d%xhrWj%N$-Wp-bpROe#UzmuQDsE-u!U3)#e*IxGh3jYZkOb(-p+uLi; zS2$co9<{Z#&EIK0UJ#*=D!Pze`(kodpb{w}UfF7nnf@+L!y(nVPznhJY3qGykYEa2 z&kifJw$}&YOi5@px)SuSrcId-?Be9Q@&~#-Qh~<8%@|(Xh!KYQ&pC0`x^N*I+y*Ce@XGiaKY>75_p!N)u}tqqCGb zN7GQ^K}N4FRbp`XG8_%33H}~?QlcCO&8PTnD%Z-LNV_GlVXJ*pV+=X6OjZT%1matmZwZFpydV0gw?d@%sAjs+$o)(|7u+C~!&5uYxxa1X~ zs{1U|Uk1?8d$9vu@S=>1-xSLwwi(HPrfFK-o(ql13a>3)3rh9+kAUz|yk(7iaJp7B zL8m+rjSRb&PS%P`4g;>jm7v`gIQR~2mW+DY^%tgw#Mkj$KC{{4s`kb#%mO2!@yq)6 zTZ(0OlZApVNEBD@!7iv1C$OZ?I6Dg1t17Ri zFHgqCb1{vzGHvfL{wU`a8CZDVWE+aaGp#?V_jJw|aFH$Dkn6B$o7tG!dc-WvH|vWc*pOv+y4?KL*DEI^weUy;~Iwf;ZY~Um2Y*OW<>H zkX&rJ9q_+rQH$eoL9|~JGWPqsN^pNkFPf%nU8ju@y+m5%=Pt0#+)06eudW3P$hVna zzE+1qDl87^Jj0EqlSWgkI7EE+XpT$+BhS#DdHK&5v$m$)>#P^vcMF=B1g^2`Kf;gW zQ(PSaNkYr)a_*(%iXBvM!6q)n73x~}M0~!ETZKg0Jt8+aKiaUlgzBnVEyn`}CQ_kQ zwfWOI^HSVbrOwO;PuPBWE^SWloK^7l#jKWCFTr~u?{4unomGznXMQ&&MI8_v(DGlA zketaqa>_9In6Ew1bISRcb-i6G-1uG*U+@(1gmH{5pZ`CtX0&jm2YB-oxi6+LZweYqo+jHNhhywgDe#@K_U?`^M%3X;BdDt<&fzJTD+h*)M^%OYb?Ge1qXK6a)*i@? zHHK(DeoRv*TRLqw#N!Kg@{;jckPN_@e}_Nov)?s27<#XFD$9#N4#kLa-Joy%p;u^9 ztkeHZxnR4XHz z0f(Ia4b__-+o@dlOO-+iGNazp3#RczQ0YraK$f4dqEn{YvN%@9*_njfLwCaCH+4cr z{jtJ@KgiIlOj!c*&Sg^Vr}N@^|A#ZSFeiZZYS+=Uo>^**%4A2mBCWi>|$d zN*;-tVUY1F{g|2CAWbI7aZo?|v#ZVfg3Rg4VnT5g{UAzo^i2^COx8bHe4l2zmoNZ( zT&bahvkcZb-|l+!rg;AkU{r;hh?ToEmn$lbTsD`tmQ-ubQeu?ijz1ccZBZORj` z94wl7Eo+>DUFe!=+5;C($@1@eRq?s{#Js<3jN#LE))?wdoxmU`@86n$dD#?Woag+8lf z4)SO*{bVc*oQ#N6ydpf(ujq&Q{xaFZgBPb8KGC!aBJFGo3ik_M<9Zslej_()4k-7> zHE6O}#9yj{)(a;^h6vRMaxXnBak)1C1`~Re+tiL%l3ngfBcl~au?_A6s{za37&Y4Z zM}>=~YBusq-R|tBdIvfjP&Mt`jJx|QQO$(Vd14ZajeS`v`4*b(R?AThpzn(jqFbYr z>=`!s1$K&6f`;OA)tT4Sf}7_w3zvB!c_V{tg8@6-7 zYPA7tg4%PYzQrE9v6c5?h-48~1ms00UbElZMtP{)5GCaL1RsnnTdH zx^}}v*$YI?2%BI=3BE0-fDw%Bxgz(+%??bQxt@3)aeWZ@I1HJRWB7)+AX!}kGY1w0 zHp#PTub)e~gNDe}Mc^U0mxEuK-7zFN7}L-gz~(0MI?oU@=I3ZR=R47#$2o_Jusp2s z=wgsL5Hh9pD!!+d>Y`X3?7I9)NuV>YmLW7V^}6CO0?p%GZfBa57p|# z5%0V!w9+;3Xxus-32(PcCsSx>X$fg-YNpyl|HuLY^6xcGBr!7Hl8q4a+CeowAvc#d zUds01F$1U()_;z`Q8LnDq+-t?WxWqTMnoqz3d_r1oo>)fK0*ID;q<1w(O_WP28g9G z)B0`4Vm$`|LBYmWX|e`DBs#Rp1V#^22N;xr+~|9KB>6&sXBkRpU$Bnjx!JtW6Ru%g z_*gwU{rsHT#Bd2(!misQK4DNTc(}G?mA`uA&76OW9xdElg}Ui8d6Mj|P*e!ra&oja zF5OzZU>ce|Co#<(BIoR&9QnaNdoHZQYl0%wG4^G#;@>yf^isBS>m@Cw&ht!3u; z-sJ;%f!E#{9af))Lqk-DN~66{X_~((-aMtoLiD8IrfrAfv$>;JIE?x zpPX<|Rn*{4Oz6QzBYKF;_22{Gk?A~i>{Zw{h3`l-T4!lf1hPm4L%Gii8D2Y$Mtzzl z+ClZfV*KZb{nm)Rv}T-DKpV*yKryS;h7uMQuKc;%UW}aF;$rXY@F{!2ehs?881#2G z&RMt^pJzXR^HxQ@;f#L71-)Nx1$5^7Q{Isz(|n-&06+N8JgWa-jls^&vlB@F#Xat< z^z<)V=;N=P%M?0lslSGYA1t_uxG~81X9X4o+Cgm004aWN|D%l<8b(z3+kOp^!~KU` z`^DOWnLhybf_)qzy_CG;PJrT5z|(1tj)v&cwsP}4ohEB}G3V-$ZSyUOj_-DzUShcL z3_#E0Iv-gNEAojCziDg8*r?QLo+TMFU1ceY33W0K^mB%h4-4PwVe&vqh>b`(UAI8F)NXcFXo@qyndr$#jBbh5!rvER6zYHERCa$wZv`&ElF6vo8 z*(gv})9??=6G$+GB=o7JLsYf4@7HbHXFa?_r#x;`_D=TL;nX|J8oA+;x+*ptrY2 zb1Z?zzun^_DS+4EuRgN2WKjRy`?&arEgPYcTlV-IhmfirhkRRM;2O`YecD&k&MIcL zUe7#X(^gsuZ>=WhA=MqBk^YHLAU1?WKy#`BVpg^7y`D$wi?t9=^_ow5eAW4CdB)%* zesw}sJnBeOBHSdDGm(#=Bp#K$fZAJS(;13VYGOjYo%{!hBfG7!P5lJX?%n% zkcv>MI^cyLN_+ivkZp@)oy(lO#gf+iL(xttbKz2h1U}OxG>5A83wcE8k{YV~6%BVBC#Kj+ZPMdO!1585YA+ zAo9ru!IB|9**y#1P4Qm2fIebO-u#bR;zY9WG*~^lsEz@(oR|_{X?DohNs_P5YD7aI zdt|xSL%{)>PrQb!0DJC@yOXSM&awIWVhhc-5_VPv-O@j%X|FxdbzK73Hy2K?N;{R7 zRhjL>)twYvZKHEac%uS&njrgRbQ;GsM1rS)!9ocmWBo?&nVa+9N5@znJMAsxoYdzv zI;`;-5ozgKxrYz!evX7|$5B5O>4MpqSrgfmAqB3I<1kAu0d$AOGaaEhhH*XiYc#;l z%*63pIa~S==#m8k2i2#SGG0E>2hj2WXY#C1IwWTnkJv{7Bz{`P!)j%|P6dcWf|iMtty_^g;qn5PT8L;eE`ko+7F`q?C;VNGHG!Nhn> z{}_b*BN7Az>!9ZFDEM}_4C;5y%{7d30QZ3wysQk$@$USxw?8`qhr6O?hSxsHkLkJCQRa;ST}oH|=!CigYbfY?nDTR#b023hJ7(W{jv z`_8b=#$0`AaLb~?Azp9~)o(;%1bECEZKfqTmopA%3YUcg9^e1H6;?~RN30>mhQ$(Q z#Ysavs*5VVS)^AsS)xV5`fnfTh3a;oB1z*?9e&Y~e~NO(lrBQcabK!9-VDBslmqs) zfY!*!3x-Oy9HfS0vISP`^Irg@i%M8EZa{i06Bt&B;#s~&op*p4tAV8WRz+^c9oWkP z*gpejhE-b;r8|4nGM+Y;f2ZL*OahrE0R=z8u7CJTz@dz70GVW`4g9&l;FvlO3_E`3 zweT3>U?Bp=*E+XdobvO-&+q;kOfbniC{9DmPw&O&yhLwh@YVi8q~iYfCL#)?a1Z=amly$K*@&XJHkemKT03`xOR80KY+tIg)nX3Fz_etL&tAr0smgr zUp8qjzGstpKB)6+2uQ5IKkGo7Io0G6X6~#yKT6syW?!1%_y&p(G9|Y;OW;_YEk9-R zmcU)^EterW@ek(iq9d%MOIy8C-_U=v>(pvuN^8nL1cEo}O&bwce98LjnTww#(5!M@!O0oG9;6GJn*Rd)FP2yc`yn)}N`>NecUY|>+t529SW#s^-tx`NusNl{ z{szZ@r&-?!0|=+=?b1$B23cKKWJ&8+V8XL`?$u~&gdF>djm*}3bl$YI;UQ_dDTwqy z(R?oQXwJV0MHVSOG|iySq(aji(1?VdaAa1m)7|O*(!86)!#M?d{0gdpeC+@A873o!9)v?{q+6O?7;J(UijF)LCj}{{J_m z&!#wvUgT)6o0F{WajXPvuzXhz(c)_~ob73@ z9_*44TcRIqZYm3DqU%=&4%3~bLaCBMyvYiVjPNU{>EPaKX^`1YwJ@ zM>~7|+whV`Jfkl#>nD32a}92RTYV&#x+;lgkMrK;%Le9+392id+`??{ME}Z$OeI4c zMkl`rRGM353C8hQ`1t{Es6tqboNbe~upr~rmu3unK0Nm%R9%ZdZT>p%S{&{mQC@t` zF^u}}qUu538QnW%_YOcmI(gjXZZL=+*moWDL4~A)Anr&1=HTVg`D7HD zoKL8oZ3J|Q`ovVDAZ&!Is>a;-O(8hJq=+lM13IZ;0;hb@H~;6nLYcV}f$wZBZ>YmD z(L}5BD{poqk}#0=a{D#1EX|b#B1n*%g4uA$I)zvC56+u3O2|ijN7?$m&h1TWLLS1I zwhz-m`$r_%D9WbNX}m8PNGr;ukfP?`y#qfL85j`x*X{p>odaxczSt><9iV z+>%qP0}hCWZziEP1F!o3o}20**~}9JnYfgb7CP&I8XahG+P{I#9et&VmdaI`{0d=2-pW!>4vwAWm2Y z8Luf8OI>M)4I6+7!#V3FWb^*2_v7^AP=O)QUo~axrZ0ylA9*P@`NA5efW#>hbgcHe z-dyA*(0~$xFas58{F=x4FL5}CmHq{wBsGSGBPFj27Z!L_o#Q>vXi!MngZ<6K$sqzj zprU|KNlYGBJzN$S+y-_`zs`Q=HC0Q`{StI@wWTA+oMp0nyivan@2%4U@C+Xx^uKBh zsM@jVTNbPV-f>R`w7f$ijXijK*9vg}D1x6GK}=mB3dZH#t9~Tnpu(F?Uu)`VWStCA zW6s#&dhN66Sh2g*s5FTt&`i_Zy2Cn` ziukC8TBXo8oW2*lF%6_3KtGdO;rDj*$q=)K=cYO;H^yGJquMa1`f=)HeU=u+vcC0x zG2m`;@<TBPfsWqmCfnn6%T zZjII#dLfr7HsMT=`g0^Wb`hCI6M^3>w)(qx*Ih`Lw&K!jCKi#tEy;6|eC1#S^n{!rFoJ)(9`Eq4>w@n!Ov;%tP4jTuZw z%97qLuA-qv<2pvs3+s+HaKKZ5DA5zXKCHFakI+6iWaw*azJRdMrA|>V zNSU@<*1XAZ-ted9N4O3Sr~_;ReR0?*XW`wjL0L}>ODyd_6ffV$q=y)uzyfmSasTT3 z7kc$E^<`z-K2XD2x+9fl0m?fnI|delm8E)xae3ckC$Qj%Rq2+-?kHPdi`ctbbb!9{ ztT@R}kTA*ey>rvTdYK`eu4_~y&pGnisHyh-n-Z!uhg0!WzIeL(k_4A^apAa^JqaM; zi$LhfsPpZi67{FLrP2dlVv=UF(g$9F&TyrQ{tjzr_|912SOX~7=01KGdZzPfmb*xo zr+Kd{@krsh$XxkxMNkTmiz3g56=d4=hon7e7Br6%=mnh)S6m{9TGp?op!6CqTnEYl zI+=LG1<;~@uS2TFJud{{I`H*1)Y;L=q6lx_6saiJo;CJQFdFtdMO@O4XaHoS-US{&EdQ z#adHEV`vMQ5t~LPy@n7+v+y_`1pQ;6>ZJ3e!LTwa$em4VwCPq`j#OH>(j05 zPe?3qbXG4eviG|0t~n6LW2~d-JJlY4#d5V@;CnCYlp59O!$%v370li)0f2w|PCjh6 zrUeNpJtRnIPbW2}k*H`lZB01eXbkw>p(pc?f(u97l9(x9W3uNZkD@35y zVjX?$QtpQ1`zQ3vUcy!-{1V!B90q0~r1wvN!6vGEho~fR;~A@uS_bF8HIB}4 z6b0%wA#;(3&Wk2U(=4247C~X`8&=_(;0VsuY{e^Z+TRT4-B7FESq}_D=V}#`PbKoc@fRJv@j({x0jp&5O^58viuO*>+cFXTU%X10)qM$ks5z zXKFe2J=X)?j#+HQvIy%Fl@EzbP3gY0x$ERDeX!cq8Kbj8XY#vx{Kk?fPj2fqhmJ4Q zfC90L6>U@OL=_FDLiyG zF1^^-ui1u~eSI?kq^s6%J5R`3Y9uWu56F2mLv8sgw5v!wN)$L&)Z5uY-nbp5rvBU< zDh~+mVTliEGRVY^psRvbiW*{?lOpBFx*%!-c+0`#xyeBbqkCkNDyur+Uan!>KImf+ z7~x!k4Jy|pev&<`YQcjlscEd*4Aev_4~BSQ90`fX{t8h^jz=E zz^C`ey+H{0b#!zfTWNU+uv8T5>D;Z<_G$(LGE||ljgGR-fqRpkjF*K3W<)OEU!Vcu2;0H~E>?w}_GUF@Ug>+yPD`KrV2vE6C>!u08EIzkYV+5f;l3T6pqS6f7fZ z*#*2yrdayti#V4PKhLx z^v&weG>8oB2=CSk>^4qlEoO3ye6LxT=OckLDyK6^OMghqqA)L?t>(`67hjLdorJ*0 zLVihKqXPV^%wr|fKHy@#`peYLxTd4%93IsldL$r14S-tNi>gy!TgOZjKF2=XlyZCL zV}Hi~pA`%ZXHj_Ud2oIk-il6f*o1NH%vNYlSh#p-m1kx#gaF*))Oz*4>z+8EqpqU zH=A{p-7jI1Ly*S3e)q0G%ICJ>YK&+Z}B+S7ABa>UuXL7Hhy_U=gkVYy0}QxguCQ{GV`v9#Vugreq; z(h$n#k(7oiHcnezvd?~6%Y}rwJu*C>Qq=T5+Oh#E-|Iz|P+?Vz4{va7y~ob^bSrF@ z6DyMHy5@51RcNOY?LI)LG^pbg+vKyv5^#o@K^~ zhK%;8+3j@*I#;fxs`Jx1()*kY17bD}BpQ*9FWa}d_u9Zk3q|fxBJ{_OaXg|fb>be6 z#mV=9UGop5qVtZk>>NNfNGms*=9lXT0LWcKDOg9sc-P%vcdI^fXD=wZ5Gmy#$Cbpb zm^R8SGb_NAmB&gyoAJch@(TBO(YZ|L{k4NcPL|Gm!pqEY?eR9^bHIO zK=gp0ovAW7X@$7DSf9&LHnYE^!(~*{iWlj5?>&$U)7Bp;o{QM%P);3?lXDmnX@lO% z3%*RF{e@>-?}GNDe_TkYq55riS|F0)doQjKcEvH}yPW}x1V^c} zd^M!{({doHTPkT^tmjev@;tWap*EW(BF1ycfpP(HyvN;bju{??bp4$V4fXWhgCJu2 z4V@iye5x+4|E!MR9E@v~(7PF_T6iVsqYRL$7lTW*!-mRfJ^rwkOpbeB7+G8URvF<4IMFzBF5EiewF7Vf zLgJqk2&#JuRW-#V&%BOqqUm2@pO*&@R^1lv{n6>WgVLxFmg7>Y86o z4$I?{TBjAB)znk2hZ?k%{bga;ou8Wi=DYZ@a&SCgC|2H~L-dcPEbH#1$KKJ-&a zy3zYk*9+vLQ3_K!pY|d0_LlQ<~SilzrLe$ePpRqAiib_(mgTOn3X0Bnu-C0 zgo$hhB2?w84)R26*{z*Dg_O=lG4j3%$#k_>p0*ZNie{^Y>l?+~i~v*QKB9i9ku*yJ zz3Vn@T0E^du83NRM~!GH-<=gGHZLy^3DnUuv?{QnktYHez4i&`<;{ZyoHx zk<5mnOfeypXoEo!Kq7f2>y4o(e5!V_W9dU!7i8}tb&X@{dk@iXjWh8%P%rjgaPUdR zzTNdVoB<$ohyN1aM0?Laxqgj%ZNtOEt%!;42bz>|2<7H;hzb4cI59M3+>;{c|r^PydBgdOz8 z&aTcU6T{{GC;S0B-Y$*j;ojrqK_|ur)2w{cRbqf-v|U#gq$!@zU)B`b4ww8`s{eb( zX_dG@=&gY`U#ZFD+pxoEd}q<-fSQ!9o?w?<=fr3(@BsHBer04e(DTik74Hmj3^rXB z5cg6>82>Z?%8eRtUj7}`A$k92>@`ZAje*I?yHH7GEOhu+zkGP& zksn4rs4N~3+i3H=0j?g$Cbmwkj@*vxXVwvJWPXg2p`d%Sq5bTYL7hj%=yy^rMrjxy zi?n{JgGaeJ!HF|O`|RJI?6qVJL|zuuQSLhxla|dQlp>_3HU*kKJYyFuv9zRLr_r+Y z!fGM}vg~cPvcuUAc9?Z-Ka<3CQJcuUvuG@R(Dp0QVGRC&x?h!x|h$?DqhK751JAaQ*`71pZ`#av3Ojih(Fta)H=Qwcf8Tile5l z`L6?g06LI{-Wh>g6`eoLZTv4ItBqbT938J6`o>s~K`?Xyf!L`9r`ne`SKj^eit_H8 zo0Kd+-`#qma{(Hgpj+Qvg6?7?C*sp5Weed9wjn?r?5R}y^* zzNAbrqLwth)k`4wQ&wM1*qG*_R8+c1{rC6Fr7tNI7cWg9A$Z}Va2=_i(12f_)6v&0 z5wj&qoqbQTh?*0$^eKeo!<)J1Ua(lxkVDkO*}c^`ki)y2?zKTUQM?<)Ykrz{i_FpE zqspDoGgPBzzGlX%)KhuA1hF07EVWCTge}GNYaMdPovrt=$9*YJyyYjkEM2e_M29dz7cgtaaQ zyM*DUwlP&yKG!D#1p&d!SuWud5>I4h$J$i)CF;I>uc-j`gYfiuS#pa&RJp}7&4mnuQwXoN}eo$9{5{AfH|lhZ5e{X4y*W%{^alfL4a3(jOh20adFur z(weF3UYDi3i}m#s3FhMJ6`u?fD++V}l&WTg5hg3t-8K)=3pGSq#J=kj)*%?u;<|@VwRZt= z=IZg*=c^4g3E?wRHwyjBk#AG^=QAa^ATRa60pR-kyKZi9j)eYvkT`Dw zO{6?!d+F)LNGZ-0PFT$9Ucpeh;0JHADsZDL1TqMQvGNnOuBIGc&|-czFw&h0@*vKx z=1ri(Shd20QF?`}QYN#nQfS-7HC=n6!+sb0iJ& zuaw=ni^Txz0fqZOU1c0&dY^%Na|@28iSd2{LzhdmZ*%$HBMRmET03!4&4YaGZSDl< z+noaYC(CVpEqT5%dCP2tWND)m0e+Jb3I@9_yK+lG++2K_ehme6+n1Srr6%IAmLOJ*uee@LUJ=OdI32BxY613PIX>GHN~20H4hiKL$`>4aH{)(*Nf< z3F6UUf65W4FoDV;!-?D=Czud+rF>i>2C0wIOJbm^Gf zzuqs;(tF`*f$KZy&$HPh{M>ShSXI6qY{KHFtVnt?%|u*hLC%Vk9ZWzMd=N^fkj)%k z2^qk$Cx8F#F-8a3B0lhxb5)E|h7vGcCCei&Y~zvr`#hXRyg*e;%k^15N9zq}2O}P| zwQe*Fa`}1DH>G~WRMMK^e;9)2Ava@f5k6{Lr@2saD_GQk+5P@aU3?lOIkQhVN>c8i zW2A0E-J%2` z9BcJ&ZgbwCBbLcuwD@KNkBEQurNRWeH#Lfhld-;I2b3pGQtq4Pf=E?n2g`k=rWkk* zP<1X4XU=@B;5rf^b#t5O%-!QDAl<8~A>AVimF!isml(*NhBeT;7o)J&tEypCpb`E2 zwf_{OV=os;^KDR1O!~T`9}%GtO7G$S-VRYgc^4hSuRnD_tb{lTKB0dVXwXgzhG|s}t`4~OA_KxFbB|+L0exicm7&a%~*xYfqUAZ{RZxdI8lY7t>3@ZD$ z@W&iK)h3%gosAQHEzEQ<*3}mL9ELW3u2iT^>RiKen<58|js8aIz3ggOkzX16^Uzn5-y zgKftH*p$-Hcj)Dhzxi7o7K`>YKH^^}O~+q?moJy^jpe;VdsnIM!=v#^1N&h1Lx#MN z&5n~kXSTQR;UbEPy@5I+b|#;H3R-Jg-&MmvP$GG`^&z-iQZjVM4!q|_(#c*b9YeeE ztz?R%hV@w48}-7GhABOQh(e@KC&NhUR&_V zvJ%G^%)bqP#20ws@W&koT%NGK>tx~L1jhtU9H;kBAKxgQ2f!mb153(?Lwmvc&F8+qhtE@VFE`J z8UfP43vhsv_$4onP`LW6C6)DSo>-i9E448^Vl9%`ywUyu&o!1uV>`8%gw>6-QKE9A zH*5+s$=*wAqJuIs{5ZIPLf(0C+2MUFRlnLCV3llv9t4gzjmoZYuuo8t{4kOZFQ^iKX{U2W~C&((U)i^u3yft z5@vRlGP$$blcEJM)kc|ZOzu@V8->-^&$h54WDUv>540K1LZG;zL1CU}FZ-ICpnmQ= zVN>IM>gV(_EIb9ze?P!;Rh>Mdyr1>YWr2{-FG+yEXM9K`s%P~}TMIrGvhGyKKb4{s zqCL9qL>b`Fl4FN{U{gz&;Q6TZCx37yf!;b+CjUNpg3=Emr>SYgyRigyQ=`m)pq=BHHV_^1JW%NBG|^Hs;Rd0+;=i0+-r)Kf<#9gIch|< zKW8ytKMh7CnNg#!*+|2=m#>G@J#0E*nInFXITX_w1ezq-X=BJ}a){?CB{maHll$*^ z4S|4zqK%r%sGvBe|AEwjCi0fU1@`3rog$_y2o1 zY}~ezawoCdlm2oslhVl+)T8qHGB282!mtbNF3hrm?ZKP*N^w1mj|)I#;)E#m0)N^UECrQ<#T}t!v=kx7=?hCb!J? z@aTGumf(}b-HKS*?O&FvR3V9dybR>s(VdL;l-*>Hi)hJwSgI_zSEr5GEkC)nBZ9c5 zebk1tABmsycb+k<3Vyrv*IVVz#S;vd(VI&D-IT<;NcaXt7i|Tpblgce^S)KEY!gK^ zH`Xi!Dsfo;?!Rb;E;@Gm=kfX1$-x5k>aPj5XC{-@t~Ay8d+Aw+EQl+Dfyo30d%m131FUf{YE$mSX;$3olLs5s;2HyHEN-OVnANh z^dj%>0B@d3BzdvjQ0pTy-OHCQGRn5B;fjRHO1Fbs=!^`y@0P)e@;YtP|#;S?fgb>Td8)ZXP5VMy{~wTsSK6Jq~+KiWcz#)AK)NY>~< zIm6KWCt`myf*Nke-8G>sr?N6p_dDymIRo)y@jD_Q5`cXgk@EaMPXv||jNpnrA4fSB zbB2Ga$a{$5>U^Jeu|rjNw=>AS`Was4}L1s!6bJ zvAJ+VTn3DWj=d zat2>~n5p&>yp|17t<3}4GFi4Y8Z%S2yd#btqqst&2`-%=@lb!jGcNQti(Cp*cRKr# z!bGz66qI|P>?#c_%^Js|C+H~=HoJCf*Y1RL5}?6uv5Hv4t`dj{8-hMuoOqaGOMVwt z>+5SuGoPJ%Rbv({c~Rq0IqK+K_3>4zCk#8yZ|yvA()x?(aQr0|i~Y{WH^W@s4K>UN z*&ENtz!G38d6q@Jbgxoo!YbH83&2(dEZ!LZ?|_Hdlv)6V6Sg{=8@8pc_2axf_WKvs z-v%SpX1>5>t7fDcpY@5Ym?~XjD(=;rE}?il+WH9rf*n2DVo_{@)dr)VK|mHuHr-I1 zjFj-pv7*jpo4d>mjyUpKJP>8*sSYpxi}pT$r^-l;j5H{%x!g#1x_8f4f4g&jqgOi7 z8_iV=C@*FV4jrUH5k-6b2IX<+x>1>t!}c}9wl$xrGn&M-76rM9xqpaTmFL&$Tz|-| zdzFM<5KwS6>nX@ab1>x#{nWgnzp^`Epy2c!e*Hezrt#E7`4+2G?>i0zsT40wMLcTI z;)^Mi_H+SH^#tY#cv(K&6E>|9-#yP~+xIN3*R5XYfrp#)oHH&&h;&f|d>3%qN%>K% zGb`}Qr)Eu54y*jQzVS}*tJt8A>AOm&>T(Of0femgJki$-82ctZ+f_CT`uW#H_yE8* zMcx17e+U!>yqTuVr1iMP)??6C$+~({4vA_(`}IaJG(u(O%doxYLBVk!j-~*tg7G~Z zT>tAVn03FMx>nZAeA*1k|Grv+DX#1;-x5Gwza&kabhKMW+i0?;G~ zE+hBf3ioI6~FhHgF-E=X28wcX|+NLryJzQAz>P zbGMZ7rDnH^c8$PyP6~Cgp~xTS`SfqChoT=jP?FjtcilK8dhs$xnr*NhaV$yfcXPB) z_8l!Xp+@0mk9Q3SoYdxjDRb>><^wP7FF7UQRawcojdLM)&-=1t#li9ZcBW}lQT>)k zV}&Pc>_d;Rtm3`VFOPl1{Z$WTdEns^Vkhg?M5X0&#;(p{j3+>P81!WVwAs|8Y9?6Qe3+g}jF}JMVXn!h3w87Yl(Lx*SZ-^6AwO0I z*RE~)W;Bhdqe-&DltH6=L0JEP7#{aV9+!dPZhrIbS8_s!N9p;s`j7ipRxNK)i1viH z-ZV7}z8}TP(5|%}j(^|NFS98>6F>vbh+kWM5?!iCzJ*YajbQ2R7E0<>cbtyb&!gJh zW7=SrZW4&Q!Eee+!FXu*IXVnWYHK299=3GVn25c|-#wcgv4y@^{#o4INu`X8)NYAu zTyq?1u|f?z=e$20xT?juD~MSw2249s;QXn>pZ;!9GtyhMDsrG&o0hKQdH#46kc7Cm z`cTA%fOxJw6C!MG)L{uzZVa)?MT4_V>rBV@+auL?d3YWX$_Y0Eo* zK6Pn;CvT#uf4;=eI5qyix?ohT?|>?)dm>U>OdKXnjIwp%)mwE%1FcJdiYBOUxi{GG z%{7~5(amFX0v4YQkTi+8?9kdC2xF1ZrROyt>U+I==>vVvs_YzP|G}g)R+Lx za8#MmY0G}3HuoX-{Y;~{0T*AzFGiyVouj7h-c+rz*a6@5LLRrDL=Z5##q;jF`bCU+ zPrUnlhkRQpEpJe&nLlmJA(YnsM}*fpgq3bu9W$SQsiA88UI5$^155?Bvs_(1L|O$h z2=U`4mMj+6{TIxaCp`hK&6NkcXRFSG965WGl!P!6n9RQ4{o%#V?ET?__(|tYXY2Ll zw~LHg;kdiDOKyPK%QbM|!(aSp|MMF>7AYIFE;G`L;eG4sV`M16V#(x;J~l(gZ~yaQ zGI!>D0#u~5pUv%Jl6A>+{at0)?AI{(aE$ihy*B!u0F04r{VX^zm~P+!J4}W%xAB`^ zfZe`u%-9Ngaqo~=*s66_1CdTXX4=u;YFqck%!+}*5k9+^?$mNS299<4I<;#J*A};n z)>~q&Id>FO@K{p6P!gH$McJbz>vVO?ZFvSLG#&hpn z<`c%+aFY`cMK_0*$DJ`v@avOF-_G}TSNWMxZ-&e9J}7+Q8glN4+d2U3q+G4 zI=2tC&i6|L%Y-US1+h>G8I2HsV*UX=4M$O{560SsNgMd=VI z?C-`y0{;I+;u5K@ywz{xjAt$p8oNqGVQE4pYs0&f1Jb(Etsr$e&N_V==hrlQLYx!a zb!#CK*~}0>Za8V^OoNM0M(J&pvfb_Hoso5gIR7Pdb3h4j_77y$djI9Wz}Z>lg)|OO zwi})(zph`uXJ9dqL{#3s07qDb7qK7;zH3*M8#}%9&7s@FqyZ|pG=+g|i3NfI7?#v~ zI91UGv$~>MUz`)JT zMryK2z&`DyZ6dDK-MXGm(s?j6^!mE~2OFZmYFIL|gDgEAmjFZYlU{NVh@I4baS!l> zzq);9KN}z4CrlF(Yt9n=!vVIZIToGp^K;GqR>8_ofe(GSvq{|=&Kk3|rhVH7u6|?Q zUf>1We4f0_7-k#A;6z@zbCp(PgVMIZ-3QFENclbH!|`^RT!kz>DT>0X!%rW3iCCWB z1N-rwBH&9sCjS^9{w06GRbCk1K$$GHRGi>0J|@S*ZeTOOZT)U`L`=x z>3PHC*RlkC>kW+Nuo~+Jb|WgQ8N!-> z3|6R~$m>a_up7((r-1wP!P5h;u)ly|p64u)R9gCX{m^YU2TRzl{_bi1hx?BM{zN>~ zdsUzmTvcI3i(m1)l!}l(ioxEIuPu9}iqI$0TrXAG@NC#{%efOiqUjhZd615*!zV3B zBZnYi<5%>gjH`dfB^6H1W zIxDf9KZUK|wWhvqtQ>MF$lhBGZj^Oi(~_r;wXk>OZ5vRH`oPp;;k>pUT-4B+cSoYs zPtADlwa4BpGR?<6oz!VR$8oukw?F2&wBU9Z%+lO+YmLTW(f))s!z&{=>P6R5A*=+A zOm*_C%sd@?D?7GHgq?IgUOklO2A;jk5!GU?ES(h8uAG^Wz*K2kgS|z0E56T*OLfTtcSP^x@1zh0i+V!n{Llz~8JdY>= zYQeMhUF~3hHmi8Pk8^IzVRL+!1{~ds0p9h%x5!-QU~fhBYLhHyp>jarL#${Nxtuz6 z6zlIjzRrZMAp%o>{PRN}lAg_vsLC`fAD`6 zk;=Dv5(3!5^(`FB!d>gTddPqyEBIi9&Wv?My=g| zp%ZtR${|Go4@mJP$#~uYfW^jinpNlgy!RA7G^_dkM{f{$B>b;wB9OqzLr7Sw@8Em- zvo@Vyq|Sywu#_bUih_jmRvZ1u~VP#lP6T!7Wc1y^W42d6v-AZ&8L# zdOJX{lj6d$CZ0jF24$%=v7!?B5kNfwgk92v`&_o{arIAfqtQnn&Kwk>!=L#%JI*8f zQ4sSK&LCH3>NY-n-o5gF)24i<>Hv)g{D zm-GF{xJUM0GsOuPaNobc0q?mPneSBj(v>b;2)%SWdh+Jcoac~Xw$s->G4?vaXWf;{ z?TPA~J?0jp(Tz^x7kL)Cw!b=Y&g(vJOH|f7;%!_*T_9MVcbi?{zfxnS6 z+ce9h(RY0sUHq=L>^J}Y(mf&20*Cvx{-1Id`T~oP3#coj)MQOOcb%!7OMq4x9+K-^ z;QETfxJc5^Wz8%>{q02uP9;thEiE47QuxK25W$g`G}WoCL&4*K*4 z#13D|vs8T3HCd9je_CCjc)pzdRb1KloJJ3>{ORs7OCquVo6ur;`>IMX!Em)T)xC4QA zPp0+J?hKM8dw^`JvDm%cr}oOhc^5Bf<+g7V#ST7X;lG+n;$%N9dt^7iPJSBQp8e<< zlwZS#RdMYcxf!--#}{=M^L%5=sjTS^|3W0i+NM-d?O%U50;|*m6=*p$(TH-iEp;-m zTh$A^6m{Hf=1I)c8GH-XLw93JBqyIS%*{iii`FZ4m1P|dp+R`v^Gc1R3j z?v718`n)^1U5vqtR>X7|my?}uHt(aiS-+71-CQM`pHIJIwq0iP?EnS@DC67m!zu(( z-;lE*%eb6k_($LL$}9dwIH4%`=ZqydKzY;2EYsVqhRym-(V^SnGGG>`;dmB&jv-l! z!&qt=jc(7RipiXBBhqB#Hl@9e!|gwcXPCwx&!L(+u^KA-8jqZfuJz>wSdoF4dAzmy zBK<3Q?@5ZJctdr-ClWZV~(!@`NZ4Uc2o)408 z7blphMH?NDr*9t7qj-Z{A@VMl{knBidSpPy`2Q^Fge_=Jd^l`e&@XL}mEM&vN(=y= zp)UW_&+uYJ%)iLptD4L)E`Jnl4hoVTPupNvkLYl+J0i`VwJ9p1G9%leN1Ah;5QKI$ zqL1HOBS{y`mChU2N3tWA-v@A2{e{Q^6=W9Gle2~(`S@dR{5CAruHSDs;2>19DP4%- z^QqGP<7{D~BI=e8sNOCu_le0iFG`cmytZ88giw?3q^aQueGu!+Wd+9z92mIQDOC^>VVY@&Y z5J28z&;9cLmLrfbBPJ#_`RcE`Ay8pciVKX}!h7Zoao1hn#&ESoL#_`L@Ag;JFV5+B zDR4t2Q!;zlFgorQ^9Q;zv9H7;Z~DaLLOL+^3Kx9?9?OeMIws!TKLiv25xxR)^mf_t zZEfY|d%d+U04=ZUXV9Ae) zP0jIGkDg@qSF*6>UxeNcz~IYtp)5WHekXM`Pw)>)=PJq|GB~#IAcspX(vlY|t|DDz zRHs$hS5Q%ZBS<0mSSB6A)qp0FVVHWLX~RMkTw)xrsg9BWm}U-lwHD4}{MSHOk$4dP z+3WTuCQhr^Z8&Yvrc}Jr;Zku{nfvs02=r0@2}y?HNvyWEqK!QtfqUmMx%*n)7t$MR9$awH@;zv_oC&UYqoD2wfIw`zTqT$o>Vr6Nb zwp=rN7Mzc^AnJ?iOjW1j2!rB(oscRTfqA&wVtI~u&SmuVqxC*v^3t)|@zq{(IcQGO zYz-cIYlb6KH_cO97$3n&$cLn9wqLBeGv%~Y=l$#OwwqLk_NL4_=&k`;1x}&*3&p57 zBO{U8JQlLmi%OFFTNVoT()E1%T6R`mt?r{E_$W(-LAptRhcQ6cpFItj;b2L@04$3_ z0Z1eJv_80h4zvs@yDMCpvP;ezx7fpDZae@_JC|0J?6;^kD69&#iPw^;D)r({Z^f4QK?cgtAiTz&bK?Xa0o_yv}@@VGV7Bt_(l z>3WJLHh#|g>tq62;owmNo$T~y722t{shLtuRm}qDi*pP3KZar#RztAI>HU@tZY;%_ z9*C!3DzZ5@Zx8L}Y`p47!9e`nzk>H|Pt&(pSQgg^AK%@?aM zzMeK$JSzDSPA8INLG-=LbV=@VJR}kfV|?{$Piu=shKHa$+#(1?;skhMxVi`jBAIuG zh-sCHsYPG(!<&`EQWRLsvud}a;KdK4Z2xGKR2X+_Dq@#@((VhV^QUFI0g+bzCvQq+ zO0{K*)>Ia0J(6@@*Cr|TU++xADgXLM)u zqax!Omd2UhjbJOPH&7m%KKC5*-a)Dr>h%=CV<8`%zQZ~VUveVOlWF*n07V}0UI+39 zco%7cV~IpJWH8aL`TTdyv(N8eM|F@hvK8HCsf(Ql{Mu-a#Lf6Qt4f%(4~iO|&i30q-F0@fuja4_!wN{X~Nn)RelD_0_Tf35FEcEWlbY=b^35p1H@M ziwsc8c12}VZ?^Rq|2-N9s0<*~V94s02NbmgOu&#;V;Mq0npoeiHb;qve6O*1FI}P{ z4*OtZ??DJF;w4eqPd@Pam;~*&@|BHQPb-`bS=9MSo^LI`eyegL$Qk@bu0znX=H4D$ z%>F-%={5J&I}q2lC;kk<+4o)4ii)L|Y%v-It^dhhC+fKWr_b5*H6sn|0;C;WzO~~Lz13u8_hVSq7w{)fm*5C+%{6v6XC-*=6#8fuK-;1&Dqw?xPatruv z3fo+Q-gyX~q`+^Gxc4F<#3F%*;b7s4N9uMNn$dY1AK~mA;eCJ4P5HuwfNsbAdK{63 z23xK$%=-&=QemlYBkLw?$3O)O3O4nFJ$bvE)!Ja*JE*P=1BtblE}mj3?DD6aU-dK%W^dQ9L*l53p)*%siG^ExdmGAlB6>@K z2rj9$b{ux~nT-dz|6T<=n=|xSbWGI6(5)LCja~xhJp^vhRJH;wy=TmnlV;R6^6hK?c=9rlgvIG+7HZW$6R#$3J3jaf+MFP>497*D4TGutw1 z4Oq39*fD%zcQdEIYccokr};uD9Bg0#Yew&ZNM}?Ix|IYd4Sxx-a)a?MHrWy zxsc=C`rd#y(DbHP07obaOoco2^Af#M2vf34uCDo^C^-0L$tA@;FKNyo6PwEE%;A+q zuts@CBJxuL_Mf|^+vLta&?&<=>$90j9n-F>_5PtY(tMhKgyY<$~330^j$3y7FU~K1uJrrPM8S5YUi${thX|usm zwMcWa&oc0ZT{CzrTEQm``dVDCkMfRL|DzD|8Vu_f-~>Alb>MK5utsG!7!@+3%Fr`M zf%!#q2;L7jmAVLH-V{54#KN6aiC70%=A0dg{5OI!y?Ol@Y}Ls^%$xkqQNMys3b}&f z@QvMt1J}oz3eenNN;vuzwZIb|JWlIR{GF)gSXkn+l^x~Zk7bvV#>>gE#9JsI znITVe^9_n%2Hd+HInIY(cl1ZbQA=*`vkjN>=@xZZJ^k^fxjO-NjeuwzJk&;JN*s7) zu@Q}4Q+QK=_!?v^ad?lk{FvojulMqf30=&-waS64>H<$E@^3P!qeV&@0@?)pkrg=! zSV&#BUK6FsXQ`{46z*riQ2Ml=Nnlk8t~k|mc=lai*G|$5^~(&Zj(?#e#zR@oOzii} z!C^C0Ew}fyk8{Q(t9$~X>m-i3pF4fW_LyBF|Hc!QE(7^#0`}9Zoqu^d+0b^lu>A|K%ytMy zGOiE7#N7p@{+ND|=FJ-h{b?ij$(;b58J)Cmyo(I6rJt^f)v*>F-I=EO!Jx#7=0ejD zURsjys}Q_F`JwbAa=CA=odt}C(@F2s1ft313MA16ejjRMq7`I_$&4^n+VEM5tH^IqTp;(0r2*$}REKdNJl1alm=Z!gxCh|o-A z{kxv>oPSumvO6eziGvZ;m{U;rY5;{VMQJ1;FlkBcu;EylZn_uEYctiFSoF#h)Vx1` z(?cg#PlOg(VUtrb6^&AAf+l)&h}%=;iyzUCbVjt@4Z?kTz_``PjhSk<#RqkV_u%Cs z9YY&QovNGE_68lt?=6SbhUYC1LuJ@xAw3@tksI-vD2odTJChWSv>ji-g<$HK1>7us zb*grY=`T;1vabS{N3m8OsS>cqWDjk_)T%p491VRmlP3|<~ zaF+#^KcF+5jR%xrN8x~|$3`Ndv*XNV7@YfwpG}1(N#)UC$26F=AQ*su?fdbscEpHP zMbGflY?X1r`&Jwp2-nwl@K6o_8ZKxoe&yeB3-cWI2p6}v1fh69Lt;6j)RyceMiy_; z@HL!QnJuhg?E#On}LulIp2*wTD6NHGSQEC zD9hqV%yJ6{Z1&H7(G3HpxfprRw`ee=75+_9q&&?d2XZQm9GcEITjfvJJq;1X;-A^% z>|RrdqJ58sAfjhnS2J29dk0NBvOf-v&o2r0wcJ?cdg0_O#+JCP<#ny+U%R?08}1xO zeOXrq14L}koU%X(Q(kG1XNatpycY(cezpHT`IkR9E%C@RT~?lBNL}7ZUH^b!gGR4t zrG&U$KU8i*%XtlF`qDHy>~H}h!zCZXSmN1Mk-F+-Sk%yX`9+jXuz&v1F&7hrnrC2= z7IzLPL$T4d5PK6+_(pN>H$Iq|l%NI@b{BbK82*0TtnY=F&PbFO-TRc$9UUerH7uAd zeoRE=rWPM2RhFx>w5N1h3=_)y2?Lv2y=Nd#0kda#Jm0y$Q*e?AVMwZ>M&W4Mx3Pzm zCY~9anU|B@-m?LHF8r!EzI3*=+N+!lfZgTm+={x*{~GZ`sX!0KTFQp?;4K5oAxa-h zSkgABk^9Ke;@I19sqFfgT5w9+J5+24QcBDZQ_y~ttT%+5x+g+Esj-VEKJCm7A=*NT9&|I9dKl{x4y`pdr=t7#ab1Lz~c6@Eg^L(k%ggf0b z#=ko46t=V&pu)|^VtWw(mAHBA4)cKW6I-iJeoh_UcPVg`eG<7J5M5x- z`8T=5h$099vVT+NDe&vob1jqAe5+}olF{U;P>mNu?&kXLnQeN}JR6}sLrOWm>j5e& z!JIR4t#CR!vl*!f`cJY%dx_Z%gqmcXS74&MXAqM?AB!R;Vu#;xMM%3C9Ekw{2C#z> z`o99b8AD1UhnSMFL(Hc>H`N=Qm%XNK9btUWhNh&usI{=!yV4q|wk%k+-O>omT9eM^ z)Grd{BOXsr@oz=0lAZq)dRirLg4JPK`+ojeXEqseZ$)O@a+gb2|2x%EzHG9R=Y>ST zNd&qXZ_eHRcD(w%UG0ds_iNdQhK5;bbMYRffEK?W;cXF_J141#(}fF` zlY+pdB-iTlxF>m)WG`&rK%m>F>w@~r56CJVD5{2a#xBj z1<@hnzeOajB7R|z^+9?25!Qb@c+C9YR~qad73K4oFbEWzilH3&A$2uhsszhms?q@2 ztDnrfsdt2!<|UT!(bHA=0QyXQ_+ig@RD9U|a-qs8RI(xk-#C4&<|nE~7JjR3WU1b> zz`~Bc-OXjii?9X#cee0gTe!%bDJ|)I27}g$Bz}w1jP-!BC2dHA&VkFU-kWSqvVL~F zHW6^9Y~up5!nsT!E1ylE+f`20j-}cgDpdRcU3&}7-UlgwXO>Hrstm$kmzGWTP<-fJgKO#<)!6xUuaRhvha}H(^btmg zG*QhxNAzconVApdz3!lo71qVu}n@;4tR(ona*T z>yFaZ^nFXG)}@|oaAGE?|LoR8EcCq8KH7!tmhtNzrQkg0rv@+~SOo$|`_I+#ni06( zYe@1W2=^7sE~dIg?+g76G=v#OH@?LHnoj~B*`Z(*ZR|T}p(&z(W$mPIAMfC}ZS}S5 zdVx!94$IxA+ySM%w?fNrEce!Z_Vw$ycel?yR?Fgyp zMPGVI8*RFyb4T!wny_wEV-P;T7Zq7;^`Y&U`mX|pgMM!ORZ#a?1gY_ruwsV1_v{L(*oCnJUiMm9b(K!bnu~iccNT2Fl z3H5*?;hU0g76$UoJ*J-Alz+ZPvyxr~Q9kZijp=!dlsox*dvozON_0~0uO(&VNX(%4 zKikG$i6tNw_M{~6Gd&8udRRU_MtJp^HYE#iI{HwltAI0;y z6kFACG_D|1*)lj>B&1I)dZpp%4rnvLRrULih*8ZhOd)!Z=pbZ?41#e?iFhP(6kS|S zBzbl2FzSKx-nb>*`txOvlJNcWb1k5DCivwm5kAbnjy8(&v^lP;;wjIj7|y=9R0FD( z{*6Io8W-&2t$N7jxP5aOkstg>X^4xmY2Npn7H*4Dti#dI**Nx#N?+ghb~DbNY;~5y z-887kS_>~R;ZvTSb4Ukg=%jBKFE35YxR_FXPnM_NUXH-+i`*%s)o1+bCZtL)s0*Mz zXBX6u^Z8Yv^}?-Q5%PSGE-xht&SL9ZvA&q1z|;qT2K=mw1&v;~arp}wuAFN@Z#z5H z3}?AvrzQ0jyY9DaUeA@@so6fySv-D^JksoGsn72g z(*i=2x9~{4$0YXZ~4PeMqM?SPC|rE@K#2J!`+wT zjeG@**~wWxq8WMg?zb4!1O4}RJLsknWb1k%y5|a$ZpLAT{!4K4&e9(1*qJywd$aF#yKORXh z4;&II2Ug;$DpUDbuQ;Hzfk6oy-bMSe`J0gbjDETMgD-cTH@7Oy2xa>HmlYhi|9j_V z+AUYSKJe$RtSVC58gvgs2!SJnTP~s7Hw>6mNuMg8cGPT3<>#+xPCc_VGli8qbxiOL z#}y3+76fZz=W34v9Ve($mx9qU3{f)7;HG`bAgR7)DW(VEdygUJC<_NLObpsO{E>K> zLSJlqBm>va6b>$j&6m?RAGGtvX}u_85F{!h-sfi#EpvkB=Toc97!S$pb5h_;^rZur zs3dQ{{?oSbUYM&2ixbsVY1QlC9%XdGLreJjqiR4t|K_?Bk(u&*vQK{a4A1!;PwkCQ3KqaVF7$RwA`kz)VMotu(Dtk&}+)fLuj*%Pmh z_fh@o$@vRVOQl->qhEaZ$^pH{n2T)F4}k|~lz+bHPF^u-MALYd>$~zZb4Zv8^tQ)+ zI}?etmZFCxoT!&Sh>Ksg?PHUYil4pB3f$}s*wq;2MqyY{{fA}I)2e&g>50MJHxy8< z9}ZXp0UW;AyGqN=A57Jd6VM5UU6d<7v%(iX3XNV$woAVDfCm{{CfO{Aj?m=;53U$4j}_--dlWl+z*g zRtq+iybsZv^siOJ62JJZdqP^kinJP>J~pXNdA2+^`;+yZZ1Y=3{_m<6`7Ax2w+W4& zh8;|TjjK@sjB4i}pRy=&h@Vgd2=6wS*q!DlQdS4NTJNbfHjy>LE}KfOmDP8o#*6O2 zUllYikms;&Zc%(fr@q^CI?W}X)7xpBA^-Pv1FJZ*ep=gxl0SkqpX@S4z zYK|wtsd$^p9Yq41NPzA^X-NX&!pOZWqq&+lC=orESb|vCN)(k%1DlSd7*7wghPLF`;%ZH>%Mz0c{pZ$u;y0QMuDmT83cl5j5D%*T_D<1le6mO@*~SX!+I3x0Ke`YB zV=!E8W!T__P9&G)rw+`DH19y5fU{gxKq+D)$)D@F+`T{tKD3OqKF?d9{8x{wuTaxbhxlm!kbjWo_U1}LTpOyvN9ja!c2P4O5*l{BG0A#OnSAw3#R?~I%nTt42pOU}?G{5rr!5m?4K|nX>{+eozdnCv=0&ZpzhJRl~dC?%Pl z`_IV`L2W15bEXazHd1ZGbrn^8-Btk*(y?TsQ_})%P4l|-9>0XNS1)dE9>DDECG#HB z2xI+4EWU4=fS_uJfQ@;Rpo_Q(Zgayl5kuJeknWnWcpTnqMiHrw*z z3?&Xae$+MRHUDPSFb{9uso3Fb^+G0*-cC!?E_I;%Val9;Uc-^tf(eoLG+Q?+od9%H z7JsokmHeR<0pYk6%Ga^Q&u8gHhTin=*kKP?&JnSPfmI%U6VTs}#E*Uzox2rM8yTYm zcDU6a#9d>8|FtquVP^}8-x6B$G`F87oRVdef?Y#=L3t&5?4*b%fn|xww%tHT^{)%= zUl3L|{P!AWbahs%C+LWrIOmA?-sP%Yde41N1?r8*w@T8XzMw-@Z1gn7Yc4>ROK0}% z$riV|Pw)D715Qq!B8RzMUxEcMBBM~IZLmW~ZgE^ zZ6pCNMRFQj?cJ5@=E<+6+ws7Npv7Dhf4}%aK5i&5D_$J1) z81D8HOhc2>$j#j?9SqUW_pb&cS!CM-U4%L7k6@n5H80*jH!Vkfq5;oc@Sx>n`}DXw@RZW_ zV1(_f``H&jtNx>UEh2-fzm9>)()F?BQfv%r3SQv_-S{s*m`#;>4L|6W_c_>T)KXv4 zJ2@P5S~>^=^XPCqEuzyd3rQ6w5TVnI`2Qgr=vNVy%)$%&b$*U7r#aOD&~)?b}9%QcH^)i zOodb@&?Vogpim(LC0}7P49>CbpSc+>3!}~%0Bi@PdsnL_;cD5c38}^fl0Ry8hvP3Y zRvaWWf#O|f$I_sU7ph-SJU?ajsbpqU$zuY)9AW1Q$>QF)#n{O$C-Nw5Vc9dI#&GkO zin={f|L%_iK{C!DY@?_Sr~Cfao?R1h%k(LlM@Dx7zb;r|AN>-bGaZ$N+Xe+&j})Na ztWnz2@Z9$WY>ruAtNZFCoO+rKPTIt^dg)5qj0Xhh^Q>7cdahb3hS}WgkF9lL&)%QT zidqtde17?P#x{56Y2jYKW>P+hVyVldFElI>MkY0roco={citYZ*WvSV)@xw>0<`Mw z(Pke{ZS)(Kb141reE%>2b4u^G_p4QbH_a`fTwHy=P@kRtj#Yl>Q)S|*Fz)DO(L>p* ztw$A^5&HIKM(Be*j0B0O zyAfn75CYD(G3X)Kt+ypr{ujLN9+>vYRt<{CgkjmHLLH2UmZ4Zd zWYkpFnUM0xuYbw@5exWN>8@4_$3&qZ03d-)F0d!Iq@n(MDA!qAjfYF5?Qew1U+sL! z%DwLW{|I{vhp74}T6CxZqy>=F(}U5a~|o?huA} zhwuCJ-gn=<_x%TR=6B9-?X}n1Yq#3*Eqc{fx}2Njsp9a0L7m2d$gGcFKVN&@O`XhV z$xf-f#-F^FYhst|WgLV8=S+wh-|V8{&HgRuTqL4N^`v=scxuF3O8Me!STeO4OYizM~20|dB4bEx`^VB--o$nT&W+Ueh9G)E-n533xrk~F9&yJ#;@5}SbM`VhD9)7C z>=JObsoRDMm2fYJh*Dx_6X~X~l7%;0H|d#=;At^y@Lfv%+|LxrcQ8|2Q7GbiBTLTG z!jd5h7+^>MhQNd7F3uJ43MGgZTks9%iu6pJiDJ2koqNp>{?J5QP$vb%o&0SYpTN8q z20Wt3W#?neiNrqQzAB{29uoBh@5U=@K8SFqETX8}<2A++f2cfz{sbfn!zoq0JROjW zKYMQIbu_4y>YIbMv~%A)=xQSTo0M^Z{T2k9>(+bs>u5(^#P!jA_dp6nvWt5@@Fv9@ zOj*5>zLx9txwgo75tm3Dl^#vf986kP;Gd5T7PlQHq~0A3s~fR$6};g=ynV@p;m=Mq z;r|gyJlzd_Y##)uHOq#|BeW`43e@*i!Pvi5L49*e3u<~d@he%*i`?T>T7`c}nnQ?* zWV23G&A?zX;>FOd%1HKeb?dFnkS`mcWK@_B*#WFK)nyHn!abb{Pn=B*M+oT8&T>pO z__&PIMSScW0I{G{(DL*RYD(z62+q%74G*?`kxeus5n@q^RxOf}Z(OjioSzlABN(ec zax`Hc(&WgxImQ|1B&mPRt@@vK}**)A85@74(q4bE(tq@C%g8> zIe^a#DK8TZ4$Vh@rkcYeWxIsm-g%Z_Tcl7t(z=P?_oaDs^`rX2^(9*_l_X#$s0Czk zPoN%p%-^T*OhF9tsgu=tUE)FR?J>T6gO1;)?{;$5iyV!ofQpcm;4c(_*xz3vQczg% z*)6X>c=BDx4RvycBWF8e;Ed1C7VpbQ*sjwzhoh7rx&xYvn_J&Wf_B}6Y)?B8ys-~U zo{zoS&27X@Q2B9}q|>cCVnQ$^G9B~lopvJG+*#Rf=ap`P3opdZ_Jz=@GGEX0J^TCN zF_?f*8!z8nG4Xpcr|sJTllV#&dPqeRg3;?tefhZuxvq1YyN00;V?jNpl~<3 zJiYwA+wLUE^S$R03Xos+Lit;IXO&;yjj~kQcf9kpRCh~` ziaptS1U-?IwrW9!LZ{oj+CuSVWX$&(q;pOs&VmXy3`szK!Ou777RaRzWxV*LWTfs_ zbHSC#ypWc^Ek{nsWk18g$`vtxCabEycBW;5W~#XO@$FFbl>JsgwTV1Okj5$py~#|p zPxEE39GOz`Opefbq3u94cT~9l7z%$Qqtu z=l1oz#(?TTYgJRFRZQ}5GzKd1hd>8|!SYKl)YuUGd<$BRYOH9uHd zr81|^rDEI*PFbr^f0&%{akkRWSOLAksp#=89o7^{K4VStJa%IDlz*bic8iWm%|M^+ zF$cMO2#S4dDo{?S4>oI=8+c}Tanw=ohLzP1Z{D=*ec_iRNT^D4X64TB#ws0%oiZ}h z?PS}bKsUx|Jt`gGOExXroOy5kuIQ*}GJavb>1IO`SdlyZQ)cHJ$Az*n^0OXmKIGvx z-`LE1c9V+R9U`&W^vK}Y&yrdV#2dEpAm_`;vW(H ze6jX_DkJvT{vb9#_y4tw5CvDe5W~=l+MiC2q96$_jP<#+$&!mTP;s`Guc{WwD)R>T zcjtK;g%W*bxR1{ONqp~;szd(@8Wolu5rlp!W;{(j0ZNLae@lw82*3%z&4vFOIIN;A zzSUYQrRmmMo|K&oxDHZVcR{?4=)r?(laf zl{55>0aAJL)kXCCR3`cH{gv_a!5hRlRPg48BU*K!~VR2FEo6j)_D{xijf z4$2H2ao6*IN{i||O655mT|lxAk+z}7%-R?Fdn%i!3k5jng}I$rY}a(n*FPRh$NEqy zu3^|V@wAV5o;0m8cO&5l^7k%1X-|h=n~A`29o)(w;_!%Tud{WQz8V8_vVK(ZpD*U$ z5*D_JSvSU-D;-guwEN>sN;$Gk)s|!OVrOd{XZZ%G&v#K14ybVYtLERtrjBR{hsReU zEEeU3M$~*ff#D_~c!WN-Urt~lr7y|1xswE#`o1JqSfpgFcH6k5H|ya@_zn*J;{7yh zV_#UY+{tsR#$8Mdpdol?QUNG07r(({ULG!Rm1RFnCz@)+t;3yj7i>PD`UKKI`k$+d zEkd^D-}Rq2(yUQ_3xXIXA4Ttd{L}XXrWi;;H10=nx*pep8cGJQ#~N@B2|(aRIJ8p5 zvdsnPh$DWUTcqgNoGTEGtGVO1t0wB`u*Z7ef$+HiQNUj-2gA{}tbRH`0RvE}X)qA5 zY8VF%e%?HqtDyL<|JS<5+^*6wK9|2ip!MvYzGC!Jv)I|49XZgJ_D1n@K$WsQ)c6OUlBU_syB*k z^z4;8L0ZDy(ZhM}q{MweRVpGz8ny=$A}g>g40_(FIjgpcKqvLD(NY;?5dxX+*NnND zAB`3+ob-P?bgL?IoD&UycYhpN-%1}n(rDoKjgA@;5@RU8Kl6Ot%#7MB7&AKo^eR{B z&3ZdRn4OE6&@W?KK{@w@&DCD_a!JL(g-rhBY^~P(bDz`TyZ-M3&iXklTTOx7d6YS0m>TltK(0U2{1 z?t2?1+trmSGKuFD{Qf9ym6Hh!6J2D)4<3MZJUg>6dPr<-CrrZk7!gkMCY5Xfqhe8? z8@^Q5%)#l7EPV7*3qQsVy`TM-dR0d3X1&0Zita*pyikWhk361~&JWht zit!Or*?fVJ&Yx`7-Scg}IqwdnzH7bv{6b1m)FU^_ttt;;QMU5mU=xbu0d&T`#m{5y z#JurV@Eapnm5q4AEF00_raTrqC4(>N)nui!8URi(C1q4As_W@=O9fk3USG>HuoA7r3;});P*(m< z^QRl-=xUp1+jL%Y>sLE0nD<3rh;eauj|EEkhm2TRZa)&)`goJn==Ukf^AHp!B&-*| zE7YOZD{s?ka9kD82DrdHE8o;j?8G37H+ACVwu`BjJsgbi2CpD(b=KFh>2PuvBA&5&OO-y=TsgNA*|pN!XUVZiWor-SYT3?OQup`Htx@to zztvhbJzIQMCO-7~ZX#~`gMCj9jC8zD>@Ldje0^63C)<8Bi!EVt1!tZ9Ya^w2>H^qO znomzP41F73j|V4(e9`m1nJzkwtAJp-oKlD*tcO(Ues@CRHTvB01fCwIJ{f= z$6J?-yEypY*nH@|kDhE9MDtGvv_k@B2I!R@zkF|13=#cmHJ*DMBWsa#_NB=D(^|Id zHD9e5C7vtZnON5QM}U*P{Dstz%C=zFuZNBWU}J}UE#)PX!S64hykN&L^r-)8m-HRn zG$$U6ui7cL673et0S2bCyP^Z#)FU1;|1#w_qkb3|oY?!KV5DCSnb>G{-?(T}tLoO% z=HwY8U$9OR#Jyhqnbn&c&PSe}HpIBY_Q86;;>TKEKl1VJl^OAj)?r0ZQNL?$VKz^@ zRxzENB$99!#Gn=m|2>A8@F`Lk-w%rS&g{gH>)04%05S*NJ?Lpd>IlEjSxJM;>xyvt zUf<4w@X?X12hA|g2YCOY6+YoZbELKfudNS<1B=koN|${imo2H7Y7!OFv49^(vpcEv2q}($ z+5ouUe95C2ms~wSsV(r2_pa7}!Tg zmy4GYOhM^=@Y=Jvt$qh4TrUX*c%lm@Wsf8{XHvTtX2jU4Gy68DbpVLSRA!YOZLVPu%KD~>Vn5B`rf(w-u#+u znf@Z?=0XSnb5?BJusi7QEyFBvwSTRB8Ofj_h?T8`;)PVUQL8}AXfrX`?ejfNd|hDC ze$k`>CN!yazV&O=qZYvB9iB~jft~lOundBEFSHscmP4WL^aQ6PHk+=>_)oNnoD$vJ z&$c(5G3B%LXV$DKLcX#%r;ikG1|FDVr(St0>w5*uuA~52{8@XR`;FeJifTQ#K0?RG zKeA8vcXP*JOKtWoo@;Jmy`d3}!>W^k5-njLj9GS&w394V}$M96a>lyKJ3xFHv=4`|8aB%B&Nq_*zhgF_7<35K=LIO z6Ei4KROfG-*ir{BYEvteJe|`s2a)?ko?16yMxqCgm>*`4FOQ-If5)JDt^i*o8a= zI#Jy@Z}8@6s&Tk{QOX3u_*Z@oc}qcI+*Kv{4zpyZO(-kq8a_B=NFUH8TN zw1J88hLqt>1cVGmd??+uPI6L}lu|w4Td+co5<+*~oxV0+Waw+jCv~xHW+arZ53z3! zs&m9yjk}B*+(k+mmdgWis75N-PsZE)!b5EZeph{~c|1 z+abXX+qNm%GL^$0Z~|l?S16FXK>!_)Zfgo?O3S#CRFd}YGF^X~v4aRWG^o7!QZHq) zwvc+V{_(lW*`AoJ4iNM>sJ7q7a&B}(>^L2WIDZ7&OkdNhMN$VfZB8-`PD17ckA6$} zEGe}d5c+O}Y8BVviF(tUS^(#>^v59>01XD^lA*v11)XCj2dna~lnGUw3t?iFXT0;v z?JX#saTS9*z@pSi@sh}{HpUpRW19Q~#gsc@Cqz$6yaAOxTk{L4v4_Lg>P+0l3Bd*S-tUmBcA+NG zJ9un~`^y)z5|H|=d5zU%UJ`?7zG)y?^Jnz9yP9?qn_PQsZE>((5?k?HDi2a`HLp>G zsYB^Qb_CT->Dg82i(}=oxscx3;$3nej!wHi-eV#8=xJZeG#$1{1ata{2$0!qJ=Q_8 zTc6Gj)1BW$yRoPgA`yQqPTJP$&jEostY{ft?LOA61=eg)xB5N;$&-9K7baB>M*SlO z>|W@3IFSDee7ukwpH`kFYq_Kz;lDR*_u67tX%85&VHzvnz>TlKdoU#Wb-a|$ULPzV z)86tFP^T{i?NMx%citCnxi78`)Z@iq%j#y(p&0P%53+>VYt;2_=I%RX2UwX*b#&3xZRF9_IDaeU&u` z=ndPbin}U9Xf2LN8>s_n&JZql6Kox zaf2>JOs=!pqb@eTdLKV>FBhri6KJl>)9E^w+Ze-21%f?*=o>JwaNC?53}iVo@yY8E zE49zNwtNM~@z#PA+RZ7x#u&aG3#(MC{u~iMZY0zz5m(>qv9Dm#XN40%HzkYnGkhoS z{pBNvdhCl4p0=K5*PHV+To@G%hOMwVAA;2wsdvx8ejiL?(F?Dq zm=;M27&F&Fax@7oBTDqU_h?OQCLSj-A&y3nH;VQR>9qmj+dr%~(o=J|(Jz9}x3O$8#rH|6wYmDim*JWYOn?6fTeyT8@FGbHD(B%yb++bYk zoX)vHv&Rlx$-`?OD++sT0W(Y&J9w?<13$0JGhIPt6H%JFZ&qpliXx+cif>(dES9dm zMHb^jJk$?jb1u2D?3l#*VVCmA0D@1k(fU{^Iun&^F>+PXz6O2VgBmDm$>suFJdF)Zbd=)fTDC)BvAxBcEKK-u5Ro+>B(BtcDv>BcL;Hu4mnp zol0JMj;BJ#b`cAOv=W25XgCx`9-D`)g$O8!Y z*Of=zk41CVsSGr-Gh0D<_}KGW!TjEa(}WAl7yIPE9yUF{_i)@(96?#-{*7ZeG?M{w z{87?L^s`31i@6c0#R|(Sn?)dJO8a@t`b)bnd3Do{&8X(HVb$kGL7}tqj%CCGazq|@ zf_#zJ0|Jv1CQA^TS(n!)4Gos;&z98Xg>p=qqOFRQi+qG?EnhTM#6WdsfvNwfJn{ZI zBWEB)$cL?a$Uc(uqK??|Egp7grQKP7@nx>yGZK|+xULMD-ND9!)jSbuu03da zcKzv@k9)s)_lF817nw9J+9iJF*Z$DNjR6K;dyT~!lZ9|7YW>nZ(ic>sByH@#Lv_EPQxyz8<6v>O-gXugLG*Tgi7wvWT)8>ZfH1aMk z?VLT*>x6v$H?eMFT~2k~f(a{F`S(!^({)gx@23KYW#c|ea7GMFT4bTFS8do^Kf&>( zY~a$k?%)a6WjUQ>UB3!WY3_|EqSA4xGGN z00eqq7-ct)8I;5@>gM@VqSvT`OVK^k*zp>yX@$BHz{+-3~RYo61SBDVlmn45J6(CkUDhyj#@GR~M9sR4Di0ql%m z^X?OUT0G5Htg;Mq#nhbScZrDNWiii}2NZWvEBudhivKV|Ldn$s>1L z>$uYL0t59%?y+*RT=Ua!W^WG;YSpCsDc|Y65&M`t5_amukbITo+H@3=E3xnR3-pzT zKVnMrorAr;)LMTjetf?Jn*oaLoZckFK@ilJHMRj*@>=yS*LN20jr`Yepk2Nt4ad^^ zGyiO28-)aND%i=Ab$tR9Xi}iL#FCm1;sClH`$N$mfL%zf7GAmRjHgyao@N<542yW= z;CtkfDXhKLTlC&6Kj-5Y6y`H^A6uIGxcfsO`2+N7d^8Nfj1eI$7pNQX!o$8-0qMj1 znyrpDw}P4*K%<-oL|N0>gCE!#^oN(f@$=>o{XZi8jKjZ3k7WKBNH)kc8$?pvYXc+r zt;6(!>=s_W-?5>|rYGE8`D&N4;I8S(5U3^2`;@O~zT%Z^k|5cdr5xqOD;e50W(z-O z)54RXG|Fs>AO^k|MmdYS$4xmMy;SMpZl#^Q-MU#;20e!MAwJ)D^BJe`gmn#ihYUKJ zLno9~P#f#o=JApb#9svQh>{jEeoW`(3q!qO_Ofqm0Tx8K{fF_F_ZVM$Kd3x^X(qJ; zGA^bquKFnbmxIs&yqsJ0l3KaI1xHp4YttMSFD17!ugCAMni$X72o3(=^*PFH&>#5! z>o*1%c{9`(#<&d)kacSb7Or#$@e-2*%p&lw850_kePu-G@XTkOyEufMNAqjg%6MJJ znMA%%FiN~O@o^|N-abg*Pfzw}uH0|Yo6B}TJSPF>UH7JR_8Y%Blq$$kE6Tbm$fBec z#~5bqv!#wCO|&F0*psd$j9&RY=S)5B!wlZBLjv|UEA{3o#t1~1ma2mFP|&~tyx&;J zoe+VjLCK#k!k2V+@D^|A#7M6H<>x8IFK42S(}w=qjwOe=Hp`MAZEldbnA)*txfCx2 zIHX+>C+&byuQo5OXXkXz15b~vRLy^{h_2=GK?sKOPo$_t2KIXPLsRfehU{-W<-C+> z_~ox(6PniV0cANZ=LE7uTVGdDb%acGZv;KEKoPgG{HKx90}L>hG0G3Q;@O@3@xz(u zek0FnOpruncJsS#{OGE3hrdCH*w`qJvwmvfjithOw(pMuBlGK}v^2Ih*+5LFk{6F? zf2L}k2h{#)Ebk{C{PFU|fnm7Hf zO#8i8Xjr|B3|PVgp8ma$f0GL>shfd@#Zcf{qT$`rnI<^20jEFzK(bWJ<*!(%j%;Io z;nkJ53ns=+2&4tIhFE!FAFVz##eNwG58qvM#g)Squ5=pGLraW|`i_8F$V++J*4O^!TOCk8r#^?8@Wy?fd6$}Vjvu{*q1Z#nim3$z|yt3d> z&VF(EY*8daOlI3^M=rL4LG;)%-l^COv;==j8*B{pS^`6lUr?`0 zQn>;bu;Q9%S#v41a8kQi<;A?mcRxWlUa=|nGA|V6XH#WG++Bk@+>@Jz? z;Zvq1C&d=e-Y03<0BG)1y<9UFa&hI%u(qL-FSo!eQMW<+gdJY^j88YYwupOH_CwvO zWc3G=V&p1wGf{GMiRarclfW{iS+K(fmbgFkCGns3J;Sxr!v6-v!BedDUufmApZE*9 z0c(YEb;<_Om+6$3*D1~zD4SgBT0TiRE^3N((VZUH9@TqT5Mht(4 zs1GcKd85wj7?}$f&LrB_?O3A<#u64Oo7wE8NPJ;`)N~pj`2p;!{@1HmhYZ$z%!P<2=ewTRTmw1 zMj$YXDJ~1cLQz0u*s%+EbXm!YomFOnU`p$osMM=O4PUBwQmK&xOvYTdAXTqD}&PUW-%%`s~UXapZ%np-LNF~*18XT6ETwg}BwI1V@ENBZH?fCvi z+})0i9z>rLfZzP-n%A@a%3k<76-ziNJ*+UYZwFgR^o?J}$a*w3;vB3zz2UdQx=daQ zqUQ%4v^mXT|Pu zCB+7U6FPeCpsx4QE$x9@f6M)+Qy^nx0bBd``@kYQ8@Cnm!44yzhab=E)+xAt<1T2O z+o2(@B}sOGF0CbkzXhyj?S%3zuDO-DEbYyn%(=Tm$mz`mIo3|? z_pO%&D%1=Jw|RnM40}-Zy$EO1tpFcy(bqB$rljb6xWt@- zaw*mJS@kbcCiaQ)0%2|b^h+^>5dwhq1OQ13QkUIp4!xJ(84HwqYlt^yN&|5Li?wm} zs28k_$VlvX1*=F_@qjR9!AOmLj|BLtYII8y1RY4YBC%r&7y?Y16M6qTDz(9Ka)Lc~k(74r z?K@({okACeg$)95=*{0M&7Gz#pX?qL$(nq?>d+7Z9=}BOQ@g_24@eab5u#Yf@c;=x zw^Pg#23A4Xw_pd5GXj*zhpbz^oX!5%*`Vf1;dRGDJpi7xE4=?b_n$)z^sqEbe zKMpjR?aH}1%qJ9wNK6>gVxD8t{pmWO{=;P1l<$qu8JE4f=jZ(g&kTIX9KE51V>R)o zc4;i{KhbV$ym~aLb}pf_x#leHi5Vh=eSVZsnrH05S{~!nX53ZV0!H0|vF64wdqjKy zKaf)4z@56efyQxHS*Lg9SZ8$VUf_VI4!rO@q78@oz*C&ZOB|77S+2~UbC!&PZbAGk zktRP5Lso?QL*bqYSLTzhk!To^7cHbY`WA>BhLa#xEeGgeblSXs6c9Q;jI|A=5@&gk z$)>kn%^u1Ej7oj@pe%m*y35 zs&4pG8fDSj2dCFwbg8>gnW9$VCUSemW%rDZ+SPxAqqt7U70CW2artQ4(~hPV;XdYz z$`v8c72R}B$&Kb75Hs~X=fEOY<#~l&;q923eUXr zO-f9|%dEq(vA;X*UPUd^{J$YA(;#N}#m72a_ zR@MdoFp*j5PBAuWI_61t)*JEQ8ZOIfbBI;ZK(68}kdM=6=Vq=~rjX$RTt+|IYRN%e zj>71NP)CxQ%qeYaVv{G3+KTkNf7Ia%W(u1qvoC;f88&o_E*<{_*$1ibVDD$_(cTO< zur)B%-#)T}EdZ@k;GCI(ZHlj`0HW926W7vzso_6Dql%$r7^un9jRryjfn;7usN0oh zWgYDUF7t?j=SLJ<;RBr?Q$);q{Iw+$6}aV;YD`5QzuO<`Hft@DhH^>o=U$kizMciv zN~tNMTQK|{>FHex?Ir4-Vs(C?NE#-L7HC9381>y&ZhKNVaB=_k8*A{_wJ1AeRlpM( zS>MktaMjWLlOBfl#H)POv(;nms!#In_vhC0=edA9kJ<4GKM)x704U@I>naHdb_`+A z(DieADc;L<7tzI$4zj$Y$a5iLrv&o#sjcyeI`m50YcxSxG0<)m<0oY!WvjCx?}%Zc zrw@sGl{aBUfv*?G0$=4BUr2K z>RFL+(F=&*3r)~3wdrVPo%dWU9Ub70^ekn-3wr23nxNs9S1_F1D zg7`L!S(EKjqfd3#v(5(?gI$39aSMvXb#Bf; z;s-ul_E4Gl{#(KqFKQ#N5AmQ@YtO~5Rt}^`F-FDzD_`c+4(8oXaC+S!OlvHGz@&-I zD=$jhQluu3@taZ4113arrlmwS0yka)oiWOZ0NC^!Akh=1Aqsk|jG8Iy_pBeL5!#r# zUJ|Y`fF$Qt3b-x04EaGQ>6E=kb8Ce=cm~Z*c9$vctOB5gEwJCY$e=V+DZ9*nDAv(@ zv`<-Uz(1ac=sOW3Gg)ELZj zL(RNCvzRbC=NADV51i;nee-_hn~@QF!Ro1~Wd4mKeRU0!ZIfZT zwvDisie3qCVabP%-g`86pXO6=_CMMQKK168!wdDtgL?Lh{$OHT-!gclFT}fm(}XFC*;T z-9|kF_AEW`Ua+@)(^1Mx04{U>?8V@3Dx;0EX!P{!&=P}2tW!5yLt5TPxLh)J?PV9M zVlN=p4fL0J*98yq?oy1YneaYR?UKKCO*lzxSCXUYm8v?oo4V42ap{sBv=qw?z#{{8 z&(M44N}=jNr7aC+$9e7XBCzBGJ0YA^z%&n z9&Ag>5G3(Vo+Lc}BQow_yG&6%cZGgKz3bBCvZ|sFjb)^JUu=M!=2Q-Qt_Z-ed#vj4 zc}8H^<;g}1X)bB6)tYkN+~%y?8M^961^!tgv%zxb{`+x$u86PJ+nujY0==*P&zP0K z^yeKJ`ioh4UIl@9&EP4sI>hAfX)|EZ8+b5*)V&^W5F&tr8qkzN_*zh$`ZyC)C(8W6 zpM(4|KNjHo#i-nqw+xf-e#_cqvOs;~K=i+Ym(gOK_Jj+Os&o@EfViP6|@ne0+P?IA9PnHD? z$md{bL|f`u&TuUBKDN^TAH*u+`0Q3NkKU(Fquch*s`7)y+IP*Yb;$uruanK*$Cz_` zN6JF80xZ=|L4ZzDv&MK_rbik-i6k&@oWN^frtLFGEsy1w^>&|V8moNzd7-u}X`ySuwo_-Lw8Qz^}-D=8_B zF5Pk@qdHDcZ>qIcPG;-TzXv+}JB6@SE}}K3;JGhZpV4M>%0|88Q`;}066m0sGWr0~ zDYF3?Eb9QBm;a#^Md*cn<7JRpBVX)s+)LNhd>)`bUNZ?Y z6jv(Xh98JP&8ejv;!=^<&=9!Bi&1J4zzXj-WlB?nN0za8ZD>TaZx~?}*fz1tL!)!m z1mhIlpB8}BV_2h~=>HF5Vf~jF5CFgVzao|_zGd%@S08{_H}{AIBbj&w5R*h|;AWkU z*D6gOd^`S3Zo0Ptd9*ITYR@&w$qfzhM)?fKp?P|P1Q-A~`C`Wov?~G9H4Cpq?EJ)Q zUSq{1cHV>h@SHSYZd!0HxLb z802zTg!mj!-enD22}%(^CIRHd=RY3)xtBnaFtu=yI9m#)=MA>X8Ese|Cg@gvk{ldD zw@Ihu&xD7R6V{ov3uo=*Eq&5(qkt~}`cMI>@%|_t5bB5WT3@RSH=SVT3n3$(VHJ<) zGw~-F9nDuAe*ZiCvcUMS&*pGwEJ-uqc7hxTBv4Qch`EgdZAXf&W3`Z3IlXKW{mp?S z^eMsjDYbVac;_r)nCiXw{{dLWj6%GL-Xy`i4^9>j$n|jfmE;(oUOs=j;NkC3oe>9H ztZa{LYn|Zgb2JN8pUL{guw;Q^TNn!+9$-@V?CIMO7Pf$g)}PI|^=Z3DV67rTB*JNw zzgPLj=&Za?@( z`b_dx)*!R9Mjv`vZTF+kKQ4c~l|4{;Q(pcVVM`F;QiJScXW=9IahbQM{$}uQTI_N{ z6Dd0eo5_U!k0k&-%8)s7u3MZ%xaG~b8q2Fao;E5;hzh4j(iyKf#Y<{WJgfaNT7{M7 z51SK(G^!wL(gO5{IC5k(Qr&=?Ioni&UJ{p^n^{1aLJnY74s1&xaf)6Z*g;rl8D)2m zY$XQzvYpOt2kkxO=YKvJHClyd`+rhs$5@{gYFQ)1R zBN2HfYefK}vB}JX)@EpeIxgVXBZY=M&5RUwjy&~|n_+b}G{MjX6}&qA{%PZ8}eaV+y;Q2?Q>m~)1JHAw@X zE8QTZzSBe;Da$z4Kl@X7-n(|?3{m6(0t|zw@{viv3;Cwt9+mhFODE$?^_v@p-c?hA zIJm+Df*ol747ya}kRy}O1P}B*{u#wrE1|e193zUNYO*f7kHAGL1I~=nlh0~DT9S0P zvYl)>sT5|6)Jxe)2QM4!oC>V5n|vRe785I z=80%;*{AQ&V*|nwt?;Y~B5dgtsjj?E*sN879hpVCXlktj2QMpBBR-$!emwbgB4w!-wny_2cPm1WNRKO2aWW z5$@Cf5;slWY?*J)4DeCRHs{CG5*5%X6%%Z^mNf&5zhEA2i<`Go@p13#M$wp>WUGM@0xGgjBGV8o~`39v2e7 zpr+u(U-Uq;T}iEAgOuNhj4wr(@F6HF&4$`vBdQ&|9o&35=tuEvuf(*OYg#!r9MD6A z3JnfyP;-9wEgKmaAE%@Olt9F-MMBD7&;c7bsWRL|3yRO``#9N$o!@$AeUjhC8b(M+ zevX}dJD_xXMa@H|0DbG&4!YON;30n= zR06}HfB>|a%|%<9Mq42ImVgJTE$yrxr5DNS$T6>53bq-=h)~aeyxVxjITZwZXujC& z2I0&wm6r6|=_3oy0HDcisZ#>|ty`%ru+)^jAIL~T0&x|xV++yq&fjyZb;bLZAUghk z_d2`K|HQ500B&Xe|Ke7xr|SmXt8Hd_@@al`Sk=Gz$F3V;c|xY%M1`kgW6(a7W!z=G zQrL<^dq?kf2s4$yyx^GEP~{icuR zwN4@5rRxvvK>CwR{{wf-`D)d;ngXCw2b*h_WLdIe=(!cxHF}?Y`>+(BS{f_%r>~S7 zmJOonsC-O5u}HBH8}T4jrYge3U%Y1G-$tHUY-aM!;2q%H{MNW|Juu3(Dc$_j-;ACs zmanix-!?h2nEKO*5fVE$MdK0daj8H5JF&8(X>ha#&VkBos+i$+HfTp=0uV4*vvZ?tQ-9#~npwRXKBP;^#;Q81}R^9C+TvkB{SA z^|l__q=~t1zd~|W5|nQEYVd!JK+K-loGx-#nx4cu7nv}sJiyNo zZhIA?)$$-h5LjlKW&2>LEDMRBsIcG}a&JM9w8oM)m;=6V(RJSfeCTsG>s>!=MbYYY zLsqN1_Y9446vKoN$XM|zOXbK;MY(0DZqaIHZ5gElQ5gT_){M7;*2r>kzDRB>YV+S!v zo{1f(iJf9SY)`^kJPncDc~huhfi++-mw@nl-H`cXypxAr$$r;XX?Ffr>|!TA7k94t zz#;ck(dy7xS}l>I#?N7J7)hBv`?h$8f6Gt!1&vkb&mFV~C`kDLuEPz17J;W9M z^UwLxLfr#>*VtZY2%@jOg86*qV`<`w?w4O%Gi@aT(kfCK>5HbNuyQ5B(EOp9Mc?B# zt^_ybQ?Y&w#$xq@kHX{q%8)jlIvj)LX<0m)FXOp|BAPy=Nh`Fo%upp8nx`6zu|IBU zCCQ52VtBat~=D~PTKCxV;Y5uDU9p7lPoO0yxxA7W0+9LD=31^JzK;PsV&Kf8PNR|RW0~5VjL(@XKq+te)I8K0?|CV zKX@)eLP9Mnu`_Lt>#hMWq98O49HBnZ1@N~PKP0i27_2IF3oR5|y978A3 zL8>sgq{|7!Z^G%Z`66h`gAtMR{@Q?dQ#v1YJPW0p5x=oH&De{5Ncfa}6WBI8el~n` zcF@jGEu~H@H~g|n-|K6Y;MrmXu`8O1_iT~(Y?N^udz6F}U*-qI?fgJY=47jT>0FA? zAgp(Xx8;W1CC@D>cmYi5SkNM2ME5i(oNddrUjKUR__%LsR7vD$9#~}a!TZ2Se&rbg z8+;8sCVqv`lq?3wZF`H)0Y4aUbka1I5jV7V=GeCt{{YHtyd(wlz1 zjX(GP(IN1h+o{r5SmZxF98`OBk5q8J66mlAze@@vO=v^<87%S51YoQQil|qmn?scv2$x6fT9s;da zA6eVA#{|6VNWwEJ!5&FsBP-I)w~mndDd$Y`6rM!Gel#PYVgAj{RRZmX+D?QTRZx4R*)qCr`6cmPU8EdG1Ul(y+cT%Ea+op(add~Cn>TT7C zfffeXMQn+V0v~yG-^zZk@r-+W_ES-~?E=T|l@O81EWS}ea&yx2Va#!`$a@UZ(Mn5k3e1PL$5YFo~()rVTbWD=8G9s-iw@?2?RwQtA0M}Z) zvS^!^U*{xTU9_^ds?~w+PpCwk@)(63eoNy*;*)u4(K2k8EYjCrm~U!TTEI8rm>$Xl zbOm3yyt`ZUhy=rBso3@=)xzui z-4-}mF2Ax17fRYFK6%4kyT;~EGG_8F#9;9WCdFZ$5W z>LUE{=zp9(B$-J>J z{p})aywyERSnf)8-jP$ct__c&{mn|UQs%bGWgJEsLQxp2@B8C6?!60-9WjM3f6j9I zD5m1Z;@m;@!(EzxI)y37h>vN355FHu1wCw;NhpY95JF$ifCp|7M^7i*c+%KCEi;Pb@*=!<+Tyb?|1_HJYi^th-9R@J{fOh75&Urstez7c z>2&F|inC_EQ>bj093RDe>yMVGv+T5;8)^C6X(z{AzwQqTGlfw>e(4hq_wDcNOqdt$ z(Y|6KGtCyE3db+GjtyxvxVBh+wX%t3Xm4)$V@nb!sN{hwMBy6BW>aE&AKlho@r|jF z8NvG*9|5jN?Oa>iyye{w&*Vz^yHle3>w2+JiWcQg%|W~f{`V}uB!Oc*_KQX7uf@~+ z602cy?%ragla~tJZgkY91-0MNLoeTm=P05VxZs5cL<`>uyWzk*3yY)M9HzsO>t|2=(ax2^) zhm2WsnZ0=NqJrONxBB?%Q~Cux26_ppOM-VB{|^KdIlc#IiDw>bLD52e%6vCL34|}( znN!C;tIN4>Zs|);K_}eb21ffNXy~8;mwJqvle2jsx|}jlosTKcamxa?Zd@#Rp9gw8 z7jJ}wns1=}A~@R9;@$emV+59)^O1|y#A+1@eL+qy?>~ERmoQKW*`yxMrnPBjQ1yP- zH!b&;;yV({aG&8pYOj(#pXN&;MGvzz%BZ9zn;^~I@xpRs@(SkQm1!SnX}_{{D5_L) zwY+y*xluhkGC8T|P;W<)y*%D{`o-`&)iM?7LQ^xln7c^@pZ(S>uR}aC5>esczeoD% zcQsK^m9j!dPJ}`SW4+M~?&Ju<6-$WrTxb!JG9Ntq_4yxVXqRx?lkV#y+L8|J_j8gi zmv7-E?!IZ1}1ptcn%;*H|=s&%$jS zh2-uN^f8bu9L)HGigq;TzWf8od7O+0VfJh&UAOS0O%08U;GbW?SzCFn1E zv2cFE58d0l@fi>}_L!-bgI(lPV9W7fHJDMTuGyzF2xEX4g@sx8GqXlE5-?8&(;F?l_3EE)Irg)A79 z$mbr!AuqsRIf0Y#Q+SaH@Ge3B{0f{NVo+Serot7G-Yo&&-OoY8fqM*H=O?chKgiDK zUFa+E>X!r?NY@5?>V{7nl!O`-WJUv!`57<=IdqZQ*uM5&;tc5_TDt~Di!Ib(B%LJfpp6l?FwA z+ph)>dJc-nH$3tElBE}4>9vEt!ZWT0^`-34$f!v|BIUD zZ*fvye!)LF+>ivj<1oPa!T%d-swBn>injc76x8IzfpEf{FDf(cEM~_eXHVA)_%Fx; zZZtqK4U_|%Q`ixxf6x{tgPl_z{s0Ap;iGl#HfZ?Ghe1k2a5LpUdk(YOb*8U?!$kI4gZKzvzYk7(HlgOZ13JIlrQ|6* z+mCB#CO0A}C)HFaZx;kKnj!#m8IR*;y=NWb)yUQ*8QV2MJX;A(5tW=v{#}x4=$}>7 z@#7IS*K{0z%k5Bnamw7{!Y)azV4li@6qdX0m8R;1G^&`CIS*Nk;p87TL|-3;ewAB@ zzsD0NLlm^0od4M7qwGPjL~b6+p5F-ju$(opFyzpv)$F-4+!v?bT2Ncq;*UEX6&?o6 z(bUzossHo4eNes7=Q`s4c0NZ8dx=56d?Qstis-Q>kdmH%$JH=YZs4l-QGIgL-|zXNW{?1e5n}JtQ%a@X9)3Liw#p8uc!I2jkY6J4;G?Uh z8){SK{(%|5$zdvTIm2S>%`cpZ7D&6{EAd1_PW%!4!n|_ltcPV~WwqUJCyiE5@VNIB zi3wFW_vvA7Cr`!^6z6IF9_E<;D^S*a+{#S8Q8aaCh#k((&D}5MN8~$W{6!-yhS4q} zspOpwGn28u*aO>o7e>_B* zyIXKx#A4<9cvRNiDwF}K?geiGUj&x+!iS3=s( zN>##$2Um!gmECrG)f2C78-~?qxSl2Lc{3kabwGGbD19BN=IlYFptt`c#SF>|eUvPE zsDPgc%6^qhVWD%I;kbNWOQ&z8{GOZh+y;AwdMXge_thOi_r-GH)jNXq4>`k9!0Ui$w8DX(`fR5+#iJF2SPR=PQ@@9B8?p z`=ZHoCHZ{o7?vaIg}+MDaqPiAV|yw!or& zW3zVU$i8uN*KkIHje&WhabFJkz82!K5^=}~yayA87#`vnDTrrFTw;=KR#NK4KU6{O zf5ykjIRGCo89O6IiW5xH(@9t4*O|!uQs>2x$y3MO2JOow#A_=Xrm$QbtC%VAkmTlE zqJES|D?FD|KcTW{d$;vd7@0inkblI6Vhw}0X7XwBK)RUa$27s-q=pXE(kttTmb+K%egp=0 zcjowwCOnTVK_3bWF-7!O!Fh*!2w9;4Q;W$-h>u!xQKq$e!{SP3Dg@dZrc>ZSs`+^_ zv2efeXdd(r-qLL;5V)u1W@h*ghqc99>uU$)Ob;xPJ4Qdrg$NtDi$H?_mc2u*G&7=U z18MdQj%Bz&Z}&pw0=bb0&%UHp%|Wo4p3RY}DSE%0{6wfQ-DSdX#;E-^*Ko(-BLBAh z1%uU@qk`Chj=bNR+p*7><@Ug;sLoVZi?i4J>uOYgF+LT2kLgw`hIWeyBWGA;x_~?8 z=Q}?!V47m2J1aO~kbOc~or2HdmXA)JOpl!WsSXIVMOJ14%8K>*=ljl>s%>xWYiE!n zQT8GH&WAMX03zaIQhILdU&xUAWU~4*NXaCDV_%^ezGDWWt@?q0+p{xD$buknJ$vc7OVR0b^wo$L?@yLd`N9 zY{C%`9yj9oH_?nD=D%=({mpgh0tTt;EYeTeS=OkI4Rowz+WFGQ7rgfy$qJddSDHR9 zjZl;Kcyn)91?6>S=kB8i{5owt(*2Vg<9mC=<#R}RcL(mo=0el3au2{|`=>a>=C|3> z{7;xzhV*UK+cx&~00ayhh?+^t`GW=|TZLCoRiU^wp$-}6%iv((S^->CW16NXgrk$f z(xy{nRfK{l;jsqI#tU7L=eXClwR2u>rXITk3im|5h1c7;q23_#YX}n|8t#%CDhb)& z!Xp+XqiCl~t$VXnuN?;h^VDO@rK?Ok{W$_xFt0YYJ#7}k!>S&?#15Y`Dnb`Ij!4F)bPFwx_sMUu0T8f(2vqpFuxOUf_(P@C4e4_qP>^Pgbw z$)K~1X9MfXRhfj56K@;hQ>3utzKAJv>aF| zqts`XD)(i|7xy&mjvPZv1ZxmDK#`!UvyaVJ%^MquvTvym(d9uP{lZKiF`_IV4a>d?+M+C!V*`xl8tgG%SqoCrO>IxOJtz<`l|?0;#vO*h zI}0Xy2c1LWsDnaBlipuqSv=#^xS*)PU~z>!|{5&st2^z_o84EXT9U7MGZ=<~5kb;QM%-i%+SO7qdD z2s}qU=6g)nM_^Mnfk2`0Du$wff+W$eIMGvQZ;3Z$u`*`=_XM)v3qQ06ve-z_bn-wJ z=>W3$2_TC|AbLVH3@C0q`yi+rd)aj zo_nhB^r@bH$xRwS5y^t%1YCaG<8==41vi;dQa2m%AU^0!f%Rm|=fv3{swqj^1z`4f zXX)~G8?J$QuFTUe2AqTZQN_-MZ*&n4QV-X1*+OubY2^$AS^Zb}K)P)gat zyQe8NMVdt)cs^h~q2`le#Sjx$ypkdgiMbZJVgc~#+1HN=u?L=(1sv&sR_C6b)J+&m z-*Qo2_|*62QkMl!!B>Xn9=$3U0f*Ve@jjE;gi~Yt)RZeQ8hAeX0mrg#7ldrw?K9Tr zmfW-kjST&)5OC!kCP$mlY;w$}fCB5*@4wah3gZh(KfqXBNoWG27a!PMt_-b5A&(tz zjM7y4N8RBnLx4Ztx4XQKO2bo6zw^@8y>ObAfh&2R_Ei4b2#+GbCBTcWo%=FD zwX7@NNk2b z+Jg!6+h3Fhgj4CFWo@G&>p-DvL9lianS=4Jm74+f8uT4Rx}WPl2Zkbn?fx)vXd_vF zDttwaprcBNBVrsLmWRX3@HVHIN3R5&k4Q(6vMkfzpoojhkzS7A*k~7{)9zwpZBxz) z&k`%!FW)8bV1~qcckJ5qT~Vp+>G8qd%#LGLCpwz`-uA_uDug?;_jLGj2*)py;(S@2 zFmm>z7bsrVcz%Y|R3?i^R&)i_Avt%hJ7e%pQm1%h&TGP1BQ^Kxae8Kb)QdRinU_Cf zDqNTq99q30Z4g`%aCJ(4QPy}q*7fa!6W&`I28jqO`6z~+m!|D>gRh{%b2L47ykVIG zZ7F{&hlxJydeR5d8N1no0RC(Ald`OmdnGG{`2N?4a!kAPTF=Sm_Uty=sQgC#^l8s? zZ?)vgk0DitU;(Y@E@bvZTu3+1Y%|Iq(8_A$+17&RGLHFV5Wb{=Der*b z7H#d*qk_x&6&Dkos6yx8oJjO!U(+jvXNdf}@46s@%2MokulrmXYyf>coU=6DF=P_R z%KskXcp!2Qcm)-jnCAQCKIN$EIv>|Km@c5yLXN?xnVb2x$Y3lTgV{=B=BLeB%3EF3 z@4*NK=eFdb0QZ;5xLG)WB>b*;y0!UKNI`bv`5Qw}0;uz>ja#dHI!o|w60iK>9L0G6 zEY?}c{^8EQhDwc{MXO@VhK&7Ca}9$$XK(2hi!PXTX!s=y+47b@rpXHZ{?AajTJ`}5 zc?P9&5D&^d)JoVYM+Q(s;<1sjkmKBPK#)LIWS{M3(;wzVa0Am+zgTeD`Vl0xRvYs= zRRET(4f$wudb;t-8D#z_z&WiyH%7_IyWYcmFwPXR+P{UMR1$LO-kdidFA)jZyj2)Z zKmFMe#BdEN6SbLP5YbkckJiwRtt?Y+3U;e z7lM6=ua%1QMw4F8=A!SJwlx@HyCsMFn$>+R1yAi+T34&C&Uj-q&_i#O;J*%@v_!cQ z_5K2(309#000H_r=*pv5#lyhFWMecmljm;B_p(sXrCjATVKkW_SZ~x+P{24M&ka0NbtE)Aw2ixKrJA0`c+jI*@KLYp1;Z;8W+g3# zGGmtb#p;x>ZOQJrY!behMaz__etQ*jJ0SF|j(`UD??~N{Tc3&$^wC zeY|N}DrWXW2jbkOm6!A`DMTAKWLoc#3Q8)kA@_ZX#B+ec$qnLo+)syHkNb&vn^8Xh zPM;|lbp`O6Uf0uNi5RuC$8gbrT+C-M74hgJzp^-Du>>yzV|iOSo^*adJhSU8U(zQ9 zJOQ5>4zQxAU-$!tO6YgQ_m^}@0cVD+dy_8Rd$NFnGtKD?6zJvdc9z#ZQS(8xr~LVa6w_}TKLMkxYZF=`TE#(tu~{IMO_p;*sQ(4ditc1 z!j*-ZugWz|y}CpKih|atZechchVFONk+Q64vUBx$;W!dJALu7MQRlL0Xw12^P&RE> zC|W%Z=4Sy54^f{gHP#@Iq5Yu@$<)bjF!I7Feb6Gwtan0Y2awo5o_~JNjgmd8`?J6k zq<~|(rBEB`{4x1P zvv8xWVS@b1{%~-NQF`PjUeeJm_LO*DW|a*Fl{If29B}tWN_wCO)rPsnkccd*^CCy# z;NYh4TzB7HD~*%t<#U&JuI+n4#yvR)4O(p9Z@Yk);@ziDC)hv)V^#}bTz1jXQ57IR z$7p2oAPn5cQqGg0+BLbX;9SvYV8&qoO{Y8pufPY=qv`HX5hK9o;JG|2wO-yy(Nx7S zJ0q!0^@Ez*>ZP4+bQ}Ealdso}t7^*~%(I0%rL7&p1CtxSU*`k&eyCTQIy=gz-ehn^ zaTk{Z7G8lYr+f=!ZMsNGl%YX;ybU{*)~@6P*!10B-|SM0$`Q5|Z`UL_ z4=uhVn|Lq70zPWlgi3X_3ng;1sy13RFK@lmyj)^@-3|~g5IvmVmb+bpX1S2}O);J3 zgK0$VM`?|3SQQhy8t_-EF&-J?+O{7|{*~rvqWr}&T>ZqL4aYDoM$aUE0=By@aFWo6TCobISqTXo|VZrtQy-&R2d>DyuhHv{h#igNuI4ISYP*LlwzKH zy{KUNp^-F>3e^#ZjYvtGg@nsd5^X zN~_jG?u%{PPJgBWK{*};^HC9(PeAPm(qm4PW-co$BfA;JE4;rw`ZL*AkvP!X9rrC1 zK^3?cCJ2L0<*!xdi3ZoE`4DmW$*IF%`=UPA8POR;kLA6POIY{bKcg8mi}p*i6EcsX z2Ui(jegeF1N>DJHf`%ycccL|;UpOB2d&cn2VEUAnRAhbquOMW&paGqlj^YQx6*J7t zxVk%4dOG_9?{M-5p0KBa5Hbu*V)!U1L3?)DpMPw;@J>$% zyc|?RUE(C=qCCW-nVTWm-rDT6N1}nzcOUJR4dV*{8+u z?x%d z$d5i8Se^dZ$HYrba%Q(y6t#aLBnCbZ7wL2!7qK}7wR#P8lx6uWtLY~bGx;t()aJ5{mt$`cJFyO0s88W4 zgSvsQc-rF?40=lD&e@cB$%O>NP|y*D4iVVmehmT<*rX|1=r18EJ)tASB9v#spuxhQ zqr)Zx`56+2fX?FpdksCH2CfNJrJWZRuG=R0;q~{Q&tBPm7>$0mKo{&YO}Aw zi%i}4q6_y~rL7%)lM>yTOEyxcXZb&E-4*AN$#qFKJKe*|&t29JxT9Q^TTg)~;S3{E z+sm){gW#%0@GPtH#b%51v{>*m4$K}l~HgHn$)XB+0{NF%q zU{FH2ff;fH6qs?RUV8$1Sn#1>ih-7JjW^X4@2Z=rLVuTc$H=;Yv(uxO1XLRb7oD4Z zm-y)B9Vs}BG`XlzC*dN)`t_0`dVRevzVF8XvlN(bSL0|yXWnoG?aN)Au>*B4+oTjC zXl;tHH$h!|pT?SD7U2MyhH@=YANxz-tY%-7tI(Jtv|LxD=~y7_0(iY(YS_LmMsTp` zYM!4|xWTjD{^S~~cLdbo_EqoSUyDN-X=wsXYn|;6p$FA~b{JJ&&iNLE9FICz`WQ$d z;i@BF5ByN>d$7NyFT>rV_BtglH!G;+4G4+K^z%IoJGo�qJvu^SGN0uIUY#zU11H zTc{Ix&buQI0sv3}TLjw>?HUQjvC=HlAwOZ0{&{gS*?ltZ46eR1!sggw+p5ULSl4-B zi?@->3fe#l!sUKujkmXLyYrX5#0 zww$bN+r?FJ-!iYmnwz7OwG$HPi{nE+AeS7Sb>Fy zldFG0U_KczOSA9q=*K;t^5Od`mZCvnUjY z_QQF>k}8wY&|*9-sU<4%Y5`0+hHJ(3emCj+Liv#Zdwp>yjklnKbr0ge##$C5bLCHd zfQ8KnT`$s!f`n%2A8c_?yhq6{C#PMnK?{O7^W|0gnu>B;IQDul&cuG%W%ugcpToS9 zc^aU;05*DLja}uiBH%n^N!ai40m8#Zu}nWgsJ|E-bvU((7m8I`kby}0^H=`JMIQqF zzKMsx{Bvz?rht~eb7*(>@A^{ix6FDFHZ;(X+F(+6uhhdqlNtPor5`f?A!2&otN)5+ z?0zRXRpj|$jT>?8gUYwlmmk%j&ZVwmbKKsxumtaSyVXG>J@wBMMMBFvr?zl@wqvoH zDpxU^8HJ@ltpX<5H2!k25;VDoux50g3e{l?AR+!Miru^qaON~6$@UgA8O=d>sp4!! zjwOt{hljm~ef#xhw@Z)b<$6sd!;$B5Otcy<)ud=yII~7OF*`)%A`U{yQ-!RL*r`Wq z1kpTh3)J)Za}T|knrh*G!;1BgfQW6!epC$KQ~9Z*!*$AMG#5meP3O7PMQ3AydUNbN ze~XpRyjv$<>KK63YlQ*cR9H?;3=Vv7HRxrWo1Y=>d!n@X;z5jTLS$-2czYp1Hf_Cm zVjy4=PLbN~qMXa(1o$|}^BRZ`IYHc-t$%cbsVT$1Q3s_l-@9OiAG5`sL+z(!vjfaj z){HO7Kx1;)JA5^IdNT@_N*EGMVNBU9-VnU~J+TL%T6nIyvUEvMWnzBE70^60Uu(c$ zcOk$~vfzJr(*jwkjb0uQj8Y7SF5|IeJmFBYNL2FY(S}`IRA*@~a^$IEm~JauH|M>f z%=Y$l?|>|S!}VR_`Jht8t2{-ZH9bYIR4M4MbyMM9&=N+XC5ksz05iN@_L{pqrhSG~ zakkNh{Odly1b#~9epm0$O2^a(t4KH-M=S!xLEwvp!9RYn)WZK0D*f;jn^QM0JR!U+ zt{F*MohHJuL4=i|lsJQ_(;aZ|>r`JFVhRV5xaJF%*Lq0ECySj}qhe&o8eFf1C{IFXrpV>gz+0aEf0Jy#delJ<8_$voBdJg;XP^0Po5NtHDXkdLw}3 z&CR=_bTPWwLIxs#i{x;N-rM4E3BfO%#|0x|;SYIf{=KEHd|ugR^8MBmw8?7#fNpri z+r~>{!Z}xvHwz$(KWYv5Mr6pnNN=PeV>%>X$@r>dY@*rOceYyQ&J_?O5F->b`of04 z1;$__`L?T!CM_S!t0bAUSmV;z&LEoz$DYUR-EMvAKN~VV%lY)_Q{w}ddJ1rWkueI<3}>H`SPf#akz zofn-U2El;RqAh)S#%Ce1K37A@T@II&183Qbfb<#|4fDBV0abGO_k(Fw`dwjGZDz%( zc;%f%jfHY_<3zhlE15e$rBYkIjCpfnODWgoPf52zT5jswV3b}{(x$fF6Wu>H%R?l2$sRKvtF^8%CJ zskY;A%31=mZg1#`Xqbfyq0{QI53?O`#e)Z-QrbTG{=%T6arkIeu>Ik}XwfIAPq?-X zo+xs2EipX^1)+!oe_8``Dp2qInZ2O2ZeQM~*js=_73f8=U`PUH3XcO2EEofV1(ERo z@F>HV%+#=d>dgZmDArRXxBBesU34Kz2y6|B-QzTbVZ;lWMG(Isck{S`zsA))eC1}@ z<*5^B*DDNnw%E*n+}IbH{Ne4+CmyFZHRKJ{B*<6ULG5z7ZVL2QhDn^vAF-!k&CNvb z3#s(PuvGv)<2(P^%2bI0_kN(kS$=A!b~&LhdhfI8w&%M#Q9qX}bUMId#Gd$*n($9He>-$ohP za0A~o^~2Nj|9M){l+Iu9`Fd69dr=mdk>==F`Gr8s9nHXKcbN3}Q0!(i(O~zv@$jp0 zPY3EzROmZ*%PRd9s*-O(BN!Z_1)!;_b~C;ADApzug-X-axBB3@`d@b+zP9{*G&3h zs9e%u^V{HxT)GA)=itv1_$y?;xK8Xp1I4eeM4AkSsb79g0yqc-{UhaTKww1!&8IQn z01>;o3?EZf+3T#%Qs9EzC<$xBY&%JyO}A}!xpsu4GhHy5Y=3Vi)k%HAZDBz06Feet z$lh(pbwO5Hx3_P6MtD66pIOQ#fIB`kSum=2w5#dR!l<1x$nY1&( zg&Fp$df@-{z?S^J_acWWjYSVFJ8~+tv<1G@V7<=AGe0QFa|z~PNAP)COgw|~$8FEp zwXc|}-f>_R9MRIBEZ+mYj(SBPCNL2mi}IMejJ5IllhiE^q|S9?=i@jLqmVkuJD2p< zL-8=-XsaehuqyVSs>#Bkh1wsg7Iipf0cD41!wDgJ1Xvi+$}2&lH$_-_tp@==OrP&L z_}yg`G7!{>hWB7Ozk7@G)+vBGNVtI;Gx)*68ddw46YQpVXJsaYu60v1`;n^COkesv zPabFMEN5Uey&wEB)|cRfLQfRf4bakTscyT|8m`jUs$7asZEwDG%QdRG_;r5)7;juR zQ0Np`e)omXVM{jPoyf<}$lMXzRunFy*}1T4l=m0T89?~B`L|K{xGHrs5wKr|4CeP< zeE;$mmcpzm{3{zL!3neR_qOJ@$SWkBWIMw9y-%$N#vaT&KiK>naIen*IGX!!I07#G z5df%7&|jbGnR<`aAe-z?0qcea@d%3b?4MzRUKW`RjsRk(1n&u$%G{PnHrTf9<6kgx zxk_3<-F(A(oc|kM^l|dS3g2V`bioA5~2r#D)-f^SL^DPI_bJvRv$odCF5TL zasHtbS0zmG4Ih6_m_s+%mB@6SRC>UD&-5o2y42Zf45WvT3`_-%JwcH8-fWC*8@z=5 znQGHCJRpX|t~T9$_4`^u1o96pc=JmTEO6m0_dSxCz=~H|Sd>>!6U&bvPUwNrD9Fm* z4y_kbqzeIz#=*&2#joLAXnm5NeGvbzM@IG|ZfZr~7Pgj1D0?ub(3S9gL1Bx5``6J; z-@`Fi0*8-gx2qv_L4^YaL-Pky4|J@#mEC*c4Idz+!U3HgBTGcm?kp0vHyU&unN?N( zf@(*p18+%6xq!^BFtsA(oGCM%3c z%}7Ix=`fV3`_l4TyT;Xri;y>pufM_pfPI+B3J*$@-Z`0@Tlg$=@tHFH?zdxB)6X30 zphawghgO(=zmX-|>-eoS$M5)sUhLPC0bx2pEqi{^2;k5g7}svziF`(|3f4Im^kCx+ z8-=*F*4)e@8Q^Keu6A|>is8nB;iQ>x3%?G#fx|PAU&q$a$sTPWNG_b0;)bklqs$P- z=(c)z-vG`Lh2P*KUkNL23yQ^jJRxqp{{w0iFbsJCf;as8U3%#@Pl_2&{$4w8Ula^p zjv(UT3=iZYidhO1J*Czsf_O7YDiG>5xGL}_1fh{@1{K=uWE8%{z1>u4eCwW|N|2V< z6v@gEMj7Mvlg4l>d&Yi0TSW4(fHtlAK1@CGVggcOG?%<)3&!Lf*X2f)emlgYw<9ME z>J-W5!Ea~RoFwGG*rJSDegYT)jJLCH^b(ae=OVN*C`bMXm>^EjihT()z5Vgvi0_F| zMa6Xck53Lr4}d{^`KbGh6T!RHgFyR}Bzi<6VUy9k4}gK`y}*g6jmYjuSVXp%H6X|e zX!XP1D7FX4@9F&q1V#JpSDG4->6*>PAAieUT zMa%tO-SE`Ttq|woi-tWy#*aGE2t>mvCO!Oz)LCM+vZL)`BH$7!P+QB|Bq(iz6qesG zZ#L}D5sGF6rnNTcbN||%0ad2CYrEQH84dZo=y~|>vz{$p!JB1!WU>{THmd@ByuuD<3m>AOK#_OpAi~}ECuZH) zDv0?6>>Ae6Lz+RLL?2iN*iVA5=n@k|>rZ)`sH}4wIQoD2NFMs5%B_Ku3(79P{_1-m8jPb=W%Dur=-bf+930?07oe zzLXNk@TX()B6BLv0zQAHv-wXiXlB(iu&IVqXH}LH82T10Osn^h$rto_pJ=_d7>033 z?2yb#r;fJ+ne7HH(a(n_Kv4Te#zCDpq59Nbl|b#=cf8Ys#Q2KVnQ)=i@-&7$3-OE< zgya7aHvDkL|B(X(GduEG#(>~8QJ#x2ric-oJ&OJ1%+;!RE?{$zNL{RYr+klasTxTF zhI&yf?oP>9#SEZ`_AiSW;KGIVqzMmv#le$)_oXh`K5kwfwMKyzgcGt#pN%56VuxrT zzC|c1by(vDc7QkIYBkVi!gjm6+A z{wPyDLE7H2=O-mZ`uikdCyp!5KAtzACL9+b6c`m?4Lui+I2wye#;IZc^ed-mNYoQ| zhK+qSadbj>=4TOVo+Tz(f)??t6ed%@K)6G9xx}?tl=IMWK(RQGpmFk05 z;L+5J$&cQaUd=bf(NfQ7{#?$@I9eroLsDi12 zf&<5JW)61pzgjgNss537p3Y<>s-pBAbw4fwnt;sA>=gb0O+eO%pGUmc*d&8+#+e_f zsE)c8e52P7$Duby;mVLyFH4c0*P=_#!hLW-Vs`>1hk_<6f*jj^@VZE2YuGqUx{LS^ zP;wX6nKLQBoCv0tW+Ede+QG-|A5KmRbTtYNAB$~5K*VBAQH(NM8t*ceHlyj>1fLq z)187~<~Fp&aZfPOYtgoIAb0Qr4G@uY-hJcpBYj!XGPxcXqanWOzHJgc>iofFCOg-v zgTv@PuEVgbwB&W|+Uuoe?~yAkpid+qUXguR-2*Q+;WAWrYb$A8B7-mco7fm%u7phv z$oEf`EUJF@QQ|%JdJevTe{1a}CCMfVRv8>I+;M5iO+0)baL!%|bowCbUVtWT7!99WuqGv7rFe8DPh}(E;viK`PzFpI26!_}xU~{4 zT>zavvPfeC1VB6KgAswj6@(L*MvqY_(l-q+082gn@<}c+%4*Ng6gPEi6^?zopHHIB zO#hY5fYZGD5-o6uIx!DgkH#s7dy1~aE9DR%6X>|l3L9`(f3dtfkp5BL%3UI~!-+OA z?PxW5jY;_wt|NqVb49y@Gs5>GQ4hGSx|-Gs^cv2OHDux~n1uMxq8LzTgJ!|e?+m`0 zd{b6gcGz{a#@%*G<_w24YY~I_f6Ek^yQ}t!a1d?Ob|ss z`T8LC5H_4ER&NOVjdUht+e_ufPdNGJsa-f1f8B}*2ZIr2KhaSe^?9Jckbg+Yu=$7W zNNRf*_lA@R=fF35;B}R&Qy0uCLNAIT0~%8^XLpgnzAFAw9EBNwlj_0$$WBz)b@WtL_joz_+)5e;gXGV~i;*C!Wbn6aiQ`H~T&6kn`Z==(@{?BWH1S zL;%1|3hN%L(#wAZnrQsq_xJOMfXhoqU2g=?l|ma6J#RuFhEH7(JMw@uHAja@$bOw9 zfx^dpwB=^$W7BXVW9IrP0E`HfH-NqmEIYa8o!fqvM=lFS8Sx+_} zcnhDy+STs%EIo+#T{&JHio(sJ(jtVVNo(h>nPZY+x9^+wYI zjA4l8Chf6F{17)V`a$&y-%gsGf+&d_eQ#7xJEvgX9u?et^;(CgQRR&6d*y<&H3xt= z4%8KdS=uFUWo#RqYR)|_*6Y)>f z#*Z6?;JXQb_IzeB>btBKktAt>1ldDX!|3(VvLAGioAy#tkdm`uPE{3Y2nZ*ogec_+ zeL>hSwF^?=e9~Sq^Q)EPJ2u4Z`4NyXNw~MHgg8B8Cq*u zy96ck61t;0nXmp0{Zp@*0d2u_zXys0b5UI?^kWj!0=#2g{}KdQTm%%Diy>y|0vG0W zqXEvv7FOh#esa{|&6_xlrQ}&bISp&q08U=<c{$< z+Kau5s>=Y^bNWsKz;otulX}lsaBJZ<#Za^Wej+t)$jCs>G6i2=34l!Zi~Syp{#jHi zOB$e`bV+_a7+xu)K@Cs|kbn*e^jVf|;z@B40)nru_)}k-708rA>ZOv%p7 zR6TWiCLp#|4s0#(o(yY}gBN?c-?J}$t;VA{3mMkaW#+(IUbLL{>2chzw%N4AF;A! z4QR@^oY4R~%QF2uIx$j+_t_Ux8L5qi!<_mH%!O`Nl3N!@N@*Z|rB_`HCnoB5 zvVUGTJkyUqR3l)HZZ4AgiS+(q7Q&yJIcth9DJfUW|B61mM-F*Fkk2*Q?1ApYdW+Q^ z0BgZ=}a zD{rllFlVG;GVJ9mf~XkhAIFw2yd&lzChDg8Eo_tj|LF95Fl5RQ+zRI`=aj066_+Hz zb2fj=-kPoCSO42s1hnpd8H+$_lBW#ppO1)5gg>tsQuu(eNtlto%tS!eG}`jJsSQ0$ zJIwx&z}$-9ct9!_GLE=2;q!k8JL`Zb*LCd=jYuj;Nh=`|3P?8yDxrXYbcl3!3|%4! zN`sVicc-9$bV+wNQiCwW_sp=?-urxe?{ofME|Hn{z4N+$_oH>$$BxgGG%PJuMG*CG zT5K7!dE*SR{MVQr4kduzw+}w)pIyJkOOajuA3BhYLF}xP*+)Z;Fp#y~3WlvRY zivcu5-H;X#Ro<#2Ctsb^G60$c5mRFq9;*8zxYn>?tk^P|m1I*pn)2842`y z;viWiM<=fr%6EppFj>HZl!81plywMAUw_RFuVzr@9r*LK-H(ezie7*47j%g`!AkoR zc7W1bp*L)IA5!A^VD)#lA@~T*#DNQRV%CBB%;JPRkbmYbLZk*dqVYW$8tu^N`Hic^ z56uSGIH8np`3kK8lpi<~E9~T+W64#Dy@(H~H2OsL1o%IgfRZfmXDWkvDgllx(O3M- zZB{Y!g=D?CR8S|D?c|Y@9!S0&u-!AwotP9zMRd@>gWaiQt@U7!klbN8iGGr6AeLX6 zd+86%2(|1uY=L*ZljR3AQ7J7_`D|(CJ$KM4>Rn#WQ zN-i}IU1)hcQ2;>bhf?XE*7NgQ2!2q5M@HecJ0&0@Oozr0K6W6(M*-od@jY0V2fWvO zcYcJIOI3?m>{ee+{64UL2S;iv(HGi#QR{z;09Be3E-;`Du?Wa!qw~k*$MNwCY9R)O zPta$aW#P=J5I#rQ{WjHIJaW34tfQ?BU7ifvA^>`=EbyqXY%uuavLPoT6O#E6|K00J zu##|rRY>)rnuS{9J9Ad=`t|Ln&O}iLv>FYHx}AW8!^+81B`Z zvU%$E%-K^e$>zI$wHJl2daJc&S-#GUKx>oyYWK8Lp<`+M)za{BYjJz(;pyh5O5rQ8 z>2-8w1x&RMs!+ACJ6otNb&Rt#rwcbW&Wo!0!-PgrRKCZFGP}$s9=kREPGeHIniw<; z@9JFd6au}A-VU1eI|*QWzK$x+gznBAHp&T)v(6ueI^&cqLD(&xmwv9n2+M*qxPFU$ zOtQ6`LS-~JZW~wX{|^|#%;e#2GW5<@%x^nm3!|$*3U?+~EjKZTP$E0Zjh#+YxhiL= z!l=W)&FI6CIatk(!g12Ax~Z=GW5a1iu#-H>4lCl}c;|GnbGevoyG+IX1Inb7#uaWP za`@|bQdvyj;?-C-9{tEy=_H(@z^^{XJItXEa5YNUzl$gw6b54_^scV_Qr!xltM_m` zh;9DUZ+%zbXdnr7R3q!)mPFv4>lYb?*t>;IH?MAW+E)3C24V5Ry-?>{2JZyS!)$7r z#{g)CGra@2JT5Q4JSZhBMVR0yedU0FJO zCWTcc;h{nf>0I;&u|T0P|NZ;-=nh5UJ9kBG%ZUQgvh!ZaOmuMYN_4(N?hPUqn9STt zqDxLU)j0h3E@xwV)_>+_2_4#d=T^POt~(ZFQ+;+@*M`E^&V*DrlYbEal21#$Th*Ssmep< zeotcdRyx;~sP}6c#o%gnygTVrE0LMJOrB07n-uiKum$f zuL#i2?XrC5){*Gc@kXlF+QR>1s>E$9Q}oV3Q5MAKI(@sRH>V@RrYDSE-F#E6dGrSC z)wvjuQ!d^i_%NXE&us9^T~;!;^Z5duW_9FCK6Q{PrwOzR5xV3*^OK9nEz}X%LT&w% zAat}r>%V=yhk9JmeN(Cs)q?-`++}b0)*_{h*2Ni1X|%4?cpTR6^*ctoUq3T8=}m?m zEk%)^G;IS!(a6VEInjxfGV55_R`5({Sd>0n4{TzcFu$zk+r)UBSS)nH4WzxWxn3+TH%i4C=1>&KHALPM=}-BH`W zbhrakj=u8KtS`k!P(@x{Tj&e>-46nHEp#Z3rxS?NqdV(Tttv9r^4IeEhzn^aKRl(z zNkvJ;oUc|n=E0yoJvh`ocLv7LPrw*zblu5~UFXUO`v1&EsAQ@Gwoo$}{p^&@n*CiF zqZEh^(ZbGNTcH+a1I1s-QnA|OgI$dl=b*qBjrfRsM+`YWjjB&7^ZHba4#m*98%Q>S zG+-m#`s>36bw6UyT7wQNNX^J*1i@ds6mQ%c57W!-&tMjG{acOMCN@$b(! z;LtKYe45`x6qc0`EB%8NBa8XC^;_8>p?k~!o+PRLuOHli|20YKy`Pd2Jw|0SdN3Lz zZ7|}kLKBeWVP*}4{?Y9p08)cZ>ct+a4!P-&%haBE)sqbQq!&q>aZQK75o4=cyqNf9 z=pp@~(06i&x4FFR(Y!$;%iPcqwz0~O-;|}?`y5w^2Sb;pVsCVg^41wU?MnN7q>~L$ z;0I62o-y+6?9&{oo%9i;aIX=I&A6BXkIYahac%yl{PsKu}^&4IUp}lOVl6S z(Tz*dZAA{q!YjbZb~G??OdPx=0ecuI30||eH4*9fI-Z$MqMVI&b!VNG zlw&j+n&xsS-gyTv!U)UOkUqOk!U76<6k5WqP2fHqF3BV>UFnc_-Q-6R$)OgUzuIZz%dVS(NzuxI0?|&^ZugE*KXeau=5mX1?{u>L(M)BOD^;@AVhx3q zmThaZQUyhwS&0@YhLGj_!FsrY?3!~O-Qxorhz8_=K@SbF&|a@wqs||M_hNg!RL1D7 z!&_<~eJ*k8j|Vf5PT}j`>x9VNImr6oGbc$fB6C_sfy|jKnl6w5WA0fV_I}FpPynv3 zXBEj{z4wI=4KeGA!hnMHlKw8i)aoOnO zXs{By7R`3De}$l1ohtp}S^Jo{IO6LP&7|KDNys()hSI<70(xI;z?~%gY>E4Ug>G+pNEj?t@j*=@Z`I@3azWdfG3fpz%kd*oEe1_l(LlkZJV8l&A%n z!^8KT&VTLJ_C)`p?u9Yq3cn5m-d)6~^e=(yHuZl4*OIu&M9gtR-jCM$VmsHH{i084}F`b7qNtUE@g;H>s_GgZibx^6|CI6eV z*=44ug++9&MHlKL5Kh$jejo}o1}XI;LXKXHn2Am+2b(s4UD~zG)`>v#29QY$Uj(v? zT$GJ`)RuWEN-*Cx&f3-VNfKbcK*4Tu)%)qe%N%+QH-d%p6S}I-!x%yd*^^>ib^mty zD0 zRlZ0M$YIaayZ`vr%M*}OW%|^TSTw{dZa<~QcaDZ$FO2U9qb#$o;o4}dwdJPH~tVgrRi5TH6I0>qsU5U!?X@M`qZyOvd z*}ZME4A6>k`wJz%Se-b78-Wwqd9faISLw{5Hrt&GjNYqB*|(5SIPrD8Ixy_@e>R>5 zYG6?6UvWu}Xgtlt@(8~5-OJd=FAMxRb;NK;R)Hrly(y1gJ?Bm4u2@oBylUEXA%8`* zQ$JngTD)F`r%AKcil5>q$hn#~#izP|@ZHipWmQBQO^bItGm^=Of5&iM$?8L$OmkxO zRx+(kJ3TiE-=~thY^N{Zw`=abH+RkKjLOgvQh!2WKp86Z1Xth=N&{#<%e{4Owhds2 z!@;?yzXzuxfylfn==Z*6hQO2l39Y1D}pOn*=X7je@Bg<%)#P@`Z&(? zCIXx_2Yg}3v8lG9UH+0X)$nT}SqkeRey#}dASB8bG3-<8cUw|&b*AOvfBj}Tg?`e$ zh$|ZrFPr4Vs+tCc%ge*J-T`l(h4}-AuG5e$chN&f>q^%QJ!k$Cc!=Su`gQ&W5{U}fE!&uXI679DmOyaD5R zM>Oq5g?ba4>gEm5ox-R#GrV7h+=|OHpGY{X!kLRAdVWLUp&kC8*HY*RMRe^{HGyuU z)6PO=W&1ry&V&0vGK7Ws0Ks{%prN<{@ljX1nw&@pWa|xP6SeA6?x)L1!T8M#aR3r$ zg0aJJc-P8VeWO?#rra@Y&q%rV)TN%T)l;fBAG2|Q39p?EkV(;q(8v-sWeya+^?7kR zr+x(6oa#YiL=6Y8(rt|G;HzHa?Y6%A?gEwAe*Ga*B;t zWr}uA-J!MfY-96>X zlguNi_Jb}?<~F<`m3W3Z$R^z;|! zfls^}2!Iu0XBmH2(Qu2ZL{xaqG4`&j;{c*8OPn~ahJUCt!ab|8f_-JM27^WN%@=bg zp@#9AI8HrO&&zca8+YxmF-8<=A<|T)+BZUq^sQghgeUxXM%*S)aC2Zy5gn7tNS6>j zb`E-S(0ui$UB@ptq@~Grk>n6Z* zIk%-6K9g#i0$8i$_~g2S;j15W`!vua8wiALuKI@r-B(Hux@Ga}@}56kZ2b59FF-Eh z(88XB?*C)D+oCene6TgTm#ThW-s7836tr6-Y;vlJ(6F4k22k8 zXcq3V8ev}}sx5wrv;{gSSNtO^;W)n1CO9_C>u$E~JdHOBh^ec>T2mFFX6>B?QPc3O`>ZU2P~ob`o%~FBW30 zIxzJQbA^Okf$h6e%+V##z9{Y1P$QD=0T4935hJ#ttE$1uiW)GDd6Kyf*7h4GTT?Em z%#s(c{dt@590$Q8_>Sj|66NFFv9aTeWW$64`i-+(pOf_v{sA%gF<$ECmeaOQ*H-}d zR+j%UiX=sFF9TREP*@f}f058X0$0eIH7q*$ZZ_0tF@CZ|sbU&y*EDn@JmZlWUtP4O z+11Dmk4JnR%Wy07fag3l(A3TTNwY0gba7~bqjGT=w5Ci$VBNK7qPMecp{Q)n>-9h2 zN7;`1J zhpQ$ZY^vNZ!S=BCwSTpaPhAAUSc5&0X?+i^zw-GLbu^()mqRn~kDwZp;TZ9-CT0w! z#Xs?qAqW3Up4(60zYS@{2G%hvRFm0L)ito&iNLxhc;Wu3puX`vPqU71(d%SPA)WJ% zD;Eua;G(}caj1im6hi<-MsRW_p5Sre?pBD{Fc=wd+sL#UUsU{vO4Dzo+P-<=KIHP+ z-b!*4%?uVUW>0;OD*1GXN`TavOf^@2F1c59o&snBXl;=MR+J7{B!yG`ci^lq;Jk5G#PR z@q$Cch~e)O#1KlG0{Er)86$uY$U`aecK457xB{8Oz2r6Wj%tqE5pi%iP&@y5|0~1X zD23eNp399)*+MFhrrp9P;l$hQYo0Xrc$DimNedr)g%%j87yq{lTFhm<7`D>J^s1?((f2@~^U)ayn7K>Q>0 z#r5YiXg{&hag!X&%cE&Vw#0yZ{KA>{PR8X-_J?uB2RosFg(Ye^Q1juB3 zw68MzabLV(6aeS#OEM`9x=H11H=Cu$<1k*Di8f>dV1*LJv@7eLN`nnmme36@`zp3| zdz3(fev#fsNxL7*`epdwmL>yaLgU#J9UAs=W0#Ds-fcUoAtrr?sqPhuQzr{M-I9F_ zh3asAy;<(y4D}$wj7)Z)|_Zk;?Z?2nhQoyW`UsaViD<7x)uy z_4>&6#5{o=VSQJ=14iJo1L(Rseq-5-SxcE&xogP$j!S~Nb(d?{&5&(MnOTu`-XQJ~ ztCnv(}Zx z_lvlAvCW0u*r2o z1$_Lo)<+v{MSX)ZV_3DCTS#G=xbFG`2+FZObAZ#hP$lKm1{H7_P}aM)2b zE06S8WtG={W;h9D#^QQ2A>#Kj>V#T)_?rq&pVtLl&sY%h|zR0$8oX|`B`$mC-fqJ=<_O9r34S?NE?|{f!rK!)Z7&1?##%#a}Zz5 zeK>mT@uEKVo#@!K!uA+xF|#Uj0_1`BDI4F_*O2M+KUZtkS5=ilaKE8thMN#V=`{5% zTcmFKdXSzwFlve5nFl9%w!ddd@lg}TcEl1CFQ>bVhXSiNzMwrdXO(-2^x6Y14=JYe5*WKkI33-rzsSs_XrjO<6n*d8BA0Y#LnQ`HNB9c}KjS02&7)My0Tffg zxo7&Vyi3`|FLr_@2jX@!f}cXRIg6>d%_MNr!Rp5o4~9ZWKrd#q#Z%Lc`tmv`3d;}}@zMOtz-VzVZCnto>&L3zRb`Hd%MI*qwu@R^t_H})wtJ;K!^gjn_S}UYmR8$~4FN#cw0mZ*L^yZS z08~`r)?J5ej?dlxPC56>pZ%}_s*uFvdzqv7BDyE4i844&v4@XyXTb@h_0oVA0b-Ki z(|(;yn0@!2=Wj#NLrSm1y(|TgAHVcA%Y7`ncpYgTOyXVnpP`+2k`17tJ}pRkRH-akU*dXBICUtkapzR(1v;g|~3 zKS|X}&zHF!c{K>F_b}l~;YAcJ8tC9MO7)Ye8!%ILl5Fa&yQ`JOA)og6{i0THq5b-F zXk(&F+EFCehHrU4*Ds}FY8-th8_)I~BUHOYkTc3vvCT=reA94k3VWvT#*~jaSDO$Y z1ngbEpNrR2oq4Xz53*wQoqyNlQf!)FmZ#Rhgg7dEr^w0xuOtmJd@i#a?1@|^4#|YE z=mwRpK?L#EkMv9%G;cDo<6fr*0O2z$QC@?;SeiL%f=v|_u%>$6b^QUU@?J-*w8p^p zjlHxEfFp$Q<0j%u%|(anM6=}XE9|t!4}6-jTb55ei~lY2&bX(dC#0pnTu*v|ZkLt$X$_*+ENHZH3NendfB`q~%Vxbx|?L z`TozFG$;K~*cbz3ZwC4>O&p8vZ*g>q{=mY&XM_F?kPWOmXY}TLZhEuq>hkK4wGb1{ zdIBQXgLypUS1jRl;FErF^VjFRM6<%_2M?S4ex82ts>FmWxXrk&XrL2)yaQT$2x7j} zYHUqw;qu!||L_-SU%+0|A5$(jyV)pX5i~LyoT*cz*{Orh*%cPgzhyIsJmB(rJU$%K z-mN2M)Zu? zA)`}sT_VN)HkWX4vH!w!}L+|Bg?AOva-lzyW{% z0ee2Nadj0w$k#;bA+GJQSS7l_CHb(zoPlHK2MvW)7`E$<9%*1OOmT+($pDN`F>*6Q|L8+ddV+ z975)S#$P-$@F>+sacO`;@_E(68@99T2~DsIZ}@J{ug@Xe>o#-mh<8iJdV<8n`HCzH z93zQ#I_*(QaNQCpGCdjEUQ3v|xH!8@jH-vn*^Eg_5ukPUr}-kk*@|s0;h{X01}X#( zN>to=!2;qa6QX7S{fFgDAaGEHk8c=%i8}yIkKaq@lH1&rizyS}u3IsVAl2>dDNK>~1|OuK*qRm6hVyf+GDtvEb){PrtW z^>B|U$hlaX7;T=xhr4VN*gxG#(z;D#G6g(8SbkK*rk8O zrQm2s$6~Y&RHfkb2`4YO>qcZR8g^Do%^hTz{UxyJvxtLQAae))^7QHmF95ehdKOXk zp5DDX?^35}xv>@XvzjR3L@MJ#Vb;f9RFb6VFa_(8E)FFt!E1c#i&-Bo(f#(GNbA06 zMuN)Ytv>OGh{#r!giHzqs0MpQcjY$H+oOux#_he6FdYQ!DfWcD-pVb_sE8>S+3wct zyBWC*lLCW*(rS+xXci_13vwHFv`J8kajQMZksFMGSK{kMf}mGGKzl*2knOY}w=UZi zwS>qDavR;7q4A@~_TD4Q55JwM-Ww2m{{U|Tpt3sri6MDcv)9kt%>p6pEbG&PKBQ_2E zIy1i&UV!aW0?c#5>hzYDeUU|ovi$x7kx)_zx$?s=)c7YSK9E=W<;HWasV~vAZo{7d zh&T}-MDbk-2dlM+A>@B_Z<%QLys-zKj+lKc>SdRI*ceoLTHREO^FK1fHWF3d>50HD zP&a6ddmIPYFVu5*PKG9b;a!REhqMQ^I(f#Q{Ec1E>Fa9Z^TXHlPZA&?ep&~78n0mY zS)L+1wBb>2V!)Q83ccEi1g!fVM+g`L%*<^3@WE{v(GjsMr|?Hh^VU)-O{Ywp4uSylTW9}*My@2QgZ3B^TYvtl7V$<9N& z$M`NOA4H+>C+jbnM*$~%l_NBoR4eyj(CY~YVzu9t4Df@PHm{~?`&)>;WG(oK=j}N&`-WY+R2qx+jO142k&7Q@?_eyzKfSjH z#s@oH_rsireU#h+r(@eS1I>FG>P~S~AhPOw(J`I27d8BFZHcrXWbC4RsBl!Qg9Bn zsccDyiRGCX%cSLsxiDzl$TDY3-jvr>7bn607VJ+5obV0E5tWHPvP+%l4sL|!u>YVT zDy`OkPJ?2Tvqo=(1rUTQ3CkZTi^*JUzcoeimrq*PmpN4ws{jWc`6dSgm$H4XQ`Z{p+p7QAMW6(`+J-LXPrU%0aPRz4ufr7e#qQJU#^ z*CW7^1-nPix6E3!CzeIhj|4eP#~DWj5f~m?L+wc* zt;co8U6t4ph_{g(d5a~Y@y|BZlaSwLo}m1{EJg(R@zCT3{VpzWfcK_Y?qPSs%-{9D zATTJ1NM%H}3nn+0aqMvqR%}FS3Qpp~0`dWP4t*SmY5^L-qJt;@0XKq2x_UnowN#hu zgWO?6khn}k-8;CP3<5{$V zo`C@McS!GEYAT+27)fjnc?vlsZST5Sq~f{0)Vv?d!4vz=(s8u}aRC;DfG^01?v9Vr zkU)UokT$REAPp1Xg&cy-eZZ@Z^<7PQ1*URM0k21b%|6GgBEVVaQW{OGA~ zhz`Ps=iAfvx~FVXk=dTuCdNb#&jBhMo30HTSyHGCT)T!qjjwi98k(fxWM6#ljD#RO zWVs8OkZs)X$m-UwyZm(M3AL5LSd-M7mp{(^XFOM~qujm;&0+g)z1ge@Vsin5!s}u8 zR=2$yajJ;oJ__gi&h(U3J#0%kL*7X`j-W#FXMDGoR8^bz-5kih#EFJg-P|?2;shI+#f+{$qm#E_dPyl#=Zl_aiu&Ea{vzW(KP`-V|joJ zSbJb2<-9-}-EvL6=AHj#<>Z-l64Z1`Ar>mGeed=T_;S$vf9iw$5Q`k_1QLZ!vT!Y$a>EbESw6DAS8IeA_KSti zxjSFcwPARp!dhyv=*O8T=xR=Zk3k>N-gZ)-qWYof(XDRj8?G#LeM|R(&i5!j>=8PB zSIX_0qut3*Wd0`;BqDcgga@=UqWr8r$V<0j$TwH`j3rKKii&`Rinso<^x|WKrSm63 zZ$D5b<{o`&uitUn;{-|*^8l39mo^4;iM~jzHwa`E4c+BCn^2$H@E?C*|QVoV)$Xte$78%CBc@(od-DK?H+?vX; z^FL!SOYvBv!N8{!`tt6$b}eUtd1%od+_NmN7>I!5taA>pWCHGV$-q!}^ zShLF3qB<~(`5v*sfB{F0z?^aVt9jn9E!J|$m-^F(((MS3-?k~Tq@H<-oV%0$@Vdx1 zHrgKf0>&(WnyHLUsZ5zkoUr**ldECUE3qDi#_0{fX}NbHts;I6G-1dHhU zLIHm&=dx)7l$%Y5t~$(ez;a88X3e1~Y_v%r_F!DVh5y&i7tR@KM{<42eYdn*Z7YIbK!(vXLfnttc^z4tq?BaqUmzzC9wLYr z8XuWErevp%6*Lc}f$1fsYPi23gyrhC%P+K-)uqgzGk&xJ(lFncDl8fR0xpWQgIL1U z9)4FxFQ4<#tVbcvW9cD)eMOQ1>f;5V9IIlsmNRr*A3(b_jye2k-0qqEtZ|4*e~T&* z?)tk@JqOp1!Ui(j->f=}eo>mfeHQcLfrGALEx<~mW$Vp3>%i=LGaLGUoIt(d__Rr} zl$+CP>8TUmAMRX!yW((zE1(p&$eVyDl!A1dZVT+R#1S)U09%Xi$j1UYlZTL9$nGVD zXoCrM4fbk_H@H>s==BgjZ02kisL${O5bpvJE*P3YRen&1dNePb_qxAYzr46)1T!St z=-jRV9PlS_C^Uje5eKl#OESYl*sxGNFtgADBq;*EWWm!fx}3-zr0|_q0pd#UMEEc7 zf9J@vdpB6Bs#cPH@08qG*a1)>8V6i~#}D9ks>jD3qUqv6F#Fx_NnAG=F@7#RszInH z5stCbxR3W@rj%qvz>^_4I34 zuMk@9uCX6}1uuIw_19By5n2=?bR9Ct+v$8uNym4Tt6q_=V~oH0rtF3Sd6T{^^EzbnnmgpG`~X4X5Zho*!-g>W);r^y}|W zf@kVB_b_pSQ5a_`;;4#~|Nj=tIlze5(r8XnY^1eG0qvk`M{jQEA4AJ!A2fBedC*VR z2~|5dY-r2%Hy_IbIE+oBRiho7F9N$D0Ylo!I~9c7gThc7GzP$=B!vJ7lYGgAU5BII z0sN~O3bP{^mF&7|?d=oKErGLNQ+ND6Vh6W^p=Qv58ti^0tGNu1c6r?gez5cZQBB0w zh~^UQBS#GT0EC1|WB-DLA+%RQ99J9jG;P0R@cN;y_FDbj4|STnpZbs2WnVsi$Ky<< z?lW5aSn2TfAI9(%D=(Bz%nmf7p1OF&d3P{MD%{Zh@84-pwSJhs}$Eycl za{KODaX=7qp9m}@y!Y)Cn3H25wx)mTT%Kk)jnIKRG^UCU`iA{Y@mye;1e$xz27i-% zEN`_{7CF#ygbUf|p+iOjp5Tm*eWg`T5xQsti2h~;7KEI1S^T;;W9LRP`d^)oHM^;{ zEA-aZs`Z5w3I&urs(kf4EjPJgIBynnGNCfR%K-c!E^tHmg3D`}dJt%7K9 z7&-Gr@Es1kJKIz5x97fWt#3^a3axrk2FYWwWU+_>BfhTbiAG<+?hA{Q-4;CKSgYPC z*M_^RtQQz*6WRJ$Sv=NzEWP#fVw-zujZA_NOfl@ZW}9zkZ8)`Lr{9!DS{;$&j=XXD zlzzm-7`Zi=V9(fb%l?n#Fyd!J26Vt_f80u24z4$RYl1l0F^rE%PsC2%NPjVy_I&Ae zOFpfJ8|h%HbPFrK#n)7psU}c0|AlwK3;lPzi+zYmE7`Ot(qrF01|xGY8ESlJFJP{~ zvO5)plk{asbQyT6_7Fur%bxu{lxDsOjgJ}E8?)d%G5Tb5|NY$AYWJ|>CDK|C3h=}M zP?DhqA}%&}It}87{!h5eTCOm~B}_()xJ6DBgB;xW+8I0cMb#m(Iu(|>X^o=uN%s?C z(uG3}sTn=X3B3H)*`YG7PQB;R_{a-9{?sGCavpeXgAPDza6qCV2VtQPV1uey@Dt8+ zao%UXTbI?={=n3YR4#vWOG&z)bc#b-jI2cgfRUgTU{@RwT5<1(teoiL<_oqb4PJ7M z55BIP5cM_R*bjNhbE9{#=`3+N6G`cOU-3LY`LB4Mny_&;$>#U*-fi#icAA@=GLJ@I z69GTjL*U>;s`Cz?tPgzap{nW`P7N6oiT>or>Tv?FB8!eGzh|jeCVC zIpRHsV4~gu%5ctouB-0325!eq1`yRBA*Shs`Up??a+r(daq_c5rZDRB1Hslcu6i4!{69cDtF(mg-uaW}S=7lDD0*!8GuTX*CoYg1(AgXeSCrB6zu9TqU*grVL){H3{gry%|I#UhULKc3{ zS@W{MpVFWk=>j+rqwgv2-nH~G&1)Vq3beb$;q3ivRJv}Y>0lCac*mRIuTe-Va0+50 zZ_jt?flDpv07JqJ@%uhkJS_^R~@<=xdGzq;OR%&g3We1ZNRmcEZ$q4+^WEu!1_g=WyV~jhM>W znaAs$Zq)Su8peSt++g<+0114uYjV>`ym+82HCYcdKe9BUajpVjrpHGFcgav7j%i`O$Cb?3qfCldHftX|(uolT zzQitaE%a9Ux(Ls|+|m{1FwADJ1F`%=p-@=KqsG5td3)lJRc+oI9o!4>gF0d8@W7`t zpuXLhv_!AgF)x0PXvW_|766Cq(vnQ-q84pu*e6Te`Ql3_2;a`)8O&9JpKPd-yR(Xy ze(aUU9r()T-;#$mXs3*RYgen@PmVZ*T2b!)#JAk~L&)j1;CmcIV)y94FEb}#3zDi& zOZd7}S|kPNEo-q5@{)V3R7`4?y)?(*}_uoMg-Z zP?Y3SR&JaUu7xKM$R1XWTkT0XIL%6kG2*hnPlV7HT0V%lAI%Lgu-(AKLpNe!Nj2~f zC!I48^DqCOZgUv0UWnSq!9-#^pv@fwxcE3|sVJ;h?^YTeJr=8*P7jVEMawYfZ-K#h zssb3C$g1HYB!gx2JHa~o20ubmk|QTSNxM{@_9?q_pYK>>!F#?hMU*ZPcmqhzq?UvY zyb|WycjtN*$T5%NZC)5|woVi3Ar}y~vfnpGdFTulr}qjpqVuT%7Ey}fZ!;V?#R$xB zOQ`1$0p1bI!5#MT_0SP}oQt_aZqN9c5<0p_&-dG$w>x}F0(LmpJEalFa#(%@YIcmU zijM)+@dew6^h@PX;e>YClmozlR29kG^4JBsnrPL=4nrG66Dkh0F+AJAN!i{ixp6X4>R8?RYjCVgrAYx z!&^atsQV*q+IMYxH9O=@5$EhN$o5!*`3G*G2sqGtNlt$P#!GN6m$ae;1nqA)t%=28 zcZ0zh4pL<&;gW!^%Ksj;BZ!fc0o&kg$h_Cy6?F3I(%R!^sIccuRJJDyr{RELF5d|z z+(3D4@g{y$*A$n07mEJPcjv$k-{GAazga#rI|nor8E2o{e<6gv;36?ZQ;t(?VEZ^5 z>Hj2y8^pRD@T|)^7>B*!2gAhYi0=ek9%TS0)Q4RnKQ@B2@UMX!_NXadUhG!iQX2RA zxZCe(rQSmYgbnoB+J-0B`oQ-@ah;P3w%qT|Fx8X1^yV6{yL1A(%j@XIjsbW_@T9WL(`)zMb(v3;|B7IeZhWiMTG+fy@yqWSoVK zM~R#=0@H6E9r%iHFVL_`FkAS&pboB98-IrC$&$Rb600E|ghgY8YDLoS1}9*CKqrZ` zEDY^T2wD)&|MFcmzY13j*t_@^IeQea#2M`stk?Lj(-n_!#7)CdW`?B4hFjhE*a_fx z>wcuzcuNfTY!Z;2Z05YP8ijT>(Q}(s;t70p%whY%9K6W%kO08P_6Qot&!2#84mAP+ z46N71u00yo(~PH$S^8rLqK(^CSFU7>3}#W(+QAex{4$v#+Laj!U9Dw zU4aDe#(;xqAj&u)$18Z(MSAIG^X0F@$4;A;;1(o*=`XHe-@z~?9Qotrq$kr+PuQc+ zTqvy?mY8@k;0M&Ky(e6LIdD0YJn-|Z=Yaf6cW3H?jv`M0^OYC=kjPB*#-?YBb_h9B zuD}vUaE3u0E7J&Pz?`FCc+N)Gk2!oE_;IScjfW%l?u`U%na4d~+$eD6_49O#AbAJ~@LyOKsm5`UG1K_+ylbv!^FLeV_$H5Jdnq0@OEJ zbISc{L(U^$(|2!X?VxtgSy&GueWT@Tp^C10eXW1WX;`zXE7;$SqG+K)_Hm+eZ-dDf zb{icSXye^Og|Ns?1GKL-05I~n{F+M2hMD}Cnga)Dya2?*foZ%teC%cxBtX*TaO$NO zi7Ylkv`Qx_aRVadSXXPabk#rGEd0}U#<^+Txv;0s(J_6H)Z3fc8zL@CIB`!5JIe8` zDD$F=L8PYVfeUd5L$3)p^{da}S12D2-E#K*dEolKY4cL*A#vlBnrl8HL{mgZF#p!C zz=eh>9YHJ`V$lgHu5n1`__bd2V%BplEpKpUy`U%h&70S6X66*p$=8dvwW_t^S-p-g z3iq;A=Q^N$XG7c&G1S#PK*afpj!>h+DfdYr7)BUd9A7R-OP-f^J@9%On|(#Nd-evB zf(h}tcjfywwUi0P1Ix{zzO2~Gv@kvgu9Q@KD5~v`gIaU5*_SUL9LNr*N_NC?Qgr;Z z%@Ll_k@;BRXR7Dvb1d!#&-+tLWeP-i$|punc<-8=eU7|l-wNxz$*x(WGir+6?{ahZ zr<+-mg9|M1ant6AZKSAYE>0Cr+AVaRUae#gXOF$!XxY96ktGy+Gx8S1l?^IH6#=I- z`Z>eX%r0-P?TI_-iCw~o@?|b2pRi!&17U*29_7&xlMDv$$TinwYl3jIaOq4 z$IoTTV+#kk*^MM=f8Wvdt5AjH8_c^r$epB|yEm*NQ|=qI+G)N{{iU7i$uGX(dkMPq zwwAnX&L`GbTb+sWAtvkU+0TjO$D7}4d$oD7)U!7eAHE~}*wC0&b0SDGY18nzQdnPi z_2;K*t1rMv~|Eqf};#OGvM^y*Fa0)pZiEk|4 zR(=vSWJ5Y9_EHxe2PrrwzwrP<$cHy_NA-#(U+q!p(QY>$lLv z=-JCe8vEJv%caehjT7I=%KpjWaAAlxwG60`ISBFmI^#`ieu9_OLj)bn1plB7VD(q{ zK|c?K@#a6LOzAJsNZZ8EMA7zcb|D8J9s}=evH;&9`{!v~$r;HPG*jH$BBalh zjUNfgxv}$M4d>TCwVnY%BzDxwB zS#&@(f+8lQCjOrJ1JWk8!GS25U?R`WAx#xA3Id0uSLr;5>m1SSS6JhQ%GeFPKk7(M zBnV^e-X0BE#D!GCjlP1_yi-Bp_Dzi>`xUTz%m(5WBVD4|oo?(WB7y2Fod-S2bzisG zKmQIW&hDMJe>*Uk{zhuiHW-W#m8?`ASYzh?WV8$sVmF(1mnGT}7=5oSbsJ{=;C93e zjlZ!|RvfP+;AV+Gs9123t`zQd+3|czcZEr1@K{v&<2H;*xU=wb|!m&&AA_( zs_A|afu>>13qxKy`8;+6Uj~|Z`Ax7Uq*+1pesEW7Br@ANXR}mMFMMXVVDbV?1*x`` zmpW37sR2vTS6E03G^Ji}OY|)o6jgGcvPRb7Sn}XQl!Ne z)02%)mU)UsKcf9V#=bf#>UQ6E223r;Y3WYsp&T<>Ey6EG9w|hM{w_74Q9(odgitc)~X`~_gqa6p;c4a zu3)(5g7lMJNx#BA{s0Wya!Ox7mFYw3RjIW-!Z?xKdmcL=^CFyHAF5#7X;K=nk zj;!flZhPf@g;O>)MYnHcsv|=2@@~Q1z*RpLmB8!^)-3}8d?C&B187mBW2Wox7DAfK z49w)8(JOk89Uc5G_KzM&8xs~e#`O`o<2e|hv71ojbye?lc;);|Iq6h8&h&~ut%KI7 zDSp;v`@{2rr!-^HrQDz=fT?c_<7|Kp*-w5o7?2po%@@^UdL34YrxQoNX8Jinspb_F z`LdlOwHxPS<}z0+&+2`?4>J4&suBQ% zOC2}9HEYFrk4AX!c-uhe=)lg2utYBQ<`~N-urTWTQ_2GD^^WFuG>FA%WK}^f=qfB? zXUhFqv-YBgd$W)m$M;ru&x|&4p)>${=Gf6HggC~J-UsWfsv#8wHD}j(^MbIk{Bbxp zSHsbsY}!}2F>*&DKef112P5J+#hR14A8NapuYhZbBFsWJaj)E97J)|0f&B9F zL{JzCjTc3hYY7Y5z_(XnFq?+_?w~V{WxG7&RVhUmnRZ-@7pDu`XP~E!sUg;A=yqmq zeW6so*okej7`emT@p{_;1(L6wjf@8V(T}8|OEFbo8jdL9BZcmH{8zJmYn`ZW2DZ|9odOPxE45A<$Wg3KkY9c(P&{RHIWV#dW@ua!ckWD9-U`1=qUTw&5XYPJnm%`Vzeoln z60U+w+^1-l=} zm@hAGQt)=>on*|~P@xnZww$Wz$GQ2_?(4OpK} z$saV;<~$5+w4p3#OB^!EFpl&HHXAKb0y|W(mwG%5eo6bdjQ4wekePJ~p3rFmj^#sr zRZC@F{kl}uF-gFeSkm?Tq@iZbmUiUL7EbG4G_a(49e!UMBz@_WYUM~LJ-Y{fH#)ve zTE7s!PE3f#LuVc3l*aVD4pDCrM>lm|LDWOc^JgHc^Nft>7}&^CsJWZj>Bf%9F83y3 zdJw)Neil%6+}KrMT1C@NE2q*&Mf$BbO)YJ4AhamgaM^ESjp`hfxmd@U!}Gmu$2XHDJtXqI$2m$Kw!ILZhkY`@evqk4-Q?-g0>dyfbA6~0fL z5Ho@MwmJhRTSS*K8fMdsD7Gv6m@FHj8c~=Wem7Jpf5q`ROtc~O!vD(ozLdUe>ToZC z*5OgDZ1(kUt|qvGo;%y>_*;>WfIethi@sy<2bjP4*;%7lr1jVMrTC1lm>n-dYd(hR znPgyUe%>;6dH1_Vh(t)jW!W;Erf9nF3s)ca;BC0osOP|=xDp2I;Ctxy!l9%)Q_GlD zv*X8!(oL5&%l=|#k%V&-Bc*Mx!8L(^eL{lLCQr?_ExiP zzkwG5be@IOjUe?Zdlv-9W_f?zZ1?2R<%=KjPekR-`b#!pCK%MH&Wc~uSjOTiO1YiD z#e|)WH>y8ai?iXYI{MAS7%i-2E|{LZAupPGz@Z(LP)BCnNn`h!j?%u3z2y~G@N{s8 z+sb>{8uD^k;&PGlEe|lWWs%AMY6?5*)p zO(L@|Fr^bGG(P4?dLx9fNb=jo=@YT-iJWZqr~;5G@$eS}vB7&c(5mxu=91$qZ@zp@ zz#_$HcGC8!X(5?>k=zGLWn=%m-Mekm=RneAQfxFR@-&|z=~r~$czG5O`Dyb2DH2ISgk z@Gj(;^f=3c-tKh!hsKRp>j$I>kOZ9#;;rjsP3*xd6;#d zzBA;zFGZv9Oz(m}VKZw*JKs>u%V|=L!dV~oo+o`N79Gdm2Ar8%PEKcz8mLAH5VCe8 zTbrY4?%u1f_7dbLByhxnYQ)}~Ovy&2?nX%%;G(fQ5lwUWZshab$jLPrS!5#bqa<(h zyI=Uh#I@%KR*$!S;YD|TtZm0MZ($+^H3vi=C#l`|bAj^tN6KTR73V$;75Yy0cOC!{ zFvUQqy$81WboGP>Z0nl;O>VMdD9Gqldk+Q0SM#2--U+zm3B^g5q z$+NLhRrXxYX78EtQ~SEA^+|V_W`|NGE8ek~FfY2jPV1(499^$aePWRWDors?eF$J? zekbDq=-T3Fy5{oNMgFKw+Y6nfH)0ci@H2Ar>!XAAZ~Tm_U_cQX+qbcBK+~E(i>iVO z@g}?1ycmPwB(^Rs1f+pn$`Uj}qg=FvR`pS~Leq}eL0ppc_z!X8(ol=2;nCm{s27=r zN4&B2v^kWT2~K@-eKE1IE#?mjxagfld`)i^G1zBFH7<@tl3Jwwi%ddRWqH`<^5M&z@D z3&n&ddT}<2!iRZz|4$c0SFa4g61&eNhvM1LU^<&_x0(9g-}c|_=kWIr4j7k2z3`5e zp3mM((52`*LHBv{31lbz0nwOp6U$0)O%)^qmVQ_yoRaTLz5@Rk?bBC}R`g{#vHz|3 ztBE`_J%C?*pgZyX&=Mb88fZS7)5$unW^U)mZPvlXlRU>TkVeoatiCq69oN}v-*
    urGMB)&<}*nZqBxG@|Fy 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ℜ7! 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Ƿ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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png new file mode 100644 index 0000000000000000000000000000000000000000..420ce46fe779f406b630bcfd6f6499802393ea4c GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8KW+g=7RhMR$W{Yl!|Z$R@KEJl?AE#L8-<0 zrA5iW_()TRX$FQJev3c~fv&OgFUkZ)N@9*nesXDUYF>$_i>(q+MlU5Z#mdOk+{nn( z(ZtNe(Zbcl(9puj$<@`=$;iOK&Ct}*)dXe+HoYzuCQfF?=5CG_Wq{tMnBet%#XQxv^i8i%vwHYN94I(dqou*b2l1W z8%hfN`c^OQyYGLB^F)2i2{u!89^6uXcUoooB>qXkCoAVqud}QF`_uX*=aO3=nxC-# z*|t!KVK1YHw!)oHPp3ZFKFMCi{u{$Vhit_)+uQFS`*PNaIs1Zx@Kc4CvcLX|n8}&U zNLTt9_vzA+H$Dv^lj1Yq?7Q`a&1{}j#@DdqX^a`qJ&W$78r}>1%9+8`tfAsQX}v?! z%Eknvif3-0VjjzDGd%gq`l#`3TML`gjU#Cd9n%?SSSI?}HGIr%yrS@d>16|hhJ&$z z=9}5K)eP5ZDCX?cFXf1`_;486VhT$ zK6(6bDNzc}S}gNtnai!X?Tmr~nlTIun|3O<$eJ)7R5aUbz+uYqfMLRm1{RIv>x$Pz zy8<)BR&f_hsR@ZH>+pNNtixl*e+I!5&$!%ux;}}Q#y>i~-g5<0r31f>VfjnZ*!!y- z#9SC(XgxgK+uU-)2AM@MADPfk< z{41+@EwuPf3o=?hIP{@Uvf}1qMo#uMO;?q|v!gB> z{`R=GS#_^SZ1QET(pRrCnI;P}2VQnNS7;+Aa7Odw;)W$5k#8&>-u&FR`SF3s^2yyT zt#b<(1&H*`p6+nyoc;X$T0oxpEm rkb0asBUgHT1$&gbP0l+XkK9vZwL literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png new file mode 100644 index 0000000000000000000000000000000000000000..0b814d5627af942289e36c0ca540455e997a40d5 GIT binary patch literal 2246 zcmbVOX;c$w77f7xLBXhiqM+5mW>K<|oh?8T4agRdC4iEpfFvXplh8r5mEg1@N`oRO z4l;^M_sCA8fPkU`BG_z>13H2zwt!CC2xy~#PDRC;AD*6brcPCTOWk|l^1XLX9S928 zXlA;~6oEjPaW}De@JQ4@3yt9S8qf4fc(B&6BQzmUoJK29fe0@#Bm@DjTo4cPK!JG2 z_FJGE0$~^@360Q1_-|&2AURf`$6%A?N|=p6xOpZk1tJ-!0fb<@MB$G9t^O(+kci#U z;becjztRUxkZej(fgvdYp`sL-h%QEZdH`<83|K%8Y6L*CJW-)$B)g+O=rZ8BejA4d zK0q`wcl1Z6BK(5@A4mlPWULEDgeMRH3I$6bktq~{GeE=>h&ViaQ!oS)gG^x%slcZT z4O>%*;}|>^=aVgX<&I9!Xp{^bPOH^owJuml6^|p(>2$pYk%)m281)W?Mv#nAsO{zz zSfE;@k|;G2NCD^-1wtrEF@tpSfT!uC^%)fWPuV#z~XUoxjwEBXtjn1 z{>P0kqSc{0lpu}=s-Yy62tJQEyLmF4yFWIh2g2Sk0#y?DPy~rANR%W86&fzf9SwiM ziX~zOkxV5L$zCK1$&1D&5ePJ*H=9lNCgSlN0@;gAn%DRem&GBl=xm~k7mWfl*(5ri zO7-T@*aUAM0*T<_GSB5I)Ea?81kT%)z;-`ziGRpt_^3dE22zDWP~vwqk`nXhx{@mU$9T4{I9q_a>f5o&Tz0ZIDK*a zSFy}*!4;^VelC4@@ws_G1>7+zxHSx|F?$e*1+Td*uh8WCxA~2JHc=K=tuIxW9C~9+ zH0eL9G|NMmWQUhl6lXu)a_?gQ(Vo`KT$x?ucqPBJ)!!+&z&PVOA!l7ob0znfc=ff; zv8``Z_61x;KxdI=+;oOP3pyNxL9;S|%F_jklQr$?* z&~L4wz5?AEX~;$o>D!~xxHChRnL8B*R}owB+g+CflcS~u5BGcj9<1zZx zu%r2I(@}L@x~vMF8tj{(s*L#K=y^4(~f)*YJLMM0Lw-`HcpLBey69y&Tc)EOcd7=mLk%z- z4yWPdNn3)e>jrxVhn8p0o_Q+Y7#Lm7xPRgV>4sx{k)d};Nr#RptG2+sc%9Oid;0WO zDRV~CUysXL)EKw$+zS$9KhNNA*%`K{$h4I6-12hKgC7^oZdI3MFxJg6R0|`{PPbJv zcjd&{QUUXqbviUwgKOwXIMGWVgnT^?chG6Hgf`~Z!^UAkb2kpP z9sQv1=vd0$*_fQDql`O<^(OZ-es(kzn60E(B+_)N$4VaiC6$?nRr)1+z3`aXXAGT3 zJ*`7W+BocbXY16TbTHp6fL%%Ye(oP@%Z&0o0+Wq?t?IBccfI_V38U?2D>!{a1qKsc zQfO(-#G(aDliF<3e_yFRUpeuU5x==F4UH-(EuG8E3p)4snA7)-XLARzM32tS&OeXr zz?h|9ZCXW*d?>QCzWY_WqNcc*9m$-IyySRb?Co2=iBKqfJlWgZyYW2g=FiiG>ld3E zR@K)R7X+Vb+;e^E8}7Ak_S)zCU)-3{F);(4Zf;MUUy3+RY0hcAox|NZIm<7(mfe-^ zXn&V|IqVcMoPU3C@Lg8@mD<|rR7#$8-l*!{IOaswB=StcB&1?=JWZ{Qj*3QQH>AHP z4D@^4cl}G`YYIvMOqS?aMpU58Np__K1Dc2vg@oZ$|IF$hVE)?ZJ^IXJU## zg|Pap_i#>X*RrYiF0)@d$Vi)#v=Xle-M?nOSlDAWY*f32shi?P)6kFhJJ+zx;%X|& zq`_7z_mn&|Ks~rp)Pi^-wlLRFI;i^32n=` zV+qpB^9PgMx1=i06un+raRPngTTSdQc>@PRMi*0$6sIbeuwofC7X546gskV5VYeOW zEvL4{k#ghj4&JD(_K$W|#4TC7tJwyX|Lq0`rg`D3%v(qHu6vm;euIitmTrh1Lf)Gy zw&@9{zD6ea*>Rghb)_HS%-!nVFuC%3DxV-CM=@zTIN}iwcsLHf*Jh*Ke^Wbu~ iCn41nK(YOmMR>&GI?>3g_Yz3|XTfC$u*$q+)BX**@snQw literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4d107e3f012a9ef18e445727532a4ef9472854 GIT binary patch literal 1702 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8KW+g=7RhMR$W{Yl!|Z$R@KEJl?AE#L8-<0 zrA5iW_()TRX$FQJev3c~fv&OgFUkZ)N@9*nesXDUYF>$_i>(q+MlU5Z#mdOk+{nn( z(ZtNe(Zbcl(9puj$<@`=$;iOK&Ct}*)dXe+HoY!J<_3lqP8N<9W7ka zriP{_rY^>YaJ`;+#U+V($*C}VGlBL(^_t_=Yvo*&npl!w6q28x14{t`8Tlpo#Toep z3eLf13L4>=c`5nj#hRe#f%w)XwJ5VJHN~wcKUV=9zE+u7>^CwaIc-w#{wM5oI zdW!T6<$~sn=2gO1?mEmoFrD*`--Db76-=7K8qyZhD?*sIny_}wPxQRASN@Zy%KQ%s z!VK@#gwD=j5Wm40uw&iC-}6}SvBa^=V`*Cush(ia+Q=ota_nWYhkOicAJd&|-lUe7 zwJP>ZpO-vuIQsem_ZB;scQQ*&y`L#uka#EUU?=|cyX=Wx>3Q>?e!uKhCU@ypGf&B< z8LHPTs;;V>)?2nE>w_j@$zkzs>px2c}`u+VGQcCJ78$8)uHt-)ipS0dq>-zUk%L+r1np55g>V&=GGP2Y%{Nws*`~6d;!HPQ% zE@e>i&zcwPxM_1~aNjqsAJO_NL?U^Y$V|R|YPv+^o3#o``k!2vPRY?*60q81XPGct zypZp&vx|z7Hl;I2v90XbGV$2N&JVhoZ@u~iXQswpxV8VD*sE(NMKoDH)vaEC<$Ynx z0-waKpZ=SNoS61xAA{1_ta^^TU2Zs4NA z>>h^vnvg0HrQ9b>E?qZXl(6pFT)bFSHfpZ9ffA3VubJe81F!b?uI#uQ`BnAOLbqGR z>bJK!&F7R{<8OR#N|COVt+G>_`n1a#H4DYonlF3#sH~Iex76aVX-b#tCtcC_)OmN> zw&dzv*SGZbPvi)6=ALuZ=1`%5%-$P^n_`%DUadH=ulY@7OY*tUKCeLj)l7Ur^ES&o ze-M;*d`gYe)}R00hlQR$aM>~ULFaOj-4+l*`aZ-8nJPgg&ebxsLQ0Qo6;#Q*>R literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png new file mode 100644 index 0000000000000000000000000000000000000000..7be62787c5e946a688c211e36bd2511684780928 GIT binary patch literal 7022 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 b-HG3$TajgDuRQ!s0{~fRC8^Tah5`Qv7;a~I literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb new file mode 100644 index 0000000..e1d6e3d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb @@ -0,0 +1,205 @@ +Public Class HEAHEA + Public Property RefNumHEA4 As String + Public Property TypOfDecHEA24 As String + Public Property CouOfDesCodHEA30 As String + Public Property PlaOfLoaCodHEA46 As String + Public Property CouOfDisCodHEA55 As String + Public Property TraModAtBorHEA76 As String + Public Property IdeOfMeaOfTraAtDHEA78 As String + Public Property IdeOfMeaOfTraAtDHEA78LNG As String + Public Property NatOfMeaOfTraAtDHEA80 As String + Public Property IdeOfMeaOfTraCroHEA85 As String + Public Property IdeOfMeaOfTraCroHEA85LNG As String + Public Property NatOfMeaOfTraCroHEA87 As String + Public Property ConIndHEA96 As String + Public Property NCTSAccDocHEA601LNG As String + Public Property TotNumOfIteHEA305 As String + Public Property TotNumOfPacHEA306 As String + Public Property TotGroMasHEA307 As String + Public Property DecDatHEA383 As String + Public Property DecPlaHEA394 As String + Public Property DecPlaHEA394LNG As String + Public Property SecHEA358 As String + Public Property CodPlUnHEA357 As String + Public Property Tanker As String + Public Property ComRefNumHEA As String +End Class + +Public Class REPREP + Public Property NamREP5 As String +End Class + +Public Class GUAREFREF + Public Property GuaRefNumGRNREF1 As String + Public Property OthGuaRefREF4 As String + Public Property AccCodREF6 As String + Public Property CurREF8 As String + Public Property AmoConREF7 As String +End Class + +Public Class GUAGUA + Public Property GuaTypGUA1 As String + Public Property GUAREFREF As GUAREFREF +End Class + +Public Class TRAPRIPC1 + Public Property NamCO17 As String + Public Property StrAndNumCO122 As String + Public Property PosCodCO123 As String + Public Property CitCO124 As String + Public Property CouCO125 As String + Public Property NADLNGCO As String + Public Property TINCO159 As String +End Class + +Public Class TRACONCO1 + Public Property NamCO17 As String + Public Property StrAndNumCO122 As String + Public Property PosCodCO123 As String + Public Property CitCO124 As String + Public Property CouCO125 As String + Public Property NADLNGCO As String + Public Property TINCO159 As String +End Class + +Public Class TRACONCE1 + Public Property NamCO17 As String + Public Property StrAndNumCO122 As String + Public Property PosCodCO123 As String + Public Property CitCO124 As String + Public Property CouCO125 As String + Public Property NADLNGCO As String + Public Property TINCO159 As String +End Class + + +Public Class TRACONSEC029 + Public Property NameTRACONSEC033 As String + Public Property StrNumTRACONSEC035 As String + Public Property PosCodTRACONSEC034 As String + Public Property CitTRACONSEC030 As String + Public Property CouCodTRACONSEC031 As String + Public Property TRACONSEC029LNG As String + Public Property TINTRACONSEC036 As String +End Class + +Public Class CUSOFFDEPEPT + Public Property RefNumEPT1 As String +End Class + +Public Class CUSOFFTRARNS + Public Property RefNumRNS1 As String + Public Property ArrTimTRACUS085 As String +End Class + +Public Class CUSOFFDESEST + Public Property RefNumEST1 As String +End Class + +Public Class PRODOCDC2 + Public Property DocTypDC21 As String + Public Property DocRefDC23 As String + Public Property DocRefDCLNG As String + Public Property ComOfInfDC25 As String + Public Property ComOfInfDC25LNG As String +End Class + +Public Class PREADMREFAR2 + Public Property PreDocTypAR21 As String + Public Property PreDocRefAR26 As String + Public Property PreDocRefLNG As String + Public Property ComOfInfAR29 As String + Public Property ComOfInfAR29LNG As String +End Class + +Public Class CONNR2 + Public Property ConNumNR21 As String +End Class + +Public Class PACGS2 + Public Property MarNumOfPacGS21 As String + Public Property MarNumOfPacGS21LNG As String + Public Property KinOfPacGS23 As String + Public Property NumOfPacGS24 As String +End Class + +Public Class TRACONCE2 + Public Property NamCE27 As String + Public Property StrAndNumCE222 As String + Public Property PosCodCE223 As String + Public Property CitCE224 As String + Public Property CouCE225 As String + Public Property NADLNGGICE As String + Public Property TINCE259 As String +End Class + +Public Class GOOITEGD + Public Property IteNumGDS7 As String + Public Property ComCodTarCodGDS10 As String + Public Property GooDesGDS23 As String + Public Property GooDesGDS23LNG As String + Public Property GroMasGDS46 As String + Public Property NetMasGDS48 As String + Public Property IhrBeyanNo As String + Public Property IhrBeyanTip As String + Public Property IhrBeyanParcali As String + Public Property PRODOCDC2 As PRODOCDC2() + Public Property PREADMREFAR2 As PREADMREFAR2 + Public Property CONNR2 As CONNR2() + Public Property PACGS2 As PACGS2() + Public Property CouOfDesGDS59 As String + Public Property CouOfDisGDS58 As String + Public Property TRACONCO2 As String + Public Property TRACONCE2 As TRACONCE2 + Public Property TRACORSECGOO021 As String + Public Property TRACONSECGOO013 As String +End Class + +Public Class ITI + Public Property CouOfRouCodITI1 As String +End Class + +Public Class CARTRA100 + Public Property NamCARTRA121 As String + Public Property StrAndNumCARTRA254 As String + Public Property PosCodCARTRA121 As String + Public Property CitCARTRA789 As String + Public Property CouCodCARTRA587 As String + Public Property NADCARTRA121 As String + Public Property TINCARTRA254 As String +End Class + +Public Class TRACORSEC037 + Public Property NamTRACORSEC041 As String + Public Property StrNumTRACORSEC043 As String + Public Property PosCodTRACORSEC042 As String + Public Property CitTRACORSEC038 As String + Public Property CouCodTRACORSEC039 As String + Public Property TRACORSEC037LNG As String + Public Property TINTRACORSEC044 As String +End Class + +Public Class CC015B + Public Property RefId As String + Public Property MRNNumber As String + Public Property HEAHEA As HEAHEA + Public Property REPREP As REPREP + Public Property SEAINFSLI As String + Public Property GUAGUA As GUAGUA + + Public Property TRAPRIPC1 As TRAPRIPC1 + Public Property TRACONCO1 As TRACONCO1 + Public Property TRACONCE1 As TRACONCE1 + Public Property CUSOFFDEPEPT As CUSOFFDEPEPT + Public Property CUSOFFTRARNS As CUSOFFTRARNS() + Public Property CUSOFFDESEST As CUSOFFDESEST + Public Property GOOITEGDS As GOOITEGD() + Public Property ITI As ITI() + Public Property CARTRA100 As CARTRA100 + Public Property TRACORSEC037 As TRACORSEC037 + Public Property TRACONSEC029 As TRACONSEC029 +End Class + +Public Class cATEZ_NCTS + Public Property CC015B As CC015B +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb new file mode 100644 index 0000000..fa9bcea --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb @@ -0,0 +1,7681 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' agsCustomsExchangeListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace agsCustomsExchange + + + Partial Public Class exchangeRequestType + +#Region "Private fields" + Private _uuid As String + + Private _version As String + + Private _requestDateTime As Date + + Private _creationDateTime As Date + + Private _dispatchCountry As String + + Private _destinationCountry As String + + Private _localReferenceNumber As String + + Private _movementReferenceNumber As String + + Private _declaration As declarationType + + Private _goodsShipment As goodsShipmentType + + Private _attachments As List(Of attachmentType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachments = New List(Of attachmentType)() + Me._goodsShipment = New goodsShipmentType() + Me._declaration = New declarationType() + End Sub + + Public Property uuid() As String + Get + Return Me._uuid + End Get + Set + Me._uuid = Value + End Set + End Property + + Public Property version() As String + Get + Return Me._version + End Get + Set + Me._version = Value + End Set + End Property + + Public Property requestDateTime() As Date + Get + Return Me._requestDateTime + End Get + Set + Me._requestDateTime = Value + End Set + End Property + + Public Property creationDateTime() As Date + Get + Return Me._creationDateTime + End Get + Set + Me._creationDateTime = Value + End Set + End Property + + Public Property dispatchCountry() As String + Get + Return Me._dispatchCountry + End Get + Set + Me._dispatchCountry = Value + End Set + End Property + + Public Property destinationCountry() As String + Get + Return Me._destinationCountry + End Get + Set + Me._destinationCountry = Value + End Set + End Property + + Public Property localReferenceNumber() As String + Get + Return Me._localReferenceNumber + End Get + Set + Me._localReferenceNumber = Value + End Set + End Property + + Public Property movementReferenceNumber() As String + Get + Return Me._movementReferenceNumber + End Get + Set + Me._movementReferenceNumber = Value + End Set + End Property + + Public Property declaration() As declarationType + Get + Return Me._declaration + End Get + Set + Me._declaration = Value + End Set + End Property + + Public Property goodsShipment() As goodsShipmentType + Get + Return Me._goodsShipment + End Get + Set + Me._goodsShipment = Value + End Set + End Property + + + Public Property attachments() As List(Of attachmentType) + Get + Return Me._attachments + End Get + Set + Me._attachments = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(exchangeRequestType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + '''

    + ''' Serializes current exchangeRequestType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an exchangeRequestType object + ''' + ''' string workflow markup to deserialize + ''' Output exchangeRequestType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As exchangeRequestType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, exchangeRequestType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As exchangeRequestType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As exchangeRequestType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), exchangeRequestType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As exchangeRequestType + Return CType(Serializer.Deserialize(s), exchangeRequestType) + End Function +#End Region + + ''' + ''' Serializes current exchangeRequestType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an exchangeRequestType object + ''' + ''' string xml file to load and deserialize + ''' Output exchangeRequestType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As exchangeRequestType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, exchangeRequestType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As exchangeRequestType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As exchangeRequestType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class declarationType + +#Region "Private fields" + Private _declarationOffice As String + + Private _declarationCode As declarationCode + + Private _declarationTypeCode As declarationTypeCode + + Private _procedure As procedure + + Private _commercialReferenceNumber As String + + Private _invoiceAmount As priceType_18_2 + + Private _deductibleAmount As priceType_16_2 + + Private _transportCostsAmount As priceType_16_2 + + Private _insuranceCostsAmount As priceType_16_2 + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._insuranceCostsAmount = New priceType_16_2() + Me._transportCostsAmount = New priceType_16_2() + Me._deductibleAmount = New priceType_16_2() + Me._invoiceAmount = New priceType_18_2() + End Sub + + + Public Property declarationOffice() As String + Get + Return Me._declarationOffice + End Get + Set + Me._declarationOffice = Value + End Set + End Property + + Public Property declarationCode() As declarationCode + Get + Return Me._declarationCode + End Get + Set + Me._declarationCode = Value + End Set + End Property + + Public Property declarationTypeCode() As declarationTypeCode + Get + Return Me._declarationTypeCode + End Get + Set + Me._declarationTypeCode = Value + End Set + End Property + + Public Property procedure() As procedure + Get + Return Me._procedure + End Get + Set + Me._procedure = Value + End Set + End Property + + Public Property commercialReferenceNumber() As String + Get + Return Me._commercialReferenceNumber + End Get + Set + Me._commercialReferenceNumber = Value + End Set + End Property + + Public Property invoiceAmount() As priceType_18_2 + Get + Return Me._invoiceAmount + End Get + Set + Me._invoiceAmount = Value + End Set + End Property + + Public Property deductibleAmount() As priceType_16_2 + Get + Return Me._deductibleAmount + End Get + Set + Me._deductibleAmount = Value + End Set + End Property + + Public Property transportCostsAmount() As priceType_16_2 + Get + Return Me._transportCostsAmount + End Get + Set + Me._transportCostsAmount = Value + End Set + End Property + + Public Property insuranceCostsAmount() As priceType_16_2 + Get + Return Me._insuranceCostsAmount + End Get + Set + Me._insuranceCostsAmount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(declarationType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current declarationType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an declarationType object + ''' + ''' string workflow markup to deserialize + ''' Output declarationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As declarationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, declarationType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As declarationType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As declarationType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), declarationType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As declarationType + Return CType(Serializer.Deserialize(s), declarationType) + End Function +#End Region + + ''' + ''' Serializes current declarationType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an declarationType object + ''' + ''' string xml file to load and deserialize + ''' Output declarationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As declarationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, declarationType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As declarationType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As declarationType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum declarationCode + + ''' + CO + + ''' + EU + + ''' + EX + + ''' + IM + End Enum + + + Public Enum declarationTypeCode + + ''' + A + + ''' + B + + ''' + D + + ''' + E + + ''' + X + + ''' + Y + + ''' + Z + End Enum + + + Public Enum procedure + + ''' + A + + ''' + B + + ''' + C + + ''' + D + + ''' + E + + ''' + H + + ''' + I + + ''' + J + + ''' + K + End Enum + + + Partial Public Class priceType_18_2 + +#Region "Private fields" + Private _currency As String + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property currency() As String + Get + Return Me._currency + End Get + Set + Me._currency = Value + End Set + End Property + + + Public Property Value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(priceType_18_2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current priceType_18_2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an priceType_18_2 object + ''' + ''' string workflow markup to deserialize + ''' Output priceType_18_2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_18_2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, priceType_18_2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_18_2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As priceType_18_2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), priceType_18_2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As priceType_18_2 + Return CType(Serializer.Deserialize(s), priceType_18_2) + End Function +#End Region + + ''' + ''' Serializes current priceType_18_2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an priceType_18_2 object + ''' + ''' string xml file to load and deserialize + ''' Output priceType_18_2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_18_2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, priceType_18_2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_18_2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As priceType_18_2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class attachmentType + +#Region "Private fields" + Private _attachmentName As String + + Private _attachmentType1 As String + + Private _attachmentReference As String + + Private _binaryAttachmentData() As Byte + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property attachmentName() As String + Get + Return Me._attachmentName + End Get + Set + Me._attachmentName = Value + End Set + End Property + + + Public Property attachmentType1() As String + Get + Return Me._attachmentType1 + End Get + Set + Me._attachmentType1 = Value + End Set + End Property + + Public Property attachmentReference() As String + Get + Return Me._attachmentReference + End Get + Set + Me._attachmentReference = Value + End Set + End Property + + + Public Property binaryAttachmentData() As Byte() + Get + Return Me._binaryAttachmentData + End Get + Set + Me._binaryAttachmentData = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(attachmentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current attachmentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an attachmentType object + ''' + ''' string workflow markup to deserialize + ''' Output attachmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As attachmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, attachmentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As attachmentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As attachmentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), attachmentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As attachmentType + Return CType(Serializer.Deserialize(s), attachmentType) + End Function +#End Region + + ''' + ''' Serializes current attachmentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an attachmentType object + ''' + ''' string xml file to load and deserialize + ''' Output attachmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As attachmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, attachmentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As attachmentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As attachmentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class weightType_16_6 + +#Region "Private fields" + Private _massUnit As String + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._massUnit = "kg" + End Sub + + + Public Property massUnit() As String + Get + Return Me._massUnit + End Get + Set + Me._massUnit = Value + End Set + End Property + + + Public Property Value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(weightType_16_6)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current weightType_16_6 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an weightType_16_6 object + ''' + ''' string workflow markup to deserialize + ''' Output weightType_16_6 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As weightType_16_6, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, weightType_16_6) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As weightType_16_6) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As weightType_16_6 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), weightType_16_6) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As weightType_16_6 + Return CType(Serializer.Deserialize(s), weightType_16_6) + End Function +#End Region + + ''' + ''' Serializes current weightType_16_6 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an weightType_16_6 object + ''' + ''' string xml file to load and deserialize + ''' Output weightType_16_6 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As weightType_16_6, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, weightType_16_6) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As weightType_16_6) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As weightType_16_6 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class quantityType + +#Region "Private fields" + Private _unitCode As String + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property unitCode() As String + Get + Return Me._unitCode + End Get + Set + Me._unitCode = Value + End Set + End Property + + + Public Property Value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(quantityType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current quantityType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an quantityType object + ''' + ''' string workflow markup to deserialize + ''' Output quantityType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As quantityType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, quantityType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As quantityType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As quantityType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), quantityType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As quantityType + Return CType(Serializer.Deserialize(s), quantityType) + End Function +#End Region + + ''' + ''' Serializes current quantityType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an quantityType object + ''' + ''' string xml file to load and deserialize + ''' Output quantityType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As quantityType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, quantityType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As quantityType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As quantityType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemType + +#Region "Private fields" + Private _sequenceNumeric As Decimal + + Private _customsValueAmount As priceType_16_2 + + Private _statisticalValueAmount As priceType_16_2 + + Private _additionalDocumentType As List(Of goodsItemTypeAdditionalDocumentType) + + Private _additionalInformationType As List(Of goodsItemTypeAdditionalInformationType) + + Private _commodityType As goodsItemTypeCommodityType + + Private _goodsMeasureType As goodsItemTypeGoodsMeasureType + + Private _governmentProcedureType As List(Of goodsItemTypeGovernmentProcedureType) + + Private _manufacturerType As goodsItemTypeManufacturerType + + Private _originType As goodsItemTypeOriginType + + Private _packagingType As List(Of goodsItemTypePackagingType) + + Private _previousDocumentType As List(Of goodsItemTypePreviousDocumentType) + + Private _refundRecipientPartyType As goodsItemTypeRefundRecipientPartyType + + Private _valuationAdjustmentType As List(Of goodsItemTypeValuationAdjustmentType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._valuationAdjustmentType = New List(Of goodsItemTypeValuationAdjustmentType)() + Me._refundRecipientPartyType = New goodsItemTypeRefundRecipientPartyType() + Me._previousDocumentType = New List(Of goodsItemTypePreviousDocumentType)() + Me._packagingType = New List(Of goodsItemTypePackagingType)() + Me._originType = New goodsItemTypeOriginType() + Me._manufacturerType = New goodsItemTypeManufacturerType() + Me._governmentProcedureType = New List(Of goodsItemTypeGovernmentProcedureType)() + Me._goodsMeasureType = New goodsItemTypeGoodsMeasureType() + Me._commodityType = New goodsItemTypeCommodityType() + Me._additionalInformationType = New List(Of goodsItemTypeAdditionalInformationType)() + Me._additionalDocumentType = New List(Of goodsItemTypeAdditionalDocumentType)() + Me._statisticalValueAmount = New priceType_16_2() + Me._customsValueAmount = New priceType_16_2() + End Sub + + Public Property sequenceNumeric() As Decimal + Get + Return Me._sequenceNumeric + End Get + Set + Me._sequenceNumeric = Value + End Set + End Property + + Public Property customsValueAmount() As priceType_16_2 + Get + Return Me._customsValueAmount + End Get + Set + Me._customsValueAmount = Value + End Set + End Property + + Public Property statisticalValueAmount() As priceType_16_2 + Get + Return Me._statisticalValueAmount + End Get + Set + Me._statisticalValueAmount = Value + End Set + End Property + + + Public Property additionalDocumentType() As List(Of goodsItemTypeAdditionalDocumentType) + Get + Return Me._additionalDocumentType + End Get + Set + Me._additionalDocumentType = Value + End Set + End Property + + + Public Property additionalInformationType() As List(Of goodsItemTypeAdditionalInformationType) + Get + Return Me._additionalInformationType + End Get + Set + Me._additionalInformationType = Value + End Set + End Property + + Public Property commodityType() As goodsItemTypeCommodityType + Get + Return Me._commodityType + End Get + Set + Me._commodityType = Value + End Set + End Property + + Public Property goodsMeasureType() As goodsItemTypeGoodsMeasureType + Get + Return Me._goodsMeasureType + End Get + Set + Me._goodsMeasureType = Value + End Set + End Property + + + Public Property governmentProcedureType() As List(Of goodsItemTypeGovernmentProcedureType) + Get + Return Me._governmentProcedureType + End Get + Set + Me._governmentProcedureType = Value + End Set + End Property + + Public Property manufacturerType() As goodsItemTypeManufacturerType + Get + Return Me._manufacturerType + End Get + Set + Me._manufacturerType = Value + End Set + End Property + + Public Property originType() As goodsItemTypeOriginType + Get + Return Me._originType + End Get + Set + Me._originType = Value + End Set + End Property + + + Public Property packagingType() As List(Of goodsItemTypePackagingType) + Get + Return Me._packagingType + End Get + Set + Me._packagingType = Value + End Set + End Property + + + Public Property previousDocumentType() As List(Of goodsItemTypePreviousDocumentType) + Get + Return Me._previousDocumentType + End Get + Set + Me._previousDocumentType = Value + End Set + End Property + + Public Property refundRecipientPartyType() As goodsItemTypeRefundRecipientPartyType + Get + Return Me._refundRecipientPartyType + End Get + Set + Me._refundRecipientPartyType = Value + End Set + End Property + + + Public Property valuationAdjustmentType() As List(Of goodsItemTypeValuationAdjustmentType) + Get + Return Me._valuationAdjustmentType + End Get + Set + Me._valuationAdjustmentType = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemType + Return CType(Serializer.Deserialize(s), goodsItemType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class priceType_16_2 + +#Region "Private fields" + Private _currency As String + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property currency() As String + Get + Return Me._currency + End Get + Set + Me._currency = Value + End Set + End Property + + + Public Property Value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(priceType_16_2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current priceType_16_2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an priceType_16_2 object + ''' + ''' string workflow markup to deserialize + ''' Output priceType_16_2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_16_2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, priceType_16_2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_16_2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As priceType_16_2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), priceType_16_2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As priceType_16_2 + Return CType(Serializer.Deserialize(s), priceType_16_2) + End Function +#End Region + + ''' + ''' Serializes current priceType_16_2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an priceType_16_2 object + ''' + ''' string xml file to load and deserialize + ''' Output priceType_16_2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_16_2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, priceType_16_2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_16_2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As priceType_16_2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeAdditionalDocumentType + +#Region "Private fields" + Private _documentCode As String + + Private _documentReference As String + + Private _amount As priceType_16_2 + + Private _quantity As quantityType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._quantity = New quantityType() + Me._amount = New priceType_16_2() + End Sub + + + Public Property documentCode() As String + Get + Return Me._documentCode + End Get + Set + Me._documentCode = Value + End Set + End Property + + Public Property documentReference() As String + Get + Return Me._documentReference + End Get + Set + Me._documentReference = Value + End Set + End Property + + Public Property amount() As priceType_16_2 + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property quantity() As quantityType + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeAdditionalDocumentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeAdditionalDocumentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeAdditionalDocumentType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeAdditionalDocumentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalDocumentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeAdditionalDocumentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalDocumentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeAdditionalDocumentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeAdditionalDocumentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeAdditionalDocumentType + Return CType(Serializer.Deserialize(s), goodsItemTypeAdditionalDocumentType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeAdditionalDocumentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeAdditionalDocumentType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeAdditionalDocumentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalDocumentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeAdditionalDocumentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalDocumentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeAdditionalDocumentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeAdditionalInformationType + +#Region "Private fields" + Private _statementCode As String + + Private _statementDescription As String + + Private _statementTypeCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property statementCode() As String + Get + Return Me._statementCode + End Get + Set + Me._statementCode = Value + End Set + End Property + + Public Property statementDescription() As String + Get + Return Me._statementDescription + End Get + Set + Me._statementDescription = Value + End Set + End Property + + + Public Property statementTypeCode() As String + Get + Return Me._statementTypeCode + End Get + Set + Me._statementTypeCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeAdditionalInformationType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeAdditionalInformationType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeAdditionalInformationType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeAdditionalInformationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalInformationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeAdditionalInformationType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalInformationType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeAdditionalInformationType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeAdditionalInformationType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeAdditionalInformationType + Return CType(Serializer.Deserialize(s), goodsItemTypeAdditionalInformationType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeAdditionalInformationType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeAdditionalInformationType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeAdditionalInformationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalInformationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeAdditionalInformationType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalInformationType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeAdditionalInformationType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeCommodityType + +#Region "Private fields" + Private _sequenceNumeric As Decimal + + Private _description As String + + Private _valueAmount As priceType_16_2 + + Private _classificationType As List(Of goodsItemTypeCommodityTypeClassificationType) + + Private _transportEquipmentType As List(Of goodsItemTypeCommodityTypeTransportEquipmentType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._transportEquipmentType = New List(Of goodsItemTypeCommodityTypeTransportEquipmentType)() + Me._classificationType = New List(Of goodsItemTypeCommodityTypeClassificationType)() + Me._valueAmount = New priceType_16_2() + End Sub + + Public Property sequenceNumeric() As Decimal + Get + Return Me._sequenceNumeric + End Get + Set + Me._sequenceNumeric = Value + End Set + End Property + + Public Property description() As String + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Public Property valueAmount() As priceType_16_2 + Get + Return Me._valueAmount + End Get + Set + Me._valueAmount = Value + End Set + End Property + + + Public Property classificationType() As List(Of goodsItemTypeCommodityTypeClassificationType) + Get + Return Me._classificationType + End Get + Set + Me._classificationType = Value + End Set + End Property + + + Public Property transportEquipmentType() As List(Of goodsItemTypeCommodityTypeTransportEquipmentType) + Get + Return Me._transportEquipmentType + End Get + Set + Me._transportEquipmentType = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeCommodityType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeCommodityType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeCommodityType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityType + Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeCommodityType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeCommodityType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeCommodityType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeCommodityTypeClassificationType + +#Region "Private fields" + Private _commodityCode As String + + Private _unitedNationsDangerousGoodCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property commodityCode() As String + Get + Return Me._commodityCode + End Get + Set + Me._commodityCode = Value + End Set + End Property + + Public Property unitedNationsDangerousGoodCode() As String + Get + Return Me._unitedNationsDangerousGoodCode + End Get + Set + Me._unitedNationsDangerousGoodCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityTypeClassificationType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeCommodityTypeClassificationType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeCommodityTypeClassificationType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeCommodityTypeClassificationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityTypeClassificationType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityTypeClassificationType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityTypeClassificationType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityTypeClassificationType + Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityTypeClassificationType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeCommodityTypeClassificationType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeCommodityTypeClassificationType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeCommodityTypeClassificationType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityTypeClassificationType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityTypeClassificationType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeCommodityTypeTransportEquipmentType + +#Region "Private fields" + Private _sequenceNumeric As Decimal + + Private _equipmentIdentificationNumberId As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property sequenceNumeric() As Decimal + Get + Return Me._sequenceNumeric + End Get + Set + Me._sequenceNumeric = Value + End Set + End Property + + Public Property equipmentIdentificationNumberId() As String + Get + Return Me._equipmentIdentificationNumberId + End Get + Set + Me._equipmentIdentificationNumberId = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityTypeTransportEquipmentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeCommodityTypeTransportEquipmentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeCommodityTypeTransportEquipmentType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeCommodityTypeTransportEquipmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityTypeTransportEquipmentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityTypeTransportEquipmentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityTypeTransportEquipmentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityTypeTransportEquipmentType + Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityTypeTransportEquipmentType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeCommodityTypeTransportEquipmentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeCommodityTypeTransportEquipmentType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeCommodityTypeTransportEquipmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeCommodityTypeTransportEquipmentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityTypeTransportEquipmentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeGoodsMeasureType + +#Region "Private fields" + Private _grossMassMeasure As weightType_16_6 + + Private _netNetWeightMeasure As weightType_16_6 + + Private _tariffQuantity As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._netNetWeightMeasure = New weightType_16_6() + Me._grossMassMeasure = New weightType_16_6() + End Sub + + Public Property grossMassMeasure() As weightType_16_6 + Get + Return Me._grossMassMeasure + End Get + Set + Me._grossMassMeasure = Value + End Set + End Property + + Public Property netNetWeightMeasure() As weightType_16_6 + Get + Return Me._netNetWeightMeasure + End Get + Set + Me._netNetWeightMeasure = Value + End Set + End Property + + Public Property tariffQuantity() As Decimal + Get + Return Me._tariffQuantity + End Get + Set + Me._tariffQuantity = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeGoodsMeasureType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeGoodsMeasureType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeGoodsMeasureType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeGoodsMeasureType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGoodsMeasureType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeGoodsMeasureType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGoodsMeasureType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeGoodsMeasureType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeGoodsMeasureType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeGoodsMeasureType + Return CType(Serializer.Deserialize(s), goodsItemTypeGoodsMeasureType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeGoodsMeasureType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeGoodsMeasureType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeGoodsMeasureType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGoodsMeasureType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeGoodsMeasureType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGoodsMeasureType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeGoodsMeasureType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeGovernmentProcedureType + +#Region "Private fields" + Private _currentCode As String + + Private _previousCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property currentCode() As String + Get + Return Me._currentCode + End Get + Set + Me._currentCode = Value + End Set + End Property + + + Public Property previousCode() As String + Get + Return Me._previousCode + End Get + Set + Me._previousCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeGovernmentProcedureType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeGovernmentProcedureType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeGovernmentProcedureType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeGovernmentProcedureType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGovernmentProcedureType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeGovernmentProcedureType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGovernmentProcedureType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeGovernmentProcedureType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeGovernmentProcedureType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeGovernmentProcedureType + Return CType(Serializer.Deserialize(s), goodsItemTypeGovernmentProcedureType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeGovernmentProcedureType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeGovernmentProcedureType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeGovernmentProcedureType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGovernmentProcedureType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeGovernmentProcedureType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGovernmentProcedureType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeGovernmentProcedureType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeManufacturerType + +#Region "Private fields" + Private _name As String + + Private _id As String + + Private _address As addressType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._address = New addressType() + End Sub + + Public Property name() As String + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property id() As String + Get + Return Me._id + End Get + Set + Me._id = Value + End Set + End Property + + Public Property address() As addressType + Get + Return Me._address + End Get + Set + Me._address = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeManufacturerType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeManufacturerType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeManufacturerType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeManufacturerType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeManufacturerType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeManufacturerType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeManufacturerType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeManufacturerType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeManufacturerType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeManufacturerType + Return CType(Serializer.Deserialize(s), goodsItemTypeManufacturerType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeManufacturerType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeManufacturerType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeManufacturerType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeManufacturerType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeManufacturerType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeManufacturerType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeManufacturerType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class addressType + +#Region "Private fields" + Private _postalCode As String + + Private _streetAndNumber As String + + Private _city As String + + Private _country As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property postalCode() As String + Get + Return Me._postalCode + End Get + Set + Me._postalCode = Value + End Set + End Property + + Public Property streetAndNumber() As String + Get + Return Me._streetAndNumber + End Get + Set + Me._streetAndNumber = Value + End Set + End Property + + Public Property city() As String + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property country() As String + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(addressType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current addressType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an addressType object + ''' + ''' string workflow markup to deserialize + ''' Output addressType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As addressType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, addressType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As addressType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As addressType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), addressType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As addressType + Return CType(Serializer.Deserialize(s), addressType) + End Function +#End Region + + ''' + ''' Serializes current addressType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an addressType object + ''' + ''' string xml file to load and deserialize + ''' Output addressType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As addressType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, addressType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As addressType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As addressType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeOriginType + +#Region "Private fields" + Private _countryCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property countryCode() As String + Get + Return Me._countryCode + End Get + Set + Me._countryCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeOriginType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeOriginType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeOriginType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeOriginType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeOriginType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeOriginType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeOriginType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeOriginType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeOriginType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeOriginType + Return CType(Serializer.Deserialize(s), goodsItemTypeOriginType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeOriginType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeOriginType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeOriginType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeOriginType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeOriginType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeOriginType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeOriginType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypePackagingType + +#Region "Private fields" + Private _sequenceNumeric As Decimal + + Private _marksNumbersID As String + + Private _packagingQuantity As Decimal + + Private _typeCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property sequenceNumeric() As Decimal + Get + Return Me._sequenceNumeric + End Get + Set + Me._sequenceNumeric = Value + End Set + End Property + + Public Property MarksNumbersID() As String + Get + Return Me._marksNumbersID + End Get + Set + Me._marksNumbersID = Value + End Set + End Property + + Public Property packagingQuantity() As Decimal + Get + Return Me._packagingQuantity + End Get + Set + Me._packagingQuantity = Value + End Set + End Property + + + Public Property typeCode() As String + Get + Return Me._typeCode + End Get + Set + Me._typeCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypePackagingType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypePackagingType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypePackagingType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypePackagingType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePackagingType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypePackagingType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePackagingType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypePackagingType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypePackagingType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypePackagingType + Return CType(Serializer.Deserialize(s), goodsItemTypePackagingType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypePackagingType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypePackagingType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypePackagingType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePackagingType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypePackagingType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePackagingType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypePackagingType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypePreviousDocumentType + +#Region "Private fields" + Private _docTypeCode As prevDocTypeCode + + Private _docSortCode As String + + Private _docNr As String + + Private _lineNumeric As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property DocTypeCode() As prevDocTypeCode + Get + Return Me._docTypeCode + End Get + Set + Me._docTypeCode = Value + End Set + End Property + + + Public Property DocSortCode() As String + Get + Return Me._docSortCode + End Get + Set + Me._docSortCode = Value + End Set + End Property + + Public Property DocNr() As String + Get + Return Me._docNr + End Get + Set + Me._docNr = Value + End Set + End Property + + Public Property lineNumeric() As Decimal + Get + Return Me._lineNumeric + End Get + Set + Me._lineNumeric = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypePreviousDocumentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypePreviousDocumentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypePreviousDocumentType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypePreviousDocumentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePreviousDocumentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypePreviousDocumentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePreviousDocumentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypePreviousDocumentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypePreviousDocumentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypePreviousDocumentType + Return CType(Serializer.Deserialize(s), goodsItemTypePreviousDocumentType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypePreviousDocumentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypePreviousDocumentType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypePreviousDocumentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePreviousDocumentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypePreviousDocumentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePreviousDocumentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypePreviousDocumentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum prevDocTypeCode + + ''' + X + + ''' + Y + + ''' + Z + End Enum + + + Partial Public Class goodsItemTypeRefundRecipientPartyType + +#Region "Private fields" + Private _name As String + + Private _id As String + + Private _address As addressType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._address = New addressType() + End Sub + + Public Property name() As String + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property id() As String + Get + Return Me._id + End Get + Set + Me._id = Value + End Set + End Property + + Public Property address() As addressType + Get + Return Me._address + End Get + Set + Me._address = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeRefundRecipientPartyType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeRefundRecipientPartyType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeRefundRecipientPartyType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeRefundRecipientPartyType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeRefundRecipientPartyType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeRefundRecipientPartyType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeRefundRecipientPartyType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeRefundRecipientPartyType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeRefundRecipientPartyType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeRefundRecipientPartyType + Return CType(Serializer.Deserialize(s), goodsItemTypeRefundRecipientPartyType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeRefundRecipientPartyType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeRefundRecipientPartyType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeRefundRecipientPartyType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeRefundRecipientPartyType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeRefundRecipientPartyType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeRefundRecipientPartyType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeRefundRecipientPartyType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsItemTypeValuationAdjustmentType + +#Region "Private fields" + Private _additionCode As String + + Private _valuationAdjustmentAmount As priceType_16_2 + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._valuationAdjustmentAmount = New priceType_16_2() + End Sub + + + Public Property additionCode() As String + Get + Return Me._additionCode + End Get + Set + Me._additionCode = Value + End Set + End Property + + Public Property valuationAdjustmentAmount() As priceType_16_2 + Get + Return Me._valuationAdjustmentAmount + End Get + Set + Me._valuationAdjustmentAmount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeValuationAdjustmentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsItemTypeValuationAdjustmentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsItemTypeValuationAdjustmentType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsItemTypeValuationAdjustmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeValuationAdjustmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeValuationAdjustmentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeValuationAdjustmentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeValuationAdjustmentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeValuationAdjustmentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeValuationAdjustmentType + Return CType(Serializer.Deserialize(s), goodsItemTypeValuationAdjustmentType) + End Function +#End Region + + ''' + ''' Serializes current goodsItemTypeValuationAdjustmentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsItemTypeValuationAdjustmentType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsItemTypeValuationAdjustmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeValuationAdjustmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsItemTypeValuationAdjustmentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeValuationAdjustmentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeValuationAdjustmentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class portType + +#Region "Private fields" + Private _portCode As String + + Private _portCountry As String + + Private _portLocationName As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property portCode() As String + Get + Return Me._portCode + End Get + Set + Me._portCode = Value + End Set + End Property + + Public Property portCountry() As String + Get + Return Me._portCountry + End Get + Set + Me._portCountry = Value + End Set + End Property + + Public Property portLocationName() As String + Get + Return Me._portLocationName + End Get + Set + Me._portLocationName = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(portType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current portType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an portType object + ''' + ''' string workflow markup to deserialize + ''' Output portType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As portType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, portType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As portType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As portType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), portType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As portType + Return CType(Serializer.Deserialize(s), portType) + End Function +#End Region + + ''' + ''' Serializes current portType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an portType object + ''' + ''' string xml file to load and deserialize + ''' Output portType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As portType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, portType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As portType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As portType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class inCoTermType + +#Region "Private fields" + Private _inCoTerm As inCoTerm + + Private _inCoTermCountryRelationship As UShort + + Private _inCoTermPlaceCode As String + + Private _inCoTermPlaceName As String + + Private _inCoTermPlaceDescription As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property inCoTerm() As inCoTerm + Get + Return Me._inCoTerm + End Get + Set + Me._inCoTerm = Value + End Set + End Property + + Public Property inCoTermCountryRelationship() As UShort + Get + Return Me._inCoTermCountryRelationship + End Get + Set + Me._inCoTermCountryRelationship = Value + End Set + End Property + + Public Property inCoTermPlaceCode() As String + Get + Return Me._inCoTermPlaceCode + End Get + Set + Me._inCoTermPlaceCode = Value + End Set + End Property + + Public Property inCoTermPlaceName() As String + Get + Return Me._inCoTermPlaceName + End Get + Set + Me._inCoTermPlaceName = Value + End Set + End Property + + Public Property inCoTermPlaceDescription() As String + Get + Return Me._inCoTermPlaceDescription + End Get + Set + Me._inCoTermPlaceDescription = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(inCoTermType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current inCoTermType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an inCoTermType object + ''' + ''' string workflow markup to deserialize + ''' Output inCoTermType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As inCoTermType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, inCoTermType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As inCoTermType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As inCoTermType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), inCoTermType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As inCoTermType + Return CType(Serializer.Deserialize(s), inCoTermType) + End Function +#End Region + + ''' + ''' Serializes current inCoTermType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an inCoTermType object + ''' + ''' string xml file to load and deserialize + ''' Output inCoTermType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As inCoTermType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, inCoTermType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As inCoTermType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As inCoTermType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum inCoTerm + + ''' + CFR + + ''' + CIF + + ''' + CIP + + ''' + CPT + + ''' + DAF + + ''' + DAP + + ''' + DAT + + ''' + DDP + + ''' + DDU + + ''' + DEQ + + ''' + DES + + ''' + EXW + + ''' + FAS + + ''' + FCA + + ''' + FOB + + ''' + XXX + End Enum + + + Partial Public Class consignmentType + +#Region "Private fields" + Private _borderTransportMeansType As consignmentTypeBorderTransportMeansType + + Private _departureTransportMeansType As consignmentTypeDepartureTransportMeansType + + Private _arrivalTransportMeansType As consignmentTypeArrivalTransportMeansType + + Private _freightType As consignmentTypeFreightType + + Private _goodsLocationName As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._freightType = New consignmentTypeFreightType() + Me._arrivalTransportMeansType = New consignmentTypeArrivalTransportMeansType() + Me._departureTransportMeansType = New consignmentTypeDepartureTransportMeansType() + Me._borderTransportMeansType = New consignmentTypeBorderTransportMeansType() + End Sub + + Public Property borderTransportMeansType() As consignmentTypeBorderTransportMeansType + Get + Return Me._borderTransportMeansType + End Get + Set + Me._borderTransportMeansType = Value + End Set + End Property + + Public Property departureTransportMeansType() As consignmentTypeDepartureTransportMeansType + Get + Return Me._departureTransportMeansType + End Get + Set + Me._departureTransportMeansType = Value + End Set + End Property + + Public Property arrivalTransportMeansType() As consignmentTypeArrivalTransportMeansType + Get + Return Me._arrivalTransportMeansType + End Get + Set + Me._arrivalTransportMeansType = Value + End Set + End Property + + Public Property freightType() As consignmentTypeFreightType + Get + Return Me._freightType + End Get + Set + Me._freightType = Value + End Set + End Property + + Public Property goodsLocationName() As String + Get + Return Me._goodsLocationName + End Get + Set + Me._goodsLocationName = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignmentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignmentType object + ''' + ''' string workflow markup to deserialize + ''' Output consignmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentType + Return CType(Serializer.Deserialize(s), consignmentType) + End Function +#End Region + + ''' + ''' Serializes current consignmentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignmentType object + ''' + ''' string xml file to load and deserialize + ''' Output consignmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class consignmentTypeBorderTransportMeansType + +#Region "Private fields" + Private _modeCrossing As modeTransport + + Private _nationalityCrossing As String + + Private _identificationCrossingBorder As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property modeCrossing() As modeTransport + Get + Return Me._modeCrossing + End Get + Set + Me._modeCrossing = Value + End Set + End Property + + Public Property nationalityCrossing() As String + Get + Return Me._nationalityCrossing + End Get + Set + Me._nationalityCrossing = Value + End Set + End Property + + Public Property identificationCrossingBorder() As String + Get + Return Me._identificationCrossingBorder + End Get + Set + Me._identificationCrossingBorder = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeBorderTransportMeansType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignmentTypeBorderTransportMeansType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignmentTypeBorderTransportMeansType object + ''' + ''' string workflow markup to deserialize + ''' Output consignmentTypeBorderTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeBorderTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeBorderTransportMeansType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeBorderTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeBorderTransportMeansType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeBorderTransportMeansType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeBorderTransportMeansType + Return CType(Serializer.Deserialize(s), consignmentTypeBorderTransportMeansType) + End Function +#End Region + + ''' + ''' Serializes current consignmentTypeBorderTransportMeansType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignmentTypeBorderTransportMeansType object + ''' + ''' string xml file to load and deserialize + ''' Output consignmentTypeBorderTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeBorderTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeBorderTransportMeansType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeBorderTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeBorderTransportMeansType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum modeTransport + + ''' + AIR + + ''' + HUMAN + + ''' + POSTAL + + ''' + RAIL + + ''' + ROAD + + ''' + SEA + + ''' + INLAND_WATERWAYS + End Enum + + + Partial Public Class consignmentTypeDepartureTransportMeansType + +#Region "Private fields" + Private _modeTransport As modeTransport + + Private _identificationDeparture As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property modeTransport() As modeTransport + Get + Return Me._modeTransport + End Get + Set + Me._modeTransport = Value + End Set + End Property + + Public Property identificationDeparture() As String + Get + Return Me._identificationDeparture + End Get + Set + Me._identificationDeparture = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeDepartureTransportMeansType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignmentTypeDepartureTransportMeansType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignmentTypeDepartureTransportMeansType object + ''' + ''' string workflow markup to deserialize + ''' Output consignmentTypeDepartureTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeDepartureTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeDepartureTransportMeansType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeDepartureTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeDepartureTransportMeansType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeDepartureTransportMeansType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeDepartureTransportMeansType + Return CType(Serializer.Deserialize(s), consignmentTypeDepartureTransportMeansType) + End Function +#End Region + + ''' + ''' Serializes current consignmentTypeDepartureTransportMeansType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignmentTypeDepartureTransportMeansType object + ''' + ''' string xml file to load and deserialize + ''' Output consignmentTypeDepartureTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeDepartureTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeDepartureTransportMeansType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeDepartureTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeDepartureTransportMeansType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class consignmentTypeArrivalTransportMeansType + +#Region "Private fields" + Private _modeTransport As modeTransport + + Private _identificationArrival As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property modeTransport() As modeTransport + Get + Return Me._modeTransport + End Get + Set + Me._modeTransport = Value + End Set + End Property + + Public Property identificationArrival() As String + Get + Return Me._identificationArrival + End Get + Set + Me._identificationArrival = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeArrivalTransportMeansType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignmentTypeArrivalTransportMeansType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignmentTypeArrivalTransportMeansType object + ''' + ''' string workflow markup to deserialize + ''' Output consignmentTypeArrivalTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeArrivalTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeArrivalTransportMeansType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeArrivalTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeArrivalTransportMeansType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeArrivalTransportMeansType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeArrivalTransportMeansType + Return CType(Serializer.Deserialize(s), consignmentTypeArrivalTransportMeansType) + End Function +#End Region + + ''' + ''' Serializes current consignmentTypeArrivalTransportMeansType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignmentTypeArrivalTransportMeansType object + ''' + ''' string xml file to load and deserialize + ''' Output consignmentTypeArrivalTransportMeansType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeArrivalTransportMeansType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeArrivalTransportMeansType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeArrivalTransportMeansType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeArrivalTransportMeansType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class consignmentTypeFreightType + +#Region "Private fields" + Private _paymentMethod As modePaymentTransport + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property paymentMethod() As modePaymentTransport + Get + Return Me._paymentMethod + End Get + Set + Me._paymentMethod = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeFreightType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignmentTypeFreightType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignmentTypeFreightType object + ''' + ''' string workflow markup to deserialize + ''' Output consignmentTypeFreightType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeFreightType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeFreightType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeFreightType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeFreightType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeFreightType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeFreightType + Return CType(Serializer.Deserialize(s), consignmentTypeFreightType) + End Function +#End Region + + ''' + ''' Serializes current consignmentTypeFreightType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignmentTypeFreightType object + ''' + ''' string xml file to load and deserialize + ''' Output consignmentTypeFreightType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeFreightType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignmentTypeFreightType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeFreightType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeFreightType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum modePaymentTransport + + ''' + CASH + + ''' + CREDIT_CARD + + ''' + CHECK + + ''' + OTHER + + ''' + ELECTRONIC + + ''' + ACCOUNT_HOLDER + + ''' + NOT_PAYED_BEFOREHAND + End Enum + + + Partial Public Class consignorType + +#Region "Private fields" + Private _name As String + + Private _address As addressType + + Private _eoriNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._address = New addressType() + End Sub + + Public Property name() As String + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property address() As addressType + Get + Return Me._address + End Get + Set + Me._address = Value + End Set + End Property + + + Public Property eoriNumber() As String + Get + Return Me._eoriNumber + End Get + Set + Me._eoriNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignorType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consignorType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consignorType object + ''' + ''' string workflow markup to deserialize + ''' Output consignorType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignorType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignorType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignorType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consignorType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignorType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignorType + Return CType(Serializer.Deserialize(s), consignorType) + End Function +#End Region + + ''' + ''' Serializes current consignorType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consignorType object + ''' + ''' string xml file to load and deserialize + ''' Output consignorType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignorType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consignorType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignorType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignorType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class consigneeType + +#Region "Private fields" + Private _name As String + + Private _address As addressType + + Private _eoriNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._address = New addressType() + End Sub + + Public Property name() As String + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property address() As addressType + Get + Return Me._address + End Get + Set + Me._address = Value + End Set + End Property + + + Public Property eoriNumber() As String + Get + Return Me._eoriNumber + End Get + Set + Me._eoriNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consigneeType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current consigneeType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an consigneeType object + ''' + ''' string workflow markup to deserialize + ''' Output consigneeType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consigneeType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consigneeType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consigneeType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As consigneeType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consigneeType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consigneeType + Return CType(Serializer.Deserialize(s), consigneeType) + End Function +#End Region + + ''' + ''' Serializes current consigneeType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an consigneeType object + ''' + ''' string xml file to load and deserialize + ''' Output consigneeType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consigneeType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, consigneeType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consigneeType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consigneeType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class goodsShipmentType + +#Region "Private fields" + Private _countryOfExportation As String + + Private _natureOfTransaction As UShort + + Private _deliveryDestination As String + + Private _consignee As consigneeType + + Private _consignor As consignorType + + Private _consignment As consignmentType + + Private _exitOffice As String + + Private _internationalCommercialTerms As inCoTermType + + Private _portOfLoading As portType + + Private _portOfDischarge As portType + + Private _shippingLine As String + + Private _goodsItem As List(Of goodsItemType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._goodsItem = New List(Of goodsItemType)() + Me._portOfDischarge = New portType() + Me._portOfLoading = New portType() + Me._internationalCommercialTerms = New inCoTermType() + Me._consignment = New consignmentType() + Me._consignor = New consignorType() + Me._consignee = New consigneeType() + End Sub + + Public Property countryOfExportation() As String + Get + Return Me._countryOfExportation + End Get + Set + Me._countryOfExportation = Value + End Set + End Property + + Public Property natureOfTransaction() As UShort + Get + Return Me._natureOfTransaction + End Get + Set + Me._natureOfTransaction = Value + End Set + End Property + + Public Property deliveryDestination() As String + Get + Return Me._deliveryDestination + End Get + Set + Me._deliveryDestination = Value + End Set + End Property + + Public Property consignee() As consigneeType + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property consignor() As consignorType + Get + Return Me._consignor + End Get + Set + Me._consignor = Value + End Set + End Property + + Public Property consignment() As consignmentType + Get + Return Me._consignment + End Get + Set + Me._consignment = Value + End Set + End Property + + + Public Property exitOffice() As String + Get + Return Me._exitOffice + End Get + Set + Me._exitOffice = Value + End Set + End Property + + Public Property internationalCommercialTerms() As inCoTermType + Get + Return Me._internationalCommercialTerms + End Get + Set + Me._internationalCommercialTerms = Value + End Set + End Property + + Public Property portOfLoading() As portType + Get + Return Me._portOfLoading + End Get + Set + Me._portOfLoading = Value + End Set + End Property + + Public Property portOfDischarge() As portType + Get + Return Me._portOfDischarge + End Get + Set + Me._portOfDischarge = Value + End Set + End Property + + Public Property shippingLine() As String + Get + Return Me._shippingLine + End Get + Set + Me._shippingLine = Value + End Set + End Property + + + Public Property goodsItem() As List(Of goodsItemType) + Get + Return Me._goodsItem + End Get + Set + Me._goodsItem = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsShipmentType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current goodsShipmentType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an goodsShipmentType object + ''' + ''' string workflow markup to deserialize + ''' Output goodsShipmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsShipmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsShipmentType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsShipmentType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As goodsShipmentType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsShipmentType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsShipmentType + Return CType(Serializer.Deserialize(s), goodsShipmentType) + End Function +#End Region + + ''' + ''' Serializes current goodsShipmentType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an goodsShipmentType object + ''' + ''' string xml file to load and deserialize + ''' Output goodsShipmentType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsShipmentType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, goodsShipmentType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsShipmentType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsShipmentType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class principalType + +#Region "Private fields" + Private _nameType As principalTypeNameType + + Private _address As addressType + + Private _taxIdentificationNumber As String + + Private _contactPersonType As principalTypeContactPersonType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._contactPersonType = New principalTypeContactPersonType() + Me._address = New addressType() + Me._nameType = New principalTypeNameType() + End Sub + + Public Property nameType() As principalTypeNameType + Get + Return Me._nameType + End Get + Set + Me._nameType = Value + End Set + End Property + + Public Property address() As addressType + Get + Return Me._address + End Get + Set + Me._address = Value + End Set + End Property + + Public Property taxIdentificationNumber() As String + Get + Return Me._taxIdentificationNumber + End Get + Set + Me._taxIdentificationNumber = Value + End Set + End Property + + Public Property contactPersonType() As principalTypeContactPersonType + Get + Return Me._contactPersonType + End Get + Set + Me._contactPersonType = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current principalType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an principalType object + ''' + ''' string workflow markup to deserialize + ''' Output principalType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As principalType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalType + Return CType(Serializer.Deserialize(s), principalType) + End Function +#End Region + + ''' + ''' Serializes current principalType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an principalType object + ''' + ''' string xml file to load and deserialize + ''' Output principalType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class principalTypeNameType + +#Region "Private fields" + Private _language As String + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property language() As String + Get + Return Me._language + End Get + Set + Me._language = Value + End Set + End Property + + + Public Property Value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalTypeNameType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current principalTypeNameType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an principalTypeNameType object + ''' + ''' string workflow markup to deserialize + ''' Output principalTypeNameType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeNameType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalTypeNameType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeNameType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As principalTypeNameType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalTypeNameType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalTypeNameType + Return CType(Serializer.Deserialize(s), principalTypeNameType) + End Function +#End Region + + ''' + ''' Serializes current principalTypeNameType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an principalTypeNameType object + ''' + ''' string xml file to load and deserialize + ''' Output principalTypeNameType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeNameType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalTypeNameType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeNameType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalTypeNameType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class principalTypeContactPersonType + +#Region "Private fields" + Private _contactPersonName As String + + Private _contactPersonCommunicationNumber As String + + Private _contactPersonEmail As String + + Private _contactPersonFaxNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property contactPersonName() As String + Get + Return Me._contactPersonName + End Get + Set + Me._contactPersonName = Value + End Set + End Property + + Public Property contactPersonCommunicationNumber() As String + Get + Return Me._contactPersonCommunicationNumber + End Get + Set + Me._contactPersonCommunicationNumber = Value + End Set + End Property + + Public Property contactPersonEmail() As String + Get + Return Me._contactPersonEmail + End Get + Set + Me._contactPersonEmail = Value + End Set + End Property + + Public Property contactPersonFaxNumber() As String + Get + Return Me._contactPersonFaxNumber + End Get + Set + Me._contactPersonFaxNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalTypeContactPersonType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current principalTypeContactPersonType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an principalTypeContactPersonType object + ''' + ''' string workflow markup to deserialize + ''' Output principalTypeContactPersonType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeContactPersonType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalTypeContactPersonType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeContactPersonType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As principalTypeContactPersonType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalTypeContactPersonType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalTypeContactPersonType + Return CType(Serializer.Deserialize(s), principalTypeContactPersonType) + End Function +#End Region + + ''' + ''' Serializes current principalTypeContactPersonType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an principalTypeContactPersonType object + ''' + ''' string xml file to load and deserialize + ''' Output principalTypeContactPersonType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeContactPersonType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, principalTypeContactPersonType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeContactPersonType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalTypeContactPersonType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd new file mode 100644 index 0000000..4cf6d07 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd @@ -0,0 +1,939 @@ + + + + + + + + + Customs approved data for creating an export declaration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + European Union registration and identification number for businesses + which undertake the import or export of goods into or out of the EU. + It comprises of the ISO 3166 Alpha-2 country code followed by + a code or number that is unique in the member state. + + + + + + + + + + + + + + European Union registration and identification number for businesses + which undertake the import or export of goods into or out of the EU. + It comprises of the ISO 3166 Alpha-2 country code followed by + a code or number that is unique in the member state. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must have an extension so the user can open it with the corresponding program + + + + + + + + + + + Example 380 for invoice,... + + + + + + Contains the invoice number, MRN or other reference markers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A universally unique type 4 identifier (UUID) is a 128-bit number used to identify a single exchange document. + The term globally unique identifier (GUID) is also used, typically in software created by Microsoft. + + + + + + + + + + + + Version of the schema used. + + + + + + + + + + + + ISO 8601 Date and time with timezone added relative to UTC. For example, 2019-01-01T12:00:00+01:00 for UK time + Content is yyyy-mm-ddThh:mm:ssphh:mm where p is + or -. Note that the time zone is required. + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a03.html + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a04.html + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/customs/customs-processes/special-procedures/special-procedures-for-goods/special-procedures-for-goods + + + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%20sagitta%2C%20onderdeel%20algemeen-a27.html + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-116.html + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a14.html + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a22.html + + + + + + + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a89.html + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a35.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a11.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a28.html + + + + + + + + + + + + UN IDs are four-digit numbers that identify dangerous goods, hazardous substances and articles + in the framework of international transport. + They are assigned by the United Nations Committee of Experts on the Transport of Dangerous Goods. + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-t03.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a12.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-a25.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%2C%20onderdeel%20aangiftebehandeling-s20.html + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%20sagitta%2C%20onderdeel%20algemeen-s03.html + + + + + + + + + + + + X - Summiere Aangifte + Y - Oorspronkelijke Aangifte + Z - Voorafgaand Document + + + + + + + + + + + + + https://www.belastingdienst.nl/codeboek_sagitta/huidig/html/tabel-codeboek%20sagitta%2C%20onderdeel%20transit-014.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Placeholder for container nr, train, barge, plane etc. + + + + + + + + + + + + ISO 4217 currency code, + like GBP for pound sterling or EUR for Euro + + + + + + + + + + + ISO 3166 Alpha-2 country code, + like GB for the United Kingdom of Great Britain and Northern Ireland, + and NL for the Kingdom of the Netherlands + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copyright 2020 gaston-schul.com and/or its affiliates. All rights reserved. + Marcel Mullenders + + + End-User License Agreement (EULA) of ags customs exchange + + This End-User License Agreement ("EULA") is a legal agreement between you and Gaston Schul + This EULA agreement governs your acquisition and use of our ags customs exchange software ("Software") + directly from Gaston Schul or indirectly through a Gaston Schul authorized reseller or distributor (a "Reseller"). + Please read this EULA agreement carefully before completing the installation process and using the ags customs exchange software. + It provides a license to use the ags customs exchange software and contains warranty information and liability disclaimers. + + If you are entering into this EULA agreement on behalf of a company or other legal entity, + you represent that you have the authority to bind such entity and its affiliates to these terms and conditions. + If you do not have such authority or if you do not agree with the terms and conditions of this EULA agreement, + do not install or use the Software, and you must not accept this EULA agreement. + + This EULA agreement shall apply only to the Software supplied by Gaston Schul herewith regardless of whether other + software is referred to or described herein. The terms also apply to any Gaston Schul updates, supplements, Internet-based services, + and support services for the Software, unless other terms accompany those items on delivery. If so, those terms apply. + + License Grant + + Gaston Schul hereby grants you a personal, non-transferable, non-exclusive licence to use the v software on your devices + in accordance with the terms of this EULA agreement. You are permitted to load the ags customs exchange software (for example a PC, laptop, mobile or tablet) + under your control. You are responsible for ensuring your device meets the minimum requirements of the ags customs exchange software. + + You are not permitted to: + + Edit, alter, modify, adapt or otherwise change the whole or any part of the Software + Attempt to do any such things as to distribute or resell the Software + Allow any third party to use the Software on behalf of or for the benefit of any third party + Use the Software in any way which breaches any applicable local, national or international law + Use the Software for any purpose that Gaston Schul considers is a breach of this EULA agreement + + Intellectual Property and Ownership + + Gaston Schul shall at all times retain ownership of the Software as originally downloaded by you and all subsequent downloads of the Software by you. + The Software (and the copyright, and other intellectual property rights of whatever nature in the Software, including any modifications made thereto) + are and shall remain the property of Gaston Schul. + Gaston Schul reserves the right to grant licences to use the Software to third parties. + + Termination + + This EULA agreement is effective from the date you first use the Software and shall continue until terminated. + You may terminate it at any time. + It will also terminate immediately if you fail to comply with any term of this EULA agreement. + Upon such termination, the licenses granted by this EULA agreement will immediately terminate and you agree to stop all access and use of the Software. + The provisions that by their nature continue and survive will survive any termination of this EULA agreement. + + Governing Law + + This EULA agreement, and any dispute arising out of or in connection with this EULA agreement, + shall be governed by and construed in accordance with the laws of the Netherlands. + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.Designer.vb new file mode 100644 index 0000000..057e7fc --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.Designer.vb @@ -0,0 +1,88 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_EXPORT_BasicListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace MIC_EXPORT_Basic + + + Public Enum ShipmentType + + ''' + E + + ''' + B + + ''' + I + + ''' + X + + ''' + N + End Enum + + + Public Enum ContainerCode + + ''' + + Item1 + + ''' + + Item0 + End Enum + + + Public Enum PartnerTyp + + ''' + EX + + ''' + DT + + ''' + AE + + ''' + EV + End Enum + + + Public Enum AddCostsSplitType + + ''' + V + + ''' + Q + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.xsd new file mode 100644 index 0000000..7cfba80 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportBasicTypes.xsd @@ -0,0 +1,1122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + item number + + + + + + item description + + + + + + + + + additional code + + + + + + + + address number + + + + + + + + address name + + + + + + + + address street + + + + + + + + + + + + + + + + + + + + + + + + + + + + TIN + + + + + + + + VAT ID + + + + + + + + + + + + + + + + + + + invoice Value + + + + + + + + + currency + + + + + + + + account number + + + + + + + + Stock Type + + + + + + + + type of transaction + + + + + + + + statistical code customs procedure + + + + + + + + customs procedure code + + + + + + + + customs office + + + + + + + + ModeOfTransport + + + + + + + + quantity + + + + + + + + + unit of measurement + + + + + + + + Shipment ID + + + + + + + + Partial number of shipment + + + + + + + + Shipment typeValid values:E … Third countriesB … EU (Intrastat)I … DomesticX … Conversion end product + + + + + + + + + + + + + + IsoCode of country + + + + + + + + place of destination + + + + + + + + Place Of Loading + + + + + + + + container code + + + + + + + + + + + number( 17,2) + + + + + + + + + invoice type + + + + + + + + + + + + + loading list + + + + + + + + number(15,6) + + + + + + + + + number(12,3) + + + + + + + + + number( 17,4) + + + + + + + + + number(13,4) + + + + + + + + + number(13,4) + + + + + + + + + Flag Additional costs + + + + + + + + + type of addtional cost + + + + + + + + GroupId + + + + + + + + sign mot + + + + + + + + additional Text + + + + + + + + Envelope:Unique transactionId used for communication with client + + + + + + + + Envelope:running count + + + + + + envelope:Unique Message ID used for communication in message envelope + + + + + + + + + Envelope:code of message schema version + + + + + + Envelope: communication partner + + + + + + + + + Generic key (key value) + + + + + + + + + Generic value (key value) + + + + + + + + + source system of error + + + + + + + + + Error Code returned to client + + + + + + error categories: severe, warning,... + + + + + + + + + errortext in local language + + + + + + + + action requested from web service + + + + + + + + + mime type of attachement eg. pdf + + + + + + + + binary file endocded + + + + + + Creator of attachment + + + + + + + + Envelope:connect ID + + + + + + + + + HintTexts + + + + + + + + type of representation + + + + + + + + + registration number in an external system + + + + + + + + + type of attribute + + + + + + text of attribute + + + + + + + + type of partner + + + + + + + + + + + + + relation of partner + + + + + + + + + operator of reference + + + + + + + + + reference number + + + + + + + + + unit price + + + + + + + + + party constellation + + + + + + + + location of goods code + + + + + + + + location of goods addition + + + + + + + + national tin flag + + + + + + + + national additional code + + + + + + + + statistical value + + + + + + + + + MovementReferenceNumber + + + + + + + + container type + + + + + + + + type of mean of transport + + + + + + + + additional splitt costs + + + + + + + + + + special Circumstances + + + + + + + + carriage costs + + + + + + + + Shipment Identifaction Number + + + + + + + + ContactType + + + + + + + + Dangerous Goods + + + + + + + + + + + + + Import Reference Type + + + + + + + + Customs Authorisation Number + + + + + + + + Shipment Reference Number + + + + + + + + Line Number of the Import Declaration + + + + + + + + Customs Reference Number of the Import Declaration + + + + + + + + Flag for Usual Treatment + + + + + + + + + Flag for Import into Atlas + + + + + + + + + additional Information + + + + + + + + qualifier + + + + + + + + EUCode + + + + + + + + Express + + + + + + + + Defaultname for the routing information (Default stored in MIC-Cust) + + + + + + + + customs authorisation number (will overwrite the authoritsation number for a declaration) + + + + + + + + INCO term + + + + + + + + additional code for national declaration + + + + + + + + flag no license required noegkz + + + + + + + + date of license egdat + + + + + + license number egnr + + + + + + + + product group + + + + + + + + The HS tariff code + + + + + + + + VAT code + + + + + + + + Excise tax code + + + + + + + + The unit of measure for complQuantity besmeh + + + + + + + + The reporting quantity if HS code requires specific statistical UOM. besm + + + + + + + + + number(11,4) + + + + + + + + + number( 16,4) + + + + + + + + + The statistical code of the customs procedure evkz + + + + + + + + document type + + + + + + + + document number + + + + + + + + buyer number + + + + + + + + registration number arrival + + + + + + + + + The preference request code that indicates if a preferential duty rate should be applied. pac + + + + + + + + Import quota kontgt + + + + + + + + The number of packages for this invoice + + + + + + + + The types of packages + + + + + + + + The date of the preference document wpdat + + + + + + The number of the preference document wnr + + + + + + + + The type of the preference document wpn + + + + + + + + order line number + + + + + + + + order number + + + + + + + + order number + + + + + + + + Flag for end use indicator + + + + + + + + + Flag for end use usage + + + + + + + + + Type of inf form + + + + + + + + number(6,3) + + + + + + + + + Global Trade - Configure To Order - ID + + + + + + + + bm code bmcode + + + + + + + + date for ipr continued processing + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.Designer.vb new file mode 100644 index 0000000..3842736 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.Designer.vb @@ -0,0 +1,9501 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_EXPORT_ComponentsListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic +Imports VERAG_PROG_ALLGEMEIN.MIC_EXPORT_Basic + +Namespace MIC_EXPORT_Components + + + Partial Public Class TItem + +#Region "Private fields" + Private _itemNo As String + + Private _itemDesc As String + + Private _commCode As String + + Private _prodGr As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property itemNo() As String + Get + Return Me._itemNo + End Get + Set + Me._itemNo = Value + End Set + End Property + + Public Property itemDesc() As String + Get + Return Me._itemDesc + End Get + Set + Me._itemDesc = Value + End Set + End Property + + Public Property commCode() As String + Get + Return Me._commCode + End Get + Set + Me._commCode = Value + End Set + End Property + + Public Property prodGr() As String + Get + Return Me._prodGr + End Get + Set + Me._prodGr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TItem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TItem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TItem object + ''' + ''' string workflow markup to deserialize + ''' Output TItem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TItem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TItem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TItem + Return CType(Serializer.Deserialize(s), TItem) + End Function +#End Region + + ''' + ''' Serializes current TItem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TItem object + ''' + ''' string xml file to load and deserialize + ''' Output TItem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TItem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAddress + +#Region "Private fields" + Private _addrNo As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrState As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrVatId As String + + Private _addrEori As String + + Private _addrNatT As String + + Private _branchNo As String + + Private _addrKvb As String + + Private _contactPerson As TContactPerson + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._contactPerson = New TContactPerson() + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrState() As String + Get + Return Me._addrState + End Get + Set + Me._addrState = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrVatId() As String + Get + Return Me._addrVatId + End Get + Set + Me._addrVatId = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property addrNatT() As String + Get + Return Me._addrNatT + End Get + Set + Me._addrNatT = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + Public Property addrKvb() As String + Get + Return Me._addrKvb + End Get + Set + Me._addrKvb = Value + End Set + End Property + + Public Property contactPerson() As TContactPerson + Get + Return Me._contactPerson + End Get + Set + Me._contactPerson = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddress object + ''' + ''' string workflow markup to deserialize + ''' Output TAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddress + Return CType(Serializer.Deserialize(s), TAddress) + End Function +#End Region + + ''' + ''' Serializes current TAddress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddress object + ''' + ''' string xml file to load and deserialize + ''' Output TAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TContactPerson + +#Region "Private fields" + Private _job As String + + Private _name As String + + Private _email As String + + Private _phone As String + + Private _fax As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property job() As String + Get + Return Me._job + End Get + Set + Me._job = Value + End Set + End Property + + Public Property name() As String + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property email() As String + Get + Return Me._email + End Get + Set + Me._email = Value + End Set + End Property + + Public Property phone() As String + Get + Return Me._phone + End Get + Set + Me._phone = Value + End Set + End Property + + Public Property fax() As String + Get + Return Me._fax + End Get + Set + Me._fax = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TContactPerson)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TContactPerson object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TContactPerson object + ''' + ''' string workflow markup to deserialize + ''' Output TContactPerson object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContactPerson, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContactPerson) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContactPerson) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TContactPerson + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TContactPerson) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TContactPerson + Return CType(Serializer.Deserialize(s), TContactPerson) + End Function +#End Region + + ''' + ''' Serializes current TContactPerson object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TContactPerson object + ''' + ''' string xml file to load and deserialize + ''' Output TContactPerson object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContactPerson, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContactPerson) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContactPerson) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TContactPerson + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomsOffice + +#Region "Private fields" + Private _codeOff As String + + Private _offCtry As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property codeOff() As String + Get + Return Me._codeOff + End Get + Set + Me._codeOff = Value + End Set + End Property + + Public Property offCtry() As String + Get + Return Me._offCtry + End Get + Set + Me._offCtry = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomsOffice)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomsOffice object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomsOffice object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomsOffice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomsOffice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomsOffice) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomsOffice) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomsOffice + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomsOffice) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomsOffice + Return CType(Serializer.Deserialize(s), TCustomsOffice) + End Function +#End Region + + ''' + ''' Serializes current TCustomsOffice object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomsOffice object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomsOffice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomsOffice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomsOffice) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomsOffice) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomsOffice + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TMotInl + +#Region "Private fields" + Private _mot As String + + Private _nat As String + + Private _type As String + + Private _licNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property mot() As String + Get + Return Me._mot + End Get + Set + Me._mot = Value + End Set + End Property + + Public Property nat() As String + Get + Return Me._nat + End Get + Set + Me._nat = Value + End Set + End Property + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property licNo() As String + Get + Return Me._licNo + End Get + Set + Me._licNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMotInl)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMotInl object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMotInl object + ''' + ''' string workflow markup to deserialize + ''' Output TMotInl object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMotInl, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMotInl) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMotInl) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMotInl + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMotInl) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMotInl + Return CType(Serializer.Deserialize(s), TMotInl) + End Function +#End Region + + ''' + ''' Serializes current TMotInl object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMotInl object + ''' + ''' string xml file to load and deserialize + ''' Output TMotInl object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMotInl, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMotInl) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMotInl) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMotInl + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TMot + +#Region "Private fields" + Private _mot As String + + Private _nat As String + + Private _type As String + + Private _licNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property mot() As String + Get + Return Me._mot + End Get + Set + Me._mot = Value + End Set + End Property + + Public Property nat() As String + Get + Return Me._nat + End Get + Set + Me._nat = Value + End Set + End Property + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property licNo() As String + Get + Return Me._licNo + End Get + Set + Me._licNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMot)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMot object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMot object + ''' + ''' string workflow markup to deserialize + ''' Output TMot object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMot, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMot) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMot) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMot + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMot) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMot + Return CType(Serializer.Deserialize(s), TMot) + End Function +#End Region + + ''' + ''' Serializes current TMot object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMot object + ''' + ''' string xml file to load and deserialize + ''' Output TMot object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMot, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMot) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMot) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMot + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TFreight + +#Region "Private fields" + Private _flag As String + + Private _amount As Decimal + + Private _curr As String + + Private _noneu As Decimal + + Private _eunat As Decimal + + Private _nat As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property flag() As String + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + Public Property noneu() As Decimal + Get + Return Me._noneu + End Get + Set + Me._noneu = Value + End Set + End Property + + Public Property eunat() As Decimal + Get + Return Me._eunat + End Get + Set + Me._eunat = Value + End Set + End Property + + Public Property nat() As Decimal + Get + Return Me._nat + End Get + Set + Me._nat = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TFreight)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TFreight object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TFreight object + ''' + ''' string workflow markup to deserialize + ''' Output TFreight object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreight, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreight) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreight) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TFreight + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TFreight) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TFreight + Return CType(Serializer.Deserialize(s), TFreight) + End Function +#End Region + + ''' + ''' Serializes current TFreight object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TFreight object + ''' + ''' string xml file to load and deserialize + ''' Output TFreight object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreight, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreight) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreight) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TFreight + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAssurance + +#Region "Private fields" + Private _flag As String + + Private _amount As Decimal + + Private _curr As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property flag() As String + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAssurance)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAssurance object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAssurance object + ''' + ''' string workflow markup to deserialize + ''' Output TAssurance object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAssurance, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAssurance) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAssurance) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAssurance + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAssurance) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAssurance + Return CType(Serializer.Deserialize(s), TAssurance) + End Function +#End Region + + ''' + ''' Serializes current TAssurance object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAssurance object + ''' + ''' string xml file to load and deserialize + ''' Output TAssurance object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAssurance, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAssurance) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAssurance) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAssurance + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAddCosts + +#Region "Private fields" + Private _type As String + + Private _flag As TAddCostsFlag + + Private _amount As Decimal + + Private _curr As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property flag() As TAddCostsFlag + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddCosts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddCosts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddCosts object + ''' + ''' string workflow markup to deserialize + ''' Output TAddCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCosts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCosts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddCosts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddCosts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddCosts + Return CType(Serializer.Deserialize(s), TAddCosts) + End Function +#End Region + + ''' + ''' Serializes current TAddCosts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddCosts object + ''' + ''' string xml file to load and deserialize + ''' Output TAddCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCosts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCosts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddCosts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TAddCostsFlag + + ''' + P + + ''' + V + End Enum + + + Partial Public Class TAddCostsShipment + +#Region "Private fields" + Private _curr As String + + Private _amount As Decimal + + Private _flag As TAddCostsShipmentFlag + + Private _type As String + + Private _splitFlag As AddCostsSplitType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property flag() As TAddCostsShipmentFlag + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property splitFlag() As AddCostsSplitType + Get + Return Me._splitFlag + End Get + Set + Me._splitFlag = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddCostsShipment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddCostsShipment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddCostsShipment object + ''' + ''' string workflow markup to deserialize + ''' Output TAddCostsShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCostsShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCostsShipment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCostsShipment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddCostsShipment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddCostsShipment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddCostsShipment + Return CType(Serializer.Deserialize(s), TAddCostsShipment) + End Function +#End Region + + ''' + ''' Serializes current TAddCostsShipment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddCostsShipment object + ''' + ''' string xml file to load and deserialize + ''' Output TAddCostsShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCostsShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCostsShipment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCostsShipment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddCostsShipment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TAddCostsShipmentFlag + + ''' + P + + ''' + V + End Enum + + + Partial Public Class TDelTerm + +#Region "Private fields" + Private _code As String + + Private _desc As String + + Private _code2 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property desc() As String + Get + Return Me._desc + End Get + Set + Me._desc = Value + End Set + End Property + + Public Property code2() As String + Get + Return Me._code2 + End Get + Set + Me._code2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDelTerm)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDelTerm object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDelTerm object + ''' + ''' string workflow markup to deserialize + ''' Output TDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTerm) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDelTerm + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDelTerm) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDelTerm + Return CType(Serializer.Deserialize(s), TDelTerm) + End Function +#End Region + + ''' + ''' Serializes current TDelTerm object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDelTerm object + ''' + ''' string xml file to load and deserialize + ''' Output TDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTerm) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDelTerm + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDelNote + +#Region "Private fields" + Private _delNo As String + + Private _position As Long + + Private _delDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property delNo() As String + Get + Return Me._delNo + End Get + Set + Me._delNo = Value + End Set + End Property + + Public Property position() As Long + Get + Return Me._position + End Get + Set + Me._position = Value + End Set + End Property + + + Public Property delDate() As Date + Get + Return Me._delDate + End Get + Set + Me._delDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDelNote)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDelNote object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDelNote object + ''' + ''' string workflow markup to deserialize + ''' Output TDelNote object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelNote, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelNote) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelNote) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDelNote + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDelNote) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDelNote + Return CType(Serializer.Deserialize(s), TDelNote) + End Function +#End Region + + ''' + ''' Serializes current TDelNote object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDelNote object + ''' + ''' string xml file to load and deserialize + ''' Output TDelNote object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelNote, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelNote) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelNote) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDelNote + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TOrder + +#Region "Private fields" + Private _ordNo As String + + Private _ordDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ordNo() As String + Get + Return Me._ordNo + End Get + Set + Me._ordNo = Value + End Set + End Property + + + Public Property ordDate() As Date + Get + Return Me._ordDate + End Get + Set + Me._ordDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TOrder)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TOrder object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TOrder object + ''' + ''' string workflow markup to deserialize + ''' Output TOrder object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOrder, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOrder) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOrder) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TOrder + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TOrder) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TOrder + Return CType(Serializer.Deserialize(s), TOrder) + End Function +#End Region + + ''' + ''' Serializes current TOrder object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TOrder object + ''' + ''' string xml file to load and deserialize + ''' Output TOrder object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOrder, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOrder) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOrder) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TOrder + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TBomNo + +#Region "Private fields" + Private _no As String + + Private _var As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property no() As String + Get + Return Me._no + End Get + Set + Me._no = Value + End Set + End Property + + Public Property var() As String + Get + Return Me._var + End Get + Set + Me._var = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TBomNo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TBomNo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TBomNo object + ''' + ''' string workflow markup to deserialize + ''' Output TBomNo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TBomNo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TBomNo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TBomNo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TBomNo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TBomNo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TBomNo + Return CType(Serializer.Deserialize(s), TBomNo) + End Function +#End Region + + ''' + ''' Serializes current TBomNo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TBomNo object + ''' + ''' string xml file to load and deserialize + ''' Output TBomNo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TBomNo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TBomNo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TBomNo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TBomNo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttribute + +#Region "Private fields" + Private _attribType As String + + Private _attribText As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property attribType() As String + Get + Return Me._attribType + End Get + Set + Me._attribType = Value + End Set + End Property + + Public Property attribText() As String + Get + Return Me._attribText + End Get + Set + Me._attribText = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttribute)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttribute object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttribute object + ''' + ''' string workflow markup to deserialize + ''' Output TAttribute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttribute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttribute) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttribute) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttribute + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttribute) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttribute + Return CType(Serializer.Deserialize(s), TAttribute) + End Function +#End Region + + ''' + ''' Serializes current TAttribute object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttribute object + ''' + ''' string xml file to load and deserialize + ''' Output TAttribute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttribute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttribute) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttribute) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttribute + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPartner + +#Region "Private fields" + Private _partnerTyp As String + + Private _partnerAddress As TPartnerPartnerAddress + + Private _partnerRelation As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._partnerAddress = New TPartnerPartnerAddress() + End Sub + + Public Property partnerTyp() As String + Get + Return Me._partnerTyp + End Get + Set + Me._partnerTyp = Value + End Set + End Property + + Public Property partnerAddress() As TPartnerPartnerAddress + Get + Return Me._partnerAddress + End Get + Set + Me._partnerAddress = Value + End Set + End Property + + Public Property partnerRelation() As String + Get + Return Me._partnerRelation + End Get + Set + Me._partnerRelation = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPartner)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPartner object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPartner object + ''' + ''' string workflow markup to deserialize + ''' Output TPartner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartner) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartner) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPartner + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPartner) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPartner + Return CType(Serializer.Deserialize(s), TPartner) + End Function +#End Region + + ''' + ''' Serializes current TPartner object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPartner object + ''' + ''' string xml file to load and deserialize + ''' Output TPartner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartner) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartner) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPartner + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPartnerPartnerAddress + +#Region "Private fields" + Private _addrNo As String + + Private _addrNoType As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrStreet2 As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrState As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrEori As String + + Private _addrNatT As String + + Private _branchNo As String + + Private _addrKvb As String + + Private _addrInfo As String + + Private _contactPerson As TContactPerson + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._contactPerson = New TContactPerson() + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + Public Property addrNoType() As String + Get + Return Me._addrNoType + End Get + Set + Me._addrNoType = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrStreet2() As String + Get + Return Me._addrStreet2 + End Get + Set + Me._addrStreet2 = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrState() As String + Get + Return Me._addrState + End Get + Set + Me._addrState = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property addrNatT() As String + Get + Return Me._addrNatT + End Get + Set + Me._addrNatT = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + Public Property addrKvb() As String + Get + Return Me._addrKvb + End Get + Set + Me._addrKvb = Value + End Set + End Property + + Public Property addrInfo() As String + Get + Return Me._addrInfo + End Get + Set + Me._addrInfo = Value + End Set + End Property + + Public Property contactPerson() As TContactPerson + Get + Return Me._contactPerson + End Get + Set + Me._contactPerson = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPartnerPartnerAddress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPartnerPartnerAddress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPartnerPartnerAddress object + ''' + ''' string workflow markup to deserialize + ''' Output TPartnerPartnerAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartnerPartnerAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartnerPartnerAddress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartnerPartnerAddress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPartnerPartnerAddress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPartnerPartnerAddress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPartnerPartnerAddress + Return CType(Serializer.Deserialize(s), TPartnerPartnerAddress) + End Function +#End Region + + ''' + ''' Serializes current TPartnerPartnerAddress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPartnerPartnerAddress object + ''' + ''' string xml file to load and deserialize + ''' Output TPartnerPartnerAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartnerPartnerAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartnerPartnerAddress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartnerPartnerAddress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPartnerPartnerAddress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDeclType + +#Region "Private fields" + Private _type1 As String + + Private _type2 As String + + Private _type3 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type1() As String + Get + Return Me._type1 + End Get + Set + Me._type1 = Value + End Set + End Property + + Public Property type2() As String + Get + Return Me._type2 + End Get + Set + Me._type2 = Value + End Set + End Property + + Public Property type3() As String + Get + Return Me._type3 + End Get + Set + Me._type3 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDeclType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDeclType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDeclType object + ''' + ''' string workflow markup to deserialize + ''' Output TDeclType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeclType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeclType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeclType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDeclType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDeclType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDeclType + Return CType(Serializer.Deserialize(s), TDeclType) + End Function +#End Region + + ''' + ''' Serializes current TDeclType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDeclType object + ''' + ''' string xml file to load and deserialize + ''' Output TDeclType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeclType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeclType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeclType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDeclType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TLocationOfGoods + +#Region "Private fields" + Private _code As String + + Private _street As String + + Private _zip As String + + Private _loc As String + + Private _addit As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property street() As String + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Public Property zip() As String + Get + Return Me._zip + End Get + Set + Me._zip = Value + End Set + End Property + + Public Property loc() As String + Get + Return Me._loc + End Get + Set + Me._loc = Value + End Set + End Property + + Public Property addit() As String + Get + Return Me._addit + End Get + Set + Me._addit = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TLocationOfGoods)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TLocationOfGoods object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TLocationOfGoods object + ''' + ''' string workflow markup to deserialize + ''' Output TLocationOfGoods object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TLocationOfGoods, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TLocationOfGoods) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TLocationOfGoods) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TLocationOfGoods + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TLocationOfGoods) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TLocationOfGoods + Return CType(Serializer.Deserialize(s), TLocationOfGoods) + End Function +#End Region + + ''' + ''' Serializes current TLocationOfGoods object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TLocationOfGoods object + ''' + ''' string xml file to load and deserialize + ''' Output TLocationOfGoods object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TLocationOfGoods, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TLocationOfGoods) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TLocationOfGoods) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TLocationOfGoods + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TImportQuantity + +#Region "Private fields" + Private _qualifier As String + + Private _unit As String + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property qualifier() As String + Get + Return Me._qualifier + End Get + Set + Me._qualifier = Value + End Set + End Property + + Public Property unit() As String + Get + Return Me._unit + End Get + Set + Me._unit = Value + End Set + End Property + + Public Property value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TImportQuantity)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TImportQuantity object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TImportQuantity object + ''' + ''' string workflow markup to deserialize + ''' Output TImportQuantity object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportQuantity, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportQuantity) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportQuantity) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TImportQuantity + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TImportQuantity) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TImportQuantity + Return CType(Serializer.Deserialize(s), TImportQuantity) + End Function +#End Region + + ''' + ''' Serializes current TImportQuantity object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TImportQuantity object + ''' + ''' string xml file to load and deserialize + ''' Output TImportQuantity object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportQuantity, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportQuantity) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportQuantity) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TImportQuantity + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TImportReference + +#Region "Private fields" + Private _type As String + + Private _authNr As String + + Private _impShpNr As String + + Private _lineNo As String + + Private _authRegistryNo As String + + Private _commCode As String + + Private _usualTreatment As String + + Private _importAtlas As String + + Private _addInfo As String + + Private _quantity As TImportQuantity + + Private _tradeQuantity As TImportQuantity + + Private _packageQuantity As Decimal + + Private _netMass As Decimal + + Private _grossMass As Decimal + + Private _statisticalQuantity As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._tradeQuantity = New TImportQuantity() + Me._quantity = New TImportQuantity() + End Sub + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property authNr() As String + Get + Return Me._authNr + End Get + Set + Me._authNr = Value + End Set + End Property + + Public Property impShpNr() As String + Get + Return Me._impShpNr + End Get + Set + Me._impShpNr = Value + End Set + End Property + + + Public Property lineNo() As String + Get + Return Me._lineNo + End Get + Set + Me._lineNo = Value + End Set + End Property + + Public Property authRegistryNo() As String + Get + Return Me._authRegistryNo + End Get + Set + Me._authRegistryNo = Value + End Set + End Property + + Public Property commCode() As String + Get + Return Me._commCode + End Get + Set + Me._commCode = Value + End Set + End Property + + Public Property usualTreatment() As String + Get + Return Me._usualTreatment + End Get + Set + Me._usualTreatment = Value + End Set + End Property + + Public Property importAtlas() As String + Get + Return Me._importAtlas + End Get + Set + Me._importAtlas = Value + End Set + End Property + + Public Property addInfo() As String + Get + Return Me._addInfo + End Get + Set + Me._addInfo = Value + End Set + End Property + + Public Property quantity() As TImportQuantity + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property tradeQuantity() As TImportQuantity + Get + Return Me._tradeQuantity + End Get + Set + Me._tradeQuantity = Value + End Set + End Property + + Public Property packageQuantity() As Decimal + Get + Return Me._packageQuantity + End Get + Set + Me._packageQuantity = Value + End Set + End Property + + Public Property netMass() As Decimal + Get + Return Me._netMass + End Get + Set + Me._netMass = Value + End Set + End Property + + Public Property grossMass() As Decimal + Get + Return Me._grossMass + End Get + Set + Me._grossMass = Value + End Set + End Property + + Public Property statisticalQuantity() As Decimal + Get + Return Me._statisticalQuantity + End Get + Set + Me._statisticalQuantity = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TImportReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TImportReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TImportReference object + ''' + ''' string workflow markup to deserialize + ''' Output TImportReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TImportReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TImportReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TImportReference + Return CType(Serializer.Deserialize(s), TImportReference) + End Function +#End Region + + ''' + ''' Serializes current TImportReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TImportReference object + ''' + ''' string xml file to load and deserialize + ''' Output TImportReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TImportReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRoute + +#Region "Private fields" + Private _country As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property country() As String + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRoute)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRoute object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRoute object + ''' + ''' string workflow markup to deserialize + ''' Output TRoute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRoute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRoute) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRoute) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRoute + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRoute) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRoute + Return CType(Serializer.Deserialize(s), TRoute) + End Function +#End Region + + ''' + ''' Serializes current TRoute object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRoute object + ''' + ''' string xml file to load and deserialize + ''' Output TRoute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRoute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRoute) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRoute) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRoute + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TMotArrivalDispatch + +#Region "Private fields" + Private _mot As String + + Private _nat As String + + Private _licNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property mot() As String + Get + Return Me._mot + End Get + Set + Me._mot = Value + End Set + End Property + + Public Property nat() As String + Get + Return Me._nat + End Get + Set + Me._nat = Value + End Set + End Property + + Public Property licNo() As String + Get + Return Me._licNo + End Get + Set + Me._licNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMotArrivalDispatch)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMotArrivalDispatch object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMotArrivalDispatch object + ''' + ''' string workflow markup to deserialize + ''' Output TMotArrivalDispatch object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMotArrivalDispatch, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMotArrivalDispatch) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMotArrivalDispatch) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMotArrivalDispatch + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMotArrivalDispatch) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMotArrivalDispatch + Return CType(Serializer.Deserialize(s), TMotArrivalDispatch) + End Function +#End Region + + ''' + ''' Serializes current TMotArrivalDispatch object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMotArrivalDispatch object + ''' + ''' string xml file to load and deserialize + ''' Output TMotArrivalDispatch object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMotArrivalDispatch, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMotArrivalDispatch) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMotArrivalDispatch) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMotArrivalDispatch + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDelTermArrival + +#Region "Private fields" + Private _code As String + + Private _code2 As String + + Private _desc As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property code2() As String + Get + Return Me._code2 + End Get + Set + Me._code2 = Value + End Set + End Property + + Public Property desc() As String + Get + Return Me._desc + End Get + Set + Me._desc = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDelTermArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDelTermArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDelTermArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TDelTermArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTermArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTermArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTermArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDelTermArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDelTermArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDelTermArrival + Return CType(Serializer.Deserialize(s), TDelTermArrival) + End Function +#End Region + + ''' + ''' Serializes current TDelTermArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDelTermArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TDelTermArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTermArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTermArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTermArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDelTermArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TItemNdp + +#Region "Private fields" + Private _partNumber As String + + Private _partDescription As String + + Private _prodGr As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property partNumber() As String + Get + Return Me._partNumber + End Get + Set + Me._partNumber = Value + End Set + End Property + + Public Property partDescription() As String + Get + Return Me._partDescription + End Get + Set + Me._partDescription = Value + End Set + End Property + + Public Property prodGr() As String + Get + Return Me._prodGr + End Get + Set + Me._prodGr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TItemNdp)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TItemNdp object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TItemNdp object + ''' + ''' string workflow markup to deserialize + ''' Output TItemNdp object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItemNdp, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItemNdp) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItemNdp) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TItemNdp + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TItemNdp) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TItemNdp + Return CType(Serializer.Deserialize(s), TItemNdp) + End Function +#End Region + + ''' + ''' Serializes current TItemNdp object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TItemNdp object + ''' + ''' string xml file to load and deserialize + ''' Output TItemNdp object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItemNdp, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItemNdp) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItemNdp) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TItemNdp + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TLicenseArrival + +#Region "Private fields" + Private _licenseNo As String + + Private _licenseDate As Date + + Private _licenseNotRequired As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property licenseNo() As String + Get + Return Me._licenseNo + End Get + Set + Me._licenseNo = Value + End Set + End Property + + + Public Property licenseDate() As Date + Get + Return Me._licenseDate + End Get + Set + Me._licenseDate = Value + End Set + End Property + + Public Property licenseNotRequired() As String + Get + Return Me._licenseNotRequired + End Get + Set + Me._licenseNotRequired = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TLicenseArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TLicenseArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TLicenseArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TLicenseArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TLicenseArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TLicenseArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TLicenseArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TLicenseArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TLicenseArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TLicenseArrival + Return CType(Serializer.Deserialize(s), TLicenseArrival) + End Function +#End Region + + ''' + ''' Serializes current TLicenseArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TLicenseArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TLicenseArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TLicenseArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TLicenseArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TLicenseArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TLicenseArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TTariffCode + +#Region "Private fields" + Private _hsCode As String + + Private _vatCode As String + + Private _exciseTaxCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property hsCode() As String + Get + Return Me._hsCode + End Get + Set + Me._hsCode = Value + End Set + End Property + + Public Property vatCode() As String + Get + Return Me._vatCode + End Get + Set + Me._vatCode = Value + End Set + End Property + + Public Property exciseTaxCode() As String + Get + Return Me._exciseTaxCode + End Get + Set + Me._exciseTaxCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TTariffCode)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TTariffCode object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TTariffCode object + ''' + ''' string workflow markup to deserialize + ''' Output TTariffCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TTariffCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TTariffCode) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TTariffCode) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TTariffCode + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TTariffCode) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TTariffCode + Return CType(Serializer.Deserialize(s), TTariffCode) + End Function +#End Region + + ''' + ''' Serializes current TTariffCode object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TTariffCode object + ''' + ''' string xml file to load and deserialize + ''' Output TTariffCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TTariffCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TTariffCode) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TTariffCode) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TTariffCode + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDocumentArrival + +#Region "Private fields" + Private _docType As String + + Private _docNo As String + + Private _docDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property docType() As String + Get + Return Me._docType + End Get + Set + Me._docType = Value + End Set + End Property + + Public Property docNo() As String + Get + Return Me._docNo + End Get + Set + Me._docNo = Value + End Set + End Property + + + Public Property docDate() As Date + Get + Return Me._docDate + End Get + Set + Me._docDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDocumentArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDocumentArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDocumentArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TDocumentArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocumentArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocumentArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocumentArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDocumentArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDocumentArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDocumentArrival + Return CType(Serializer.Deserialize(s), TDocumentArrival) + End Function +#End Region + + ''' + ''' Serializes current TDocumentArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDocumentArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TDocumentArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocumentArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocumentArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocumentArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDocumentArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackageArrival + +#Region "Private fields" + Private _packageCount As Integer + + Private _packageType As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property packageCount() As Integer + Get + Return Me._packageCount + End Get + Set + Me._packageCount = Value + End Set + End Property + + Public Property packageType() As String + Get + Return Me._packageType + End Get + Set + Me._packageType = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackageArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackageArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackageArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TPackageArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackageArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackageArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackageArrival + Return CType(Serializer.Deserialize(s), TPackageArrival) + End Function +#End Region + + ''' + ''' Serializes current TPackageArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackageArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TPackageArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackageArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAdditionalCodes + +#Region "Private fields" + Private _addCode1 As String + + Private _addCode2 As String + + Private _addCode3 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property addCode1() As String + Get + Return Me._addCode1 + End Get + Set + Me._addCode1 = Value + End Set + End Property + + Public Property addCode2() As String + Get + Return Me._addCode2 + End Get + Set + Me._addCode2 = Value + End Set + End Property + + Public Property addCode3() As String + Get + Return Me._addCode3 + End Get + Set + Me._addCode3 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAdditionalCodes)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAdditionalCodes object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAdditionalCodes object + ''' + ''' string workflow markup to deserialize + ''' Output TAdditionalCodes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAdditionalCodes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAdditionalCodes) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAdditionalCodes) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAdditionalCodes + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAdditionalCodes) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAdditionalCodes + Return CType(Serializer.Deserialize(s), TAdditionalCodes) + End Function +#End Region + + ''' + ''' Serializes current TAdditionalCodes object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAdditionalCodes object + ''' + ''' string xml file to load and deserialize + ''' Output TAdditionalCodes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAdditionalCodes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAdditionalCodes) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAdditionalCodes) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAdditionalCodes + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPrefDocumentArrival + +#Region "Private fields" + Private _prefType As String + + Private _prefNo As String + + Private _prefDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property prefType() As String + Get + Return Me._prefType + End Get + Set + Me._prefType = Value + End Set + End Property + + Public Property prefNo() As String + Get + Return Me._prefNo + End Get + Set + Me._prefNo = Value + End Set + End Property + + + Public Property prefDate() As Date + Get + Return Me._prefDate + End Get + Set + Me._prefDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPrefDocumentArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPrefDocumentArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPrefDocumentArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TPrefDocumentArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrefDocumentArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrefDocumentArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrefDocumentArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPrefDocumentArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPrefDocumentArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPrefDocumentArrival + Return CType(Serializer.Deserialize(s), TPrefDocumentArrival) + End Function +#End Region + + ''' + ''' Serializes current TPrefDocumentArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPrefDocumentArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TPrefDocumentArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrefDocumentArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrefDocumentArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrefDocumentArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPrefDocumentArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TOrderArrival + +#Region "Private fields" + Private _ordNo As String + + Private _ordLineNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ordNo() As String + Get + Return Me._ordNo + End Get + Set + Me._ordNo = Value + End Set + End Property + + + Public Property ordLineNo() As String + Get + Return Me._ordLineNo + End Get + Set + Me._ordLineNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TOrderArrival)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TOrderArrival object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TOrderArrival object + ''' + ''' string workflow markup to deserialize + ''' Output TOrderArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOrderArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOrderArrival) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOrderArrival) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TOrderArrival + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TOrderArrival) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TOrderArrival + Return CType(Serializer.Deserialize(s), TOrderArrival) + End Function +#End Region + + ''' + ''' Serializes current TOrderArrival object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TOrderArrival object + ''' + ''' string xml file to load and deserialize + ''' Output TOrderArrival object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOrderArrival, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOrderArrival) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOrderArrival) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TOrderArrival + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInf + +#Region "Private fields" + Private _inf As String + + Private _infDutyAmount As Decimal + + Private _infDutyAmountCurr As String + + Private _infDutyBasis As Decimal + + Private _infDutyBet1 As Decimal + + Private _infInterestAmount As Decimal + + Private _infInterestAmountCurr As String + + Private _infEndUseAmount As Decimal + + Private _infEndUseAmountCurr As String + + Private _infDuty1Type As String + + Private _infDuty1Bet As Decimal + + Private _infDuty1Curr As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property inf() As String + Get + Return Me._inf + End Get + Set + Me._inf = Value + End Set + End Property + + Public Property infDutyAmount() As Decimal + Get + Return Me._infDutyAmount + End Get + Set + Me._infDutyAmount = Value + End Set + End Property + + Public Property infDutyAmountCurr() As String + Get + Return Me._infDutyAmountCurr + End Get + Set + Me._infDutyAmountCurr = Value + End Set + End Property + + Public Property infDutyBasis() As Decimal + Get + Return Me._infDutyBasis + End Get + Set + Me._infDutyBasis = Value + End Set + End Property + + Public Property infDutyBet1() As Decimal + Get + Return Me._infDutyBet1 + End Get + Set + Me._infDutyBet1 = Value + End Set + End Property + + Public Property infInterestAmount() As Decimal + Get + Return Me._infInterestAmount + End Get + Set + Me._infInterestAmount = Value + End Set + End Property + + Public Property infInterestAmountCurr() As String + Get + Return Me._infInterestAmountCurr + End Get + Set + Me._infInterestAmountCurr = Value + End Set + End Property + + Public Property infEndUseAmount() As Decimal + Get + Return Me._infEndUseAmount + End Get + Set + Me._infEndUseAmount = Value + End Set + End Property + + Public Property infEndUseAmountCurr() As String + Get + Return Me._infEndUseAmountCurr + End Get + Set + Me._infEndUseAmountCurr = Value + End Set + End Property + + Public Property infDuty1Type() As String + Get + Return Me._infDuty1Type + End Get + Set + Me._infDuty1Type = Value + End Set + End Property + + Public Property infDuty1Bet() As Decimal + Get + Return Me._infDuty1Bet + End Get + Set + Me._infDuty1Bet = Value + End Set + End Property + + Public Property infDuty1Curr() As String + Get + Return Me._infDuty1Curr + End Get + Set + Me._infDuty1Curr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInf)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInf object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInf object + ''' + ''' string workflow markup to deserialize + ''' Output TInf object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInf, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInf) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInf) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInf + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInf) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInf + Return CType(Serializer.Deserialize(s), TInf) + End Function +#End Region + + ''' + ''' Serializes current TInf object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInf object + ''' + ''' string xml file to load and deserialize + ''' Output TInf object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInf, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInf) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInf) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInf + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFields + +#Region "Private fields" + Private _texts As List(Of TCustomerText) + + Private _dates As List(Of TCustomerDate) + + Private _flags As List(Of TCustomerFlag) + + Private _numbers As List(Of TCustomerNumber) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._numbers = New List(Of TCustomerNumber)() + Me._flags = New List(Of TCustomerFlag)() + Me._dates = New List(Of TCustomerDate)() + Me._texts = New List(Of TCustomerText)() + End Sub + + + Public Property texts() As List(Of TCustomerText) + Get + Return Me._texts + End Get + Set + Me._texts = Value + End Set + End Property + + + Public Property dates() As List(Of TCustomerDate) + Get + Return Me._dates + End Get + Set + Me._dates = Value + End Set + End Property + + + Public Property flags() As List(Of TCustomerFlag) + Get + Return Me._flags + End Get + Set + Me._flags = Value + End Set + End Property + + + Public Property numbers() As List(Of TCustomerNumber) + Get + Return Me._numbers + End Get + Set + Me._numbers = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFields)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFields object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFields object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFields object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFields, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFields) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFields) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFields + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFields) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFields + Return CType(Serializer.Deserialize(s), TCustomerFields) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFields object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFields object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFields object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFields, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFields) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFields) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFields + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerText + +#Region "Private fields" + Private _key As Integer + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerText)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerText object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerText object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerText object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerText, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerText) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerText) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerText + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerText) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerText + Return CType(Serializer.Deserialize(s), TCustomerText) + End Function +#End Region + + ''' + ''' Serializes current TCustomerText object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerText object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerText object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerText, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerText) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerText) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerText + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerDate + +#Region "Private fields" + Private _key As Integer + + Private _value As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Date + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerDate)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerDate object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerDate object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerDate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDate) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDate) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerDate + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerDate) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerDate + Return CType(Serializer.Deserialize(s), TCustomerDate) + End Function +#End Region + + ''' + ''' Serializes current TCustomerDate object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerDate object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerDate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDate) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDate) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerDate + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFlag + +#Region "Private fields" + Private _key As Integer + + Private _value As Boolean + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Boolean + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFlag)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFlag object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFlag object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFlag object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlag, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlag) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlag) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFlag + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFlag) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFlag + Return CType(Serializer.Deserialize(s), TCustomerFlag) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFlag object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFlag object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFlag object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlag, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlag) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlag) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFlag + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerNumber + +#Region "Private fields" + Private _key As Integer + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerNumber)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerNumber object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerNumber object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerNumber object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumber, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumber) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumber) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerNumber + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerNumber) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerNumber + Return CType(Serializer.Deserialize(s), TCustomerNumber) + End Function +#End Region + + ''' + ''' Serializes current TCustomerNumber object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerNumber object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerNumber object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumber, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumber) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumber) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerNumber + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerTexts + +#Region "Private fields" + Private _text As List(Of TCustomerText) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._text = New List(Of TCustomerText)() + End Sub + + + Public Property text() As List(Of TCustomerText) + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerTexts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerTexts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerTexts object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerTexts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerTexts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerTexts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerTexts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerTexts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerTexts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerTexts + Return CType(Serializer.Deserialize(s), TCustomerTexts) + End Function +#End Region + + ''' + ''' Serializes current TCustomerTexts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerTexts object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerTexts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerTexts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerTexts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerTexts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerTexts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerDates + +#Region "Private fields" + Private _date As List(Of TCustomerDate) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._date = New List(Of TCustomerDate)() + End Sub + + + Public Property [date]() As List(Of TCustomerDate) + Get + Return Me._date + End Get + Set + Me._date = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerDates)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerDates object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerDates object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerDates object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDates, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDates) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDates) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerDates + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerDates) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerDates + Return CType(Serializer.Deserialize(s), TCustomerDates) + End Function +#End Region + + ''' + ''' Serializes current TCustomerDates object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerDates object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerDates object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDates, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDates) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDates) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerDates + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFlags + +#Region "Private fields" + Private _flag As List(Of TCustomerFlag) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._flag = New List(Of TCustomerFlag)() + End Sub + + + Public Property flag() As List(Of TCustomerFlag) + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFlags)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFlags object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFlags object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFlags object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlags, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlags) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlags) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFlags + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFlags) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFlags + Return CType(Serializer.Deserialize(s), TCustomerFlags) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFlags object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFlags object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFlags object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlags, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlags) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlags) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFlags + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerNumbers + +#Region "Private fields" + Private _number As List(Of TCustomerNumber) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._number = New List(Of TCustomerNumber)() + End Sub + + + Public Property number() As List(Of TCustomerNumber) + Get + Return Me._number + End Get + Set + Me._number = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerNumbers)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerNumbers object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerNumbers object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumbers) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerNumbers + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerNumbers) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerNumbers + Return CType(Serializer.Deserialize(s), TCustomerNumbers) + End Function +#End Region + + ''' + ''' Serializes current TCustomerNumbers object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerNumbers object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumbers) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerNumbers + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TErpShipmentData + +#Region "Private fields" + Private _erpSystemId As String + + Private _client As String + + Private _companyCode As String + + Private _customerId As String + + Private _consolidationCompanyId As String + + Private _accountGroup As String + + Private _shippingPoint As String + + Private _loadingPoint As String + + Private _offshore As Boolean + + Private _route As String + + Private _salesOrganization As String + + Private _distributionChannel As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property erpSystemId() As String + Get + Return Me._erpSystemId + End Get + Set + Me._erpSystemId = Value + End Set + End Property + + Public Property client() As String + Get + Return Me._client + End Get + Set + Me._client = Value + End Set + End Property + + Public Property companyCode() As String + Get + Return Me._companyCode + End Get + Set + Me._companyCode = Value + End Set + End Property + + Public Property customerId() As String + Get + Return Me._customerId + End Get + Set + Me._customerId = Value + End Set + End Property + + Public Property consolidationCompanyId() As String + Get + Return Me._consolidationCompanyId + End Get + Set + Me._consolidationCompanyId = Value + End Set + End Property + + Public Property accountGroup() As String + Get + Return Me._accountGroup + End Get + Set + Me._accountGroup = Value + End Set + End Property + + Public Property shippingPoint() As String + Get + Return Me._shippingPoint + End Get + Set + Me._shippingPoint = Value + End Set + End Property + + Public Property loadingPoint() As String + Get + Return Me._loadingPoint + End Get + Set + Me._loadingPoint = Value + End Set + End Property + + Public Property offshore() As Boolean + Get + Return Me._offshore + End Get + Set + Me._offshore = Value + End Set + End Property + + Public Property route() As String + Get + Return Me._route + End Get + Set + Me._route = Value + End Set + End Property + + Public Property salesOrganization() As String + Get + Return Me._salesOrganization + End Get + Set + Me._salesOrganization = Value + End Set + End Property + + Public Property distributionChannel() As String + Get + Return Me._distributionChannel + End Get + Set + Me._distributionChannel = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TErpShipmentData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TErpShipmentData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TErpShipmentData object + ''' + ''' string workflow markup to deserialize + ''' Output TErpShipmentData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErpShipmentData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErpShipmentData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErpShipmentData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TErpShipmentData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TErpShipmentData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TErpShipmentData + Return CType(Serializer.Deserialize(s), TErpShipmentData) + End Function +#End Region + + ''' + ''' Serializes current TErpShipmentData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TErpShipmentData object + ''' + ''' string xml file to load and deserialize + ''' Output TErpShipmentData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErpShipmentData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErpShipmentData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErpShipmentData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TErpShipmentData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TErpLineData + +#Region "Private fields" + Private _legalRegulation As String + + Private _exportControlClass As String + + Private _embargo As String + + Private _licenseType As String + + Private _licenseNumber As String + + Private _profitCenter As String + + Private _vZTA As String + + Private _erpInvoicelinenumber As String + + Private _erpPartnumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property legalRegulation() As String + Get + Return Me._legalRegulation + End Get + Set + Me._legalRegulation = Value + End Set + End Property + + Public Property exportControlClass() As String + Get + Return Me._exportControlClass + End Get + Set + Me._exportControlClass = Value + End Set + End Property + + Public Property embargo() As String + Get + Return Me._embargo + End Get + Set + Me._embargo = Value + End Set + End Property + + Public Property licenseType() As String + Get + Return Me._licenseType + End Get + Set + Me._licenseType = Value + End Set + End Property + + Public Property licenseNumber() As String + Get + Return Me._licenseNumber + End Get + Set + Me._licenseNumber = Value + End Set + End Property + + Public Property profitCenter() As String + Get + Return Me._profitCenter + End Get + Set + Me._profitCenter = Value + End Set + End Property + + Public Property vZTA() As String + Get + Return Me._vZTA + End Get + Set + Me._vZTA = Value + End Set + End Property + + + Public Property erpInvoicelinenumber() As String + Get + Return Me._erpInvoicelinenumber + End Get + Set + Me._erpInvoicelinenumber = Value + End Set + End Property + + Public Property erpPartnumber() As String + Get + Return Me._erpPartnumber + End Get + Set + Me._erpPartnumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TErpLineData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TErpLineData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TErpLineData object + ''' + ''' string workflow markup to deserialize + ''' Output TErpLineData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErpLineData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErpLineData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErpLineData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TErpLineData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TErpLineData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TErpLineData + Return CType(Serializer.Deserialize(s), TErpLineData) + End Function +#End Region + + ''' + ''' Serializes current TErpLineData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TErpLineData object + ''' + ''' string xml file to load and deserialize + ''' Output TErpLineData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErpLineData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErpLineData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErpLineData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TErpLineData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.xsd new file mode 100644 index 0000000..696acc0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportComponents.xsd @@ -0,0 +1,3721 @@ + + + + + + item + + + + + + stock type + Artikelnummer + Stocktype of deduction + Wird eine Artikelnummer gemeldet, muss der Artikel auch in den Stammdaten angelegt sein. Ist dieser Artikelcode nicht vorhanden wird eine Fehlermeldung ausgegeben. + false + String1..30 + + MIC_ALL_AAVPOS + Aapartnr + MIC_AUSPOS + Afpartnr + + + + + + + + + + + + + + goods description + Warenbezeichnung + +Ref: EH-Pap Feld 31 + Detailed descriptions of the goods (Language: German) + Sprechende (deutsche) Artikelbeschreibung. + +Die Bezeichnung muss die zum Erkennen der Waren erforderlichen Angaben enthalten. Sie muss so genau sein, dass die Einreihung der Ware in das „Warenverzeichnis für die Außenhandelsstatistik“ möglich ist. Dieses Datenfeld muss ferner die für etwaige spezifische Regelungen (Verbrauchsteuern, Verbote und Beschränkungen für den Warenverkehr über die Grenze usw.) verlangten Angaben enthalten. +Bei Personenkraftwagen ist auch die Fahrgestell-Nummer (auch Fahrzeugidentifizierungsnummer - VIN [Vehicle Identification Number]) anzugeben. +Bei der Ausfuhr von Chemikalien empfiehlt es sich die CAS-Nummer [Chemical Abstract Service] anzugeben. Ist die CAS-Nummer nicht bekannt oder ist die Zuordnung zu einer CAS-Nummer nicht möglich, ist die Angabe entbehrlich + + + + false + String1..240 + + MIC_ALL_AAVPOS + Aapartbez + MIC_AUSPOS + Afpartbez + + + + + + + + + + + + + + stat. part number (8-digit) + stat. Warennummer(8-stellig) + CN8 +Need not be provided, if part number ist provided in field <item> and German tariff code is maintained for that item in MIC-CCS. + KN8 +Muß nicht angegeben werden, wenn die Artikelnummer im Feld <item> angegeben ist und in MIC-CUST der DE Taric dafür in MIC-CCS eingepflegt ist. + + + false + String1..13 + + MIC_ALL_AAVPOS + Aaptarnr + MIC_AUSPOS + Afptarnr + + + + + + + + + + + + + + product family + Produktgruppe + + + false + String10 + + MIC_ALL_AAVPOS + Aapprodgr + MIC_AUSPOS + Afpprodgr + + + + + + + + + + + + + + + address + + + + + + address number in MIC-CUST + Adressnummer in MIC-CUST + Only insert the adressnumber if it is stored in the MIC Masterdata. MIC Cust will validate the number while closing the shipment: is the number not known bei MIC Cust a Errormessage will occur. + Addressnummer nur dann befüllen, wenn die Adresse in den Stammdaten von MIC-Cust angelegt sind. MIC-Cust sucht diese Adresse beim Abschluss. Ist diese nicht vorhanden, wird eine Fehlermeldung ausgegeben. + true + String1..20 + + + ___nr + + ___nr + + + + + + + + + + + + name + Name + + + false + String1..40 + 0..4 + + ___nm1-4 + + ___nm1-4 + + + + + + + + + + + + Street and house number + Strasse und HausNr + + + false + String1..80 + + + ___str + + ___str + + + + + + + + + + + + City + Ort + + + false + String1..35 + + + ___ort + + ___ort + + + + + + + + + country + Land + + + false + String2 + + + ___ld + + ___ld + + + + + + + + + + + + + + region + Bundesland/Region + + + false + String1..10 + + + ___region + + ___region + + + + + + + + + zip code + PLZ + + + false + String1..10 + + + ___plz + + ___plz + + + + + + + + + + + + TIN + Zollnummer + + + false + String1..17 + + + ___tin + + ___tin + + + + + + + + + + + + VAT ID + Ust. ID + + + false + String1..20 + + + ___ust + + ___ust + + + + + + + + + + + + EORI + EORI + + + false + String1..17 + + + ___eori + + ___eori + + + + + + + + + + + + + + Alternative 3: National Tin indicator + Alternative 3: Indikator für Nationale Tin. + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + Not used at the moment + true + String1 + + + + + + + + + + + + + + Branchnumber assigned to EORI + Laufende Nummer der Niederlassung + Relevant only if element <adrNatT> = "2" (EORI-number) + Die Angabe des Datenfeldes ist nur relevant wenn das Datenfeld <addrNatT> mit dem Wert „2“ (EORI) angegeben wird. + false + String4 + + + ___branchno + + ___branchno + + + + + + + + + + + + + + Related-company-indicator + Verbundenheitskennzeichen + + + false + String1 + + + ___kvb + + ___kvb + + + + + + + + + Contact Person + Ansprechpartner + + Kontaktdaten des beauftragten Sachbearbeiter + false + + 1 + MIC_CUST_AVPARTNER + + + + + + + + + + + + + customs office + + + + + + National number of customs office (6-digits). + Nationale Zollstellennummer (6 stellig). + + + + true + String1..6 + + + + + + 1234 + + + + + + + + + + Country code of the customs office + Länderkürzel der Zollstelle + + + true + String2 + + + + + + + + + + + + + + + + + mode of transport Inland + + + + + + Code for Mode of transport inland + Code Verkehrszweig im Inland. +Ref: EH-Pap. Feld 26 + LOV: +10=Sea transport +12=railway carriage on seagoing vessel +16=road vehicle on seagoing vessel +17=trailer/semi trailer on seagoing vessel +18=barge on seagoing vessel +20=Rail transport +23=road vehicle on railroad +30=Road transport +40=Air transport +50=Postal consignment +80=Inland waterway transport +90=own propulsion + LOV: (DE-Codeliste C0018) +10=Seeverkehr +12=Waggon auf Seeschiff +16=Straßenfahrzeug auf Seeschiff +17=Anhänger/Auflieger auf Seeschiff +18=Binnenschiff auf Seeschiff +20=Eisenbahnverkehr +23=Straßenfahrzeug auf Eisenbahn +30=Straßenverkehr +40=Luftverkehr +50=Postsendungen +80=Binnenschifffahrt +90=Eigener Antrieb + false + String1..2 + + MIC_AAVSDG + Aasvkzin + MIC_AUSSDG + Afsvkzin + + + + + + + + Nationality of active means of transport inland + Staatszugehörigkeit des Beförderungsmittels Inland + + + false + String 2 + + MIC_AAVSDG + Aasvkmld + MIC_AUSSDG + Afsvkmld + + + + + + + + + + + + false + String2 + + MIC_AAVSDG + + MIC_AUSSDG + + + + + + + + + Identity of active means of transport inland + Kennzeichen des grenzüberschreitenden aktiven Beförderungsmittels. + + + false + String1..30 + + MIC_AAVSDG + Aasvkmink + MIC_AUSSDG + Afsvkmink + + + + + + + + + mode of transport + + + + + + Code for Mode of transport of at the border + Code Verkehrszweig an der Grenze. +Ref: EH-Pap. Feld 25 + LOV: +10=Sea transport +12=railway carriage on seagoing vessel +16=road vehicle on seagoing vessel +17=trailer/semi trailer on seagoing vessel +18=barge on seagoing vessel +20=Rail transport +23=road vehicle on railroad +30=Road transport +40=Air transport +50=Postal consignment +80=Inland waterway transport +90=own propulsion + LOV: (DE-Codeliste C0018) +10=Seeverkehr +12=Waggon auf Seeschiff +16=Straßenfahrzeug auf Seeschiff +17=Anhänger/Auflieger auf Seeschiff +18=Binnenschiff auf Seeschiff +20=Eisenbahnverkehr +23=Straßenfahrzeug auf Eisenbahn +30=Straßenverkehr +40=Luftverkehr +50=Postsendungen +80=Binnenschifffahrt +90=Eigener Antrieb + + true + String1..2 + + MIC_AAVSDG + Aasvkzgr + MIC_AUSSDG + Afsvkzgr + MS-Schiff + + + + + + + Nationality of active means of transport crossing the border + Staatszugehörigkeit des Beförderungsmittels an der Grenze +Ref: EH-Pap. Feld 21.2 + Condition C1: +Value required for all means of transport at the boarder rail and own propulsion + +LOV: +ISO-Alpha-2 Country code +"QU" in case of country not known + + Bedingung C1: +Die Angabe des Datenfeldes ist immer erforderlich. +Ausnahme: Bei Beförderungen im Eisenbahnverkehr oder durch eigenen Antrieb entfällt die Angabe der Staatszugehörigkeit. + +Gültige Werte: +ISO-Alpha2 Ländercode, +"QU", falls Land nicht ermittelt werden kann + false + String2 + + MIC_AAVSDG + Aasvkmgrl + MIC_AUSSDG + Afsvkmgrl + + + + + + + + Mean Of Transport (z.B. LKW mit Auflieger) + Art des grenzüberschreitenden aktiven Beförderungsmittels +( lt. AES1.0 IHB Ref: EH-Pap. Feld 21.1, aber am EH-Pap nicht gefunden) + LOV: 10, 20, 31, …, 60: +10 sea +20 railroad +31 passenger car +32 passenger car with trailer +33 truck +34 truck with trailer +35 tractor with semitrailer +40 plane +50 inland waterway +60 own propulsion + LOV: (DE-Codeliste A0108) +10 Seeschiff +20 Waggon +31 Pkw +32 Pkw mit Anhänger +33 Lkw +34 Lkw mit Anhänger +35 Zugmaschine mit Auflieger +40 Flugzeug +50 Binnenschiff +60 Eigener Antrieb + true + String.2 + + MIC_AAVSDG + Aasvkzgrart + MIC_AUSSDG + Afsvkzgrart + R + + + + + + + Identity of active means of transport crossing the boarder + Kennzeichen des grenzüberschreitenden aktiven Beförderungsmittels. +Ref: EH-Pap. Feld 21.1 + Condition C1: +For sea transport (mot=10), the name of the ship must be declared. + Bedingung C1: +Bei Seeverkehr (mot=10) muss der Schniffsname angegeben werden. + false + String1..30 + + MIC_AAVSDG + Aasvkmgrk + MIC_AUSSDG + Afsvkmgrk + 1 + + + + + + + + freight costs + + + + + + flag + Frachtkostenkennzeichen + + + true + String1 + + MIC_AAVSDG + Aasfrakz + MIC_AUSSDG + Afsfrakz + + + + + + + + amount + Betrag + + + true + Number(17,2) + + MIC_AAVSDG + Aasfrawrt + MIC_AUSSDG + Afsfrawrt + + + + + + + + + + + + + currency + Währung der Frachtkosten + + + false + String1..3 + + MIC_AAVSDG + Aasfrawae + MIC_AUSSDG + Afsfrawae + + + + + + + + Non-EU propotion + Non-EU Anteil + + + false + Number(13,4) + + MIC_AAVSDG + Aasnoneu + MIC_AUSSDG + Afsnoneu + + + + + + + + EU propotion + EU Anteil + + + false + Number(13,4) + + MIC_AAVSDG + Aaseunat + MIC_AUSSDG + Afseunat + + + + + + + + National propotion + Nationaler Anteil + + + false + Number(13,4) + + MIC_AAVSDG + Aasnat + MIC_AUSSDG + Afsnat + + + + + + + + + assurance costs + + + + + + flag + Versicherungskennzeichen + + + true + String1 + + MIC_AAVSDG + Aasverskz + MIC_AUSSDG + Afsverskz + + + + + + + + amount + Versicherungsbetrag + + + true + Number(13,4) + + MIC_AAVSDG + Aasverswrt + MIC_AUSSDG + Afsverswrt + + + + + + + + currency + Währung + + + false + String1..3 + + MIC_AAVSDG + Aasverswae + MIC_AUSSDG + Afsverswae + + + + + + + + + additional costs + + + + + + type + Nebenkostentyp + + + true + String1..10 + + + ___abart1-2 + + ___abart1-2 + + + + + + + + + + + + + + + flag + Nebenkostenart + + + true + String1 + + + ___abkz1-2, ___kbk1-2flg + + ___abkz1-2, ___kbk1-2flg + + + + + + + + + + + + + + + + amount + Nebenkostenbetrag + + + true + Number(13,4) + + + ___abwrt1-2 + + ___abwrt1-2 + + + + + + + + + + Currency (ISO-Code) + Währung (ISO Code) + + + false + String1..3 + + + ____bk1-2Wae + + ____bk1-2Wae + + + + + + + + + + + + + + + + addtional costs on shipment level + + + + + currency + + + + + amount + + + + + flag + + + + + + + + + + + type of additional cost + + + + + flag of splitting + + + + + + + term of delivery + + + + + + Delivery term Incoterm + Lieferbedingung Incoterm + + + true + String 3 + + MIC_ALL_AAVKOP + Aakalicode + MIC_AUSKOP + Afkalicode + + + + + + + + + + + + + Place of delivery term + Lieferbedinung Ort + + + false + String0..35 + + MIC_ALL_AAVKOP + Aakalibez + MIC_AUSKOP + Afkalibez + + + + + + + + + + + + + Delivery term Incoterm Code2 + Lieferbedingung Incoterm Code2 + + + false + String 1 + + MIC_ALL_AAVKOP + Aakalicod2 + MIC_AUSKOP + Afkalicod2 + + + + + + + + + delivery note + + + + + + delivery note number + Lieferscheinnummer + + + true + String0..15 + + MIC_ALL_AAVPOS + Aaplsnr + MIC_AUSPOS + Afplsnr + + + + + + + + + + + + + delivery note position + Lieferscheinposition + + + false + xs:long + + MIC_ALL_AAVPOS + aaplsnrpos + MIC_AUSPOS + AFPLSNRPOS + + + + + + + + date of delivery note + Lieferscheindatum + + + false + Xs:date + + MIC_ALL_AAVPOS + Aaplsdat + MIC_AUSPOS + Afplsdat + + + + + + + + + order + + + + + + order number + Bestellnummer + + + true + String0..22 + + MIC_ALL_AAVPOS + Aapbsnr + MIC_AUSPOS + Afpbsnr + + + + + + + + + + + + + order date + Bestelldatum + + + true + Xs:date + + MIC_ALL_AAVPOS + Aapbsdat + MIC_AUSPOS + Afpbsdat + + + + + + + + + number bill of material + + + + + + Stücklistennr. + Stücklistennr. + + + true + String0..40 + + MIC_ALL_AAVPOS + Aapreznr + MIC_AUSPOS + Afpreznr + + + + + + + + + + + + + Variante + Variante + + + true + String0..10 + + MIC_ALL_AAVPOS + Aaprezvar + MIC_AUSPOS + Afprezvar + + + + + + + + + + + + + + additional attributes + + + + + + Attributtype + Attributtyp + + + true + String1..20 + + MIC_AVATTRIBUTE + Avatyp + MIC_ATTRIBUTE + Atrtyp + + + + + + + + + + + + + + + + + Attributtext + Attributtext + + + false + String1..20000 + + MIC_AVATTRIBUTE + Avatext + MIC_ATTRIBUTE + Atrtext + + + + + + + + + + + + + + + + + partners + + + + + + Code of type of partner involved in this export + Partnertyp (Code) + + + + Typ of partners +EX = Exporter SAD Field 2 +DT = Declarant SAD Field 14 +AE = Representative SAD Field 14 +EV = Subcontractor SAD Field 2 + +Depending on the party constellation (field <partyConst>), one to 4 partners must be declared. +The declarant (DT) always has to be provided by the interface, as this one always has to be declared. + +Further partner declarations required: +- Exporter (EX) if <partyConst> = 1000, 1010, 1100 or 1110 +- Representative of Declarant (AE) if <partyConst> = 0100, 0110, 1100 or 1110 +- Subcontractor (EV) if <partyConst> = 0010, 0110, 1010 or 1110 + + + Gültige Werte: +EX = Ausführer, EH-Papier Feld 2 +DT = Anmelder, EH-Papier Feld 14 +AE = Vertreter, EH-Papier Feld 14 +EV = Subunternehmer, EH-Papier Feld 2 + +Abhänging von der Beteiligtenkonstellation (Feld <partyConst>), müssen verschiedenen Partner angegeben werden. +Der Anmelder (DT) ist immer zu melden und daher immer von der Schnittstelle anzugeben. + +Folgende Partner sind ganau dann anzugegeben: +- Ausführer (EX) wenn <partyConst> = 1000, 1010, 1100 oder 1110 + (Anmelder ist indirekter Vertreter des Ausführers) +- Vertreter des Anmelders (AE) wenn <partyConst> = 0100, 0110, 1100 oder 1110 + (Anmelder lässt sich direkt vertreten) +- Subunternehmer (EV) wenn <partyConst> = 0010, 0110, 1010 oder 1110 + (Anmelder beauftragt Subunternehmer) + true + String1..2 + + MIC_CUST_AVPARTNER + Avpreftyp + MIC_CUST_PARTNER + Parreftyp + + + + + + + + + + + + + + Address of the involved parties + Beteiligtenadresse + + + true + + + + + + + + + + + + + + + Alternative 1: +Existing MIC-CUST Address number + Alternative 1: +Existierende MIC-CUST Adressnummer. + ERP systems usually do not have knowledge of MIC-CUST address numbers + Vorsysteme kennen die Adressnummern i.d.R. nicht +Vorschlag: Leer lassen + false + String1..15 + + MIC_CUST_AVPARTNER + Avpnr + MIC_CUST_PARTNER + Parnr + + + + + + + + + + + + + Address Number Type + Adressnummerntyp + + + false + String1..10 + + MIC_CUST_AVPARTNER + AVPNRTYP + MIC_CUST_PARTNER + PARNRTYP + + + + + + + + + + + + + Alternative 2: +Company name + Alternative 2: +Name oder Firmenbezeichnung + Name of the concerned person, if no customs number is existent. + Name des Beteiligten + false + String1..40 + 0..3 + MIC_CUST_AVPARTNER + Avpname1-3 + MIC_CUST_PARTNER + Parname1-3 + + + + + + + + + + + + + Alternative 2: +Street and house number + Alternative 2: +Straße und Hausnummer + Street and house number, it no customs number is existent. + Strasse und Hausnummer + false + String1..80 + + MIC_CUST_AVPARTNER + avpstr1 + MIC_CUST_PARTNER + parstr1 + + + + + + + + + + + + + Street and house number - Line 2 + Straße und Hausnummer - Zeile 2 + + + false + String1..80 + + MIC_CUST_AVPARTNER + avpstr2 + MIC_CUST_PARTNER + parstr2 + + + + + + + + + + + + + Alternative 2: +City + Alternative 2: +Ort + Location, if no customs number is existent. + Ort + false + String1..35 + + MIC_CUST_AVPARTNER + Avport + MIC_CUST_PARTNER + Parort + + + + + + + + + + + + + Alternative 2: +Country + Alternative 2: +Land + Country code (ISO-Alpha), if no customs number is existent. + Ländercode (ISO-Alpha2) + false + String1..2 + + MIC_CUST_AVPARTNER + Avpld + MIC_CUST_PARTNER + Parld + + + + + + + + + + + + + Alternative 2: +Federal state/region + Alternative 2: +Bundesland/Region + + + false + String1..10 + + MIC_CUST_AVPARTNER + Avpregion + MIC_CUST_PARTNER + Parregion + 9000283 + + + + + + + + + + + + Alternative 2: +Zip code + Alternative 2: +Postleitzahl + Zip code, if no customs number is existent. + PLZ + false + String1..10 + + MIC_CUST_AVPARTNER + Avpplz + MIC_CUST_PARTNER + Parplz + + + + + + + + + + + + + Alternative 3: +Teilnehmer Identifikationsnummer + Alternative 3: +Teilnehmer Identifikationsnummer oder Zollnummer + Customs number (oder TIN) of the concerned person. + Zollnummer (oder TIN) des Beteiligten + false + String..17 + + MIC_CUST_AVPARTNER + Avptin + MIC_CUST_PARTNER + Partin + + + + + + + + + + + + + Eori + Eori + Eori + Eori + false + String1..17 + + MIC_CUST_AVPARTNER + Avpeori + MIC_CUST_PARTNER + Pareori + + + + + + + + + + + + + + Alternative 3: +National Tin indicator + + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + false + String1 + + + + + + + + + + + + + Branchnumber assigned to EORI + Laufende Nummer der Niederlassung + Relevant only if element "EORI" is assigned + Die Angabe des Datenfeldes ist nur relevant wenn das Datenfeld (EORI) angegeben wird. + false + String4 + + MIC_CUST_AVPARTNER + Avpbranchno + MIC_CUST_PARTNER + Parbranchno + + + + + + + + + + + + + Related-company-indicator + Verbundenheitskennzeichen + + + false + String1 + + MIC_CUST_AVPARTNER + Avpkvb + MIC_CUST_PARTNER + Parkvb + + + + + + + + + + + + + Additonal information + Zusätzliche Informationen + + + false + String1..50 + + MIC_CUST_AVPARTNER + AVPINFO + MIC_CUST_PARTNER + PARINFO + + + + + + + + + + + + + + Ansprechpartner + + Kontaktdaten des beauftragten Sachbearbeiter + false + + 1 + + + + + + + + + + + + + + + Flag of alliance + Verbundenheitskennzeichen + + + false + String1..1 + + + + + + + + + + + + + + + + + + + + declaration type (SAD) + + + + + + Declaration type(EU/EX) + Anmeldungstyp (EU/EX) + Determined by MIC-CUST out of country of destination + Vorbelegung durch MIC mit EX oder EU. +(Wird von MIC-CUST automatisch aus dem Bestimmungsland ermittelt) + false + String..2 + + + + + + + + + + + + + + + + + + Type of export procedure with use of simplifications + + Art des Ausfuhrverfahrens mit +Inanspruchnahme von Vereinfachungen + a ... Complete export declaration in the two-stage standard procedure +b ... Incomplete export declaration in the two-stage standard procedure +c ... Complete export declaration in the two-stage standard procedure with order for presentation beyond customs premises according to §9(2) AWV +d ... Incomplete export declaration in the two-stage standard procedure with order for presentation beyond customs premises according to §9(2) AWV +e ... Complete export declaration in the two-stage simplified procedure ZA +f ... Incomplete export declaration in the two-stage simplified procedure ZA +g ... Complete export declaration in the single-stage procedure at low value +i ... Complete export declaration in the singe-stage procedure in reasonable stages + a ... Vollständige Ausfuhranmeldung zum zweistufigen Normalverfahren +b ... Unvollständige Ausfuhranmeldung zum zweistufigen Normalverfahren +c ... Vollständige Ausfuhranmeldung zum zweistufigen Normalverfahren mit Antrag auf Gestellung außerhalb des Amtsplatzes nach §9(2) AWV +d ... Unvollständige Ausfuhranmeldung zum zweistufigen Normalverfahren mit Antrag auf Gestellung außerhalb des Amtsplatzes nach §9(2) AWV +e ... Vollständige Ausfuhranmeldung zum zweistufigen Vereinfachten Verfahren ZA +f ... Unvollständige Ausfuhranmeldung zum zweistufigen Vereinfachten Verfahren ZA +g ... Vollständige Ausfuhranmeldung zum einstufigen Verfahren bei geringem Wert +i ... Vollständige Ausfuhranmeldung zum einstufigen Verfahren in begründeten Fällen + false + String..1 + + MIC_AAVSDG + Aasmessvorzkz + MIC_AUSSDG + Afsmessvorzkz + + + + + + + + + + + + + Type of export procedure (category) + Art des Ausfuhrverfahrens (kategorisch) + Codelist A0122 + Codeliste A0122 + false + String2 + + MIC_AAVSDG + Aastypedeclproc + MIC_AUSSDG + Afstypedeclproc + + + + + + + + + + + + + + location of goods + + + + + + code for place of loading and packing as defined in export authorization + Ladeortcode lt. Bewilligung + Condition C1 (simplyfied explanation) +In case of non authorized place of loading this must be declared inside tags <street>, <zip>, <loc> and <addit>. + +- Alternative 1: autorized code for place of loading +- Alternative 2: <code>must be empty. + Bedingung C1 (vereinfachte Darstellung) +Weicht der Ladeort von der Bewilligung ab, muss anstatt des Ladeortscode die Adresse angegeben werden. +Hierzu die Tags <street>, <zip>, <loc> und <addit> befüllen. + +- Alternative 1: Ein bewilligter Ladeort-Code ist einzutragen +- Alternative 2: <code> leer lassen. + + false + String1..20 + + MIC_AAVSDG + Aasladeort + MIC_AUSSDG + Afsladeort + + + + + + + + + + + + + Place of loading - street name and number + Straße und Hausnummer des Ladeortes + Condition C1 +- Alternative 1: empty +- Alternative 2: fill + Bedingung C1 +- Alternative 1: leer lassen +- Alternative 2: ausfüllen + false + String1..80 + + MIC_CUST_AVPARTNER(nur wenn locGoods.code nicht befüllt) + Avpstr1 + MIC_CUST_PARTNER(nur wenn locGoods.code nicht befüllt) + Parstr1 + + + + + + + + Place of loading zip code + Postleitzahl des Ladeortes + Condition C1 +- Alternative 1: empty +- Alternative 2: fill + Bedingung C1 +- Alternative 1: leer lassen +- Alternative 2: ausfüllen + false + String1..10 + + MIC_CUST_AVPARTNER(nur wenn locGoods.code nicht befüllt) + Avpplz + MIC_CUST_PARTNER(nur wenn locGoods.code nicht befüllt) + Parplz + + + + + + + + place of loading city + Name der Stadt des Ladeortes + Condition C1 +- Alternative 1: empty +- Alternative 2: fill + Bedingung C1 +- Alternative 1: leer lassen +- Alternative 2: ausfüllen + false + String1..80 + + MIC_CUST_AVPARTNER(nur wenn locGoods.code nicht befüllt) + Avport + MIC_CUST_PARTNER(nur wenn locGoods.code nicht befüllt) + Parort + 005866 + + + + + + + additional information of the place of loading + Zusatzangaben zum Ladeort + Condition C1 +- Alternative 1: empty +- Alternative 2: fill + Bedingung C1 +- Alternative 1: leer lassen +- Alternative 2: ausfüllen + false + String1..35 + + MIC_CUST_AVPARTNER(nur wenn locGoods.code nicht befüllt) + Avpinfo + MIC_CUST_PARTNER(nur wenn locGoods.code nicht befüllt) + Parinfo + DE + + + + + + + + ContactPerson + + + + + + + Stellung des Ansprechpartners + + + false + String..35 + + MIC_CUST_AVPARTNER + Avpsachstellung + MIC_CUST_PARTNER + Parsachstellung + + + + + + + + + + + + Name des Ansprechpartners + + + false + String..35 + + MIC_CUST_AVPARTNER + Avpsachname + MIC_CUST_PARTNER + Parsachname + + + + + + + + + Email Adresse des Ansprechpartners + + + false + String..256 + + MIC_CUST_AVPARTNER + Avpsachmail + MIC_CUST_PARTNER + Parsachmail + + + + + + + + + + + + + + Telefonnr. des Ansprechpartners + + + false + String..35 + + MIC_CUST_AVPARTNER + Avptelnr + MIC_CUST_PARTNER + Partelnr + + + + + + + + + Faxnr. des Ansprechpartners + + + false + String..35 + + MIC_CUST_AVPARTNER + Avpsachfax + MIC_CUST_PARTNER + Parsachfax + + + + + + + + + Import DeclarationQuantity + + + + + + qualifier + Qualifikator + Qualifier of measurement + Qualifikator zur Maßeinheit der Handelsmenge + false + String1 + + MIC_CUST_AVBEENDIGUNG + ___qual + MIC_CUST_BEENDIGUNG + ___qual + + + + + + + + + + + + + unit + Maßeinheit + Unit of measurement of the deduction quantity + Maßeinheit für den Wert der Handelsmenge + false + String3 + + MIC_CUST_AVBEENDIGUNG + ___meh + MIC_CUST_BEENDIGUNG + ___meh + + + + + + + + + + + + + value + Warenmenge + Quantity + Warenmenge, die aus dem Zolllager entnommen wird + false + Number(12,3) + + MIC_CUST_AVBEENDIGUNG + ___menge + MIC_CUST_BEENDIGUNG + ___menge + + + + + + + + + Reference to the Importdeclaration + + + + + + Type of Reference: +AV … IPR +ZL … BHW + Mögliche Werte: +AV... Beendigungsanteile für die AV +ZL.... Beendigungsanteile für ZL + + + true + String1..3 + + MIC_CUST_AVBEENDIGUNG + Mcbart + MIC_CUST_BEENDIGUNG + Ecbart + + + + + + + + + + + + + Authorisationnumber + Bewilligungsnummer Import + Authorizationnumber of the customs warehouse - BHW or IPR (Import) + Nummer der Bewilligung zum Führen eines Zolllagers + true + String1..12 + + MIC_CUST_AVBEENDIGUNG + Mcbbewillnr + MIC_CUST_BEENDIGUNG + Ecbbewillnr + + + + + + + + + + + + + + + + + false + String1..35 + + MIC_CUST_AVBEENDIGUNG + Mcbbezugnr + MIC_CUST_BEENDIGUNG + Ecbbezugnr + + + + + + + + + + + + + Import Line Number + Nummer der Position des Zugangs zum Quellverfahren AV/UV + Linenumber of the BWH or IPR Import + Angaben zu den in ZL abzuschreibenden Positionen + true + Number(5) + + MIC_CUST_AVBEENDIGUNG + Mcbzugposnr + MIC_CUST_BEENDIGUNG + Ecbzugposnr + + + + + + + + + + + + + Registrationnumber of the Authorities + Registriernummer des Zugangs zum Quellverfahren AV/UV + Registrationnumber of the inward movement (BHW or IPR) + Registriernummer des Zugangs zum Quellverfahren ZL + true + String1..35 + + MIC_CUST_AVBEENDIGUNG + Mcbregnr + MIC_CUST_BEENDIGUNG + Ecbregnr + + + + + + + + + + + + + Commodity code + Warennummer + Valid Commodity code + Warennummer nach dem EZT für die abzufertigende Nichtgemeinschaftsware + false + String1..13 + + MIC_CUST_AVBEENDIGUNG + Mcbtarnr + MIC_CUST_BEENDIGUNG + Ecbtarnr + + + + + + + + + + + + + + Usual Treatment + Kennzeichen für die Übliche Behandlung + Sign of the usual treatment of BHW goods + Kennzeichen, ob die Ware einer üblichen Behandlung unterzogen wurde + false + String1 + + MIC_CUST_AVBEENDIGUNG + Mcbkzueblbeh + MIC_CUST_BEENDIGUNG + Ecbkzueblbeh + + + + + + + + Import Atlas + Kennzeichen Zugang in Atlas + Import into BWH or IPR is happen through the Atlas system? + Kennzeichen, ob der referenzierte Zugang im IT-Verfahren ATLAS angemeldet wurde + true + String1 + + MIC_CUST_AVBEENDIGUNG + Mcbkzatlas + MIC_CUST_BEENDIGUNG + Ecbkzatlas + + + + + + + + additional Information + ZL: +Zusatz + +AV: +Warenbezogene Angaben + + Beendigungsanteile ZL: +Zusatzinformationen des Inhabers des Zolllagerverfahrens zu einer Position des Beendigungsanteils (z.B. über eine durchgeführte übliche Behandlung) + true + ZL: +String1..100 + +AV: +String1.350 + + MIC_CUST_AVBEENDIGUNG + Mcbinfo + MIC_CUST_BEENDIGUNG + Ecbinfo + + + + + + + + Trading Quantity + HANDELSMENGE + + + false + + 1 + MIC_CUST_AVBEENDIGUNG + MCB___ + MIC_CUST_BEENDIGUNG + ECB___ + + + + + + + + Trading Quantity + HANDELSMENGE + + + false + + 1 + MIC_CUST_AVBEENDIGUNG + MCBH___ + MIC_CUST_BEENDIGUNG + ECBH__ + + + + + + + + Number of Packages + Packstückanzahl + + + false + Number + + MIC_CUST_AVBEENDIGUNG + MCBKOLANZ + MIC_CUST_BEENDIGUNG + ECBKOLANZ + + + + + + + + Net Mass + Eigengewicht + + + false + Number(13,4) + + MIC_CUST_AVBEENDIGUNG + MCBEIGMAS + MIC_CUST_BEENDIGUNG + ECBEIGMAS + + + + + + + + + + + + + + Gross Mass + Bruttogewicht + + + false + Number(13,4) + + MIC_CUST_AVBEENDIGUNG + MCBROHMAS + MIC_CUST_BEENDIGUNG + ECBROHMAS + + + + + + + + + + + + + + Statistical Quanity + Statistische Menge + + + false + Number(13,3) + + MIC_CUST_AVBEENDIGUNG + MCBBESM + MIC_CUST_BEENDIGUNG + ECBBESM + + + + + + + + + + + + + + + Transit Route + + + + + + country of transport + Beförderungsland + Countrycodes of those countries, which were crossed through the transportation + Kennungen der Länder, die die Waren zwischen dem ursprünglichen Ausfuhrland und dem Bestimmungsland durchqueren (in chronologischer Reihenfolge einschließlich Ausfuhr- und Bestimmungsland) + true + String2 + + MIC_CUST_AVROUTEPOS + Rpabefld + MIC_CUST_ROUTEPOS + Brpbefld + + + + + + + + + Mode of transportation information + + + + + mode of transport + + + + + nationality means of transport + + + + + license number + + + + + + + term of delivery + + + + + INCO term + + + + + additional code for national declaration + + + + + The terms of delivery description. Mapped to eagelibez + + + + + + + + + + + + item with no, desc and prodgr + + + + + part number + + + + + part description + + + + + product group + + + + + + + License arrival + + + + + import license number + + + + + import license date + + + + + import license not required + + + + + + + Tariff code information for part + + + + + HS tariff code + + + + + VAT code + + + + + excise tax code + + + + + + + document data + + + + description + + + + document type + + + + + document number + + + + + document date + + + + + + + Package arrival + + + + + number of packages + + + + + type of packages + + + + + + + addtional codes on article level + + + + + additional code 1 + + + + + additional code 2 + + + + + additional code 3 + + + + + + + prefernce document arrival + + + + + The type of the preference document + + + + + The number of the preference document + + + + + The date of the preference document + + + + + + + order for arrival + + + + + order number + + + + + order line number + + + + + + + information for INF form + + + + + type of INF form + + + + + INF form duty amount + + + + + INF form duty amount currency + + + + + INF form duty basis + + + + + INF form duty rate + + + + + INF form interest amount + + + + + INF form interest amount currency + + + + + INF form enduse amount + + + + + INF form enduse amount currency + + + + + INF form additional duty type + + + + + INF form additional duty amount + + + + + INF form additional duty amount currency + + + + + + + + + + + + + Customer-specific fields + + + + + + Customer Text Fields + Freie Textfelder + + + false + + + + + + + + + + + + + + Customer Date Fields + Freie Datumsfelder + + + false + + + + + + + + + + + + + + Customer Flag Fields + Freie Flags + + + false + + + + + + + + + + + + + + Customer Number Fields + Freie numerische Felder + + + false + + + + + + + + + + + + + + + + + + + + + + false + + 1..X + + + + + + + + + + + + + + + + Index-Field(1..X) + Index-Feld(1..X) + + + false + Xs:int + + + + + + + + + + + + + Free Text Value + Freitextwert + + + false + 1..4 = String 1..80; 5..X = String1..400 + + + _TEXT1..X + + __TEXT1..X + + + + + + + + + + + + + + + + + + + + + false + + 1..X + + + + + + + + + + + + + + + + Index-Field(1..X) + Index-Feld(1..X) + + + false + Xs:int + + + + + + + + + + + + + Free Date Value + Freier Datumswert + + + false + Xs:dateTime + + + _DATE1..X + + __DATE1..X + + + + + + + + + + + + + + + + + + + false + + 1..X + + + + + + + + + + + + + + + + Index-Field(1..X) + Index-Feld(1..X) + + + false + Xs:int + + + + + + + + + + + + + Free Boolean Value + Freier Boolescher Wert + + + false + Boolean + + + _FLAG1..X + + __FLAG1..X + + + + + + + + + + + + + + + + false + + 1..X + + + + + + + + + + + + + + + + Index-Field(1..X) + Index-Feld(1..X) + + + false + Xs:int + + + + + + + + + + + + + Free Numeric Value + Freier numerischer Wert + + + false + Number(15,4) + + + _NUM1..X + + __NUM1..X + + + + + + + + + + + + + + + + ERP Data on Shipment + + + + + + ERP SystemId + ERP System ID + + + + String1..3 + + ASDERPSYSTEMID + MIC_CUST_SHIPMENT_ERP_DATA + ASDERPSYSTEMID + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + ERP Client + ERP Mandant + + + + String1..3 + + ASDCLIENT + MIC_CUST_SHIPMENT_ERP_DATA + ASDCLIENT + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Company Code + Buchungskreis + + + + String1..4 + + ASDCOMPANYCODE + MIC_CUST_SHIPMENT_ERP_DATA + ASDCOMPANYCODE + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Customer ID number + Kundennummer + + + + String1..10 + + ASDCUSTOMERIDNUMBER + MIC_CUST_SHIPMENT_ERP_DATA + ASDCUSTOMERIDNUMBER + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Consolidation company ID + Verbundkennzeichen + + + + String1..6 + + ASDCONSOLIDATIONCOMPANYID + MIC_CUST_SHIPMENT_ERP_DATA + ASDCONSOLIDATIONCOMPANYID + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Account group + Kontengruppe + + + + String1..4 + + ASDACCOUNTGROUP + MIC_CUST_SHIPMENT_ERP_DATA + ASDACCOUNTGROUP + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Shipping point + Versandstelle + + + + String1..4 + + ASDSHIPPINGPOINT + MIC_CUST_SHIPMENT_ERP_DATA + ASDSHIPPINGPOINT + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Loading point + Ladestelle + + + + String1..2 + + ASDLOADINGPOINT + MIC_CUST_SHIPMENT_ERP_DATA + ASDLOADINGPOINT + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Offshore + Offshore + + + + boolean + + ASDOFFSHORE + MIC_CUST_SHIPMENT_ERP_DATA + ASDOFFSHORE + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + Route + Route + + + + String1..6 + + ASDROUTE + MIC_CUST_SHIPMENT_ERP_DATA + ASDROUTE + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Sales Organization + Verkaufs Organisation + + + + String1..4 + + ASDSALEORGANIZATION + MIC_CUST_SHIPMENT_ERP_DATA + ASDSALEORGANIZATION + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + Distribution Channel + Vetriebsweg  + + + + String1..2 + + ASDDISTRIBUTIONCHANNEL + MIC_CUST_SHIPMENT_ERP_DATA + ASDDISTRIBUTIONCHANNEL + MIC_CUST_SHIPMENT_ERP_DATA + + + + + + + + + + + + + + ERP Data on Transmitted Line + + + + + + Legal regulation + Gesetzliche Grundlage + + + + String1..2 + + MIC_CUST_LINE_ERP_DATA + APDLEGALREGULATION + MIC_CUST_LINE_ERP_DATA + APDLEGALREGULATION + + + + + + + + + + + + + Export control class + Mat. Klassifizierung + + + + String1..14 + + MIC_CUST_LINE_ERP_DATA + APDEXPORTCONTROLCLASS + MIC_CUST_LINE_ERP_DATA + APDEXPORTCONTROLCLASS + + + + + + + + + + + + + Embargo + Embargo + + + + String1..14 + + MIC_CUST_LINE_ERP_DATA + APDEMBARGO + MIC_CUST_LINE_ERP_DATA + APDEMBARGO + + + + + + + + + + + + + License type + Bewilligungsart + + + + String1..4 + + MIC_CUST_LINE_ERP_DATA + APDLICENSETYPE + MIC_CUST_LINE_ERP_DATA + APDLICENSETYPE + + + + + + + + + + + + + License number + Genehmigungsnummer + + + + String1..10 + + MIC_CUST_LINE_ERP_DATA + APDLICENSENUMBER + MIC_CUST_LINE_ERP_DATA + APDLICENSENUMBER + + + + + + + + + + + + + Profit center + Profit Center + + + + String1..10 + + MIC_CUST_LINE_ERP_DATA + APDPROFITCENTER + MIC_CUST_LINE_ERP_DATA + APDPROFITCENTER + + + + + + + + + + + + + vZTA Number + vZTA Nummer + + + + String1..30 + + MIC_CUST_LINE_ERP_DATA + APDVZTA + MIC_CUST_LINE_ERP_DATA + APDVZTA + + + + + + + + + + + + + ERP-Invoicelinenumber + ERP Belegpositionsnummer + + + + number(6) + + MIC_CUST_LINE_ERP_DATA + APDERPINVOICELINENUMBER + MIC_CUST_LINE_ERP_DATA + APDERPINVOICELINENUMBER + + + + + + + + + + + + + + ERP-Partnumber + ERP-Materialnummer + + + + String1..40 + + MIC_CUST_LINE_ERP_DATA + APDERPPARTNUMBER + MIC_CUST_LINE_ERP_DATA + APDERPPARTNUMBER + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.Designer.vb new file mode 100644 index 0000000..18440c7 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.Designer.vb @@ -0,0 +1,4333 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_EXPORT_InvoiceTypesListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic +Imports VERAG_PROG_ALLGEMEIN.MIC_EXPORT_Components + +Namespace MIC_EXPORT_InvoiceTypes + + + Partial Public Class TInvoiceHead + +#Region "Private fields" + Private _invoiceNo As String + + Private _invoiceDate As Date + + Private _invType As String + + Private _totAmount As Decimal + + Private _curr As String + + Private _shipTo As TAddress + + Private _endUser As TInvoiceHeadEndUser + + Private _delTerm As TDelTerm + + Private _billTo As TAddress + + Private _ref As String + + Private _tradeCtry As String + + Private _gWeight As Decimal + + Private _nWeight As Decimal + + Private _addCosts As List(Of TAddCosts) + + Private _bol As String + + Private _transpNr As String + + Private _addtext As List(Of String) + + Private _documents As List(Of TDocuments) + + Private _mrnExt As String + + Private _numberOfPackages As Decimal + + Private _transportType As String + + Private _customerFields As TCustomerFields + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._customerFields = New TCustomerFields() + Me._documents = New List(Of TDocuments)() + Me._addtext = New List(Of String)() + Me._addCosts = New List(Of TAddCosts)() + Me._billTo = New TAddress() + Me._delTerm = New TDelTerm() + Me._endUser = New TInvoiceHeadEndUser() + Me._shipTo = New TAddress() + End Sub + + Public Property invoiceNo() As String + Get + Return Me._invoiceNo + End Get + Set + Me._invoiceNo = Value + End Set + End Property + + + Public Property invoiceDate() As Date + Get + Return Me._invoiceDate + End Get + Set + Me._invoiceDate = Value + End Set + End Property + + Public Property invType() As String + Get + Return Me._invType + End Get + Set + Me._invType = Value + End Set + End Property + + Public Property totAmount() As Decimal + Get + Return Me._totAmount + End Get + Set + Me._totAmount = Value + End Set + End Property + + Public Property curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + Public Property shipTo() As TAddress + Get + Return Me._shipTo + End Get + Set + Me._shipTo = Value + End Set + End Property + + Public Property endUser() As TInvoiceHeadEndUser + Get + Return Me._endUser + End Get + Set + Me._endUser = Value + End Set + End Property + + Public Property delTerm() As TDelTerm + Get + Return Me._delTerm + End Get + Set + Me._delTerm = Value + End Set + End Property + + Public Property billTo() As TAddress + Get + Return Me._billTo + End Get + Set + Me._billTo = Value + End Set + End Property + + Public Property ref() As String + Get + Return Me._ref + End Get + Set + Me._ref = Value + End Set + End Property + + Public Property tradeCtry() As String + Get + Return Me._tradeCtry + End Get + Set + Me._tradeCtry = Value + End Set + End Property + + Public Property gWeight() As Decimal + Get + Return Me._gWeight + End Get + Set + Me._gWeight = Value + End Set + End Property + + Public Property nWeight() As Decimal + Get + Return Me._nWeight + End Get + Set + Me._nWeight = Value + End Set + End Property + + + Public Property addCosts() As List(Of TAddCosts) + Get + Return Me._addCosts + End Get + Set + Me._addCosts = Value + End Set + End Property + + Public Property bol() As String + Get + Return Me._bol + End Get + Set + Me._bol = Value + End Set + End Property + + Public Property transpNr() As String + Get + Return Me._transpNr + End Get + Set + Me._transpNr = Value + End Set + End Property + + + Public Property addtext() As List(Of String) + Get + Return Me._addtext + End Get + Set + Me._addtext = Value + End Set + End Property + + + Public Property documents() As List(Of TDocuments) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + Public Property mrnExt() As String + Get + Return Me._mrnExt + End Get + Set + Me._mrnExt = Value + End Set + End Property + + Public Property numberOfPackages() As Decimal + Get + Return Me._numberOfPackages + End Get + Set + Me._numberOfPackages = Value + End Set + End Property + + Public Property transportType() As String + Get + Return Me._transportType + End Get + Set + Me._transportType = Value + End Set + End Property + + Public Property customerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceHead)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceHead object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceHead object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHead) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHead) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceHead + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceHead) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceHead + Return CType(Serializer.Deserialize(s), TInvoiceHead) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceHead object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceHead object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHead) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHead) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceHead + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDocuments + +#Region "Private fields" + Private _docNo As String + + Private _docDate As Date + + Private _docType As String + + Private _docQual As String + + Private _docValidFrom As Date + + Private _docValidTo As Date + + Private _docAddText As String + + Private _docQuantity As Decimal + + Private _docUnit As String + + Private _docDetail As String + + Private _docValue As Decimal + + Private _docStatUnit As String + + Private _docDepreciateQuantity As Decimal + + Private _docSupplier As String + + Private _docCategory As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property docNo() As String + Get + Return Me._docNo + End Get + Set + Me._docNo = Value + End Set + End Property + + + Public Property docDate() As Date + Get + Return Me._docDate + End Get + Set + Me._docDate = Value + End Set + End Property + + Public Property docType() As String + Get + Return Me._docType + End Get + Set + Me._docType = Value + End Set + End Property + + Public Property docQual() As String + Get + Return Me._docQual + End Get + Set + Me._docQual = Value + End Set + End Property + + + Public Property docValidFrom() As Date + Get + Return Me._docValidFrom + End Get + Set + Me._docValidFrom = Value + End Set + End Property + + + Public Property docValidTo() As Date + Get + Return Me._docValidTo + End Get + Set + Me._docValidTo = Value + End Set + End Property + + Public Property docAddText() As String + Get + Return Me._docAddText + End Get + Set + Me._docAddText = Value + End Set + End Property + + Public Property docQuantity() As Decimal + Get + Return Me._docQuantity + End Get + Set + Me._docQuantity = Value + End Set + End Property + + Public Property docUnit() As String + Get + Return Me._docUnit + End Get + Set + Me._docUnit = Value + End Set + End Property + + Public Property docDetail() As String + Get + Return Me._docDetail + End Get + Set + Me._docDetail = Value + End Set + End Property + + Public Property docValue() As Decimal + Get + Return Me._docValue + End Get + Set + Me._docValue = Value + End Set + End Property + + Public Property docStatUnit() As String + Get + Return Me._docStatUnit + End Get + Set + Me._docStatUnit = Value + End Set + End Property + + Public Property docDepreciateQuantity() As Decimal + Get + Return Me._docDepreciateQuantity + End Get + Set + Me._docDepreciateQuantity = Value + End Set + End Property + + Public Property docSupplier() As String + Get + Return Me._docSupplier + End Get + Set + Me._docSupplier = Value + End Set + End Property + + Public Property docCategory() As String + Get + Return Me._docCategory + End Get + Set + Me._docCategory = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDocuments)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDocuments object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDocuments object + ''' + ''' string workflow markup to deserialize + ''' Output TDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocuments) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDocuments + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDocuments) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDocuments + Return CType(Serializer.Deserialize(s), TDocuments) + End Function +#End Region + + ''' + ''' Serializes current TDocuments object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDocuments object + ''' + ''' string xml file to load and deserialize + ''' Output TDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocuments) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDocuments + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceHeadEndUser + +#Region "Private fields" + Private _addrNo As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrEori As String + + Private _addrNatT As String + + Private _branchNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property addrNatT() As String + Get + Return Me._addrNatT + End Get + Set + Me._addrNatT = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceHeadEndUser)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceHeadEndUser object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceHeadEndUser object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceHeadEndUser object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHeadEndUser, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHeadEndUser) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHeadEndUser) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceHeadEndUser + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceHeadEndUser) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceHeadEndUser + Return CType(Serializer.Deserialize(s), TInvoiceHeadEndUser) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceHeadEndUser object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceHeadEndUser object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceHeadEndUser object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHeadEndUser, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHeadEndUser) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHeadEndUser) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceHeadEndUser + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceLine + +#Region "Private fields" + Private _lineNo As String + + Private _unitPrice As Decimal + + Private _amount As Decimal + + Private _nWeight As Decimal + + Private _gWeight As Decimal + + Private _statQuant As Decimal + + Private _statUnit As String + + Private _statVal As Decimal + + Private _custProc As String + + Private _eUCode As String + + Private _statCode As String + + Private _transType As String + + Private _coo As String + + Private _cooState As String + + Private _addText As List(Of String) + + Private _prevDoc As List(Of TPreviousDocument) + + Private _item As TItem + + Private _documents As List(Of TDocuments) + + Private _delTerm As TInvoiceLineDelTerm + + Private _quantity As Decimal + + Private _unit As String + + Private _delnote As TDelNote + + Private _order As TOrder + + Private _itemRef As String + + Private _addCosts As List(Of TAddCosts) + + Private _addCode As List(Of String) + + Private _natCode As List(Of String) + + Private _stockTypeAdd As String + + Private _stockTypeDed As String + + Private _bom As TBomNo + + Private _accountNo As String + + Private _customerFields As TCustomerFields + + Private _attributes As List(Of TAttribute) + + Private _containers As List(Of TContainer) + + Private _shipmentIdentification As String + + Private _uNDG As String + + Private _consigneeEndUserFlag As String + + Private _endUserInEam As TInvoiceLineEndUserInEam + + Private _carriageCosts As String + + Private _shipTo As TInvoiceLineShipTo + + Private _endUser As TInvoiceLineEndUser + + Private _importReference As List(Of TImportReference) + + Private _registrationInfo As TRegInfo + + Private _serialNo As String + + Private _referenceValue As Decimal + + Private _model As String + + Private _brand As String + + Private _addedValue As Decimal + + Private _ctoId As String + + Private _infoText2 As String + + Private _branchNo As String + + Private _additionalInformation As List(Of TAttribute) + + Private _trackingNumber As String + + Private _erpData As TErpLineData + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._erpData = New TErpLineData() + Me._additionalInformation = New List(Of TAttribute)() + Me._registrationInfo = New TRegInfo() + Me._importReference = New List(Of TImportReference)() + Me._endUser = New TInvoiceLineEndUser() + Me._shipTo = New TInvoiceLineShipTo() + Me._containers = New List(Of TContainer)() + Me._attributes = New List(Of TAttribute)() + Me._customerFields = New TCustomerFields() + Me._bom = New TBomNo() + Me._natCode = New List(Of String)() + Me._addCode = New List(Of String)() + Me._addCosts = New List(Of TAddCosts)() + Me._order = New TOrder() + Me._delnote = New TDelNote() + Me._delTerm = New TInvoiceLineDelTerm() + Me._documents = New List(Of TDocuments)() + Me._item = New TItem() + Me._prevDoc = New List(Of TPreviousDocument)() + Me._addText = New List(Of String)() + End Sub + + + Public Property lineNo() As String + Get + Return Me._lineNo + End Get + Set + Me._lineNo = Value + End Set + End Property + + Public Property unitPrice() As Decimal + Get + Return Me._unitPrice + End Get + Set + Me._unitPrice = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property nWeight() As Decimal + Get + Return Me._nWeight + End Get + Set + Me._nWeight = Value + End Set + End Property + + Public Property gWeight() As Decimal + Get + Return Me._gWeight + End Get + Set + Me._gWeight = Value + End Set + End Property + + Public Property statQuant() As Decimal + Get + Return Me._statQuant + End Get + Set + Me._statQuant = Value + End Set + End Property + + Public Property statUnit() As String + Get + Return Me._statUnit + End Get + Set + Me._statUnit = Value + End Set + End Property + + Public Property statVal() As Decimal + Get + Return Me._statVal + End Get + Set + Me._statVal = Value + End Set + End Property + + Public Property custProc() As String + Get + Return Me._custProc + End Get + Set + Me._custProc = Value + End Set + End Property + + Public Property EUCode() As String + Get + Return Me._eUCode + End Get + Set + Me._eUCode = Value + End Set + End Property + + Public Property statCode() As String + Get + Return Me._statCode + End Get + Set + Me._statCode = Value + End Set + End Property + + Public Property transType() As String + Get + Return Me._transType + End Get + Set + Me._transType = Value + End Set + End Property + + Public Property coo() As String + Get + Return Me._coo + End Get + Set + Me._coo = Value + End Set + End Property + + Public Property cooState() As String + Get + Return Me._cooState + End Get + Set + Me._cooState = Value + End Set + End Property + + + Public Property addText() As List(Of String) + Get + Return Me._addText + End Get + Set + Me._addText = Value + End Set + End Property + + + Public Property prevDoc() As List(Of TPreviousDocument) + Get + Return Me._prevDoc + End Get + Set + Me._prevDoc = Value + End Set + End Property + + Public Property item() As TItem + Get + Return Me._item + End Get + Set + Me._item = Value + End Set + End Property + + + Public Property documents() As List(Of TDocuments) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + Public Property delTerm() As TInvoiceLineDelTerm + Get + Return Me._delTerm + End Get + Set + Me._delTerm = Value + End Set + End Property + + Public Property quantity() As Decimal + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property unit() As String + Get + Return Me._unit + End Get + Set + Me._unit = Value + End Set + End Property + + Public Property delnote() As TDelNote + Get + Return Me._delnote + End Get + Set + Me._delnote = Value + End Set + End Property + + Public Property order() As TOrder + Get + Return Me._order + End Get + Set + Me._order = Value + End Set + End Property + + Public Property itemRef() As String + Get + Return Me._itemRef + End Get + Set + Me._itemRef = Value + End Set + End Property + + + Public Property addCosts() As List(Of TAddCosts) + Get + Return Me._addCosts + End Get + Set + Me._addCosts = Value + End Set + End Property + + + Public Property addCode() As List(Of String) + Get + Return Me._addCode + End Get + Set + Me._addCode = Value + End Set + End Property + + + Public Property natCode() As List(Of String) + Get + Return Me._natCode + End Get + Set + Me._natCode = Value + End Set + End Property + + Public Property stockTypeAdd() As String + Get + Return Me._stockTypeAdd + End Get + Set + Me._stockTypeAdd = Value + End Set + End Property + + Public Property stockTypeDed() As String + Get + Return Me._stockTypeDed + End Get + Set + Me._stockTypeDed = Value + End Set + End Property + + Public Property bom() As TBomNo + Get + Return Me._bom + End Get + Set + Me._bom = Value + End Set + End Property + + Public Property accountNo() As String + Get + Return Me._accountNo + End Get + Set + Me._accountNo = Value + End Set + End Property + + Public Property customerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + + Public Property attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + + Public Property containers() As List(Of TContainer) + Get + Return Me._containers + End Get + Set + Me._containers = Value + End Set + End Property + + Public Property shipmentIdentification() As String + Get + Return Me._shipmentIdentification + End Get + Set + Me._shipmentIdentification = Value + End Set + End Property + + Public Property UNDG() As String + Get + Return Me._uNDG + End Get + Set + Me._uNDG = Value + End Set + End Property + + Public Property consigneeEndUserFlag() As String + Get + Return Me._consigneeEndUserFlag + End Get + Set + Me._consigneeEndUserFlag = Value + End Set + End Property + + Public Property endUserInEam() As TInvoiceLineEndUserInEam + Get + Return Me._endUserInEam + End Get + Set + Me._endUserInEam = Value + End Set + End Property + + Public Property carriageCosts() As String + Get + Return Me._carriageCosts + End Get + Set + Me._carriageCosts = Value + End Set + End Property + + Public Property shipTo() As TInvoiceLineShipTo + Get + Return Me._shipTo + End Get + Set + Me._shipTo = Value + End Set + End Property + + Public Property endUser() As TInvoiceLineEndUser + Get + Return Me._endUser + End Get + Set + Me._endUser = Value + End Set + End Property + + + Public Property importReference() As List(Of TImportReference) + Get + Return Me._importReference + End Get + Set + Me._importReference = Value + End Set + End Property + + Public Property registrationInfo() As TRegInfo + Get + Return Me._registrationInfo + End Get + Set + Me._registrationInfo = Value + End Set + End Property + + Public Property serialNo() As String + Get + Return Me._serialNo + End Get + Set + Me._serialNo = Value + End Set + End Property + + Public Property referenceValue() As Decimal + Get + Return Me._referenceValue + End Get + Set + Me._referenceValue = Value + End Set + End Property + + Public Property model() As String + Get + Return Me._model + End Get + Set + Me._model = Value + End Set + End Property + + Public Property brand() As String + Get + Return Me._brand + End Get + Set + Me._brand = Value + End Set + End Property + + Public Property addedValue() As Decimal + Get + Return Me._addedValue + End Get + Set + Me._addedValue = Value + End Set + End Property + + Public Property ctoId() As String + Get + Return Me._ctoId + End Get + Set + Me._ctoId = Value + End Set + End Property + + Public Property infoText2() As String + Get + Return Me._infoText2 + End Get + Set + Me._infoText2 = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + + Public Property additionalInformation() As List(Of TAttribute) + Get + Return Me._additionalInformation + End Get + Set + Me._additionalInformation = Value + End Set + End Property + + Public Property trackingNumber() As String + Get + Return Me._trackingNumber + End Get + Set + Me._trackingNumber = Value + End Set + End Property + + Public Property erpData() As TErpLineData + Get + Return Me._erpData + End Get + Set + Me._erpData = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLine object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLine + Return CType(Serializer.Deserialize(s), TInvoiceLine) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLine object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPreviousDocument + +#Region "Private fields" + Private _docType As String + + Private _docNo As String + + Private _docAddText As String + + Private _docCategory As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property docType() As String + Get + Return Me._docType + End Get + Set + Me._docType = Value + End Set + End Property + + Public Property docNo() As String + Get + Return Me._docNo + End Get + Set + Me._docNo = Value + End Set + End Property + + Public Property docAddText() As String + Get + Return Me._docAddText + End Get + Set + Me._docAddText = Value + End Set + End Property + + Public Property docCategory() As String + Get + Return Me._docCategory + End Get + Set + Me._docCategory = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPreviousDocument)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPreviousDocument object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPreviousDocument object + ''' + ''' string workflow markup to deserialize + ''' Output TPreviousDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPreviousDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPreviousDocument) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPreviousDocument) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPreviousDocument + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPreviousDocument) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPreviousDocument + Return CType(Serializer.Deserialize(s), TPreviousDocument) + End Function +#End Region + + ''' + ''' Serializes current TPreviousDocument object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPreviousDocument object + ''' + ''' string xml file to load and deserialize + ''' Output TPreviousDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPreviousDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPreviousDocument) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPreviousDocument) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPreviousDocument + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceLineDelTerm + +#Region "Private fields" + Private _code As String + + Private _desc As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property desc() As String + Get + Return Me._desc + End Get + Set + Me._desc = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLineDelTerm)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLineDelTerm object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLineDelTerm object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLineDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineDelTerm) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLineDelTerm + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLineDelTerm) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLineDelTerm + Return CType(Serializer.Deserialize(s), TInvoiceLineDelTerm) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLineDelTerm object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLineDelTerm object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLineDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineDelTerm) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLineDelTerm + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TContainer + +#Region "Private fields" + Private _contNo As String + + Private _contType As String + + Private _sealNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property contNo() As String + Get + Return Me._contNo + End Get + Set + Me._contNo = Value + End Set + End Property + + Public Property contType() As String + Get + Return Me._contType + End Get + Set + Me._contType = Value + End Set + End Property + + Public Property sealNumber() As String + Get + Return Me._sealNumber + End Get + Set + Me._sealNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TContainer)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TContainer object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TContainer object + ''' + ''' string workflow markup to deserialize + ''' Output TContainer object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainer, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainer) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainer) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TContainer + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TContainer) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TContainer + Return CType(Serializer.Deserialize(s), TContainer) + End Function +#End Region + + ''' + ''' Serializes current TContainer object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TContainer object + ''' + ''' string xml file to load and deserialize + ''' Output TContainer object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainer, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainer) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainer) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TContainer + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TInvoiceLineEndUserInEam + + ''' + + Item + + ''' + + Item0 + + ''' + + Item1 + End Enum + + + Partial Public Class TInvoiceLineShipTo + +#Region "Private fields" + Private _addrNo As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrState As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrEori As String + + Private _addrNatT As String + + Private _branchNo As String + + Private _addrKvb As String + + Private _contactPerson As TContactPerson + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._contactPerson = New TContactPerson() + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrState() As String + Get + Return Me._addrState + End Get + Set + Me._addrState = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property addrNatT() As String + Get + Return Me._addrNatT + End Get + Set + Me._addrNatT = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + Public Property addrKvb() As String + Get + Return Me._addrKvb + End Get + Set + Me._addrKvb = Value + End Set + End Property + + Public Property contactPerson() As TContactPerson + Get + Return Me._contactPerson + End Get + Set + Me._contactPerson = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLineShipTo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLineShipTo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLineShipTo object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLineShipTo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineShipTo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineShipTo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineShipTo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLineShipTo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLineShipTo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLineShipTo + Return CType(Serializer.Deserialize(s), TInvoiceLineShipTo) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLineShipTo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLineShipTo object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLineShipTo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineShipTo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineShipTo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineShipTo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLineShipTo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceLineEndUser + +#Region "Private fields" + Private _addrNo As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrEori As String + + Private _addrNatT As String + + Private _branchNo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property addrNatT() As String + Get + Return Me._addrNatT + End Get + Set + Me._addrNatT = Value + End Set + End Property + + Public Property branchNo() As String + Get + Return Me._branchNo + End Get + Set + Me._branchNo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLineEndUser)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLineEndUser object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLineEndUser object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLineEndUser object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineEndUser, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineEndUser) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLineEndUser) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLineEndUser + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLineEndUser) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLineEndUser + Return CType(Serializer.Deserialize(s), TInvoiceLineEndUser) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLineEndUser object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLineEndUser object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLineEndUser object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineEndUser, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLineEndUser) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLineEndUser) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLineEndUser + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRegInfo + +#Region "Private fields" + Private _registrationNumber1 As String + + Private _registrationNumber2 As String + + Private _registrationNumber3 As String + + Private _referenceNumber1 As String + + Private _referenceNumber2 As String + + Private _referenceNumber3 As String + + Private _registrationDate As Date + + Private _acceptanceDate As Date + + Private _releaseDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property registrationNumber1() As String + Get + Return Me._registrationNumber1 + End Get + Set + Me._registrationNumber1 = Value + End Set + End Property + + Public Property registrationNumber2() As String + Get + Return Me._registrationNumber2 + End Get + Set + Me._registrationNumber2 = Value + End Set + End Property + + Public Property registrationNumber3() As String + Get + Return Me._registrationNumber3 + End Get + Set + Me._registrationNumber3 = Value + End Set + End Property + + Public Property referenceNumber1() As String + Get + Return Me._referenceNumber1 + End Get + Set + Me._referenceNumber1 = Value + End Set + End Property + + Public Property referenceNumber2() As String + Get + Return Me._referenceNumber2 + End Get + Set + Me._referenceNumber2 = Value + End Set + End Property + + Public Property referenceNumber3() As String + Get + Return Me._referenceNumber3 + End Get + Set + Me._referenceNumber3 = Value + End Set + End Property + + + Public Property registrationDate() As Date + Get + Return Me._registrationDate + End Get + Set + Me._registrationDate = Value + End Set + End Property + + + Public Property acceptanceDate() As Date + Get + Return Me._acceptanceDate + End Get + Set + Me._acceptanceDate = Value + End Set + End Property + + + Public Property releaseDate() As Date + Get + Return Me._releaseDate + End Get + Set + Me._releaseDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRegInfo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRegInfo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRegInfo object + ''' + ''' string workflow markup to deserialize + ''' Output TRegInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRegInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRegInfo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRegInfo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRegInfo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRegInfo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRegInfo + Return CType(Serializer.Deserialize(s), TRegInfo) + End Function +#End Region + + ''' + ''' Serializes current TRegInfo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRegInfo object + ''' + ''' string xml file to load and deserialize + ''' Output TRegInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRegInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRegInfo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRegInfo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRegInfo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TSeal + +#Region "Private fields" + Private _type As String + + Private _quantity As UInteger + + Private _sign As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property quantity() As UInteger + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property sign() As String + Get + Return Me._sign + End Get + Set + Me._sign = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TSeal)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TSeal object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TSeal object + ''' + ''' string workflow markup to deserialize + ''' Output TSeal object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TSeal, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TSeal) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TSeal) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TSeal + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TSeal) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TSeal + Return CType(Serializer.Deserialize(s), TSeal) + End Function +#End Region + + ''' + ''' Serializes current TSeal object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TSeal object + ''' + ''' string xml file to load and deserialize + ''' Output TSeal object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TSeal, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TSeal) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TSeal) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TSeal + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoice + +#Region "Private fields" + Private _invoiceHead As TInvoiceHead + + Private _invoiceLine As List(Of TInvoiceLine) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._invoiceLine = New List(Of TInvoiceLine)() + Me._invoiceHead = New TInvoiceHead() + End Sub + + Public Property InvoiceHead() As TInvoiceHead + Get + Return Me._invoiceHead + End Get + Set + Me._invoiceHead = Value + End Set + End Property + + + Public Property InvoiceLine() As List(Of TInvoiceLine) + Get + Return Me._invoiceLine + End Get + Set + Me._invoiceLine = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoice)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoice object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoice object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoice) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoice + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoice) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoice + Return CType(Serializer.Deserialize(s), TInvoice) + End Function +#End Region + + ''' + ''' Serializes current TInvoice object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoice object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoice) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoice + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackageHead + +#Region "Private fields" + Private _packageNo As String + + Private _pType As String + + Private _unit As String + + Private _packageNoExt As String + + Private _gWeight As Decimal + + Private _nWeight As Decimal + + Private _tara As Decimal + + Private _unitWeight As String + + Private _volume As Decimal + + Private _grossVolume As Decimal + + Private _netVolume As Decimal + + Private _unitVolume As String + + Private _length As Decimal + + Private _width As Decimal + + Private _height As Decimal + + Private _unitlwh As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property packageNo() As String + Get + Return Me._packageNo + End Get + Set + Me._packageNo = Value + End Set + End Property + + Public Property pType() As String + Get + Return Me._pType + End Get + Set + Me._pType = Value + End Set + End Property + + Public Property unit() As String + Get + Return Me._unit + End Get + Set + Me._unit = Value + End Set + End Property + + Public Property packageNoExt() As String + Get + Return Me._packageNoExt + End Get + Set + Me._packageNoExt = Value + End Set + End Property + + Public Property gWeight() As Decimal + Get + Return Me._gWeight + End Get + Set + Me._gWeight = Value + End Set + End Property + + Public Property nWeight() As Decimal + Get + Return Me._nWeight + End Get + Set + Me._nWeight = Value + End Set + End Property + + Public Property tara() As Decimal + Get + Return Me._tara + End Get + Set + Me._tara = Value + End Set + End Property + + Public Property unitWeight() As String + Get + Return Me._unitWeight + End Get + Set + Me._unitWeight = Value + End Set + End Property + + Public Property volume() As Decimal + Get + Return Me._volume + End Get + Set + Me._volume = Value + End Set + End Property + + Public Property grossVolume() As Decimal + Get + Return Me._grossVolume + End Get + Set + Me._grossVolume = Value + End Set + End Property + + Public Property netVolume() As Decimal + Get + Return Me._netVolume + End Get + Set + Me._netVolume = Value + End Set + End Property + + Public Property unitVolume() As String + Get + Return Me._unitVolume + End Get + Set + Me._unitVolume = Value + End Set + End Property + + Public Property length() As Decimal + Get + Return Me._length + End Get + Set + Me._length = Value + End Set + End Property + + Public Property width() As Decimal + Get + Return Me._width + End Get + Set + Me._width = Value + End Set + End Property + + Public Property height() As Decimal + Get + Return Me._height + End Get + Set + Me._height = Value + End Set + End Property + + Public Property unitlwh() As String + Get + Return Me._unitlwh + End Get + Set + Me._unitlwh = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackageHead)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackageHead object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackageHead object + ''' + ''' string workflow markup to deserialize + ''' Output TPackageHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageHead) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageHead) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackageHead + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackageHead) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackageHead + Return CType(Serializer.Deserialize(s), TPackageHead) + End Function +#End Region + + ''' + ''' Serializes current TPackageHead object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackageHead object + ''' + ''' string xml file to load and deserialize + ''' Output TPackageHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageHead) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageHead) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackageHead + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackageLine + +#Region "Private fields" + Private _invNo As String + + Private _invPos As String + + Private _quantity As Decimal + + Private _unit As String + + Private _nWeight As Decimal + + Private _numberOfPackages As Long + + Private _itemQuantity As Long + + Private _itemUnit As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property invNo() As String + Get + Return Me._invNo + End Get + Set + Me._invNo = Value + End Set + End Property + + + Public Property invPos() As String + Get + Return Me._invPos + End Get + Set + Me._invPos = Value + End Set + End Property + + Public Property quantity() As Decimal + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property unit() As String + Get + Return Me._unit + End Get + Set + Me._unit = Value + End Set + End Property + + Public Property nWeight() As Decimal + Get + Return Me._nWeight + End Get + Set + Me._nWeight = Value + End Set + End Property + + Public Property numberOfPackages() As Long + Get + Return Me._numberOfPackages + End Get + Set + Me._numberOfPackages = Value + End Set + End Property + + Public Property itemQuantity() As Long + Get + Return Me._itemQuantity + End Get + Set + Me._itemQuantity = Value + End Set + End Property + + Public Property itemUnit() As String + Get + Return Me._itemUnit + End Get + Set + Me._itemUnit = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackageLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackageLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackageLine object + ''' + ''' string workflow markup to deserialize + ''' Output TPackageLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackageLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackageLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackageLine + Return CType(Serializer.Deserialize(s), TPackageLine) + End Function +#End Region + + ''' + ''' Serializes current TPackageLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackageLine object + ''' + ''' string xml file to load and deserialize + ''' Output TPackageLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackageLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.xsd new file mode 100644 index 0000000..1314919 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportInvoiceTypes.xsd @@ -0,0 +1,3907 @@ + + + + + + + + + Invoice number + Fakturanummer + alternatively delivery note number or UCR, .. + auch Lieferscheinnummer oder UCR + true + String25 + + MIC_ALL_AAVKOP + Aakfaktnr + MIC_AUSKOP + Afkfaktnr + + + + + + + + Invoice date + Fakturadatum + Format: <yyyy-mm-dd>T<hh:mm> + Format: <jjjj-mm-tt>T<hh:mm> + true + Date + + MIC_ALL_AAVKOP + Aakfaktdat + MIC_AUSKOP + Afkfaktdat + + + + + + + + Invoice type + Fakturatyp + + + false + String1..3 + + MIC_ALL_AAVKOP + Aakfakttyp + MIC_AUSKOP + Afkfakttyp + + + + + + + + Invoice value + Gesamtbetrag der Rechnung + + + false + Number(17,4) + + MIC_ALL_AAVKOP + Aakliewert + MIC_AUSKOP + Afkliewert + + + + + + + + Currency (ISO-Code) + Währung (ISO-Code) + + + true + String 3 + + MIC_ALL_AAVKOP + Aakliewae + MIC_AUSKOP + Afkliewae + + + + + + + + Consignee +SAD Field 8 + (Waren) Empfänger +Referenz: EH-Pap. Feld 8 + + Die Daten des Empfängers können etweder auf Fakturakopf oder auf der Position angegeben werden. Beides ist nicht zulässig. Werden die Daten auf dem Fakturakopf angegeben, gilt dieser Empfänger für alle Positionen. + true + + + MIC_ALL_AAVKOP + Aakemp___ + MIC_AUSKOP + Afkemp___ + + + + + + + + Address number in MIC-CUST + Endverwender + + + false + + 0..1 + + + + + + + + + + + + + Address number in MIC-CUST + MIC-CUST Adressnummer + + + true + String1..15 + + MIC_ALL_AAVKOP + Aakeusernr + MIC_AUSKOP + Afkeusernr + + + + + + + + + + + End-user name + Endverwender Name + + + true + String1..40 + 1..3 + MIC_ALL_AAVKOP + Aakeusernm1 + MIC_AUSKOP + Afkeusernm1 + + + + + + + + + + + + + End-user Street and house number + Endverwender Strasse und HausNr + + + true + String1..70 + + MIC_ALL_AAVKOP + Aakeuserstreet + MIC_AUSKOP + Afkeuserstreet + + + + + + + + + + + + + End-user City + Endverwender Ort + + + true + String1..35 + + MIC_ALL_AAVKOP + Aakeusercity + MIC_AUSKOP + Afkeusercity + + + + + + + + + + + + + End-user Country + Endverwender Land + + + true + String2 + + MIC_ALL_AAVKOP + Aakeusercountry + MIC_AUSKOP + Afkeusercountry + + + + + + + + + + + + + End-user ZIP Code + Endverwender PLZ + + + true + String1..9 + + MIC_ALL_AAVKOP + Aakeuserzip + MIC_AUSKOP + Afkeuserzip + + + + + + + + + + + + + End-user participant ID (TIN) + Endverwender TIN + + + false + String1..17 + + MIC_ALL_AAVKOP + Aakeusertin + MIC_AUSKOP + Afkeusertin + + + + + + + + + + + + + End-user EORI + Endverwender EORI + Relevant only if element "EORI" is assigned + + false + String1..17 + + MIC_ALL_AAVKOP + Aakeusereori + MIC_AUSKOP + Afkeusereori + + + + + + + + + + + + + Alternative 3: +National Tin indicator + Alternative 3: +Indikator für Nationale Tin. + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + true + String1 + + + + + + + + + + + + + Branchnumber assigned to EORI + Laufende Nummer der Niederlassung + Relevant only if element <adrNatT> = "2" (EORI-number) + Die Angabe des Datenfeldes ist nur relevant wenn das Datenfeld <addrNatT> mit dem Wert "2" (EORI) angegeben wird. + false + String4 + + MIC_ALL_AAVKOP + Aakeuserbranchno + MIC_AUSKOP + Afkeuserbranchno + + + + + + + + + + + + + + + + Terms of delivery + Lieferbedingung + + + true + + + + + + + + + + + + + + Invoice recipient + Rechungsempfängers + + + true + + + MIC_ALL_AAVKOP + Aakknd___ + MIC_AUSKOP + Afkknd___ + + + + + + + + internal reference + Interne Referenz + + + false + String1..20 + + MIC_ALL_AAVKOP + Aakrefi + MIC_AUSKOP + Afkrefi + + + + + + + + + + + + + trading country + Handelsland + + + false + String..3 + + MIC_ALL_AAVKOP + Aakhald + MIC_AUSKOP + Afkhald + + + + + + + + + + + + + gross weight + Rohmasse + + + false + Number(13,4) + + MIC_ALL_AAVKOP + Aakrohmas + MIC_AUSKOP + Afkrohmas + + + + + + + + net weight + Nettogewicht + + + false + Number(13,4) + + MIC_ALL_AAVKOP + Aakgewsum + MIC_AUSKOP + Afkgewsum + + + + + + + + Additional Cost + Nebenkosten + + + false + + 0..2 + MIC_ALL_AAVKOP + + MIC_AUSKOP + + + + + + + + + bill of lading + Ladeliste + + + false + String0..20 + + MIC_ALL_AAVKOP + Aakbol + MIC_AUSKOP + Afkbol + + + + + + + + transport number (AES US) + Transport Nummer (AES US) + AES US: Required for ocean shipments only + AES US: Nur für Seeverkehr verpflichtend + false + String0..10 + + MIC_ALL_AAVKOP + Aaktranspnr + MIC_AUSKOP + Afktranspnr + + + + + + + + additional text + Zusätzlicher Text + + addText1 wird in AAKINFO gemappt, der Rest wird in AAKTEXT1..4 geladen. + false + String0..80 + 0..5 + MIC_ALL_AAVKOP + Aakinfo, Aaktext1..4 + MIC_AUSKOP + Afkinfo, Afktext1..4 + + + + + + + + Documents +Ref: SAD Paper Field 44 + Unterlagen +Ref: EH-Pap Feld 44 + Note: +Documents can be provided on shipment level, invoice level or invoice line level. Documents provided on shipment level or invoice level are declared on invoice line level to Atlas. + +Condition C1: +Value required for chapter 98 of the CN8 + +Condition C2: +Value required due to individual certificates, authorizations, etc. such as export lizcences, ... + +MIC proposes documents to be provided at invoice line level within the interface as they are reported to ATLAS on invoice line level too. + Anmerkung: +Unterlagen können auf Sendungsebene angegeben werden oder auf Fakturenebene oder auf Positionsebene. +Unterlagen, die auf Sendungsebene oder Fakturenebene angegeben werden, werden an ATLAS für JEDE Position gemeldet (zusätzlich zu Unterlagen auf Positionsebene) + +Bedingung C1: +Erforderlich für Waren der Kapitel 98 + +Bedingung C2: +Hier sind insbesondere Genehmigungen und Bescheinigungen nach den VuB-Vorschriften, MO-Unterlagen/Genehmigungen, Genehmigungen und Bescheinigungen nach der Außenwirtschaftsverordnung und sonstige Unterlagen/Genehmigungen zu vermerken. Besondere Vermerke sind hier ebenfalls in codierter Form anzugeben + +MIC bevorzugt die Angabe der Unterlagen auf Positionsebene, da Atlas grundsätzlich jede Unterlage auf Positionsebene verlangt. + false + + 1..∞ + + + + + + + + + + + + External MRN-Nr + Externe MRN-Nummer + Not relevant for AES + für AES nicht relevant + false + String18 + + + + + + + + + + + + + Number of Packages + Packstück Anzahl + + + false + Number(6) + + MIC_AAVKOP + aakkolanz + MIC_AUSKOP + afkkolanz + + + + + + + + + + + + + + Type of Transport + Transportart + + + false + VARCHAR2(10) + + MIC_AAVKOP + AAKTRANSPTYP + MIC_AUSKOP + AFKTRANSPTYP + + + + + + + + + + + + + Customer Fields + Freie kundenspezifische Felder + + + false + + + MIC_AAVKOP + aak___1..10 (X=10) + MIC_AUSKOP + afk___1..10 (X=10) + + + + + + + + + Invoice Line + + + + + + Invoice line number + Fakturaposition, Lieferscheinposition, etc. +Ref: EH-Pap Feld 32 + Running line number beginning with 1, increment by 1. +No gaps allowed. + Laufende Positionsnummer der Ausfuhranmeldung beginnend bei 1, Inkrement 1. +Keine Lücken erlaubt + true + Number(4) + + MIC_ALL_AAVPOS + Aapfaktpos + MIC_AUSPOS + Afpfaktpos + + + + + + + + Unit Value + Stückpreis + + + false + Number(19,6) + + MIC_ALL_AAVPOS + aappreis + MIC_AUSPOS + Afppreis + + + + + + + + + + + + + + Item value +(Net total price for the item) + Wert der Position +(Netto Gesamtpreis für die Position) + Value of the item. + Wert der Position. + false + Number(16,4) + + MIC_ALL_AAVPOS + Aapwert + MIC_AUSPOS + Afpwert + + + + + + + + Net mass + Eigenmasse +Ref: EH-Pap Feld 38 + Net mass of the invoice line in [kg] + Eigenmasse der Position in [kg] + false + Number(13,4) + + MIC_ALL_AAVPOS + Aapeigmas + MIC_AUSPOS + Afpeigmas + + + + + + + + Gross mass + Rohmasse +Ref: EH-Pap Feld 35 + Gross mass of the invoice line in [kg] + Sofern das Datenfeld "Art der Anmeldung (Überführung)" mit einem der Werte "a", "b", "c", "d", "e", "f", "g" oder "i" angegeben wird, gilt: +⏺ Die Angabe des Datenfeldes ist erforderlich, wenn das Datenfeld "Besondere Umstände" nicht oder mit einem anderen Wert als "E" angegeben wird. +⏺ Die Angabe des Datenfeldes ist erforderlich, wenn nicht sowohl der Ausführer als ggf. auch seine indirekten und direkten Vertreter als zugelassene Wirtschaftsbeteiligte für den Bereich Sicherheit zertifiziert sind. + + false + Number(13,4) + + MIC_ALL_AAVPOS + Aaprohmas + MIC_AUSPOS + Afprohmas + + + + + + + + statistical quantity + + + Menge in statistischer Masseinheit +Ref: EH-Pap Feld 41 + Condition 1: +If CN8 requires provision of statistical values, then the interface must provide values in fields <statQuant>, <statUnit> und <statVal>. + +ALTERNATIVELY the statistical data can be calculated in MIC-CUST. +Prerequisites are +- provision of value for field <item>.<itemnumber> containing existing part number as maintained in MIC-CCS, +- provision of line items <quantity>, <unit> and <unitPrice> +- provision of line items for additional costs <addCosts> being relevant for stat. value +- Maintainance of German tarriff oder at least CN8 in MIC-CCS +- Maintainance of Calculation rules to calculate statistical quantities out of company specific quantities (transformations of units of quantities) + +For stat. Units o.measurm = NAR, NCL or NPR only integer values allowed + Menge für die AH-Statistik in vorgegebener Maßeinheit (z.B. in m² statt in Stück). + +Bedingung 1: +Erfordert der KN8 die Angabe von statistischen Werten, dann sind <statQuant>, <statUnit> und <statVal> in der Schnittstelle anzugeben. + +ALTERNATIV können diese Daten auch in MIC-CUST errechnet werden. Voraussetzung ist dann +- die Belegung von <item>.<itemnumber> mit der in MIC-CCS gepflegten und existierenden Artikelnummer , +- die Belegung der Positionsfelder <quantity>, <unit> und <unitPrice> +- die Belegung der Positions - Zusatzkosten <addCosts> +- die Pflege des DE-Tarifes oder zumindest des KN8 in MIC-CCS +- die Pflege der Umrechnungsfaktoren der firmenspezifischen Maßeinheiten in die statistischen Maßeinheiten + +Enthält im EZT zur angegebenen Warennummer das Feld "Maßeinheit" einen der Werte "NAR", "NCL" oder "NPR", dann ist die Angabe von Nachkommastellen unzulässig + false + Number(13,4) + + MIC_ALL_AAVPOS + Aapbesm + MIC_AUSPOS + Afpbesm + + + + + + + + statistical unit of measurement + Besondere Maßeinheit + according to tarriff + stat. Masseinheit (laut Tarif) + +Bedingung 1: +siehe Feld <statQuant> + false + String0..3 + + MIC_ALL_AAVPOS + Aapbesmeh + MIC_AUSPOS + Afpbesmeh + + + + + + + + Statistical value of invoice line + Statistischer Wert +Ref: EH-Pap Feld 46 + Stat. value (invoice line value + additional costs) + stat. Wert (Lieferwert + alle Nebenkosten) + +Bedingung 1: +Kann in MIC errechnet werden, wenn Positionswert, Zusatzkoste, Frachtkosten und Versicherungskosten mitgeliefert werden + false + Number(13,4) + + MIC_ALL_AAVPOS + Aapstatwert + MIC_AUSPOS + Afpstatwert + + + + + + + + Customs procedure + Zollverfahren +Ref: EH-Pap Feld 37 + 4-digit customs procedure according to bulletin of the SAD +offset1+2: current customs procedure for export +offset3+4: previous customs procedure + 4-stelliges Zollverfahren lt. Merkblatt zum Einheitspapier. +Stellen 1+2: Aktuelles Zollverfahren +Stellen 3+4: Vorangegangenes Zollverfahren + +Gültige Werte (ATLAS Codeliste I0100) + + false + String1..6 + + MIC_ALL_AAVPOS + Aapavcase + MIC_AUSPOS + Afpavcase + + + + + + + + National Procedurecode + Nationaler Verfahrenscode + Codelist: I0100 + Codeliste:I0100 + + false + String3 + + MIC_ALL_AAVPOS + Aapeucode + MIC_AUSPOS + Afpeucode + + + + + + + + Statistical procedure + Statistisches Verfahren + determined by MIC-CUST + ermittelt MIC-CUST + false + String0..5 + + MIC_ALL_AAVPOS + Aapcctr + MIC_AUSPOS + Afpcctr + + + + + + + + + + + + + Nature Of Transaction +Ref: SAD Field 24 + Art des Geschäfts +Ref: EH-Pap Feld 24 + 11 Outright Purchase of Sales +12 Supply for sale on approval +13 Barter Trade (compensation in kind) +14 Personal purchases by travellers +15 Financial leasing +21 Return of goods +22 Replacement of returned goods +23 Replacement (e.g. under warranty) for go +31 Goods delivered under aid programmes ope +32 Other general government-aid deliveries +33 Other aid deliveries (individuals, non-g +41 Before processing under contract +51 After processing under contract +52 After repair and maintenance against pay +53 After repair and maintenance free of cha +61 Hire, loan, operational leasing + + + Gültige Werte (Codeliste A1150) + + 11 Endgültiger Kauf/Verkauf + 12 Ansichts- oder Probesendungen + 13 Kompensationsgeschäfte (Tauschhandel) + 14 Verkauf an ausländische Reisende für deren persönlichen Bedarf + 15 Finanzierungsleasing (Mietkauf) + 21 Rücksendung von Waren + 22 Ersatz für zurückgesandte Waren + 23 Ersatz für nicht zurückgesandte Waren + 31 Warenlieferungen im Rahmen von durch die EU finanzierten Hilfsprogrammen + 32 Andere Hilfslieferungen öffentlicher Stellen + 33 Sonstige Hilfslieferungen + 34 Sonstige Geschäfte + 41 Warensendung zur Lohnveredelung + 51 Warensendung nach Lohnveredelungen + 63 Vorübergehende Warenverkehre + 64 Vorübergehende Warenverkehre + + false + String0..2 + + MIC_ALL_AAVPOS + F + MIC_AUSPOS + Afpgsart + + + + + + + + Origin of goods (ISO-alpha 2 country code) + Warenursprung (ISO Ursprungsland.) + + + false + String0..2 + + MIC_ALL_AAVPOS + Aapurld + MIC_AUSPOS + Afpurld + + + + + + + + + + + + + region of origin + Ursprungsbundesland +Ref: EH-Pap Feld 34.2 + 2-digit code for German regions, 99 for foreign county of origin + +Codelist: A1270 +01 Schleswig-Holstein +02 Hamburg +03 Niedersachsen +04 Bremen +05 Nordrhein-Westfalen +06 Hessen +07 Rheinland-Pfalz +08 Baden-Württemberg +09 Bayern +10 Saarland +11 Berlin +12 Brandenburg +13 Mecklenburg-Vorpommern +14 Sachsen +15 Sachsen-Anhalt +16 Thüringen 25 Für das Ausland bestimmt +99 Ursprungsausland + Code deutsches Ursprungsbundesland + +Gültige Werte: A1270 + 01 Schleswig-Holstein + 02 Hamburg + 03 Niedersachsen + 04 Bremen + 05 Nordrhein-Westfalen + 06 Hessen + 07 Rheinland-Pfalz + 08 Baden-Württemberg + 09 Bayern + 10 Saarland + 11 Berlin + 12 Brandenburg + 13 Mecklenburg-Vorpommern + 14 Sachsen + 15 Sachsen-Anhalt + 16 Thüringen 25 Für das Ausland bestimmt + 99 Ursprungsausland + false + String0..50 + + MIC_ALL_AAVPOS + Aapregion + MIC_AUSPOS + Afpregion + + + + + + + + + + + + + Infofield + Infofeld + AddText1 will be mapped in Aapinfo, the rest will be mapped in Aaptext1..4 + AddText1 wird in Aaoinfo geladen, die restlichen 4 in AapText1..4 + false + String0..80 + 0..5 + MIC_ALL_AAVPOS + Aapinfo(1), AapText1..4 + MIC_AUSPOS + Afpinfo(1), AfpText1..4 + + + + + + + + + + + + + Previous document + Vorpapier + + + false + + 0..9 + + + + + + + + + + + + Part data + Artikeldaten + + + false + + + + + + + + + + + + + + Documents +Ref: SAD Paper Field 44 + Unterlagen +Ref: EH-Pap Feld 44 + Note: +Documents can be provided on shipment level, invoice level or invoice line level. Documents provided on shipment level or invoice level are declared on invoice line level to Atlas. + +Condition C1: +Value required for chapter 98 of the CN8 + +Condition C2: +Value required due to individual certificates, authorizations, etc. such as export lizcences, ... + +MIC proposes documents to be provided at invoice line level within the interface as they are reported to ATLAS on invoice line level too. + Anmerkung: +Unterlagen können auf Sendungsebene angegeben werden oder auf Fakturenebene oder auf Positionsebene. +Unterlagen, die auf Sendungsebene oder Fakturenebene angegeben werden, werden an ATLAS für JEDE Position gemeldet (zusätzlich zu Unterlagen auf Positionsebene) + +Bedingung C1: +Erforderlich für Waren der Kapitel 98 + +Bedingung C2: +Hier sind insbesondere Genehmigungen und Bescheinigungen nach den VuB-Vorschriften, MO-Unterlagen/Genehmigungen, Genehmigungen und Bescheinigungen nach der Außenwirtschaftsverordnung und sonstige Unterlagen/Genehmigungen zu vermerken. Besondere Vermerke sind hier ebenfalls in codierter Form anzugeben + +MIC bevorzugt die Angabe der Unterlagen auf Positionsebene, da Atlas grundsätzlich jede Unterlage auf Positionsebene verlangt. + false + + 1..∞ + + + + + + + + + + + + + + + + false + + 0..1 + + + + + + + + + + + + + + + + + true + String 3 + + MIC_ALL_AAVPOS + Aapalicode + MIC_AUSPOS + Afpalicode + + + + + + + + + + + + + + + + + + false + String0..35 + + MIC_ALL_AAVPOS + Aapalibez + MIC_AUSPOS + Afpalibez + + + + + + + + + + + + + + + + + Quantity + Menge + + + false + Number(13,4) + + MIC_ALL_AAVPOS + Aapmenge + MIC_AUSPOS + Afpmenge + + + + + + + + Unit of measurement + Mengeneinheit + + + false + String1..3 + + MIC_ALL_AAVPOS + Aapmeh + MIC_AUSPOS + Afpmeh + + + + + + + + + + + + + Delivery note + Lieferschein + + + false + + 1 + + + + + + + + + + + + Order + Bestellung + + + false + + 1 + + + + + + + + + + + + item reference + Artikelreferenz + + + false + String0..20 + + + + + + + + + + + + + + + + + + Additional cost invoice line leve + Nebenkosten Postion + + + false + + 0..2 + MIC_ALL_AAVPOS + + + + + + + + + + + Addition for tarriff number + Zusatzcode zur Tarifnummer. + + + false + String0..4 + 0..3 + MIC_ALL_AAVPOS + Aapzuscd1-3 + MIC_AUSPOS + Afpzuscd1-3 + + + + + + + + + + + National addition for tarriff number + nationaler Zusatzcode zur Tarifnummer. + + + false + String0..4 + 0..4 + + + + + + + + + + + + + + + stock type + Bestandsart + Stocktype of income + Bestandsart der Zubuchung + false + String0..20 + + MIC_ALL_AAVPOS + Aapbestart1 + MIC_AUSPOS + Afpbestart1 + + + + + + + + + + + + + stock type + Bestandsart + Stocktype of deduction + Bestandsart der Abbuchung + false + String0..20 + + MIC_ALL_AAVPOS + Aapbestart2 + MIC_AUSPOS + Afpbestart2 + + + + + + + + + + + + + Stücklisten + Stücklisten + + + false + + 1 + + + + + + + + + + + + Kontonummer + Kontonummer + + + false + String0..50 + + MIC_ALL_AAVPOS + Aapkonto + MIC_AUSPOS + Afpkonto + + + + + + + + Customer Fields + Freie kundenspezifische Felder + + + false + + + MIC_ALL_AAVPOS + aap___1..15 (X=15) + MIC_AUSPOS + afp___1..15 (X=15) + + + + + + + + Attribute Position + Attribute Position + + + false + + 1..∞ + + + + + + + + + + + + Container Position + Container Position + + + false + + 1..∞ + + + + + + + + + + + + Shipmend-Identification + Kennnummer der Sendung + Unique Identificationnumber of the shipment. The data field is invalid, if the identificationnumber is already entered on shipmentlevel + Eindeutige Identifikation der Sendung, wie beispielsweise die UCR oder eine Frachtpapiernummer + false + String1..70 + + MIC_ALL_AAVPOS + Aapsdgkennnr + MIC_AUSPOS + Afpsdgkennnr + + + + + + + + + + + + + Number of dangerous goods + Gefahrgutnummer + The UN Dangerous Goods number is a unique four-digit serial number, which the United Nations in a list of the most commonly carried dangerous goods assigned. + Die UN-Gefahrgutnummer ist eine eindeutige vierstellige Seriennummer, die die Vereinten Nationen den in einer Liste der am häufigsten beförderten Gefahrgüter enthaltenen Stoffen und Artikeln zuweisen. + false + String1..4 + + MIC_ALL_AAVPOS + Aapgefahrnr + MIC_AUSPOS + Afpgefahrnr + + + + + + + + + + + + + + + + + false + String1 + + MIC_ALL_AAVPOS + Aapenduserid + MIC_AUSPOS + Afpenduserid + + + + + + + + + + + + + 1 wenn die Adressatenkonstellation und ggf. der Endverwender in der EAM übermittelt werden soll. + 1 wenn die Adressatenkonstellation und ggf. der Endverwender in der EAM übermittelt werden soll. + "0" or "1" + "0" oder "1" + false + Integer(1) + + MIC_ALL_AAVPOS + Aapsendenduserineam + MIC_AUSPOS + Afpsendenduserineam + 0 + + + + + + + + + + + + + + + carriage costs + Beförderungskosten (Zahlungsweise) + The data field is invalid if the carriage costs were already entered on shipment level + Die Angabe des Datenfeldes ist unzulässig, wenn das Datenfeld bereits auf der Sendungsebene eingeben wurden. + false + String1 + + MIC_ALL_AAVPOS + Aapbefkosten + MIC_AUSPOS + Afpbefkosten + + + + + + + + (goods) Consignee +SAD Field 8 + (Waren) Empfänger +Referenz: EH-Pap. Feld 8 + + + true + + 0..1 + + + + + + + + + + + + + Address number in MIC-CUST + MIC-CUST Adressnummer + + + true + String1..15 + + MIC_ALL_AAVPOS + Aapempnr + MIC_AUSPOS + Afpempnr + + + + + + + + + + + Consignee name + Empfänger Name + + + false + String1..40 + 0..3 + MIC_ALL_AAVPOS + Aapempname (Substr(Addrname1..4), 1, 40) + MIC_AUSPOS + Afpempname (Substr(Addrname1..4), 1,, 40) + + + + + + + + + + + Street and house number + Empfänger Strasse und HausNr + + + false + String1..80 + + MIC_ALL_AAVPOS + Aapempstr + MIC_AUSPOS + Afpempstr + + + + + + + + + + + City + Empfänger Ort + + + false + String1..35 + + MIC_ALL_AAVPOS + Aapemport + MIC_AUSPOS + Afpemport + + + + + + + + Country + Empfänger Land + + + false + String3 + + MIC_ALL_AAVPOS + Aapempld + MIC_AUSPOS + Afpempld + 1 + + + + + + + + + + + + + + + + false + String1..10 + + + + + + CT + + + + + + + Region + Empfänger PLZ + + + false + String1..10 + + MIC_ALL_AAVPOS + Aapempplz + MIC_AUSPOS + Afpempplz + + + + + + + + + + + TIN (participant ID in ATLAS) + Empfänger TIN + + + false + String1..17 + + MIC_ALL_AAVPOS + Aapemptin + MIC_AUSPOS + Afpemptin + 1234567890 + + + + + + + + + + EORI + EORI + + + false + String..17 + + MIC_ALL_AAVPOS + Aapempeori + MIC_AUSPOS + Afpempeori + + + + + + + + + + + + + Alternative 3: +National Tin indicator + Alternative 3: +Indikator für Nationale Tin. + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + false + String1 + + + + + + + + + + + + + Branchnumber assigned to EORI + Laufende Nummer der Niederlassung + Relevant only if element <adrNatT> = "2" (EORI-number) + Die Angabe des Datenfeldes ist nur relevant wenn das Datenfeld <addrNatT> mit dem Wert "2" (EORI) angegeben wird. + false + String4 + + MIC_ALL_AAVPOS + Aapempbranchno + MIC_AUSPOS + Afpempbranchno + + + + + + + + + + + + + + + + + false + String1 + + + + + + + + + + + + + + Ansprechpartner + + Kontaktdaten des beauftragten Sachbearbeiter + false + + 1 + + + + + + + + + + + + + + + + Endverwender + + + false + + 0..1 + + + + + + + + + + + + + Address number in MIC-CUST + MIC-CUST Adressnummer + + + true + String1..15 + + MIC_ALL_AAVPOS + Aapeusernr + MIC_AUSPOS + Afpeusernr + + + + + + + + + + + End-user name + Endverwender Name + + + true + String1..40 + 1..3 + MIC_ALL_AAVPOS + Aapeusernm1 + MIC_AUSPOS + Afpeusernm1 + AESTEST001 + + + + + + + + + + + + Street and house number + Endverwender Strasse und HausNr + + + true + String1..70 + + MIC_ALL_AAVPOS + Aapeuserstreet + MIC_AUSPOS + Afpeuserstreet + 1 + + + + + + + + + + + + City + Endverwender Ort + + + true + String1..35 + + MIC_ALL_AAVPOS + Aapeusercity + MIC_AUSPOS + Afpeusercity + 1 + + + + + + + + + + + + Country + Endverwender Land + + + true + String2 + + MIC_ALL_AAVPOS + Aapeusercountry + MIC_AUSPOS + Afpeusercountry + + + + + + + + + + + + + Region + Endverwender PLZ + + + true + String1..9 + + MIC_ALL_AAVPOS + Aapeuserzip + MIC_AUSPOS + Afpeuserzip + + + + + + + + + + + + + TIN (participant ID in ATLAS) + Endverwender TIN + + + false + String1..17 + + MIC_ALL_AAVPOS + Aapeusertin + MIC_AUSPOS + Afpeusertin + + + + + + + + + + + + + EORI + EORI + + + false + String..17 + + MIC_ALL_AAVPOS + Aapeusereori + MIC_AUSPOS + Afpeusereori + + + + + + + + + + + + + Alternative 3: +National Tin indicator + Alternative 3: +Indikator für Nationale Tin. + Relevant only if element "EORI" is assigned + if "0" equals addrNatT + set Avpeori = addrTin +else + set Avptin = addrTin + false + String1 + + + + + + + + + + + + + Branchnumber assigned to EORI + Laufende Nummer der Niederlassung + Relevant only if element <adrNatT> = "2" (EORI-number) + Die Angabe des Datenfeldes ist nur relevant wenn das Datenfeld <addrNatT> mit dem Wert "2" (EORI) angegeben wird. + false + String4 + + MIC_ALL_AAVPOS + Aapeuserbranchno + MIC_AUSPOS + Afpeuserbranchno + + + + + + + + + + + + + + + + IPR and BWH Import Reference + AV und ZL Beendigungsanteile + + + false + + 0..999 + + + + + + + + + + + + Registration information + Informationen zur Registrierung + + + false + + 1 + + + + + + + + + + + + Serial Number + Seriennummer + AES US: VIN / Produkt ID Number + AES US: VIN / Produkt ID Nummer + false + String1..400 + + MIC_ALL_AAVPOS + Aapsernr + MIC_AUSPOS + Afpsernr + + + + + + + + + + + + + Reference Value + Referenz Wert + + + false + Number(18,6) + + MIC_ALL_AAVPOS + AAPREFWERT + MIC_AUSPOS + AFPREFWERT + + + + + + + + + + + + + + Model + Modell + + + false + String1..400 + + MIC_ALL_AAVPOS + AAPMODEL + MIC_AUSPOS + AFPMODEL + + + + + + + + + + + + + + Brand + Marke + + + false + String1..400 + + MIC_ALL_AAVPOS + AAPBRAND + MIC_AUSPOS + AFPBRAND + + + + + + + + + + + + + + Added Value + Zusätzlicher Wert + + + false + Number(17,4) + + MIC_ALL_AAVPOS + AAPADDEDVALUE + MIC_AUSPOS + AFPADDEDVALUE + + + + + + + + + + + + + + CTO ID + CTO ID + + + false + String1..41 + + MIC_ALL_AAVPOS + AAPGTCTOID + MIC_AUSPOS + AFPGTCTOID + + + + + + + + + + + + + + Information 2 + Information 2 + + + false + String1..80 + + MIC_ALL_AAVPOS + AAPINFO2 + MIC_AUSPOS + AFPINFO2 + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + Tracking Number + Nachverfolgungsnummer + + + false + String1..50 + + MIC_ALL_AAVPOS + AAPTRACKINGNR + MIC_AUSPOS + AFPTRACKINGNR + + + + + + + + + + + + + + ERP Specific Data + ERP spezifische Daten + + + false + + + + + + + + + + + + + + + documents + + + + + + Documentnumber (Reference) + Unterlagennummer (Referenz) + Condition C1: Value required/allowed if required by Atlas Codelist I0134 (Column Referenz = R) + Bedingung C1: Die Angabe des Datenfeldes ist erforderlich und nur zulässig, wenn die Atlas Codeliste I0134 zu dem Unterlagentyp eine Referenz verlangt. (Spalte Referenz) + false + String1..35 + + MIC_EINSDGDOC + Esdnr + MIC_EINSDGDOC + Esdnr + + + + + + + + + + + + + + Date of issue + Ausstellungsdatum + Condition C1: Value required/allowed if required by Atlas Codelist I0134 (Column Ausstellung = R) + Bedingung C1: Die Angabe des Datenfeldes ist erforderlich und nur zulässig, wenn die Atlas Codeliste I0134 zu dem Unterlagentyp ein Ausstellungsdatum verlangt. (Spalte Ausstellung) + false + Xs:date + + MIC_EINSDGDOC + Esddat + MIC_EINSDGDOC + Esddat + + + + + + + + Documenttype + Unterlagentyp + LOV: - Atlas Codeliste I0134: +https://www.ausfuhr.internetzollanmeldung.de/ffw240/action/invoke.do?id=CODELISTEN + Gültige Werte - Atlas Codeliste I0134: +https://www.ausfuhr.internetzollanmeldung.de/ffw240/action/invoke.do?id=CODELISTEN + true + String1..6 + + MIC_EINSDGDOC + Esdart + MIC_EINSDGDOC + Esdart + + + + + + + + + + + + + + Documenttype Qualifier + Qualifikator des Unterlagentyps + Condition C1: Value required/allowed if required by Atlas Codelist I0134 (Column Qualilfikator = value of Column) + Bedingung C1: Die Angabe des Datenfeldes ist erforderlich und nur zulässig, wenn die Atlas Codeliste I0134 zu dem Unterlagentyp eine Qualifikation verlangt. (Spalte Qualifikator) + false + String1..3 + + MIC_EINSDGDOC + Esdqual + MIC_EINSDGDOC + Esdqual + + + + + + + + + + + + + + Date valid from + Unterlage ist gültig von ... + Not relevant for AES + für AES nicht relevant + false + Xs:date + + MIC_EINSDGDOC + Esdavaildat + MIC_EINSDGDOC + Esdavaildat + + + + + + + + Date valid to + Gültigkeitsendedatum + Condition C1: Value required/allowed if required by Atlas Codelist I0134 (Column Gültigkeitsende= R) + Bedingung C1: Die Angabe des Datenfeldes ist erforderlich und nur zulässig, wenn die Atlas Codeliste I0134 zu dem Unterlagentyp ein Gültigkeitsendedatum verlangt. (Spalte Gültigkeitsende) + false + Xs:date + + MIC_EINSDGDOC + Esdenddat + MIC_EINSDGDOC + Esdenddat + + + + + + + + Additional text + Zusatztext für die Unterlage (Zusatz) + Condition C1: Value required/allowed if required by Atlas Codelist I0134 (Column Zusatz = R) + Bedingung C1: Die Angabe des Datenfeldes ist erforderlich und nur zulässig, wenn die Atlas Codeliste I0134 zu dem Unterlagentyp einen Zusatz verlangt. (Spalte Zusatz) + false + String1..35 + + MIC_EINSDGDOC + Esdinfo + MIC_EINSDGDOC + Esdinfo + + + + + + + + + + + + + + Quantity + Menge + + + false + Number(13,3) + + MIC_EINSDGDOC + Esdmenge + MIC_EINSDGDOC + Esdmenge + + + + + + + + Unit of measurement + Mengeneinheit + + + false + String1..3 + + MIC_EINSDGDOC + Esdmeh + MIC_EINSDGDOC + Esdmeh + + + + + + + + + + + + + Unit of measurement + Details + Detailinformation about referenced document + Detailangaben zu einem referenzierten Dokument + false + String1..10 + + MIC_EINSDGDOC + Esddetail + MIC_EINSDGDOC + Esddetail + + + + + + + + + + + + + + Value + Wert + Export value of the item, specified by the document is approved. +Commodity value, based on the export permit or export license should be written off. + Ausfuhrwert desjenigen Anteils an der Warenposition, der durch die angegebene Unterlage genehmigt wird. +Warenwert, der auf der Ausfuhrgenehmigung bzw. Ausfuhrlizenz abgeschrieben werden soll. + false + Number(16,6) + + MIC_EINSDGDOC + Esdwert + MIC_EINSDGDOC + Esdwert + + + + + + + + + + + + + + Unit of measurement + Maßeinheit + Unit of measurement of the deduction quantity + Maßeinheit für die Abschreibungsmenge + false + String1..10 + + MIC_EINSDGDOC + Esdabmeh + MIC_EINSDGDOC + Esdabmeh + + + + + + + + + + + + + + Quantity of deduction + Abschreibungsmenge + There are only integer values allowed if the data field "unit" with a value of "Los", "Mio", "Paar", "Satz", "St" or "Syst" + Ausfuhrmenge desjenigen Anteils an der Warenposition, der durch die angegebene Unterlage genehmigt wird. + +Es sind nur ganzzahlige Werte erlaubt, wenn das Datenfeld "Maßeinheit" mit einem der Werte "Los", "Mio", "Paar", "Satz", "St" oder "Syst" angegeben wird. + false + Number(12,3) + + MIC_EINSDGDOC + Esdabmenge + MIC_EINSDGDOC + Esdabmenge + + + + + + + + + + + + + + + + + + false + String1..15 + + MIC_EINSDGDOC + Esdausstellernr + MIC_EINSDGDOC + Esdausstellernr + + + + + + + + + + + + + + + + + + false + String1..8 + + MIC_EINSDGDOC + Esdbereich + MIC_EINSDGDOC + Esdbereich + + + + + + + + + + + + + + + previous document + + + + + + Previous document type + Vorpapiertyp + If a previous document is used, the type of the previous document must be entered here, else "ohne". + Wird ein Vorpapier verwendet, muss der Typ des Vorpapiers hier eingetragen werden ansonsten "ohne" + true + String0..6 + + MIC_ALL_AAVEXPDOC + ACPTYP + MICCUSTEXPDOC + EPCTYP + + + + + + + + + + + + + Previous document number + Vorparpiernummer + If a previous document is used, the number of the previous document must be entered here. + Wenn ein Vorpapier vorliegt, muss die Vorpapiernummer hier eingetragen werden. + true + String0..35 + + MIC_ALL_AAVEXPDOC + ACPREFERENZ + MICCUSTEXPDOC + EPCREFERENZ + + + + + + + + + + + + + Infotext + Infotext + If a previous document is used, additional information can be entered here. + Wenn ein Vorpapier vorliegt, können hier zusätzliche Angaben gemacht werden. + false + String0..26 + + MIC_ALL_AAVEXPDOC + ACPZUSATZ + MICCUSTEXPDOC + EPCZUSATZ + + + + + + + + + + + + + Previous document category + Vorpapier Dokumentkategorie + If a previous document is used, document category can be entered here. + Wenn ein Vorpapier vorliegt, können hier die Dokumentkategorie angeben + false + String0..1 + + MIC_ALL_AAVEXPDOC + ACPKATEGORIE + MICCUSTEXPDOC + EPCKATEGORIE + + + + + + + + + + + + + + seal + + + + + + Encodes declaration of the type of the installed seals. + Verschlüsselte Angabe der Art der angebrachten Verschlüsse + P = Packverschluss +R = Raumverschluss + P = Packverschluss +R = Raumverschluss + false + String1..4 + + MIC_CUST_AVSEALS + Saatype + MIC_CUST_SEALS + Seatype + + + + + + + + + + + + + Number of installed seals. + Anzahl der angebrachten Verschlüsse + + + false + number(4) + + MIC_CUST_AVSEALS + Saacnt + MIC_CUST_SEALS + Seacnt + + + + + + + + + + + + + sign of seal + Zeichen eines Verschlusses +Ref: EH-Pap Feld D + If there are many seals with a serial number (e.g. Tyden-Seals) used, then enter them with a continous number. On the authorities accompanying document is only the first and the last number printed. + Werden mehrere mit einer Seriennummer versehene Verschlüsse (z.B. Tyden-Seals) verwendet, so sind diese mit fortlaufender Nummerierung einzutragen. Auf dem Begleitdokument der Behörden wird jedoch nur die erste und letzte dieser Nummern ausgedruckt + false + String1..20 + + MIC_CUST_AVSEALS + Saatext, Saaidnt + MIC_CUST_SEALS + Seatext, Seaidnt + e + + + + + + + + + + + + + + Container + + + + + + Containe rnumber + Containernummer + If the container code is set and the container is not yet entered at shipment level, this must be done for every invoice line separately + Wurde das Containerkennzeichen gesetzt und der Container nicht bereits auf der Sendung eingetragen, muss diese für jede Position gemeldet werden. + true + String1..17 + + MIC_CUST_AVCONT + Coacontnr + MIC_CUST_CONT + Concontnr + + + + + + + + + + + + + + Containertyp (z.b. 40F) + Containertyp (z.b. 40F) + + + false + String1..3 + + + + + + + + + + + + + + + + + + Container Seal Number + Kontainer Verschlussnummer + + + false + String1..20 + + MIC_CUST_AVCONT + COASEALNR + MIC_CUST_CONT + CONSEALNR + + + + + + + + + + + + + + registration information + + + + + + Registration number 1 + Registriernummer 1 + + + false + String1..35 + + MIC_ALL_AAVPOS + Aapmessregnr + MIC_AUSPOS + APFMESSREGNR + + + + + + + + + + + + + Registration number 2 + Registriernummer 2 + + + false + String1..35 + + MIC_ALL_AAVPOS + Aapmessregnr2 + MIC_AUSPOS + Afpmessregnr2 + + + + + + + + + + + + + Registration number 3 + Registriernummer 3 + + + false + String1..35 + + MIC_ALL_AAVPOS + Aapmessregnr3 + MIC_AUSPOS + Afpmessregnr3 + + + + + + + + + + + + + Reference number 1 + Referenznummer 1 + + + false + String1..22 + + MIC_ALL_AAVPOS + Aapmessrefnr + MIC_AUSPOS + Afpmessrefnr + + + + + + + + + + + + + Reference number 2 + Referenznummer 2 + + + false + String1..52 + + MIC_ALL_AAVPOS + Aapmessrefnr2 + MIC_AUSPOS + Afpmessrefnr2 + + + + + + + + + + + + + Reference number 3 + Referenznummer 3 + + + false + String1..22 + + MIC_ALL_AAVPOS + Aapmessrefnr3 + MIC_AUSPOS + Afpmessrefnr3 + + + + + + + + + + + + + Registration date + Datum der Entgegennahme + + + false + Xs:date + + MIC_ALL_AAVPOS + Aapentgegennahmedat + MIC_AUSPOS + Afpentgegennahmedat + + + + + + + + Acceptance date + Datum der Annahme + + + false + Xs:date + + MIC_ALL_AAVPOS + Aapannahmedat + MIC_AUSPOS + Afpannahmedat + + + + + + + + Release date + Datum der Überlassung + + + false + Xs:date + + MIC_ALL_AAVPOS + Aapueberlassdat + MIC_AUSPOS + Afpueberlassdat + + + + + + + + + + + + + + + + true + + 1 + + + + + + + + + + + + + + + + true + + 0..999 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Packages of the shipment + + + + + + Package Header + Packstück Kopf + + Packstücknummer, die auch auf dem Packstück angedruckt ist. Zöllner muss die Möglichkeit haben, das Packstück zu finden. + +Option 1: Je Packstück ein Eintrag: Angabe 1 Kollinummer +Option 2: Je Packstückart ein Eintrag. Angabe aller Kollinummern (Bereich NrVon - NrBis erlaubt). + Beispiel siehe 'Packing example 1' Reiter +Option 3: Beipacklogik - ist Packstückartübergreifend erlaubt, d.h. der Packstückheader enthält eine korrekte Packstückart + Beispiel siehe 'Packing example 2' Reiter +Achtung Aufbau der Packstückangaben am AES Ausfuhrbegleitdokument (ABD) ist völlig unterschieldich zum EH-Papier + true + + + + + + + + + + + + + + Package details + Packstück Positionen + Number of packages +"0" for 'Beipack' positions + Anzahl der Packstücke. +"0" für Beipackpositionen + false + + + + + + + + + + + + + + + Package Header + + + + + + package number + Fortlaufende Nummer des Packstücks. + + + true + String1..35 + + MIC_ALL_AAVKOLLI + AALPCKNR and AALVENUM (if packageNoExt = Null) + MIC_AUSKOLLI + AKOPCKNR (AALPCKNR) and AKOSIGNO (AALVENUM) + + + + + + + + + + + + + + package type + Verpackungstyp + + + true + String 1..3 + + MIC_ALL_AAVKOLLI + Aalart + MIC_AUSKOLLI + Akoart + + + + + + + + + + + + + + unit of measurement + Einheit + + + false + String 1..3 + + + + + + + + + + + + + + + + + + external package no + Packstücknummer, Kollinummer +Ref: EH-Pap Feld 31 + + + false + String 1..42 + + MIC_ALL_AAVKOLLI + Aalvenum + MIC_AUSKOLLI + Akosigno + + + + + + + + + + + + + + gross weight + Rohmasse d. Packstücks in [kg] + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + Aalbtgew + MIC_AUSKOLLI + Akorohmas + + + + + + + + net weight + Eigenmasse d. Packstücks in [kg] + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + Aalntgew + MIC_AUSKOLLI + Akoeigmas + + + + + + + + tara weight + Gewicht der Verpackung + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + Aaltarag + MIC_AUSKOLLI + Akotara + + + + + + + + unit of weight + Gewichtseinheit + + + false + String 1..3 + + MIC_ALL_AAVKOLLI + Aalgewei + MIC_AUSKOLLI + Akogewei + + + + + + + + + + + + + Package Volume (Tare) + Packstück Volumen (Tara) + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + AALTAVOL + MIC_AUSKOLLI + Akotavol + + + + + + + + Package Gross Volume + Packstück Brutto Volumen + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + AALBTVOL + MIC_AUSKOLLI + Akobtvol + + + + + + + + Package Net Volume + Packstück Netto Volumen + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + AALNTVOL + MIC_AUSKOLLI + Akontvol + + + + + + + + unit of volume + Volumeneinheit + + + false + String 1..3 + + MIC_ALL_AAVKOLLI + Aalvoleh + MIC_AUSKOLLI + Akovoleh + + + + + + + + length of package + Länge + + + false + Number 18,3 + + MIC_ALL_AAVKOLLI + AALLAENG + MIC_AUSKOLLI + Akolaenge + + + + + + + + width of package + Breite + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + Aalbreit + MIC_AUSKOLLI + Akobreite + + + + + + + + height of package + Höhe + + + false + Number(18,3) + + MIC_ALL_AAVKOLLI + Aalhoehe + MIC_AUSKOLLI + Akohoehe + + + + + + + + unit of length width, height + Einheit + + Faktura Positionsnummer, deren Inhalt im Kolli enthalten ist + false + String 1..3 + + MIC_ALL_AAVKOLLI + AALMEABM + MIC_AUSKOLLI + Akomeabm + + + + + + + + + Package details + + + + + + invoice number + zugehörige Faktura + invoice number of content in package + Fakturanummer, deren Inhalt im Kolli enthalten ist + true + String1..30 + + MIC_ALL_AAVINHALT + Aaifaktnr + MIC_AUSINHALT + Akifaktnr + + + + + + + + invoice line + zugehörige Fakturaposition + + Faktura Positionsnummer, deren Inhalt im Kolli enthalten ist + true + Number(4) + + MIC_ALL_AAVINHALT + Aaifaktpos + MIC_AUSINHALT + Akifaktpos + + + + + + + + quantity + Anzahl der Packstücke + + Anzahl der Packstücke. +"0" für Beipackpositionen + false + Number(13,4) + + MIC_ALL_AAVINHALT + MIC_ALL_AAVKOLLI + Aaivemng + Aalanzar + MIC_AUSINHALT + MIC_AUSKOLLI + Akimenge + Akoanzar + + + + + + + + unit of quantity + Einheit + + + false + String 1..3 + + MIC_ALL_AAVINHALT + Aaivemeh + MIC_AUSINHALT + Akimeh + + + + + + + + + + + + + net weight + Eigenmasse + + + false + Number(13,4) + + MIC_ALL_AAVINHALT + Aaintgew + MIC_AUSINHALT + Akieigmas + + + + + + + + number of packages + Anzahl der Packstücke + when filled, used instead of quantity for Akoanzar + wenn befüllt, statt quantity für Akoanzar verwendet + false + Number(15,0) + + MIC_ALL_AAVINHALT + Aaianzar + MIC_AUSKOLLI + Akoanzar + + + + + + + + + + + + + number of items per package + Anzahl Artikel pro Packstück + + + false + Number(15,0) + + MIC_ALL_AAVINHALT + Aaiitemquantity + MIC_AUSKOLLI + Akoitemquantity + + + + + + + + + + + + + unit of items per package + Einheit der Artikel pro Packstück + + + false + String 1..3 + + MIC_ALL_AAVINHALT + Aaiitemunit + MIC_AUSKOLLI + Akoitemunit + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.Designer.vb new file mode 100644 index 0000000..c53b532 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.Designer.vb @@ -0,0 +1,2348 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_EXPORT_ShipmentListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic +Imports VERAG_PROG_ALLGEMEIN.MIC_EXPORT_Basic +Imports VERAG_PROG_ALLGEMEIN.MIC_EXPORT_Components +Imports VERAG_PROG_ALLGEMEIN.MIC_EXPORT_InvoiceTypes + + + +Namespace MIC_EXPORT_Shipment + + + Partial Public Class ExportShipment + +#Region "Private fields" + Private _shipmentHead As TShipmentHead + + Private _invoices As List(Of TInvoice) + + Private _packages As List(Of TPackageHead) + + Private _schemaVersion As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._packages = New List(Of TPackageHead)() + Me._invoices = New List(Of TInvoice)() + Me._shipmentHead = New TShipmentHead() + End Sub + + Public Property ShipmentHead() As TShipmentHead + Get + Return Me._shipmentHead + End Get + Set + Me._shipmentHead = Value + End Set + End Property + + + Public Property Invoices() As List(Of TInvoice) + Get + Return Me._invoices + End Get + Set + Me._invoices = Value + End Set + End Property + + + Public Property Packages() As List(Of TPackageHead) + Get + Return Me._packages + End Get + Set + Me._packages = Value + End Set + End Property + + + Public Property schemaVersion() As Decimal + Get + Return Me._schemaVersion + End Get + Set + Me._schemaVersion = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ExportShipment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ExportShipment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ExportShipment object + ''' + ''' string workflow markup to deserialize + ''' Output ExportShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ExportShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ExportShipment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ExportShipment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ExportShipment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ExportShipment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ExportShipment + Return CType(Serializer.Deserialize(s), ExportShipment) + End Function +#End Region + + ''' + ''' Serializes current ExportShipment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ExportShipment object + ''' + ''' string xml file to load and deserialize + ''' Output ExportShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ExportShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ExportShipment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ExportShipment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ExportShipment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHead + +#Region "Private fields" + Private _company As String + + Private _plant As String + + Private _shipmentId As String + + Private _shipmentIdPart As String + + Private _shipmentType As String + + Private _mrn As String + + Private _deliveryDate As Date + + Private _cod As String + + Private _exportCountry As String + + Private _contCode As ContainerCode + + Private _gWeight As Decimal + + Private _dateStartPack As Date + + Private _dateEndPack As Date + + Private _partyConst As String + + Private _consigneeEndUserFlag As String + + Private _endUserInEam As TShipmentHeadEndUserInEam + + Private _estimatedArrivalDate As Date + + Private _nctsIndicator As Boolean + + Private _motInl As TMotInl + + Private _text As List(Of String) + + Private _partners As List(Of TPartner) + + Private _locGoods As TLocationOfGoods + + Private _officeDepart As TCustomsOffice + + Private _officeBorder As TCustomsOffice + + Private _motBorder As TMot + + Private _seals As List(Of TSeal) + + Private _declType As TDeclType + + Private _placeDest As String + + Private _authLocation As String + + Private _declPlace As String + + Private _agreedLocationOfGoodsCd As String + + Private _agreedLocationOfGoods As String + + Private _custSubPlace As String + + Private _codFirst As String + + Private _officeDest As TCustomsOffice + + Private _carrier As String + + Private _containers As List(Of TContainer) + + Private _freightCost As TFreight + + Private _addCosts As List(Of TAddCosts) + + Private _assurCost As TAssurance + + Private _groupID As String + + Private _documents As List(Of TDocuments) + + Private _regNoExt As String + + Private _customerFields As TCustomerFields + + Private _attributes As List(Of TAttribute) + + Private _coe As String + + Private _specCircum As String + + Private _carriageCosts As String + + Private _shipmentIdentification As String + + Private _conveyRefNr As String + + Private _unloadingPlace As String + + Private _route As List(Of TRoute) + + Private _express As String + + Private _routeName As String + + Private _authorisationNo As String + + Private _authorisation As TShipmentHeadAuthorisation + + Private _postExportDeclaration As TShipmentHeadPostExportDeclaration + + Private _oprData As TShipmentHeadOprData + + Private _additionalInformation As List(Of TAttribute) + + Private _stateOfAffairs As List(Of String) + + Private _erpData As TErpShipmentData + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._erpData = New TErpShipmentData() + Me._stateOfAffairs = New List(Of String)() + Me._additionalInformation = New List(Of TAttribute)() + Me._oprData = New TShipmentHeadOprData() + Me._postExportDeclaration = New TShipmentHeadPostExportDeclaration() + Me._authorisation = New TShipmentHeadAuthorisation() + Me._route = New List(Of TRoute)() + Me._attributes = New List(Of TAttribute)() + Me._customerFields = New TCustomerFields() + Me._documents = New List(Of TDocuments)() + Me._assurCost = New TAssurance() + Me._addCosts = New List(Of TAddCosts)() + Me._freightCost = New TFreight() + Me._containers = New List(Of TContainer)() + Me._officeDest = New TCustomsOffice() + Me._declType = New TDeclType() + Me._seals = New List(Of TSeal)() + Me._motBorder = New TMot() + Me._officeBorder = New TCustomsOffice() + Me._officeDepart = New TCustomsOffice() + Me._locGoods = New TLocationOfGoods() + Me._partners = New List(Of TPartner)() + Me._text = New List(Of String)() + Me._motInl = New TMotInl() + End Sub + + Public Property company() As String + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property plant() As String + Get + Return Me._plant + End Get + Set + Me._plant = Value + End Set + End Property + + Public Property shipmentId() As String + Get + Return Me._shipmentId + End Get + Set + Me._shipmentId = Value + End Set + End Property + + Public Property shipmentIdPart() As String + Get + Return Me._shipmentIdPart + End Get + Set + Me._shipmentIdPart = Value + End Set + End Property + + Public Property shipmentType() As String + Get + Return Me._shipmentType + End Get + Set + Me._shipmentType = Value + End Set + End Property + + Public Property mrn() As String + Get + Return Me._mrn + End Get + Set + Me._mrn = Value + End Set + End Property + + Public Property deliveryDate() As Date + Get + Return Me._deliveryDate + End Get + Set + Me._deliveryDate = Value + End Set + End Property + + Public Property cod() As String + Get + Return Me._cod + End Get + Set + Me._cod = Value + End Set + End Property + + Public Property exportCountry() As String + Get + Return Me._exportCountry + End Get + Set + Me._exportCountry = Value + End Set + End Property + + Public Property contCode() As ContainerCode + Get + Return Me._contCode + End Get + Set + Me._contCode = Value + End Set + End Property + + Public Property gWeight() As Decimal + Get + Return Me._gWeight + End Get + Set + Me._gWeight = Value + End Set + End Property + + Public Property dateStartPack() As Date + Get + Return Me._dateStartPack + End Get + Set + Me._dateStartPack = Value + End Set + End Property + + Public Property dateEndPack() As Date + Get + Return Me._dateEndPack + End Get + Set + Me._dateEndPack = Value + End Set + End Property + + Public Property partyConst() As String + Get + Return Me._partyConst + End Get + Set + Me._partyConst = Value + End Set + End Property + + Public Property consigneeEndUserFlag() As String + Get + Return Me._consigneeEndUserFlag + End Get + Set + Me._consigneeEndUserFlag = Value + End Set + End Property + + Public Property endUserInEam() As TShipmentHeadEndUserInEam + Get + Return Me._endUserInEam + End Get + Set + Me._endUserInEam = Value + End Set + End Property + + Public Property estimatedArrivalDate() As Date + Get + Return Me._estimatedArrivalDate + End Get + Set + Me._estimatedArrivalDate = Value + End Set + End Property + + Public Property nctsIndicator() As Boolean + Get + Return Me._nctsIndicator + End Get + Set + Me._nctsIndicator = Value + End Set + End Property + + Public Property motInl() As TMotInl + Get + Return Me._motInl + End Get + Set + Me._motInl = Value + End Set + End Property + + + Public Property text() As List(Of String) + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + + Public Property partners() As List(Of TPartner) + Get + Return Me._partners + End Get + Set + Me._partners = Value + End Set + End Property + + Public Property locGoods() As TLocationOfGoods + Get + Return Me._locGoods + End Get + Set + Me._locGoods = Value + End Set + End Property + + Public Property officeDepart() As TCustomsOffice + Get + Return Me._officeDepart + End Get + Set + Me._officeDepart = Value + End Set + End Property + + Public Property officeBorder() As TCustomsOffice + Get + Return Me._officeBorder + End Get + Set + Me._officeBorder = Value + End Set + End Property + + Public Property motBorder() As TMot + Get + Return Me._motBorder + End Get + Set + Me._motBorder = Value + End Set + End Property + + + Public Property seals() As List(Of TSeal) + Get + Return Me._seals + End Get + Set + Me._seals = Value + End Set + End Property + + Public Property declType() As TDeclType + Get + Return Me._declType + End Get + Set + Me._declType = Value + End Set + End Property + + Public Property placeDest() As String + Get + Return Me._placeDest + End Get + Set + Me._placeDest = Value + End Set + End Property + + Public Property authLocation() As String + Get + Return Me._authLocation + End Get + Set + Me._authLocation = Value + End Set + End Property + + Public Property declPlace() As String + Get + Return Me._declPlace + End Get + Set + Me._declPlace = Value + End Set + End Property + + Public Property agreedLocationOfGoodsCd() As String + Get + Return Me._agreedLocationOfGoodsCd + End Get + Set + Me._agreedLocationOfGoodsCd = Value + End Set + End Property + + Public Property agreedLocationOfGoods() As String + Get + Return Me._agreedLocationOfGoods + End Get + Set + Me._agreedLocationOfGoods = Value + End Set + End Property + + Public Property custSubPlace() As String + Get + Return Me._custSubPlace + End Get + Set + Me._custSubPlace = Value + End Set + End Property + + Public Property codFirst() As String + Get + Return Me._codFirst + End Get + Set + Me._codFirst = Value + End Set + End Property + + Public Property officeDest() As TCustomsOffice + Get + Return Me._officeDest + End Get + Set + Me._officeDest = Value + End Set + End Property + + Public Property carrier() As String + Get + Return Me._carrier + End Get + Set + Me._carrier = Value + End Set + End Property + + + Public Property containers() As List(Of TContainer) + Get + Return Me._containers + End Get + Set + Me._containers = Value + End Set + End Property + + Public Property freightCost() As TFreight + Get + Return Me._freightCost + End Get + Set + Me._freightCost = Value + End Set + End Property + + + Public Property addCosts() As List(Of TAddCosts) + Get + Return Me._addCosts + End Get + Set + Me._addCosts = Value + End Set + End Property + + Public Property assurCost() As TAssurance + Get + Return Me._assurCost + End Get + Set + Me._assurCost = Value + End Set + End Property + + Public Property groupID() As String + Get + Return Me._groupID + End Get + Set + Me._groupID = Value + End Set + End Property + + + Public Property documents() As List(Of TDocuments) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + Public Property regNoExt() As String + Get + Return Me._regNoExt + End Get + Set + Me._regNoExt = Value + End Set + End Property + + Public Property customerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + + Public Property attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + Public Property coe() As String + Get + Return Me._coe + End Get + Set + Me._coe = Value + End Set + End Property + + Public Property specCircum() As String + Get + Return Me._specCircum + End Get + Set + Me._specCircum = Value + End Set + End Property + + Public Property carriageCosts() As String + Get + Return Me._carriageCosts + End Get + Set + Me._carriageCosts = Value + End Set + End Property + + Public Property shipmentIdentification() As String + Get + Return Me._shipmentIdentification + End Get + Set + Me._shipmentIdentification = Value + End Set + End Property + + Public Property conveyRefNr() As String + Get + Return Me._conveyRefNr + End Get + Set + Me._conveyRefNr = Value + End Set + End Property + + Public Property unloadingPlace() As String + Get + Return Me._unloadingPlace + End Get + Set + Me._unloadingPlace = Value + End Set + End Property + + + Public Property route() As List(Of TRoute) + Get + Return Me._route + End Get + Set + Me._route = Value + End Set + End Property + + + Public Property express() As String + Get + Return Me._express + End Get + Set + Me._express = Value + End Set + End Property + + Public Property routeName() As String + Get + Return Me._routeName + End Get + Set + Me._routeName = Value + End Set + End Property + + Public Property authorisationNo() As String + Get + Return Me._authorisationNo + End Get + Set + Me._authorisationNo = Value + End Set + End Property + + Public Property authorisation() As TShipmentHeadAuthorisation + Get + Return Me._authorisation + End Get + Set + Me._authorisation = Value + End Set + End Property + + Public Property postExportDeclaration() As TShipmentHeadPostExportDeclaration + Get + Return Me._postExportDeclaration + End Get + Set + Me._postExportDeclaration = Value + End Set + End Property + + Public Property oprData() As TShipmentHeadOprData + Get + Return Me._oprData + End Get + Set + Me._oprData = Value + End Set + End Property + + + Public Property additionalInformation() As List(Of TAttribute) + Get + Return Me._additionalInformation + End Get + Set + Me._additionalInformation = Value + End Set + End Property + + + Public Property stateOfAffairs() As List(Of String) + Get + Return Me._stateOfAffairs + End Get + Set + Me._stateOfAffairs = Value + End Set + End Property + + Public Property erpData() As TErpShipmentData + Get + Return Me._erpData + End Get + Set + Me._erpData = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHead)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHead object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHead object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHead) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHead) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHead + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHead) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHead + Return CType(Serializer.Deserialize(s), TShipmentHead) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHead object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHead object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHead) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHead) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHead + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TShipmentHeadEndUserInEam + + ''' + + Item + + ''' + + Item0 + + ''' + + Item1 + End Enum + + + Partial Public Class TShipmentHeadAuthorisation + +#Region "Private fields" + Private _oprEntryInTheRecords As String + + Private _opr As String + + Private _trustworthyExporter As String + + Private _authorisedExporter As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property oprEntryInTheRecords() As String + Get + Return Me._oprEntryInTheRecords + End Get + Set + Me._oprEntryInTheRecords = Value + End Set + End Property + + Public Property opr() As String + Get + Return Me._opr + End Get + Set + Me._opr = Value + End Set + End Property + + Public Property trustworthyExporter() As String + Get + Return Me._trustworthyExporter + End Get + Set + Me._trustworthyExporter = Value + End Set + End Property + + Public Property authorisedExporter() As String + Get + Return Me._authorisedExporter + End Get + Set + Me._authorisedExporter = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadAuthorisation)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadAuthorisation object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadAuthorisation object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadAuthorisation object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadAuthorisation, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadAuthorisation) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadAuthorisation) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadAuthorisation + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadAuthorisation) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadAuthorisation + Return CType(Serializer.Deserialize(s), TShipmentHeadAuthorisation) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadAuthorisation object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadAuthorisation object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadAuthorisation object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadAuthorisation, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadAuthorisation) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadAuthorisation) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadAuthorisation + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHeadPostExportDeclaration + +#Region "Private fields" + Private _dateOfExit As Date + + Private _dateOfExport As Date + + Private _statisticDecl As String + + Private _officeExit As TCustomsOffice + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._officeExit = New TCustomsOffice() + End Sub + + Public Property dateOfExit() As Date + Get + Return Me._dateOfExit + End Get + Set + Me._dateOfExit = Value + End Set + End Property + + Public Property dateOfExport() As Date + Get + Return Me._dateOfExport + End Get + Set + Me._dateOfExport = Value + End Set + End Property + + Public Property statisticDecl() As String + Get + Return Me._statisticDecl + End Get + Set + Me._statisticDecl = Value + End Set + End Property + + Public Property officeExit() As TCustomsOffice + Get + Return Me._officeExit + End Get + Set + Me._officeExit = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadPostExportDeclaration)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadPostExportDeclaration object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadPostExportDeclaration object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadPostExportDeclaration object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadPostExportDeclaration, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadPostExportDeclaration) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadPostExportDeclaration) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadPostExportDeclaration + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadPostExportDeclaration) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadPostExportDeclaration + Return CType(Serializer.Deserialize(s), TShipmentHeadPostExportDeclaration) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadPostExportDeclaration object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadPostExportDeclaration object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadPostExportDeclaration object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadPostExportDeclaration, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadPostExportDeclaration) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadPostExportDeclaration) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadPostExportDeclaration + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHeadOprData + +#Region "Private fields" + Private _reimportDeadline As Date + + Private _standardExchange As String + + Private _reImport As List(Of TShipmentHeadOprDataReImport) + + Private _meansOfIdentification As List(Of TShipmentHeadOprDataMeansOfIdentification) + + Private _product As List(Of TShipmentHeadOprDataProduct) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._product = New List(Of TShipmentHeadOprDataProduct)() + Me._meansOfIdentification = New List(Of TShipmentHeadOprDataMeansOfIdentification)() + Me._reImport = New List(Of TShipmentHeadOprDataReImport)() + End Sub + + Public Property reimportDeadline() As Date + Get + Return Me._reimportDeadline + End Get + Set + Me._reimportDeadline = Value + End Set + End Property + + Public Property standardExchange() As String + Get + Return Me._standardExchange + End Get + Set + Me._standardExchange = Value + End Set + End Property + + + Public Property reImport() As List(Of TShipmentHeadOprDataReImport) + Get + Return Me._reImport + End Get + Set + Me._reImport = Value + End Set + End Property + + + Public Property meansOfIdentification() As List(Of TShipmentHeadOprDataMeansOfIdentification) + Get + Return Me._meansOfIdentification + End Get + Set + Me._meansOfIdentification = Value + End Set + End Property + + + Public Property product() As List(Of TShipmentHeadOprDataProduct) + Get + Return Me._product + End Get + Set + Me._product = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadOprData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadOprData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadOprData object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadOprData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadOprData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadOprData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadOprData + Return CType(Serializer.Deserialize(s), TShipmentHeadOprData) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadOprData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadOprData object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadOprData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadOprData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHeadOprDataReImport + +#Region "Private fields" + Private _ctry As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ctry() As String + Get + Return Me._ctry + End Get + Set + Me._ctry = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadOprDataReImport)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadOprDataReImport object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadOprDataReImport object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadOprDataReImport object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataReImport, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataReImport) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataReImport) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadOprDataReImport + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadOprDataReImport) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadOprDataReImport + Return CType(Serializer.Deserialize(s), TShipmentHeadOprDataReImport) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadOprDataReImport object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadOprDataReImport object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadOprDataReImport object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataReImport, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataReImport) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataReImport) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadOprDataReImport + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHeadOprDataMeansOfIdentification + +#Region "Private fields" + Private _type As String + + Private _description As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property description() As String + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadOprDataMeansOfIdentification)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadOprDataMeansOfIdentification object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadOprDataMeansOfIdentification object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadOprDataMeansOfIdentification object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataMeansOfIdentification, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataMeansOfIdentification) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataMeansOfIdentification) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadOprDataMeansOfIdentification + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadOprDataMeansOfIdentification) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadOprDataMeansOfIdentification + Return CType(Serializer.Deserialize(s), TShipmentHeadOprDataMeansOfIdentification) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadOprDataMeansOfIdentification object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadOprDataMeansOfIdentification object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadOprDataMeansOfIdentification object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataMeansOfIdentification, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataMeansOfIdentification) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataMeansOfIdentification) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadOprDataMeansOfIdentification + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHeadOprDataProduct + +#Region "Private fields" + Private _commodityCode As String + + Private _partDescription As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property commodityCode() As String + Get + Return Me._commodityCode + End Get + Set + Me._commodityCode = Value + End Set + End Property + + Public Property partDescription() As String + Get + Return Me._partDescription + End Get + Set + Me._partDescription = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHeadOprDataProduct)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHeadOprDataProduct object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHeadOprDataProduct object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHeadOprDataProduct object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataProduct, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataProduct) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHeadOprDataProduct) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHeadOprDataProduct + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHeadOprDataProduct) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHeadOprDataProduct + Return CType(Serializer.Deserialize(s), TShipmentHeadOprDataProduct) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHeadOprDataProduct object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHeadOprDataProduct object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHeadOprDataProduct object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataProduct, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHeadOprDataProduct) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHeadOprDataProduct) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHeadOprDataProduct + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.xsd new file mode 100644 index 0000000..aeeb7b0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustExportShipment.xsd @@ -0,0 +1,1862 @@ + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + true + + 0..∞ + + + + + + + + + + + + Einheit + + + + false + + 1..99 + + + + + + + + + + + + + + + Export shipment Header + + + + + + MIC-CUST Company + MIC-CUST Mandant + + + true + String1..2 + + MIC_AAVSDG + Aasmandant + MIC_AUSSDG + Afssmandant + TA + + + + + + + MIC-CUST Plant + MIC-CUST Werk + + + true + String1..2 + + MIC_AAVSDG + Aaswerk + MIC_AUSSDG + Afswerk + BP + + + + + + + Unique reference number of export declaration + Eindeutige Bezugsnummer der Ausfuhranmeldung. +Ref: EH-Pap Feld 7 + + + false + String1..50 + + MIC_AAVSDG + Aassdgid + MIC_AUSSDG + Afssdgid + AESTEST001 + + + + + + + + + + + + + shipment part + Teil der Sendung + + + false + String1..2 + + MIC_AAVSDG + Aassdgpart + MIC_AUSSDG + Afssdgpart + + + + + + + + + + + + + + MIC-CUST Shipment Type + MIC-CUST Sendungstyp + Constant Value: E…Export + Konstante: E...Export + true + String1 + + MIC_AAVSDG + Aastyp + MIC_AUSSDG + Afstyp + E + + + + + + + + + + + + + Movement Reference Number (MRN) + Movement Reference Number (MRN) + MRN is necessary by supplementary declaration + MRN muss bei Ergänzender Anmeldung angegeben werden. + false + String18 + + MIC_ALL_AAVPOS + Aapmessregnr + MIC_AUSPOS + Afpmessregnr + 2007-06-28T14:00 + + + + + + + + + + + + Date and Time of declaration + + Zeitpunkt der Anmeldung + + Format: yyyy-mm-ddThh:mm:ss (Use "T" as termination character between date and time part) + +This date is relevant as validation date of tarriff codes, etc. + Format: jjjj-mm-ttThh:mm:ss (Trennzeichen zw. Datum und Uhrzeit ist das "T") + +Dieses Datum ist relevant als Gültigkeitdatum von Tarifnummern etc. + false + Xs:dateTime + + MIC_AAVSDG + Aasliedat + MIC_AUSSDG + Afsliedat + CH + + + + + + + Country of destination +Ref: SAD Field 17 + Bestimmungsland der Ausfuhranmeldung +Ref: EH-Pap Feld 17 + LOV: +ISO-Alpha-2 Country code, no EU-Country allowed + Gültige Werte: +ISO-Alpha2 Ländercode, kein EU-Land zulässig + false + String2 + + MIC_AAVSDG + Aasbeld + MIC_AUSSDG + Afsbeld + 1 + + + + + + + + Abgangszollland + + + false + String2 + + MIC_AAVSDG + Aasazld + MIC_AUSSDG + Afsazld + CH + + + + + + + Container code + Containerkennzeichen +Ref: EH-Pap Feld 19 + LOV: +0 ... Transport not in container (Standard, cases of doubt) +1 ... Transport in container(s) + gültige Werte: +0 ... nicht in Containern (Standard, Zweifelsfälle) +1 ... in Containern befördert + false + String1 + + MIC_AAVSDG + Aascon + MIC_AUSSDG + Afscon + 444 + + + + + + + Total gross mass + Gesamt-Rohmasse +Ref: EH-Pap Feld 35 + Gross mass without container weight + Gesamtgewicht der Ausfuhrsendung (ohne Container). +Gültige Werte: > 0 + false + Number(13,4) + + MIC_AAVSDG + Aasrohmas + MIC_AUSSDG + Afsrohmas + + + + + + + + Begin of presentation/packing + + Begin der Gestellung / Verpackung + + Format: <yyyy-mm-dd>T<hh:mm> + +Note: +Field must remain empty unless Type of declaration (clearance) =c,d + + Format: <jjjj-mm-tt>T<hh:mm> + +Bedingung C1: +Prinzipiell ist das Feld leer zu lassen. +Nur für Art der Anmeldung = c,d (Normalverfahren und Antrag auf Gestellung außerhalb Amtsplatz beantragt) ist hier ein Wert anzugeben; + + false + Xs:dateTime + + MIC_AAVSDG + Aasgestellbegin + MIC_AUSSDG + Afsgestellbegin + + + + + + + + End of presentation/packing (time limit) + + Ende der Gestellung / Verpackung + + Format: <yyyy-mm-dd>T<hh:mm> + +Note: +Field must remain empty unless Type of declaration (clearance) =c,d + + Format: <jjjj-mm-tt>T<hh:mm> + +Bedingung C1: +Prinzipiell ist das Feld leer zu lassen. +Nur für Art der Anmeldung = c,d (Normalverfahren und Antrag auf Gestellung außerhalb Amtsplatz beantragt) ist hier ein Wert anzugeben; + +dateStartPack < dateEndPack + + false + Xs:dateTime + + MIC_AAVSDG + Aasgestellend + MIC_AUSSDG + Afsgestellend + 0000 + + + + + + + Parties involved (Consignor/Exporter/Declarant) + Beteiligtenkonstellation Versender/Ausführer/Anmelder + 0000 ... Declarant is exporter. Declarant has no direct representative. Exporter mandate no subcontractor. +0010 ... Declarant is exporter. Declarant has no direct representative. Exporter mandate a subcontractor. +0100 ... Declarant is exporter. Declarant has a direct representative. Exporter mandate no subcontractor. +0110 ... Declarant is exporter. Declarant has a direct representative. Exporter mandate a subcontractor. +1000 ... Declarant is an indirect representative of the exporter. Declarant has no direct representative. Exporter mandate no subcontractor. +1010 ... Declarant is an indirect representative of the exporter. Declarant has no direct representative. Exporter mandate a subcontractor. +1100 ... Declarant is an indirect representative of the exporter. Declarant has a direct representative. Exporter mandate no subcontractor. +1110 ... Declarant is an indirect representative of the exporter. Declarant has a direct representative. Exporter mandate a subcontractor. + +At declaration to the simplified procedure ZA (cp. Data field "header / type of declaration (clearance)") the encodings +"0110" and "1110" signify particularly, that the representative +represents the declarant. + 0000 ... Anmelder ist Ausführer. Anmelder lässt sich nicht direkt vertreten. Ausführer beauftragt keinen Subunternehmer. +0010 ... Anmelder ist Ausführer. Anmelder lässt sich nicht direkt vertreten. Ausführer beauftragt Subunternehmer. +0100 ... Anmelder ist Ausführer. Anmelder lässt sich direkt vertreten. Ausführer beauftragt keinen Subunternehmer. +0110 ... Anmelder ist Ausführer. Anmelder lässt sich direkt vertreten. Ausführer beauftragt Subunternehmer. +1000 ... Anmelder ist indirekter Vertreter des Ausführers. Anmelder lässt sich nicht direkt vertreten. Ausführer beauftragt keinen Subunternehmer. +1010 ... Anmelder ist indirekter Vertreter des Ausführers. Anmelder lässt sich nicht direkt vertreten. Ausführer beauftragt Subunternehmer. +1100 ... Anmelder ist indirekter Vertreter des Ausführers. Anmelder lässt sich direkt vertreten. Ausführer beauftragt keinen Subunternehmer. +1110 ... Anmelder ist indirekter Vertreter des Ausführers. Anmelder lässt sich direkt vertreten. Ausführer beauftragt Subunternehmer. + +Bei Anmeldung zum Vereinfachten Verfahren ZA (vgl. Datenfeld „KOPF / Art der Anmeldung (Überführung)“) bedeuten +die Codierungen „0110“ und „1110“ insbesondere auch, dass +sich der Anmelder durch den Subunternehmer direkt vertreten lässt. + + false + Number(4) + + MIC_AAVSDG + Aasvertrkz + MIC_AUSSDG + Afsvertrkz + 30 + + + + + + + Consignee End-user Flag + Adressaten-Konstellation + Describes the relation between the consignee and the end-user. + +0… End-user is equal to consignee +1… End-user different to consignee +2… End-user unknown + Dieses Kennzeichen beschreibt die Beziehung zwischen Empfänger und Endverwender. + +0… Endverwender ist Empfänger. +1… Endverwender ist nicht Empfänger. +2… Endverwender ist nicht bekannt. + false + String1 + + MIC_AAVSDG + Aasenduserid + MIC_AUSSDG + Afsenduserid + + + + + + + + + + + + + + 1 wenn die Adressatenkonstellation und ggf. der Endverwender in der EAM übermittelt werden soll. + + 1 wenn die Adressatenkonstellation und ggf. der Endverwender in der EAM übermittelt werden soll. + false + Integer(1) + + MIC_AAVSDG + Aassendenduserineam + MIC_AUSSDG + Afssendenduserineam + 0 + + + + + + + + + + + + + + + Estimated Arrival Date + Geschätztes Ankunftsdatum + + + false + xs:datetime + + MIC_AAVSDG + AASESTDAT + MIC_AUSSDG + AFSESTDAT + + + + + + + + NCTS Indicator + NCTS Indikator + + + false + xs:boolean + + MIC_AAVSDG + AASNCTSINDICATOR + MIC_AUSSDG + AFSNCTSINDICATOR + + + + + + + + Inland mode of transport + Genutzter (inländischer) Verkehrszweig bis zur Außengrenze der Gemeinschaft + +Ref: EH-Pap Feld 26 + LOV: (DE-Codeliste C0018) +10=Sea transport +12=railway carriage on seagoing vessel +16=road vehicle on seagoing vessel +17=trailer/semi trailer on seagoing vessel +18=barge on seagoing vessel +20=Rail transport +23=road vehicle on railroad +30=Road transport +50=Postal consignment +80=Inland waterway transport +90=own propulsion + LOV: (DE-Codeliste C0018) +10=Seeverkehr +12=Waggon auf Seeschiff +16=Straßenfahrzeug auf Seeschiff +17=Anhänger/Auflieger auf Seeschiff +18=Binnenschiff auf Seeschiff +20=Eisenbahnverkehr +23=Straßenfahrzeug auf Eisenbahn +30=Straßenverkehr; 40=Luftverkehr +50=Postsendungen +80=Binnenschifffahrt +90=Eigener Antrieb + +Gruppe/Feld muss entweder in der uAM oder in der eAM angegeben werden. + false + + 1 + + + + + + + + + + + + Atlas notification + Atlas Vermerk + free text for notification of the customs authorities. +Proposal: do not fill field ! +Note: +free text requires manual processing by the customs authorities +--> loss of time + addText1 wird in Aasinfo geladen, der Rest wird in AasText1..4 geladen. + +Vorschlag: Leer lassen ! +Wird hier etwas angetragen, muss der Zöllner den Vorgang händisch freigeben. längere Abwicklung. + false + String1..80 + 0..5 + MIC_AAVSDG + Aasinfo, AasText1..4 + MIC_AUSSDG + Afsinfo + + + + + + + + + + + + + Partners + Beteiligte + + + true + + 0..∞ + + + + + + + + + + + + Place of loading + Ladeort +Ref: EH-Pap Feld 30 + + Ort, an dem die Waren verladen und ggf. Verschlüsse angebracht werden + false + + 1 + + + + + + + + + + + + Customs office of export + Ausfuhrzollstelle +Ref: EH-Pap Feld A + local customs office of export being responsible for the declaration + Lokale Dienststelle, die als Ausfuhrzollstelle für diese Anmeldung zuständig ist + true + + 1 + MIC_AAVSDG + aasausfzost(offCtry+codeOff) + MIC_AUSSDG + afsausfzost(offCtry+codeOff) + + + + + + + + Expected office of exit + Vorgesehene Ausgangszollstelle +Ref: EH-Pap Feld 29 + + Dienststelle, die zum Zeitpunkt der Überlassung als Ausgangszollstelle vorgesehen ist. + false + + 1 + MIC_AAVSDG + aasabgzost(offCtry+codeOff) + MIC_AUSSDG + Afsabgzost(offCtry+codeOff) + + + + + + + + Mode of transport at the border + Verkehrszweig Grenze + + Mode of transport of the active mean of transport at the border + Verkehrszweig des aktiven Beförderungsmittels an der Grenze. + false + + 1 + + + + + 10 + + + + + + + Seals + Verschlüsse + + + false + + 1..∞ + + + + + A234 + + + + + + + Declaration type + Declarationstyp + + + false + + + + + + + + + + + + + + Place of destination + Bestimmungsort + + + false + String1..20 + + MIC_AAVSDG + Aasbstort + MIC_AUSSDG + Afsbstort + + + + + + + + + + + + + Authorised location of goods, code + Authorised location of goods, code + For NCTS dispatch only + Nur für NCTS Versand + false + String1..17 + + MIC_AAVKOP + Aakbewillort + + + + + + + + + + + + + + + + Place of Declaration + Place of Declaration + For NCTS dispatch only + Nur für NCTS Versand + false + String1..35 + + MIC_AAVKOP + Aakdeklort + + + + + + + + + + + + + + + + Agreed location of goods, code + Agreed location of goods, code + For NCTS dispatch only + Nur für NCTS Versand + false + String1..17 + + MIC_AAVKOP + Aakverladeortcd + + + + + + + + + + + + + + + + Agreed location of goods + Agreed location of goods + For NCTS dispatch only + Nur für NCTS Versand + false + String1..35 + + MIC_AAVKOP + Aakverladeort + + + 005866 + + + + + + + + + + + + + Customs sub place + Customs sub place + For NCTS dispatch only + Nur für NCTS Versand + false + String1..17 + + MIC_AAVKOP + Aakabfertstelle + + + DE + + + + + + + + + + + + + Country first destination +Ref: SAD Field 10 + Erstes Bestimmungsland +Ref: EH-Pap Feld 10 + + + false + String2 + + MIC_AAVSDG + Aaserstbeld + MIC_AUSSDG + Afserstbeld + + + + + + + + Customs office supplementary declaration + Zollstelle Ergänzende Ausfuhranmeldung + Note: This field (officeDest = office of destination) is not used in the original semantic but as 'office of destination of the supplementary export declaration'. + Zollstelle, die für die ergänzende Anmeldung zuständig ist. + +Hinweis: Dieses Feld (officeDest = office of destination, 'Bestimmungszollstelle') wird hier nicht in seiner Ursprungsbedeutung verwendet, sondern als Bestimmungszollstelle für die ergänzende Ausfuhranmeldung. + false + + 1 + MIC_AAVSDG + aasbstzost(offCtry + codeOff) + MIC_AUSSDG + Afsbstzost(offCtry + codeOff) + + + + + + + + Suppliers address number + Adressnummer des Spedieurs + + + false + String1..20 + + MIC_AAVSDG + Aasspednr + MIC_AUSSDG + Afsspednr + + + + + + + + + + + + + + Container shipment + Container Sendung + + + false + + 0..99 + + + + + + + + + + + + Freight Cost + Frachtkosten + + + false + + 1 + + + + + + + + + + + + Additional Cost + Nebenkosten + + + false + + 0..2 + MIC_AAVSDG + + MIC_AUSSDG + + + + + + + + + Insurance costs + Versicherungskosten + + + false + + + + + + + + + + + + + + groupID + GruppenID + + + false + String0..100 + + + + + + + + + + + + + + + + + + Documents +Ref: SAD Paper Field 44 + Unterlagen +Ref: EH-Pap Feld 44 + Note: +Documents can be provided on shipment level, invoice level or invoice line level. Documents provided on shipment level or invoice level are declared on invoice line level to Atlas. + +Condition C1: +Value required for chapter 98 of the CN8 + +Condition C2: +Value required due to individual certificates, authorizations, etc. such as export lizcences, ... + +MIC proposes documents to be provided at invoice line level within the interface as they are reported to ATLAS on invoice line level too. + Anmerkung: +Unterlagen können auf Sendungsebene angegeben werden oder auf Fakturenebene oder auf Positionsebene. +Unterlagen, die auf Sendungsebene oder Fakturenebene angegeben werden, werden an ATLAS für JEDE Position gemeldet (zusätzlich zu Unterlagen auf Positionsebene) + +Bedingung C1: +Erforderlich für Waren der Kapitel 98 + +Bedingung C2: +Hier sind insbesondere Genehmigungen und Bescheinigungen nach den VuB-Vorschriften, MO-Unterlagen/Genehmigungen, Genehmigungen und Bescheinigungen nach der Außenwirtschaftsverordnung und sonstige Unterlagen/Genehmigungen zu vermerken. Besondere Vermerke sind hier ebenfalls in codierter Form anzugeben + +MIC bevorzugt die Angabe der Unterlagen auf Positionsebene, da Atlas grundsätzlich jede Unterlage auf Positionsebene verlangt. + false + + 0..99 + + + + + + + + + + + + external registry number + Registrierungsnummer extern + + + false + String1..70 + + MIC_AAVSDG + Aasfremdnr + MIC_AUSSDG + Afsfremdnr + + + + + + + + + + + Customer Fields + Freie kundenspezifische Felder + + + false + + + MIC_AAVSDG + aas___1..10 (X=10) + MIC_AUSSDG + afs___1..10 (X=10) + + + + + + + + Attributes + Attributte + + + false + + 1..∞ + + + + + + + + + + + + Country of exit +Ref: SAD Field 15 + Ausfuhrland +Ref: EH-Papier Feld 15 + EU-Countrycode (ISO-Alpha) from where the goods leave the EU. +Codelist C0010 + Anzugeben ist das Nationalitätskennzeichen des EU-Landes, von dem aus die Waren zwecks Ausfuhr versandt werden / worden sind. Codeliste: C0010 + false + String2 + + MIC_AAVSDG + Aasausfld + MIC_AUSSDG + Afsausfld + + + + + + + + Special Circumstances + Besondere Umstände + Flag of special circumstances (codelist: C0096) + Kennzeichen für das Vorliegen besonderer Umstände +Codeliste: C0096 + false + String1 + + MIC_AAVSDG + Aasbesumstaende + MIC_AUSSDG + Afsbesumstaende + + + + + + + + Costs of Carriage + Beförderungskosten (Zahlungsweise) + + Die Datenfelder auf Warenpositions- und hier auf Kopfebene schließen sich gegenseitig aus. +Bei nur einer Zahlungsweise für den gesamten Ausfuhrvorgang muss die Angabe auf der Kopfebene erfolgen. + + false + String1 + + MIC_AAVSDG + Aasbefkosten + MIC_AUSSDG + Afsbefkosten + + + + + + + + Shipmend-Identification + Kennnummer der Sendung + + Die Datenfelder auf Warenpositions- und hier auf Kopfebene schließen sich gegenseitig aus. +Bei nur einer Kennnummer für den gesamten Ausfuhrvorgang muss die Angabe auf der Kopfebene erfolgen. + + false + String1..70 + + MIC_AAVSDG + Aassdgkennnr + MIC_AUSSDG + Afssdgkennnr + + + + + + + + + + Not used at the moment + Im Moment nicht verwendet + false + + + + + + + + + + + + + + + + Not used at the moment + Im Moment nicht verwendet + false + String1..35 + + + + + + + + + + + + + + + + + + + route of transport + Beförderungsroute + + + false + + 0..99 + + + + + + + + + + + + + + + + false + Integer(1) + + MIC_AAVSDG + Aasexpress + MIC_AUSSDG + Afsexpress + + + + + + + + Name of the predefined route in MIC-CUST + Name der vordefinierten Route in MIC-CUST. + MIC-CUST grants you the possiblity to predefine routes with unique routenames. To select such a route in MIC-CUST the routename has to be entered here. MIC-CUST validates the routename while taking over the shipmentdate from the workbuffer to the finale tables. The closure of the shipment faile, if the routename doesn't exists. + MIC-Cust bietet die Möglichkeit Routen im Vorfeld zu definieren. Jede vordefinierte Route wird mit einem eindeutigen Namen für die Mandant/Werk Kombination versehen. Wird der Name der Route in diesem Tag angegeben, sucht MIC-CUST bei der Übernahme der Daten automatisch nach der Route. Ist die Route nicht vorhanden, läuft der Beleg auf Fehler. + false + String1..100 + + MIC_AAVSDG + Aasbefroutename + MIC_AUSSDG + Afsbefroutename + AESTEST001 + + + + + + + + customs authorisation number + + This Tag overwrites the customs authority number of the actual shipment. + false + String1..12 + + MIC_AAVSDG + AASBEWILLNR + MIC_AUSSDG + AFSBEWILLNR + + + + + + + + customs authorisation number + Bewilliungsnummern für die Anmeldung zur Ausfuhr + This Tag overwrites the customs authority number of the actual shipment. + Solle eine Exportanmeldung mit einer anderen Bewilligungsnummer als die, die im Mandaten hinterlegt wurde, angemeldet werden, kann die Bewilligungsnummer in diesem Tag angegeben werden. Sie überschreibt somit die hinterlegte Bewilligung. Diese Bewilligungsnummer bezieht sich nur auf diesen Vorgang. + false + + + + + + + + + + + + + + + Authorisationnumber for entry in the records for OPR + Bewilligungsnummer zum Anschreibeverfahren in der Passiven Veredelung + + + false + String1..12 + + MIC_AAVSDG + Aasauthnooprlcp + MIC_AUSSDG + Afsauthnooprlcp + 123.45 + + + + + + + + + + + + Authorisationnumber for OPR + Bewilligungsnummer zur Passiven Veredelung + + + false + String1..12 + + MIC_AAVSDG + Aasauthnoopr + MIC_AUSSDG + Afsauthnoopr + EUR + + + + + + + + + + + + Authorisationnumber for trustworthy exporter + Bewilligungsnummer des Vertrauenswürdigen Ausführers + Not used at the moment + Im Moment nicht verwendet + false + String1..12 + + MIC_AAVSDG + + + + + + + + + + + + + + + + Authorisationnumber for authorised exporter + Bewilligungsnummer des Zugelassenen Ausführers + + + false + String1..12 + + MIC_AAVSDG + + + + + + + + + + + + + + + + + + + Post Export Declaration + Nachtägliche Anmeldung + + + false + + + + + + + Rütli + + + + + + + + Date of Exit + Datum des Ausgangs + + Datum des körperlichen Ausgangs der Waren aus dem Zollgebiet der Gemeinschaft + false + Xs:date + + MIC_AAVSDG + Aasdateexit + MIC_AUSSDG + Afsdateexit + Zürichseestrasse 10 + + + + + + + Date of acceptance of Export Declaration + Maßgebliches Datum + + Für die nachträgliche Ausfuhranmeldung maßgebliches Datum + false + Xs:date + + MIC_AAVSDG + Aasreldate + MIC_AUSSDG + Afsreldate + Zürich + + + + + + + Statistic Declaration Flag + Statistische Meldung + + Kennzeichen, ob zu einer nachträglichen Ausfuhranmeldung aus dem Notfallverfahren noch eine Meldung zur Außenhandelsstatistik (Extrastat/Intrastat) seitens ATLAS/Ausfuhr an das Statistische Bundesamt erfolgen soll + false + String1 + + MIC_AAVSDG + Aasstatdecl + MIC_AUSSDG + Afsstatdecl + CH + + + + + + + + + + + + Actual Office of Exit + Tatsächliche Ausgangszollstelle + + + false + + + MIC_AAVSDG + Aasofficeofexit (Offctry+Codeoff) + MIC_AUSSDG + Afsofficeofexit (Offctry+Codeoff) + + + + + + + + + + + OPR + Passive Veredelung + + Informationen zur Überführung in die Passive Veredelung + false + + + + + + + + + + + + + + + Date of re-import + Datum der Wiedereinfuhr + Deadline für re-import + Letztmöglicher Tag für die Wiedereinfuhr der Veredelungserzeugnisse + false + Xs:date + + MIC_AAVSDG + Aasoprdateofreimport + MIC_AUSSDG + Afsoprdateofreimport + + + + + + + + Standard exchange + Standardaustausch + Flag for application to standard exchange + Kennzeichen, ob ein Standardaustausch im Rahmen der Passiven Veredelung beantragt wird + false + String1 + + MIC_AAVSDG + Aasoprstdexchange + MIC_AUSSDG + Afsoprstdexchange + + + + + + + + + + + + + Re-import + Wiedereinfuhr + + + false + + 0..99 + + + + + + + + + + + + + Country + Land + + Verschlüsselung des Landes der Wiedereinfuhr + true + String2 + + MIC_CUST_WB_OPR_REIMPORT + Oiwcountry + MIC_CUST_OPR_REIMPORT + Oricountry + + + + + + + + + + + + + + + + Means of identification + Nämlichkeitsmittel + + Art und Beschreibung der Nämlichkeitsmittel + false + + 0..8 + + + + + + + + + + + + + Type + Art + + Verschlüsselung für die Art des verwendeten Nämlichkeitsmittels + false + String1 + + MIC_CUST_WB_OPR_REFERENCE + Orwtype + MIC_CUST_OPR_REFERENCE + Omrtype + + + + + + + + + + + + + Desciption + Textliche Beschreibung + + Textliche Beschreibung des verwendeten Nämlichkeitsmittels + false + String1..350 + + MIC_CUST_WB_OPR_REFERENCE + Orwdescription + MIC_CUST_OPR_REFERENCE + Omrdescription + + + + + + + + + + + + + + + + Products + Erzeugnis + + Die Veredelungserzeugnisse müssen vorab durch eine Warennummer und eine Warenbeschreibung bezeichnet werden. + false + + 0..999 + + + + + + + + + + + + + Commodity code + Warennummer + + Warennummer nach dem Warenverzeichnis für die Außenhandelsstatistik (HS4, HS6 oder KN8) + false + String1..13 + + MIC_CUST_WB_OPR_FINISHEDGOOD + Ofwcodenumber + MIC_CUST_OPR_FINISHEDGOOD + Ofgcodenumber + DES + + + + + + + + + + + + Desciption + Warenbezeichnung + + Textuelle Beschreibung der Ware + false + String1..280 + + MIC_CUST_WB_OPR_FINISHEDGOOD + Ofwgoodsdescription + MIC_CUST_OPR_FINISHEDGOOD + Ofggoodsdescription + Fürth + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + ERP Specific Data + ERP spezifische Daten + + + false + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.Designer.vb new file mode 100644 index 0000000..e73e955 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.Designer.vb @@ -0,0 +1,18285 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_IMPORT_InvoiceListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace MIC_IMPORT_Invoice + + + Partial Public Class TInvoice + +#Region "Private fields" + Private _invoiceNumber As String + + Private _invoiceVersion As String + + Private _invoiceDate As Date + + Private _invoiceHead As TInvoiceHead + + Private _attributes As List(Of TAttribute) + + Private _documents As List(Of TDocument) + + Private _partners As List(Of TPartner) + + Private _atlasCompletionSumDs As List(Of TAtlasCompSumDEntry) + + Private _intra As TCustIntra + + Private _invoiceLines As List(Of TInvoiceLine) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._invoiceLines = New List(Of TInvoiceLine)() + Me._intra = New TCustIntra() + Me._atlasCompletionSumDs = New List(Of TAtlasCompSumDEntry)() + Me._partners = New List(Of TPartner)() + Me._documents = New List(Of TDocument)() + Me._attributes = New List(Of TAttribute)() + Me._invoiceHead = New TInvoiceHead() + End Sub + + Public Property invoiceNumber() As String + Get + Return Me._invoiceNumber + End Get + Set + Me._invoiceNumber = Value + End Set + End Property + + Public Property invoiceVersion() As String + Get + Return Me._invoiceVersion + End Get + Set + Me._invoiceVersion = Value + End Set + End Property + + + Public Property invoiceDate() As Date + Get + Return Me._invoiceDate + End Get + Set + Me._invoiceDate = Value + End Set + End Property + + Public Property InvoiceHead() As TInvoiceHead + Get + Return Me._invoiceHead + End Get + Set + Me._invoiceHead = Value + End Set + End Property + + + Public Property Attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + + Public Property Documents() As List(Of TDocument) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + + Public Property Partners() As List(Of TPartner) + Get + Return Me._partners + End Get + Set + Me._partners = Value + End Set + End Property + + + Public Property AtlasCompletionSumDs() As List(Of TAtlasCompSumDEntry) + Get + Return Me._atlasCompletionSumDs + End Get + Set + Me._atlasCompletionSumDs = Value + End Set + End Property + + Public Property Intra() As TCustIntra + Get + Return Me._intra + End Get + Set + Me._intra = Value + End Set + End Property + + + Public Property InvoiceLines() As List(Of TInvoiceLine) + Get + Return Me._invoiceLines + End Get + Set + Me._invoiceLines = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoice)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoice object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoice object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoice) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoice + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoice) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoice + Return CType(Serializer.Deserialize(s), TInvoice) + End Function +#End Region + + ''' + ''' Serializes current TInvoice object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoice object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoice) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoice + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceHead + +#Region "Private fields" + Private _invoiceType As String + + Private _contractDate As Date + + Private _countryOfTrade As String + + Private _supplier As TAddress + + Private _grossWeight As Decimal + + Private _netWeight As Decimal + + Private _invoiceValue As Decimal + + Private _invoiceCurrency As String + + Private _deliveryTerms As TDelTerm + + Private _rebate As TRebate + + Private _discount As Decimal + + Private _additionalCost As List(Of TAddCosts) + + Private _text As String + + Private _text2 As String + + Private _freight As TFreightCostsInv + + Private _insurance As TInsuranceCostsInv + + Private _referenceNumber As String + + Private _transportNumber As String + + Private _transportType As String + + Private _acceptanceDate As Date + + Private _disposalDate As Date + + Private _timeLimit As Date + + Private _registrationNumber As String + + Private _sealNumber As String + + Private _billOfLading As String + + Private _packageCount As Decimal + + Private _packageType As String + + Private _buyer As String + + Private _consignee As String + + Private _paymentInformation As TImportPaymentInfo + + Private _customerFields As TCustomerFields + + Private _seller As TAddress + + Private _exchangeRate As Decimal + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private _containerInfo As TContainer + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._containerInfo = New TContainer() + Me._seller = New TAddress() + Me._customerFields = New TCustomerFields() + Me._paymentInformation = New TImportPaymentInfo() + Me._insurance = New TInsuranceCostsInv() + Me._freight = New TFreightCostsInv() + Me._additionalCost = New List(Of TAddCosts)() + Me._rebate = New TRebate() + Me._deliveryTerms = New TDelTerm() + Me._supplier = New TAddress() + End Sub + + Public Property invoiceType() As String + Get + Return Me._invoiceType + End Get + Set + Me._invoiceType = Value + End Set + End Property + + + Public Property contractDate() As Date + Get + Return Me._contractDate + End Get + Set + Me._contractDate = Value + End Set + End Property + + Public Property countryOfTrade() As String + Get + Return Me._countryOfTrade + End Get + Set + Me._countryOfTrade = Value + End Set + End Property + + Public Property Supplier() As TAddress + Get + Return Me._supplier + End Get + Set + Me._supplier = Value + End Set + End Property + + Public Property grossWeight() As Decimal + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Public Property netWeight() As Decimal + Get + Return Me._netWeight + End Get + Set + Me._netWeight = Value + End Set + End Property + + Public Property invoiceValue() As Decimal + Get + Return Me._invoiceValue + End Get + Set + Me._invoiceValue = Value + End Set + End Property + + Public Property invoiceCurrency() As String + Get + Return Me._invoiceCurrency + End Get + Set + Me._invoiceCurrency = Value + End Set + End Property + + Public Property deliveryTerms() As TDelTerm + Get + Return Me._deliveryTerms + End Get + Set + Me._deliveryTerms = Value + End Set + End Property + + Public Property Rebate() As TRebate + Get + Return Me._rebate + End Get + Set + Me._rebate = Value + End Set + End Property + + Public Property discount() As Decimal + Get + Return Me._discount + End Get + Set + Me._discount = Value + End Set + End Property + + + Public Property AdditionalCost() As List(Of TAddCosts) + Get + Return Me._additionalCost + End Get + Set + Me._additionalCost = Value + End Set + End Property + + Public Property text() As String + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + Public Property text2() As String + Get + Return Me._text2 + End Get + Set + Me._text2 = Value + End Set + End Property + + Public Property Freight() As TFreightCostsInv + Get + Return Me._freight + End Get + Set + Me._freight = Value + End Set + End Property + + Public Property Insurance() As TInsuranceCostsInv + Get + Return Me._insurance + End Get + Set + Me._insurance = Value + End Set + End Property + + Public Property referenceNumber() As String + Get + Return Me._referenceNumber + End Get + Set + Me._referenceNumber = Value + End Set + End Property + + Public Property transportNumber() As String + Get + Return Me._transportNumber + End Get + Set + Me._transportNumber = Value + End Set + End Property + + Public Property transportType() As String + Get + Return Me._transportType + End Get + Set + Me._transportType = Value + End Set + End Property + + + Public Property acceptanceDate() As Date + Get + Return Me._acceptanceDate + End Get + Set + Me._acceptanceDate = Value + End Set + End Property + + + Public Property disposalDate() As Date + Get + Return Me._disposalDate + End Get + Set + Me._disposalDate = Value + End Set + End Property + + + Public Property timeLimit() As Date + Get + Return Me._timeLimit + End Get + Set + Me._timeLimit = Value + End Set + End Property + + Public Property registrationNumber() As String + Get + Return Me._registrationNumber + End Get + Set + Me._registrationNumber = Value + End Set + End Property + + Public Property sealNumber() As String + Get + Return Me._sealNumber + End Get + Set + Me._sealNumber = Value + End Set + End Property + + Public Property billOfLading() As String + Get + Return Me._billOfLading + End Get + Set + Me._billOfLading = Value + End Set + End Property + + Public Property packageCount() As Decimal + Get + Return Me._packageCount + End Get + Set + Me._packageCount = Value + End Set + End Property + + Public Property packageType() As String + Get + Return Me._packageType + End Get + Set + Me._packageType = Value + End Set + End Property + + Public Property buyer() As String + Get + Return Me._buyer + End Get + Set + Me._buyer = Value + End Set + End Property + + Public Property consignee() As String + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property PaymentInformation() As TImportPaymentInfo + Get + Return Me._paymentInformation + End Get + Set + Me._paymentInformation = Value + End Set + End Property + + Public Property CustomerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + Public Property seller() As TAddress + Get + Return Me._seller + End Get + Set + Me._seller = Value + End Set + End Property + + Public Property exchangeRate() As Decimal + Get + Return Me._exchangeRate + End Get + Set + Me._exchangeRate = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Public Property ContainerInfo() As TContainer + Get + Return Me._containerInfo + End Get + Set + Me._containerInfo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceHead)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceHead object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceHead object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHead) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceHead) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceHead + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceHead) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceHead + Return CType(Serializer.Deserialize(s), TInvoiceHead) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceHead object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceHead object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceHead) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceHead) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceHead + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAddress + +#Region "Private fields" + Private _addrNo As String + + Private _addrNoType As String + + Private _addrName As List(Of String) + + Private _addrStreet As String + + Private _addrLoc As String + + Private _addrCtry As String + + Private _addrState As String + + Private _addrZip As String + + Private _addrTin As String + + Private _addrEori As String + + Private _partnerRelation As String + + Private _addrDistrict As String + + Private _addrBranchNo As String + + Private _email As String + + Private _addrVatNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._addrName = New List(Of String)() + End Sub + + Public Property addrNo() As String + Get + Return Me._addrNo + End Get + Set + Me._addrNo = Value + End Set + End Property + + Public Property addrNoType() As String + Get + Return Me._addrNoType + End Get + Set + Me._addrNoType = Value + End Set + End Property + + + Public Property addrName() As List(Of String) + Get + Return Me._addrName + End Get + Set + Me._addrName = Value + End Set + End Property + + Public Property addrStreet() As String + Get + Return Me._addrStreet + End Get + Set + Me._addrStreet = Value + End Set + End Property + + Public Property addrLoc() As String + Get + Return Me._addrLoc + End Get + Set + Me._addrLoc = Value + End Set + End Property + + Public Property addrCtry() As String + Get + Return Me._addrCtry + End Get + Set + Me._addrCtry = Value + End Set + End Property + + Public Property addrState() As String + Get + Return Me._addrState + End Get + Set + Me._addrState = Value + End Set + End Property + + Public Property addrZip() As String + Get + Return Me._addrZip + End Get + Set + Me._addrZip = Value + End Set + End Property + + Public Property addrTin() As String + Get + Return Me._addrTin + End Get + Set + Me._addrTin = Value + End Set + End Property + + Public Property addrEori() As String + Get + Return Me._addrEori + End Get + Set + Me._addrEori = Value + End Set + End Property + + Public Property partnerRelation() As String + Get + Return Me._partnerRelation + End Get + Set + Me._partnerRelation = Value + End Set + End Property + + Public Property addrDistrict() As String + Get + Return Me._addrDistrict + End Get + Set + Me._addrDistrict = Value + End Set + End Property + + Public Property addrBranchNo() As String + Get + Return Me._addrBranchNo + End Get + Set + Me._addrBranchNo = Value + End Set + End Property + + Public Property email() As String + Get + Return Me._email + End Get + Set + Me._email = Value + End Set + End Property + + Public Property addrVatNumber() As String + Get + Return Me._addrVatNumber + End Get + Set + Me._addrVatNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddress object + ''' + ''' string workflow markup to deserialize + ''' Output TAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddress + Return CType(Serializer.Deserialize(s), TAddress) + End Function +#End Region + + ''' + ''' Serializes current TAddress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddress object + ''' + ''' string xml file to load and deserialize + ''' Output TAddress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackageData + +#Region "Private fields" + Private _signo As String + + Private _numberOfPackages As Long + + Private _packageType As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property signo() As String + Get + Return Me._signo + End Get + Set + Me._signo = Value + End Set + End Property + + Public Property numberOfPackages() As Long + Get + Return Me._numberOfPackages + End Get + Set + Me._numberOfPackages = Value + End Set + End Property + + Public Property packageType() As String + Get + Return Me._packageType + End Get + Set + Me._packageType = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackageData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackageData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackageData object + ''' + ''' string workflow markup to deserialize + ''' Output TPackageData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackageData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackageData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackageData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackageData + Return CType(Serializer.Deserialize(s), TPackageData) + End Function +#End Region + + ''' + ''' Serializes current TPackageData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackageData object + ''' + ''' string xml file to load and deserialize + ''' Output TPackageData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackageData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackageData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackageData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackagesData + +#Region "Private fields" + Private _packageData As List(Of TPackageData) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._packageData = New List(Of TPackageData)() + End Sub + + + Public Property PackageData() As List(Of TPackageData) + Get + Return Me._packageData + End Get + Set + Me._packageData = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackagesData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackagesData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackagesData object + ''' + ''' string workflow markup to deserialize + ''' Output TPackagesData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackagesData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackagesData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackagesData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackagesData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackagesData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackagesData + Return CType(Serializer.Deserialize(s), TPackagesData) + End Function +#End Region + + ''' + ''' Serializes current TPackagesData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackagesData object + ''' + ''' string xml file to load and deserialize + ''' Output TPackagesData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackagesData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackagesData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackagesData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackagesData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRefPrevProcedure + +#Region "Private fields" + Private _referenceType As String + + Private _referenceNumber As String + + Private _authorisationNumber As String + + Private _registrationNumber As String + + Private _positionNumber As Long + + Private _partNumber As String + + Private _tariffNumber As String + + Private _tradeQuantity As Decimal + + Private _tradeUnitOfMeasurement As String + + Private _tradeQualifier As String + + Private _deductionQuantity As Decimal + + Private _deductionUnitOfMeasurement As String + + Private _deductionQualifier As String + + Private _additionalInformation As String + + Private _normalTreatmentFlag As Boolean + + Private _atlasFlag As Boolean + + Private _customsNumber As String + + Private _statisticalQuantity As Decimal + + Private _netMass As Decimal + + Private _grossMass As Decimal + + Private _packageQuantity As Decimal + + Private _simpleIprApplication As Boolean + + Private _supervisingOffice As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property referenceType() As String + Get + Return Me._referenceType + End Get + Set + Me._referenceType = Value + End Set + End Property + + Public Property referenceNumber() As String + Get + Return Me._referenceNumber + End Get + Set + Me._referenceNumber = Value + End Set + End Property + + Public Property authorisationNumber() As String + Get + Return Me._authorisationNumber + End Get + Set + Me._authorisationNumber = Value + End Set + End Property + + Public Property registrationNumber() As String + Get + Return Me._registrationNumber + End Get + Set + Me._registrationNumber = Value + End Set + End Property + + Public Property positionNumber() As Long + Get + Return Me._positionNumber + End Get + Set + Me._positionNumber = Value + End Set + End Property + + Public Property partNumber() As String + Get + Return Me._partNumber + End Get + Set + Me._partNumber = Value + End Set + End Property + + Public Property tariffNumber() As String + Get + Return Me._tariffNumber + End Get + Set + Me._tariffNumber = Value + End Set + End Property + + Public Property tradeQuantity() As Decimal + Get + Return Me._tradeQuantity + End Get + Set + Me._tradeQuantity = Value + End Set + End Property + + Public Property tradeUnitOfMeasurement() As String + Get + Return Me._tradeUnitOfMeasurement + End Get + Set + Me._tradeUnitOfMeasurement = Value + End Set + End Property + + Public Property tradeQualifier() As String + Get + Return Me._tradeQualifier + End Get + Set + Me._tradeQualifier = Value + End Set + End Property + + Public Property deductionQuantity() As Decimal + Get + Return Me._deductionQuantity + End Get + Set + Me._deductionQuantity = Value + End Set + End Property + + Public Property deductionUnitOfMeasurement() As String + Get + Return Me._deductionUnitOfMeasurement + End Get + Set + Me._deductionUnitOfMeasurement = Value + End Set + End Property + + Public Property deductionQualifier() As String + Get + Return Me._deductionQualifier + End Get + Set + Me._deductionQualifier = Value + End Set + End Property + + Public Property additionalInformation() As String + Get + Return Me._additionalInformation + End Get + Set + Me._additionalInformation = Value + End Set + End Property + + Public Property normalTreatmentFlag() As Boolean + Get + Return Me._normalTreatmentFlag + End Get + Set + Me._normalTreatmentFlag = Value + End Set + End Property + + Public Property atlasFlag() As Boolean + Get + Return Me._atlasFlag + End Get + Set + Me._atlasFlag = Value + End Set + End Property + + Public Property customsNumber() As String + Get + Return Me._customsNumber + End Get + Set + Me._customsNumber = Value + End Set + End Property + + Public Property statisticalQuantity() As Decimal + Get + Return Me._statisticalQuantity + End Get + Set + Me._statisticalQuantity = Value + End Set + End Property + + Public Property netMass() As Decimal + Get + Return Me._netMass + End Get + Set + Me._netMass = Value + End Set + End Property + + Public Property grossMass() As Decimal + Get + Return Me._grossMass + End Get + Set + Me._grossMass = Value + End Set + End Property + + Public Property packageQuantity() As Decimal + Get + Return Me._packageQuantity + End Get + Set + Me._packageQuantity = Value + End Set + End Property + + Public Property simpleIprApplication() As Boolean + Get + Return Me._simpleIprApplication + End Get + Set + Me._simpleIprApplication = Value + End Set + End Property + + Public Property supervisingOffice() As String + Get + Return Me._supervisingOffice + End Get + Set + Me._supervisingOffice = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRefPrevProcedure)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRefPrevProcedure object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRefPrevProcedure object + ''' + ''' string workflow markup to deserialize + ''' Output TRefPrevProcedure object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRefPrevProcedure, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRefPrevProcedure) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRefPrevProcedure) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRefPrevProcedure + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRefPrevProcedure) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRefPrevProcedure + Return CType(Serializer.Deserialize(s), TRefPrevProcedure) + End Function +#End Region + + ''' + ''' Serializes current TRefPrevProcedure object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRefPrevProcedure object + ''' + ''' string xml file to load and deserialize + ''' Output TRefPrevProcedure object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRefPrevProcedure, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRefPrevProcedure) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRefPrevProcedure) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRefPrevProcedure + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPreSupplier + +#Region "Private fields" + Private _infDutyValue As Decimal + + Private _infDutyRate As Decimal + + Private _infDuty As Decimal + + Private _infDutyCurrency As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property infDutyValue() As Decimal + Get + Return Me._infDutyValue + End Get + Set + Me._infDutyValue = Value + End Set + End Property + + Public Property infDutyRate() As Decimal + Get + Return Me._infDutyRate + End Get + Set + Me._infDutyRate = Value + End Set + End Property + + Public Property infDuty() As Decimal + Get + Return Me._infDuty + End Get + Set + Me._infDuty = Value + End Set + End Property + + Public Property infDutyCurrency() As String + Get + Return Me._infDutyCurrency + End Get + Set + Me._infDutyCurrency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPreSupplier)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPreSupplier object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPreSupplier object + ''' + ''' string workflow markup to deserialize + ''' Output TPreSupplier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPreSupplier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPreSupplier) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPreSupplier) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPreSupplier + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPreSupplier) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPreSupplier + Return CType(Serializer.Deserialize(s), TPreSupplier) + End Function +#End Region + + ''' + ''' Serializes current TPreSupplier object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPreSupplier object + ''' + ''' string xml file to load and deserialize + ''' Output TPreSupplier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPreSupplier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPreSupplier) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPreSupplier) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPreSupplier + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustIntraLine + +#Region "Private fields" + Private _status As String + + Private _invoiceDate As Date + + Private _period As Long + + Private _region As String + + Private _statisticalProcedure As String + + Private _statisticalValue As Decimal + + Private _additionalCostsCurrency1 As String + + Private _additionalCostsType1 As String + + Private _additionalCostsCurrency2 As String + + Private _additionalCostsType2 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property status() As String + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + + Public Property invoiceDate() As Date + Get + Return Me._invoiceDate + End Get + Set + Me._invoiceDate = Value + End Set + End Property + + Public Property period() As Long + Get + Return Me._period + End Get + Set + Me._period = Value + End Set + End Property + + Public Property region() As String + Get + Return Me._region + End Get + Set + Me._region = Value + End Set + End Property + + Public Property statisticalProcedure() As String + Get + Return Me._statisticalProcedure + End Get + Set + Me._statisticalProcedure = Value + End Set + End Property + + Public Property statisticalValue() As Decimal + Get + Return Me._statisticalValue + End Get + Set + Me._statisticalValue = Value + End Set + End Property + + Public Property additionalCostsCurrency1() As String + Get + Return Me._additionalCostsCurrency1 + End Get + Set + Me._additionalCostsCurrency1 = Value + End Set + End Property + + Public Property additionalCostsType1() As String + Get + Return Me._additionalCostsType1 + End Get + Set + Me._additionalCostsType1 = Value + End Set + End Property + + Public Property additionalCostsCurrency2() As String + Get + Return Me._additionalCostsCurrency2 + End Get + Set + Me._additionalCostsCurrency2 = Value + End Set + End Property + + Public Property additionalCostsType2() As String + Get + Return Me._additionalCostsType2 + End Get + Set + Me._additionalCostsType2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustIntraLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustIntraLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustIntraLine object + ''' + ''' string workflow markup to deserialize + ''' Output TCustIntraLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustIntraLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustIntraLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustIntraLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustIntraLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustIntraLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustIntraLine + Return CType(Serializer.Deserialize(s), TCustIntraLine) + End Function +#End Region + + ''' + ''' Serializes current TCustIntraLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustIntraLine object + ''' + ''' string xml file to load and deserialize + ''' Output TCustIntraLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustIntraLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustIntraLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustIntraLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustIntraLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TOprInfo + +#Region "Private fields" + Private _dutyGroup1 As String + + Private _reductionAmount1 As Decimal + + Private _dutyGroup2 As String + + Private _reductionAmount2 As Decimal + + Private _dutyGroup3 As String + + Private _reductionAmount3 As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property dutyGroup1() As String + Get + Return Me._dutyGroup1 + End Get + Set + Me._dutyGroup1 = Value + End Set + End Property + + Public Property reductionAmount1() As Decimal + Get + Return Me._reductionAmount1 + End Get + Set + Me._reductionAmount1 = Value + End Set + End Property + + Public Property dutyGroup2() As String + Get + Return Me._dutyGroup2 + End Get + Set + Me._dutyGroup2 = Value + End Set + End Property + + Public Property reductionAmount2() As Decimal + Get + Return Me._reductionAmount2 + End Get + Set + Me._reductionAmount2 = Value + End Set + End Property + + Public Property dutyGroup3() As String + Get + Return Me._dutyGroup3 + End Get + Set + Me._dutyGroup3 = Value + End Set + End Property + + Public Property reductionAmount3() As Decimal + Get + Return Me._reductionAmount3 + End Get + Set + Me._reductionAmount3 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TOprInfo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TOprInfo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TOprInfo object + ''' + ''' string workflow markup to deserialize + ''' Output TOprInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOprInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOprInfo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TOprInfo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TOprInfo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TOprInfo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TOprInfo + Return CType(Serializer.Deserialize(s), TOprInfo) + End Function +#End Region + + ''' + ''' Serializes current TOprInfo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TOprInfo object + ''' + ''' string xml file to load and deserialize + ''' Output TOprInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOprInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TOprInfo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TOprInfo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TOprInfo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDutySaving + +#Region "Private fields" + Private _additionalCostsType As String + + Private _code As String + + Private _calculatedCustDuties As Decimal + + Private _amount As Decimal + + Private _creationFlag As String + + Private _unitOfMeasurment As String + + Private _calculationBase As Decimal + + Private _countryOfDuties As String + + Private _calculatedDuties As Decimal + + Private _calculatedAssessmentBasis As Decimal + + Private _measuresType As String + + Private _dutyRate As Decimal + + Private _addition As Decimal + + Private _preferentialFlag As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property additionalCostsType() As String + Get + Return Me._additionalCostsType + End Get + Set + Me._additionalCostsType = Value + End Set + End Property + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property calculatedCustDuties() As Decimal + Get + Return Me._calculatedCustDuties + End Get + Set + Me._calculatedCustDuties = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property creationFlag() As String + Get + Return Me._creationFlag + End Get + Set + Me._creationFlag = Value + End Set + End Property + + Public Property unitOfMeasurment() As String + Get + Return Me._unitOfMeasurment + End Get + Set + Me._unitOfMeasurment = Value + End Set + End Property + + Public Property calculationBase() As Decimal + Get + Return Me._calculationBase + End Get + Set + Me._calculationBase = Value + End Set + End Property + + Public Property countryOfDuties() As String + Get + Return Me._countryOfDuties + End Get + Set + Me._countryOfDuties = Value + End Set + End Property + + Public Property calculatedDuties() As Decimal + Get + Return Me._calculatedDuties + End Get + Set + Me._calculatedDuties = Value + End Set + End Property + + Public Property calculatedAssessmentBasis() As Decimal + Get + Return Me._calculatedAssessmentBasis + End Get + Set + Me._calculatedAssessmentBasis = Value + End Set + End Property + + Public Property measuresType() As String + Get + Return Me._measuresType + End Get + Set + Me._measuresType = Value + End Set + End Property + + Public Property dutyRate() As Decimal + Get + Return Me._dutyRate + End Get + Set + Me._dutyRate = Value + End Set + End Property + + Public Property addition() As Decimal + Get + Return Me._addition + End Get + Set + Me._addition = Value + End Set + End Property + + Public Property preferentialFlag() As String + Get + Return Me._preferentialFlag + End Get + Set + Me._preferentialFlag = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDutySaving)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDutySaving object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDutySaving object + ''' + ''' string workflow markup to deserialize + ''' Output TDutySaving object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutySaving, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutySaving) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutySaving) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDutySaving + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDutySaving) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDutySaving + Return CType(Serializer.Deserialize(s), TDutySaving) + End Function +#End Region + + ''' + ''' Serializes current TDutySaving object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDutySaving object + ''' + ''' string xml file to load and deserialize + ''' Output TDutySaving object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutySaving, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutySaving) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutySaving) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDutySaving + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDutyTax + +#Region "Private fields" + Private _additionalCostsType As String + + Private _code As String + + Private _calculatedCustDuties As Decimal + + Private _amount As Decimal + + Private _creationFlag As String + + Private _unitOfMeasurment As String + + Private _calculationBase As Decimal + + Private _countryOfDuties As String + + Private _calculatedDuties As Decimal + + Private _calculatedAssessmentBasis As Decimal + + Private _areaCode As String + + Private _measuresType As String + + Private _dutyCodeCustomsOffice As String + + Private _indentureNumber As String + + Private _dutyRate As Decimal + + Private _stornoFlag As String + + Private _dutyAmountIncreaseOrDecrease As Decimal + + Private _typeOfAdditionalCode As String + + Private _noOfAdditionalCode As String + + Private _calculatedDutyRate As Decimal + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property additionalCostsType() As String + Get + Return Me._additionalCostsType + End Get + Set + Me._additionalCostsType = Value + End Set + End Property + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property calculatedCustDuties() As Decimal + Get + Return Me._calculatedCustDuties + End Get + Set + Me._calculatedCustDuties = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property creationFlag() As String + Get + Return Me._creationFlag + End Get + Set + Me._creationFlag = Value + End Set + End Property + + Public Property unitOfMeasurment() As String + Get + Return Me._unitOfMeasurment + End Get + Set + Me._unitOfMeasurment = Value + End Set + End Property + + Public Property calculationBase() As Decimal + Get + Return Me._calculationBase + End Get + Set + Me._calculationBase = Value + End Set + End Property + + Public Property countryOfDuties() As String + Get + Return Me._countryOfDuties + End Get + Set + Me._countryOfDuties = Value + End Set + End Property + + Public Property calculatedDuties() As Decimal + Get + Return Me._calculatedDuties + End Get + Set + Me._calculatedDuties = Value + End Set + End Property + + Public Property calculatedAssessmentBasis() As Decimal + Get + Return Me._calculatedAssessmentBasis + End Get + Set + Me._calculatedAssessmentBasis = Value + End Set + End Property + + Public Property areaCode() As String + Get + Return Me._areaCode + End Get + Set + Me._areaCode = Value + End Set + End Property + + Public Property measuresType() As String + Get + Return Me._measuresType + End Get + Set + Me._measuresType = Value + End Set + End Property + + Public Property dutyCodeCustomsOffice() As String + Get + Return Me._dutyCodeCustomsOffice + End Get + Set + Me._dutyCodeCustomsOffice = Value + End Set + End Property + + Public Property indentureNumber() As String + Get + Return Me._indentureNumber + End Get + Set + Me._indentureNumber = Value + End Set + End Property + + Public Property dutyRate() As Decimal + Get + Return Me._dutyRate + End Get + Set + Me._dutyRate = Value + End Set + End Property + + Public Property stornoFlag() As String + Get + Return Me._stornoFlag + End Get + Set + Me._stornoFlag = Value + End Set + End Property + + Public Property dutyAmountIncreaseOrDecrease() As Decimal + Get + Return Me._dutyAmountIncreaseOrDecrease + End Get + Set + Me._dutyAmountIncreaseOrDecrease = Value + End Set + End Property + + Public Property typeOfAdditionalCode() As String + Get + Return Me._typeOfAdditionalCode + End Get + Set + Me._typeOfAdditionalCode = Value + End Set + End Property + + Public Property noOfAdditionalCode() As String + Get + Return Me._noOfAdditionalCode + End Get + Set + Me._noOfAdditionalCode = Value + End Set + End Property + + Public Property calculatedDutyRate() As Decimal + Get + Return Me._calculatedDutyRate + End Get + Set + Me._calculatedDutyRate = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDutyTax)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDutyTax object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDutyTax object + ''' + ''' string workflow markup to deserialize + ''' Output TDutyTax object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutyTax, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutyTax) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutyTax) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDutyTax + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDutyTax) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDutyTax + Return CType(Serializer.Deserialize(s), TDutyTax) + End Function +#End Region + + ''' + ''' Serializes current TDutyTax object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDutyTax object + ''' + ''' string xml file to load and deserialize + ''' Output TDutyTax object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutyTax, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutyTax) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutyTax) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDutyTax + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDuty + +#Region "Private fields" + Private _type As String + + Private _calcDutyBase As Decimal + + Private _currency As String + + Private _code As String + + Private _rate As Decimal + + Private _amount As Decimal + + Private _addDeduct As Decimal + + Private _calcDuty As Decimal + + Private _duty As Decimal + + Private _dutyBase As Decimal + + Private _measureCode As String + + Private _measure As String + + Private _authorityDutyCode As String + + Private _territory As String + + Private _typeAddCode As String + + Private _numberAddCode As String + + Private _tariffRateQuota As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property calcDutyBase() As Decimal + Get + Return Me._calcDutyBase + End Get + Set + Me._calcDutyBase = Value + End Set + End Property + + Public Property currency() As String + Get + Return Me._currency + End Get + Set + Me._currency = Value + End Set + End Property + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property rate() As Decimal + Get + Return Me._rate + End Get + Set + Me._rate = Value + End Set + End Property + + Public Property amount() As Decimal + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Public Property addDeduct() As Decimal + Get + Return Me._addDeduct + End Get + Set + Me._addDeduct = Value + End Set + End Property + + Public Property calcDuty() As Decimal + Get + Return Me._calcDuty + End Get + Set + Me._calcDuty = Value + End Set + End Property + + Public Property duty() As Decimal + Get + Return Me._duty + End Get + Set + Me._duty = Value + End Set + End Property + + Public Property dutyBase() As Decimal + Get + Return Me._dutyBase + End Get + Set + Me._dutyBase = Value + End Set + End Property + + Public Property measureCode() As String + Get + Return Me._measureCode + End Get + Set + Me._measureCode = Value + End Set + End Property + + Public Property measure() As String + Get + Return Me._measure + End Get + Set + Me._measure = Value + End Set + End Property + + Public Property authorityDutyCode() As String + Get + Return Me._authorityDutyCode + End Get + Set + Me._authorityDutyCode = Value + End Set + End Property + + Public Property territory() As String + Get + Return Me._territory + End Get + Set + Me._territory = Value + End Set + End Property + + Public Property typeAddCode() As String + Get + Return Me._typeAddCode + End Get + Set + Me._typeAddCode = Value + End Set + End Property + + Public Property numberAddCode() As String + Get + Return Me._numberAddCode + End Get + Set + Me._numberAddCode = Value + End Set + End Property + + Public Property tariffRateQuota() As String + Get + Return Me._tariffRateQuota + End Get + Set + Me._tariffRateQuota = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDuty)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDuty object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDuty object + ''' + ''' string workflow markup to deserialize + ''' Output TDuty object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDuty, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDuty) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDuty) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDuty + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDuty) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDuty + Return CType(Serializer.Deserialize(s), TDuty) + End Function +#End Region + + ''' + ''' Serializes current TDuty object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDuty object + ''' + ''' string xml file to load and deserialize + ''' Output TDuty object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDuty, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDuty) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDuty) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDuty + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCalcValuesCust + +#Region "Private fields" + Private _customsValue As Decimal + + Private _netValue As Decimal + + Private _additionalStatisticalValue As Decimal + + Private _additionalCostsVat As Decimal + + Private _addStatisticValue As Decimal + + Private _oprIngredientsValue As Decimal + + Private _additionalCosts1 As Decimal + + Private _additionalCosts2 As Decimal + + Private _additionalCosts3 As Decimal + + Private _additionalCosts4 As Decimal + + Private _additionalCosts5 As Decimal + + Private _additionalCosts6 As Decimal + + Private _additionalCosts7 As Decimal + + Private _additionalCosts8 As Decimal + + Private _additionalCosts9 As Decimal + + Private _additionalCosts10 As Decimal + + Private _additionalCosts11 As Decimal + + Private _additionalCosts12 As Decimal + + Private _additionalCosts13 As Decimal + + Private _additionalCosts14 As Decimal + + Private _additionalCosts15 As Decimal + + Private _additionalCosts16 As Decimal + + Private _additionalCosts17 As Decimal + + Private _additionalCosts18 As Decimal + + Private _additionalCosts19 As Decimal + + Private _additionalCosts20 As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property customsValue() As Decimal + Get + Return Me._customsValue + End Get + Set + Me._customsValue = Value + End Set + End Property + + Public Property netValue() As Decimal + Get + Return Me._netValue + End Get + Set + Me._netValue = Value + End Set + End Property + + Public Property additionalStatisticalValue() As Decimal + Get + Return Me._additionalStatisticalValue + End Get + Set + Me._additionalStatisticalValue = Value + End Set + End Property + + Public Property additionalCostsVat() As Decimal + Get + Return Me._additionalCostsVat + End Get + Set + Me._additionalCostsVat = Value + End Set + End Property + + Public Property addStatisticValue() As Decimal + Get + Return Me._addStatisticValue + End Get + Set + Me._addStatisticValue = Value + End Set + End Property + + Public Property oprIngredientsValue() As Decimal + Get + Return Me._oprIngredientsValue + End Get + Set + Me._oprIngredientsValue = Value + End Set + End Property + + Public Property additionalCosts1() As Decimal + Get + Return Me._additionalCosts1 + End Get + Set + Me._additionalCosts1 = Value + End Set + End Property + + Public Property additionalCosts2() As Decimal + Get + Return Me._additionalCosts2 + End Get + Set + Me._additionalCosts2 = Value + End Set + End Property + + Public Property additionalCosts3() As Decimal + Get + Return Me._additionalCosts3 + End Get + Set + Me._additionalCosts3 = Value + End Set + End Property + + Public Property additionalCosts4() As Decimal + Get + Return Me._additionalCosts4 + End Get + Set + Me._additionalCosts4 = Value + End Set + End Property + + Public Property additionalCosts5() As Decimal + Get + Return Me._additionalCosts5 + End Get + Set + Me._additionalCosts5 = Value + End Set + End Property + + Public Property additionalCosts6() As Decimal + Get + Return Me._additionalCosts6 + End Get + Set + Me._additionalCosts6 = Value + End Set + End Property + + Public Property additionalCosts7() As Decimal + Get + Return Me._additionalCosts7 + End Get + Set + Me._additionalCosts7 = Value + End Set + End Property + + Public Property additionalCosts8() As Decimal + Get + Return Me._additionalCosts8 + End Get + Set + Me._additionalCosts8 = Value + End Set + End Property + + Public Property additionalCosts9() As Decimal + Get + Return Me._additionalCosts9 + End Get + Set + Me._additionalCosts9 = Value + End Set + End Property + + Public Property additionalCosts10() As Decimal + Get + Return Me._additionalCosts10 + End Get + Set + Me._additionalCosts10 = Value + End Set + End Property + + Public Property additionalCosts11() As Decimal + Get + Return Me._additionalCosts11 + End Get + Set + Me._additionalCosts11 = Value + End Set + End Property + + Public Property additionalCosts12() As Decimal + Get + Return Me._additionalCosts12 + End Get + Set + Me._additionalCosts12 = Value + End Set + End Property + + Public Property additionalCosts13() As Decimal + Get + Return Me._additionalCosts13 + End Get + Set + Me._additionalCosts13 = Value + End Set + End Property + + Public Property additionalCosts14() As Decimal + Get + Return Me._additionalCosts14 + End Get + Set + Me._additionalCosts14 = Value + End Set + End Property + + Public Property additionalCosts15() As Decimal + Get + Return Me._additionalCosts15 + End Get + Set + Me._additionalCosts15 = Value + End Set + End Property + + Public Property additionalCosts16() As Decimal + Get + Return Me._additionalCosts16 + End Get + Set + Me._additionalCosts16 = Value + End Set + End Property + + Public Property additionalCosts17() As Decimal + Get + Return Me._additionalCosts17 + End Get + Set + Me._additionalCosts17 = Value + End Set + End Property + + Public Property additionalCosts18() As Decimal + Get + Return Me._additionalCosts18 + End Get + Set + Me._additionalCosts18 = Value + End Set + End Property + + Public Property additionalCosts19() As Decimal + Get + Return Me._additionalCosts19 + End Get + Set + Me._additionalCosts19 = Value + End Set + End Property + + Public Property additionalCosts20() As Decimal + Get + Return Me._additionalCosts20 + End Get + Set + Me._additionalCosts20 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCalcValuesCust)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCalcValuesCust object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCalcValuesCust object + ''' + ''' string workflow markup to deserialize + ''' Output TCalcValuesCust object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCalcValuesCust, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCalcValuesCust) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCalcValuesCust) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCalcValuesCust + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCalcValuesCust) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCalcValuesCust + Return CType(Serializer.Deserialize(s), TCalcValuesCust) + End Function +#End Region + + ''' + ''' Serializes current TCalcValuesCust object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCalcValuesCust object + ''' + ''' string xml file to load and deserialize + ''' Output TCalcValuesCust object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCalcValuesCust, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCalcValuesCust) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCalcValuesCust) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCalcValuesCust + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCalcValues + +#Region "Private fields" + Private _customsValue As Decimal + + Private _netValue As Decimal + + Private _statValue As Decimal + + Private _freightStatVal As Decimal + + Private _freightInternational As Decimal + + Private _freightEU As Decimal + + Private _freightNational As Decimal + + Private _insurance As Decimal + + Private _shipAddCosts As List(Of Decimal) + + Private _invAddCosts As List(Of Decimal) + + Private _lineAddCosts As List(Of Decimal) + + Private _custValue As Decimal + + Private _assistValue As Decimal + + Private _vatAddCosts As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._lineAddCosts = New List(Of Decimal)() + Me._invAddCosts = New List(Of Decimal)() + Me._shipAddCosts = New List(Of Decimal)() + End Sub + + Public Property customsValue() As Decimal + Get + Return Me._customsValue + End Get + Set + Me._customsValue = Value + End Set + End Property + + Public Property netValue() As Decimal + Get + Return Me._netValue + End Get + Set + Me._netValue = Value + End Set + End Property + + Public Property statValue() As Decimal + Get + Return Me._statValue + End Get + Set + Me._statValue = Value + End Set + End Property + + Public Property freightStatVal() As Decimal + Get + Return Me._freightStatVal + End Get + Set + Me._freightStatVal = Value + End Set + End Property + + Public Property freightInternational() As Decimal + Get + Return Me._freightInternational + End Get + Set + Me._freightInternational = Value + End Set + End Property + + Public Property freightEU() As Decimal + Get + Return Me._freightEU + End Get + Set + Me._freightEU = Value + End Set + End Property + + Public Property freightNational() As Decimal + Get + Return Me._freightNational + End Get + Set + Me._freightNational = Value + End Set + End Property + + Public Property insurance() As Decimal + Get + Return Me._insurance + End Get + Set + Me._insurance = Value + End Set + End Property + + + Public Property shipAddCosts() As List(Of Decimal) + Get + Return Me._shipAddCosts + End Get + Set + Me._shipAddCosts = Value + End Set + End Property + + + Public Property invAddCosts() As List(Of Decimal) + Get + Return Me._invAddCosts + End Get + Set + Me._invAddCosts = Value + End Set + End Property + + + Public Property lineAddCosts() As List(Of Decimal) + Get + Return Me._lineAddCosts + End Get + Set + Me._lineAddCosts = Value + End Set + End Property + + Public Property custValue() As Decimal + Get + Return Me._custValue + End Get + Set + Me._custValue = Value + End Set + End Property + + Public Property assistValue() As Decimal + Get + Return Me._assistValue + End Get + Set + Me._assistValue = Value + End Set + End Property + + Public Property vatAddCosts() As Decimal + Get + Return Me._vatAddCosts + End Get + Set + Me._vatAddCosts = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCalcValues)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCalcValues object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCalcValues object + ''' + ''' string workflow markup to deserialize + ''' Output TCalcValues object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCalcValues, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCalcValues) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCalcValues) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCalcValues + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCalcValues) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCalcValues + Return CType(Serializer.Deserialize(s), TCalcValues) + End Function +#End Region + + ''' + ''' Serializes current TCalcValues object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCalcValues object + ''' + ''' string xml file to load and deserialize + ''' Output TCalcValues object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCalcValues, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCalcValues) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCalcValues) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCalcValues + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDetailContainerInfo + +#Region "Private fields" + Private _containerNumber As String + + Private _containerSealNumber As String + + Private _containerPackages As Decimal + + Private _containerGrossWeight As Decimal + + Private _containerNetWeight As Decimal + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property containerNumber() As String + Get + Return Me._containerNumber + End Get + Set + Me._containerNumber = Value + End Set + End Property + + Public Property containerSealNumber() As String + Get + Return Me._containerSealNumber + End Get + Set + Me._containerSealNumber = Value + End Set + End Property + + Public Property containerPackages() As Decimal + Get + Return Me._containerPackages + End Get + Set + Me._containerPackages = Value + End Set + End Property + + Public Property containerGrossWeight() As Decimal + Get + Return Me._containerGrossWeight + End Get + Set + Me._containerGrossWeight = Value + End Set + End Property + + Public Property containerNetWeight() As Decimal + Get + Return Me._containerNetWeight + End Get + Set + Me._containerNetWeight = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDetailContainerInfo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDetailContainerInfo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDetailContainerInfo object + ''' + ''' string workflow markup to deserialize + ''' Output TDetailContainerInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDetailContainerInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDetailContainerInfo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDetailContainerInfo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDetailContainerInfo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDetailContainerInfo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDetailContainerInfo + Return CType(Serializer.Deserialize(s), TDetailContainerInfo) + End Function +#End Region + + ''' + ''' Serializes current TDetailContainerInfo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDetailContainerInfo object + ''' + ''' string xml file to load and deserialize + ''' Output TDetailContainerInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDetailContainerInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDetailContainerInfo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDetailContainerInfo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDetailContainerInfo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TImportRegistrationNo + +#Region "Private fields" + Private _registrationNumber1 As String + + Private _registrationNumber2 As String + + Private _registrationNumber3 As String + + Private _registrationNumber4 As String + + Private _messageRefNumber1 As String + + Private _messageRefNumber2 As String + + Private _messageRefNumber3 As String + + Private _positionNumber1 As Decimal + + Private _positionNumber2 As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property registrationNumber1() As String + Get + Return Me._registrationNumber1 + End Get + Set + Me._registrationNumber1 = Value + End Set + End Property + + Public Property registrationNumber2() As String + Get + Return Me._registrationNumber2 + End Get + Set + Me._registrationNumber2 = Value + End Set + End Property + + Public Property registrationNumber3() As String + Get + Return Me._registrationNumber3 + End Get + Set + Me._registrationNumber3 = Value + End Set + End Property + + Public Property registrationNumber4() As String + Get + Return Me._registrationNumber4 + End Get + Set + Me._registrationNumber4 = Value + End Set + End Property + + Public Property messageRefNumber1() As String + Get + Return Me._messageRefNumber1 + End Get + Set + Me._messageRefNumber1 = Value + End Set + End Property + + Public Property messageRefNumber2() As String + Get + Return Me._messageRefNumber2 + End Get + Set + Me._messageRefNumber2 = Value + End Set + End Property + + Public Property messageRefNumber3() As String + Get + Return Me._messageRefNumber3 + End Get + Set + Me._messageRefNumber3 = Value + End Set + End Property + + Public Property positionNumber1() As Decimal + Get + Return Me._positionNumber1 + End Get + Set + Me._positionNumber1 = Value + End Set + End Property + + Public Property positionNumber2() As Decimal + Get + Return Me._positionNumber2 + End Get + Set + Me._positionNumber2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TImportRegistrationNo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TImportRegistrationNo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TImportRegistrationNo object + ''' + ''' string workflow markup to deserialize + ''' Output TImportRegistrationNo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportRegistrationNo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportRegistrationNo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportRegistrationNo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TImportRegistrationNo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TImportRegistrationNo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TImportRegistrationNo + Return CType(Serializer.Deserialize(s), TImportRegistrationNo) + End Function +#End Region + + ''' + ''' Serializes current TImportRegistrationNo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TImportRegistrationNo object + ''' + ''' string xml file to load and deserialize + ''' Output TImportRegistrationNo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportRegistrationNo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportRegistrationNo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportRegistrationNo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TImportRegistrationNo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TReceipt + +#Region "Private fields" + Private _receiptNumber As String + + Private _receiptDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property receiptNumber() As String + Get + Return Me._receiptNumber + End Get + Set + Me._receiptNumber = Value + End Set + End Property + + + Public Property receiptDate() As Date + Get + Return Me._receiptDate + End Get + Set + Me._receiptDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TReceipt)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TReceipt object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TReceipt object + ''' + ''' string workflow markup to deserialize + ''' Output TReceipt object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TReceipt, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TReceipt) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TReceipt) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TReceipt + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TReceipt) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TReceipt + Return CType(Serializer.Deserialize(s), TReceipt) + End Function +#End Region + + ''' + ''' Serializes current TReceipt object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TReceipt object + ''' + ''' string xml file to load and deserialize + ''' Output TReceipt object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TReceipt, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TReceipt) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TReceipt) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TReceipt + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPackage + +#Region "Private fields" + Private _packageCount As Decimal + + Private _packageType As String + + Private _packageDescription As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property packageCount() As Decimal + Get + Return Me._packageCount + End Get + Set + Me._packageCount = Value + End Set + End Property + + Public Property packageType() As String + Get + Return Me._packageType + End Get + Set + Me._packageType = Value + End Set + End Property + + Public Property packageDescription() As String + Get + Return Me._packageDescription + End Get + Set + Me._packageDescription = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPackage)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPackage object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPackage object + ''' + ''' string workflow markup to deserialize + ''' Output TPackage object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackage, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackage) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPackage) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPackage + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPackage) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPackage + Return CType(Serializer.Deserialize(s), TPackage) + End Function +#End Region + + ''' + ''' Serializes current TPackage object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPackage object + ''' + ''' string xml file to load and deserialize + ''' Output TPackage object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackage, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPackage) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPackage) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPackage + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TBom + +#Region "Private fields" + Private _no As String + + Private _var As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property no() As String + Get + Return Me._no + End Get + Set + Me._no = Value + End Set + End Property + + Public Property var() As String + Get + Return Me._var + End Get + Set + Me._var = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TBom)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TBom object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TBom object + ''' + ''' string workflow markup to deserialize + ''' Output TBom object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TBom, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TBom) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TBom) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TBom + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TBom) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TBom + Return CType(Serializer.Deserialize(s), TBom) + End Function +#End Region + + ''' + ''' Serializes current TBom object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TBom object + ''' + ''' string xml file to load and deserialize + ''' Output TBom object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TBom, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TBom) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TBom) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TBom + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPrevDoc + +#Region "Private fields" + Private _previousDocType As String + + Private _previousDocNumber As String + + Private _previousDocDate As Date + + Private _departureCustomsOffice As String + + Private _destinationCustomsOffice As String + + Private _type As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property previousDocType() As String + Get + Return Me._previousDocType + End Get + Set + Me._previousDocType = Value + End Set + End Property + + Public Property previousDocNumber() As String + Get + Return Me._previousDocNumber + End Get + Set + Me._previousDocNumber = Value + End Set + End Property + + + Public Property previousDocDate() As Date + Get + Return Me._previousDocDate + End Get + Set + Me._previousDocDate = Value + End Set + End Property + + Public Property departureCustomsOffice() As String + Get + Return Me._departureCustomsOffice + End Get + Set + Me._departureCustomsOffice = Value + End Set + End Property + + Public Property destinationCustomsOffice() As String + Get + Return Me._destinationCustomsOffice + End Get + Set + Me._destinationCustomsOffice = Value + End Set + End Property + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPrevDoc)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPrevDoc object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPrevDoc object + ''' + ''' string workflow markup to deserialize + ''' Output TPrevDoc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDoc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDoc) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDoc) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPrevDoc + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPrevDoc) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPrevDoc + Return CType(Serializer.Deserialize(s), TPrevDoc) + End Function +#End Region + + ''' + ''' Serializes current TPrevDoc object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPrevDoc object + ''' + ''' string xml file to load and deserialize + ''' Output TPrevDoc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDoc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDoc) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDoc) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPrevDoc + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAddCostsVAT + +#Region "Private fields" + Private _addAmountVAT As Decimal + + Private _addCurrencyVAT As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property addAmountVAT() As Decimal + Get + Return Me._addAmountVAT + End Get + Set + Me._addAmountVAT = Value + End Set + End Property + + Public Property addCurrencyVAT() As String + Get + Return Me._addCurrencyVAT + End Get + Set + Me._addCurrencyVAT = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddCostsVAT)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddCostsVAT object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddCostsVAT object + ''' + ''' string workflow markup to deserialize + ''' Output TAddCostsVAT object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCostsVAT, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCostsVAT) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCostsVAT) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddCostsVAT + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddCostsVAT) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddCostsVAT + Return CType(Serializer.Deserialize(s), TAddCostsVAT) + End Function +#End Region + + ''' + ''' Serializes current TAddCostsVAT object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddCostsVAT object + ''' + ''' string xml file to load and deserialize + ''' Output TAddCostsVAT object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCostsVAT, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCostsVAT) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCostsVAT) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddCostsVAT + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRebateLine + +#Region "Private fields" + Private _rebAmount As Decimal + + Private _rebCurrency As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property rebAmount() As Decimal + Get + Return Me._rebAmount + End Get + Set + Me._rebAmount = Value + End Set + End Property + + Public Property rebCurrency() As String + Get + Return Me._rebCurrency + End Get + Set + Me._rebCurrency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRebateLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRebateLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRebateLine object + ''' + ''' string workflow markup to deserialize + ''' Output TRebateLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRebateLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRebateLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRebateLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRebateLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRebateLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRebateLine + Return CType(Serializer.Deserialize(s), TRebateLine) + End Function +#End Region + + ''' + ''' Serializes current TRebateLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRebateLine object + ''' + ''' string xml file to load and deserialize + ''' Output TRebateLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRebateLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRebateLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRebateLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRebateLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInsuranceCostsLine + +#Region "Private fields" + Private _insAmount As Decimal + + Private _insCurrency As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property insAmount() As Decimal + Get + Return Me._insAmount + End Get + Set + Me._insAmount = Value + End Set + End Property + + Public Property insCurrency() As String + Get + Return Me._insCurrency + End Get + Set + Me._insCurrency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInsuranceCostsLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInsuranceCostsLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInsuranceCostsLine object + ''' + ''' string workflow markup to deserialize + ''' Output TInsuranceCostsLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCostsLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCostsLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCostsLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInsuranceCostsLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInsuranceCostsLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInsuranceCostsLine + Return CType(Serializer.Deserialize(s), TInsuranceCostsLine) + End Function +#End Region + + ''' + ''' Serializes current TInsuranceCostsLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInsuranceCostsLine object + ''' + ''' string xml file to load and deserialize + ''' Output TInsuranceCostsLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCostsLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCostsLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCostsLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInsuranceCostsLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TFreightCostsLine + +#Region "Private fields" + Private _frtAmount As Decimal + + Private _frtCurrency As String + + Private _frtInternational As Decimal + + Private _frtEuNational As Decimal + + Private _frtInland As Decimal + + Private _frtFlagPercentOrValue As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._frtFlagPercentOrValue = "P" + End Sub + + Public Property frtAmount() As Decimal + Get + Return Me._frtAmount + End Get + Set + Me._frtAmount = Value + End Set + End Property + + Public Property frtCurrency() As String + Get + Return Me._frtCurrency + End Get + Set + Me._frtCurrency = Value + End Set + End Property + + Public Property frtInternational() As Decimal + Get + Return Me._frtInternational + End Get + Set + Me._frtInternational = Value + End Set + End Property + + Public Property frtEuNational() As Decimal + Get + Return Me._frtEuNational + End Get + Set + Me._frtEuNational = Value + End Set + End Property + + Public Property frtInland() As Decimal + Get + Return Me._frtInland + End Get + Set + Me._frtInland = Value + End Set + End Property + + + Public Property frtFlagPercentOrValue() As String + Get + Return Me._frtFlagPercentOrValue + End Get + Set + Me._frtFlagPercentOrValue = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TFreightCostsLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TFreightCostsLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TFreightCostsLine object + ''' + ''' string workflow markup to deserialize + ''' Output TFreightCostsLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCostsLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCostsLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCostsLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TFreightCostsLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TFreightCostsLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TFreightCostsLine + Return CType(Serializer.Deserialize(s), TFreightCostsLine) + End Function +#End Region + + ''' + ''' Serializes current TFreightCostsLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TFreightCostsLine object + ''' + ''' string xml file to load and deserialize + ''' Output TFreightCostsLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCostsLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCostsLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCostsLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TFreightCostsLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPricing + +#Region "Private fields" + Private _prcType As String + + Private _prcReference As String + + Private _prcDate As Date + + Private _prcSystem As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property prcType() As String + Get + Return Me._prcType + End Get + Set + Me._prcType = Value + End Set + End Property + + Public Property prcReference() As String + Get + Return Me._prcReference + End Get + Set + Me._prcReference = Value + End Set + End Property + + + Public Property prcDate() As Date + Get + Return Me._prcDate + End Get + Set + Me._prcDate = Value + End Set + End Property + + Public Property prcSystem() As String + Get + Return Me._prcSystem + End Get + Set + Me._prcSystem = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPricing)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPricing object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPricing object + ''' + ''' string workflow markup to deserialize + ''' Output TPricing object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPricing, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPricing) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPricing) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPricing + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPricing) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPricing + Return CType(Serializer.Deserialize(s), TPricing) + End Function +#End Region + + ''' + ''' Serializes current TPricing object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPricing object + ''' + ''' string xml file to load and deserialize + ''' Output TPricing object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPricing, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPricing) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPricing) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPricing + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TImportLineLicense + +#Region "Private fields" + Private _type As String + + Private _code As String + + Private _number As String + + Private _date As Date + + Private _notRequired As Boolean + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property number() As String + Get + Return Me._number + End Get + Set + Me._number = Value + End Set + End Property + + + Public Property [date]() As Date + Get + Return Me._date + End Get + Set + Me._date = Value + End Set + End Property + + Public Property notRequired() As Boolean + Get + Return Me._notRequired + End Get + Set + Me._notRequired = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TImportLineLicense)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TImportLineLicense object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TImportLineLicense object + ''' + ''' string workflow markup to deserialize + ''' Output TImportLineLicense object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportLineLicense, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportLineLicense) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportLineLicense) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TImportLineLicense + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TImportLineLicense) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TImportLineLicense + Return CType(Serializer.Deserialize(s), TImportLineLicense) + End Function +#End Region + + ''' + ''' Serializes current TImportLineLicense object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TImportLineLicense object + ''' + ''' string xml file to load and deserialize + ''' Output TImportLineLicense object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportLineLicense, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportLineLicense) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportLineLicense) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TImportLineLicense + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TTariffCode + +#Region "Private fields" + Private _hsCode As String + + Private _vatCode As String + + Private _exciseTaxCode As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property hsCode() As String + Get + Return Me._hsCode + End Get + Set + Me._hsCode = Value + End Set + End Property + + Public Property vatCode() As String + Get + Return Me._vatCode + End Get + Set + Me._vatCode = Value + End Set + End Property + + Public Property exciseTaxCode() As String + Get + Return Me._exciseTaxCode + End Get + Set + Me._exciseTaxCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TTariffCode)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TTariffCode object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TTariffCode object + ''' + ''' string workflow markup to deserialize + ''' Output TTariffCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TTariffCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TTariffCode) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TTariffCode) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TTariffCode + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TTariffCode) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TTariffCode + Return CType(Serializer.Deserialize(s), TTariffCode) + End Function +#End Region + + ''' + ''' Serializes current TTariffCode object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TTariffCode object + ''' + ''' string xml file to load and deserialize + ''' Output TTariffCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TTariffCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TTariffCode) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TTariffCode) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TTariffCode + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TItem + +#Region "Private fields" + Private _partNumber As String + + Private _partDescription As String + + Private _serialNumber As String + + Private _productGroup As String + + Private _model As String + + Private _brand As String + + Private _manufacturerNumber As String + + Private _ctoNumber As String + + Private _confidenceLevel As Long + + Private _productCategory As String + + Private _tariffCode As TTariffCode + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._tariffCode = New TTariffCode() + End Sub + + Public Property partNumber() As String + Get + Return Me._partNumber + End Get + Set + Me._partNumber = Value + End Set + End Property + + Public Property partDescription() As String + Get + Return Me._partDescription + End Get + Set + Me._partDescription = Value + End Set + End Property + + Public Property serialNumber() As String + Get + Return Me._serialNumber + End Get + Set + Me._serialNumber = Value + End Set + End Property + + Public Property productGroup() As String + Get + Return Me._productGroup + End Get + Set + Me._productGroup = Value + End Set + End Property + + Public Property model() As String + Get + Return Me._model + End Get + Set + Me._model = Value + End Set + End Property + + Public Property brand() As String + Get + Return Me._brand + End Get + Set + Me._brand = Value + End Set + End Property + + Public Property manufacturerNumber() As String + Get + Return Me._manufacturerNumber + End Get + Set + Me._manufacturerNumber = Value + End Set + End Property + + Public Property ctoNumber() As String + Get + Return Me._ctoNumber + End Get + Set + Me._ctoNumber = Value + End Set + End Property + + Public Property confidenceLevel() As Long + Get + Return Me._confidenceLevel + End Get + Set + Me._confidenceLevel = Value + End Set + End Property + + Public Property productCategory() As String + Get + Return Me._productCategory + End Get + Set + Me._productCategory = Value + End Set + End Property + + Public Property TariffCode() As TTariffCode + Get + Return Me._tariffCode + End Get + Set + Me._tariffCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TItem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TItem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TItem object + ''' + ''' string workflow markup to deserialize + ''' Output TItem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TItem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TItem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TItem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TItem + Return CType(Serializer.Deserialize(s), TItem) + End Function +#End Region + + ''' + ''' Serializes current TItem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TItem object + ''' + ''' string xml file to load and deserialize + ''' Output TItem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TItem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TItem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TItem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceLine + +#Region "Private fields" + Private _lineNumber As Decimal + + Private _item As TItem + + Private _quantity As Decimal + + Private _quantityUom As String + + Private _netWeight As Decimal + + Private _grossWeight As Decimal + + Private _reportingQuantity As Decimal + + Private _reportingQuantityUom As String + + Private _price As Decimal + + Private _lineValue As Decimal + + Private _license As TImportLineLicense + + Private _pricing As TPricing + + Private _freightCosts As TFreightCostsLine + + Private _insuranceCosts As TInsuranceCostsLine + + Private _additionalCost As List(Of TAddCosts) + + Private _rebate As TRebateLine + + Private _additionalCostsVAT As TAddCostsVAT + + Private _countryOfOrigin As String + + Private _prefCountryOfOrigin As String + + Private _locationOfGoods As String + + Private _importQuota As String + + Private _importQuotaKey As String + + Private _importQuotaQuantity As Decimal + + Private _importQuotaUnitOfMeasurement As String + + Private _importQuotaQualifier As String + + Private _customsProcedure As String + + Private _statisticalCode As String + + Private _endUseIndicator As String + + Private _transactionType As String + + Private _addCode As List(Of String) + + Private _prefRequestCode As String + + Private _documents As List(Of TDocument) + + Private _previousDocument As List(Of TPrevDoc) + + Private _bOM As TBom + + Private _stockType As String + + Private _stockType2 As String + + Private _stockExpiryDate As Date + + Private _package As TPackage + + Private _accountNumber As String + + Private _deliveryNote As String + + Private _orderNumber As String + + Private _receipt As TReceipt + + Private _asnNumber As String + + Private _referenceValue As Decimal + + Private _referenceCurrency As String + + Private _text As String + + Private _text2 As String + + Private _registrationNumbers As TImportRegistrationNo + + Private _customerFields As TCustomerFields + + Private _attributes As List(Of TAttribute) + + Private _containerInfo As List(Of TDetailContainerInfo) + + Private _partners As List(Of TPartner) + + Private _calculatedValues As TCalcValues + + Private _calculatedValuesCust As TCalcValuesCust + + Private _duties As List(Of TDuty) + + Private _dutyTaxes As List(Of TDutyTax) + + Private _dutySavings As List(Of TDutySaving) + + Private _oprDetails As TOprInfo + + Private _uniqueId As Decimal + + Private _externalProcessing As String + + Private _additionalInformation As List(Of TAttribute) + + Private _intra As TCustIntraLine + + Private _preSupplier As TPreSupplier + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private _valuationIndicator As String + + Private _referencePreviousProcedures As List(Of TRefPrevProcedure) + + Private _packagesData As TPackagesData + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._packagesData = New TPackagesData() + Me._referencePreviousProcedures = New List(Of TRefPrevProcedure)() + Me._preSupplier = New TPreSupplier() + Me._intra = New TCustIntraLine() + Me._additionalInformation = New List(Of TAttribute)() + Me._oprDetails = New TOprInfo() + Me._dutySavings = New List(Of TDutySaving)() + Me._dutyTaxes = New List(Of TDutyTax)() + Me._duties = New List(Of TDuty)() + Me._calculatedValuesCust = New TCalcValuesCust() + Me._calculatedValues = New TCalcValues() + Me._partners = New List(Of TPartner)() + Me._containerInfo = New List(Of TDetailContainerInfo)() + Me._attributes = New List(Of TAttribute)() + Me._customerFields = New TCustomerFields() + Me._registrationNumbers = New TImportRegistrationNo() + Me._receipt = New TReceipt() + Me._package = New TPackage() + Me._bOM = New TBom() + Me._previousDocument = New List(Of TPrevDoc)() + Me._documents = New List(Of TDocument)() + Me._addCode = New List(Of String)() + Me._additionalCostsVAT = New TAddCostsVAT() + Me._rebate = New TRebateLine() + Me._additionalCost = New List(Of TAddCosts)() + Me._insuranceCosts = New TInsuranceCostsLine() + Me._freightCosts = New TFreightCostsLine() + Me._pricing = New TPricing() + Me._license = New TImportLineLicense() + Me._item = New TItem() + End Sub + + Public Property lineNumber() As Decimal + Get + Return Me._lineNumber + End Get + Set + Me._lineNumber = Value + End Set + End Property + + Public Property Item() As TItem + Get + Return Me._item + End Get + Set + Me._item = Value + End Set + End Property + + Public Property quantity() As Decimal + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property quantityUom() As String + Get + Return Me._quantityUom + End Get + Set + Me._quantityUom = Value + End Set + End Property + + Public Property netWeight() As Decimal + Get + Return Me._netWeight + End Get + Set + Me._netWeight = Value + End Set + End Property + + Public Property grossWeight() As Decimal + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Public Property reportingQuantity() As Decimal + Get + Return Me._reportingQuantity + End Get + Set + Me._reportingQuantity = Value + End Set + End Property + + Public Property reportingQuantityUom() As String + Get + Return Me._reportingQuantityUom + End Get + Set + Me._reportingQuantityUom = Value + End Set + End Property + + Public Property price() As Decimal + Get + Return Me._price + End Get + Set + Me._price = Value + End Set + End Property + + Public Property lineValue() As Decimal + Get + Return Me._lineValue + End Get + Set + Me._lineValue = Value + End Set + End Property + + Public Property License() As TImportLineLicense + Get + Return Me._license + End Get + Set + Me._license = Value + End Set + End Property + + Public Property Pricing() As TPricing + Get + Return Me._pricing + End Get + Set + Me._pricing = Value + End Set + End Property + + Public Property FreightCosts() As TFreightCostsLine + Get + Return Me._freightCosts + End Get + Set + Me._freightCosts = Value + End Set + End Property + + Public Property InsuranceCosts() As TInsuranceCostsLine + Get + Return Me._insuranceCosts + End Get + Set + Me._insuranceCosts = Value + End Set + End Property + + + Public Property AdditionalCost() As List(Of TAddCosts) + Get + Return Me._additionalCost + End Get + Set + Me._additionalCost = Value + End Set + End Property + + Public Property Rebate() As TRebateLine + Get + Return Me._rebate + End Get + Set + Me._rebate = Value + End Set + End Property + + Public Property AdditionalCostsVAT() As TAddCostsVAT + Get + Return Me._additionalCostsVAT + End Get + Set + Me._additionalCostsVAT = Value + End Set + End Property + + Public Property countryOfOrigin() As String + Get + Return Me._countryOfOrigin + End Get + Set + Me._countryOfOrigin = Value + End Set + End Property + + Public Property prefCountryOfOrigin() As String + Get + Return Me._prefCountryOfOrigin + End Get + Set + Me._prefCountryOfOrigin = Value + End Set + End Property + + Public Property locationOfGoods() As String + Get + Return Me._locationOfGoods + End Get + Set + Me._locationOfGoods = Value + End Set + End Property + + Public Property importQuota() As String + Get + Return Me._importQuota + End Get + Set + Me._importQuota = Value + End Set + End Property + + Public Property importQuotaKey() As String + Get + Return Me._importQuotaKey + End Get + Set + Me._importQuotaKey = Value + End Set + End Property + + Public Property importQuotaQuantity() As Decimal + Get + Return Me._importQuotaQuantity + End Get + Set + Me._importQuotaQuantity = Value + End Set + End Property + + Public Property importQuotaUnitOfMeasurement() As String + Get + Return Me._importQuotaUnitOfMeasurement + End Get + Set + Me._importQuotaUnitOfMeasurement = Value + End Set + End Property + + Public Property importQuotaQualifier() As String + Get + Return Me._importQuotaQualifier + End Get + Set + Me._importQuotaQualifier = Value + End Set + End Property + + Public Property customsProcedure() As String + Get + Return Me._customsProcedure + End Get + Set + Me._customsProcedure = Value + End Set + End Property + + Public Property statisticalCode() As String + Get + Return Me._statisticalCode + End Get + Set + Me._statisticalCode = Value + End Set + End Property + + Public Property endUseIndicator() As String + Get + Return Me._endUseIndicator + End Get + Set + Me._endUseIndicator = Value + End Set + End Property + + Public Property transactionType() As String + Get + Return Me._transactionType + End Get + Set + Me._transactionType = Value + End Set + End Property + + + Public Property addCode() As List(Of String) + Get + Return Me._addCode + End Get + Set + Me._addCode = Value + End Set + End Property + + Public Property prefRequestCode() As String + Get + Return Me._prefRequestCode + End Get + Set + Me._prefRequestCode = Value + End Set + End Property + + + Public Property Documents() As List(Of TDocument) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + + Public Property PreviousDocument() As List(Of TPrevDoc) + Get + Return Me._previousDocument + End Get + Set + Me._previousDocument = Value + End Set + End Property + + Public Property BOM() As TBom + Get + Return Me._bOM + End Get + Set + Me._bOM = Value + End Set + End Property + + Public Property stockType() As String + Get + Return Me._stockType + End Get + Set + Me._stockType = Value + End Set + End Property + + Public Property stockType2() As String + Get + Return Me._stockType2 + End Get + Set + Me._stockType2 = Value + End Set + End Property + + + Public Property stockExpiryDate() As Date + Get + Return Me._stockExpiryDate + End Get + Set + Me._stockExpiryDate = Value + End Set + End Property + + Public Property Package() As TPackage + Get + Return Me._package + End Get + Set + Me._package = Value + End Set + End Property + + Public Property accountNumber() As String + Get + Return Me._accountNumber + End Get + Set + Me._accountNumber = Value + End Set + End Property + + Public Property deliveryNote() As String + Get + Return Me._deliveryNote + End Get + Set + Me._deliveryNote = Value + End Set + End Property + + Public Property orderNumber() As String + Get + Return Me._orderNumber + End Get + Set + Me._orderNumber = Value + End Set + End Property + + Public Property Receipt() As TReceipt + Get + Return Me._receipt + End Get + Set + Me._receipt = Value + End Set + End Property + + Public Property asnNumber() As String + Get + Return Me._asnNumber + End Get + Set + Me._asnNumber = Value + End Set + End Property + + Public Property referenceValue() As Decimal + Get + Return Me._referenceValue + End Get + Set + Me._referenceValue = Value + End Set + End Property + + Public Property referenceCurrency() As String + Get + Return Me._referenceCurrency + End Get + Set + Me._referenceCurrency = Value + End Set + End Property + + Public Property text() As String + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + Public Property text2() As String + Get + Return Me._text2 + End Get + Set + Me._text2 = Value + End Set + End Property + + Public Property RegistrationNumbers() As TImportRegistrationNo + Get + Return Me._registrationNumbers + End Get + Set + Me._registrationNumbers = Value + End Set + End Property + + Public Property CustomerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + + Public Property Attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + + Public Property ContainerInfo() As List(Of TDetailContainerInfo) + Get + Return Me._containerInfo + End Get + Set + Me._containerInfo = Value + End Set + End Property + + + Public Property Partners() As List(Of TPartner) + Get + Return Me._partners + End Get + Set + Me._partners = Value + End Set + End Property + + Public Property CalculatedValues() As TCalcValues + Get + Return Me._calculatedValues + End Get + Set + Me._calculatedValues = Value + End Set + End Property + + Public Property CalculatedValuesCust() As TCalcValuesCust + Get + Return Me._calculatedValuesCust + End Get + Set + Me._calculatedValuesCust = Value + End Set + End Property + + + Public Property Duties() As List(Of TDuty) + Get + Return Me._duties + End Get + Set + Me._duties = Value + End Set + End Property + + + Public Property DutyTaxes() As List(Of TDutyTax) + Get + Return Me._dutyTaxes + End Get + Set + Me._dutyTaxes = Value + End Set + End Property + + + Public Property DutySavings() As List(Of TDutySaving) + Get + Return Me._dutySavings + End Get + Set + Me._dutySavings = Value + End Set + End Property + + Public Property OprDetails() As TOprInfo + Get + Return Me._oprDetails + End Get + Set + Me._oprDetails = Value + End Set + End Property + + Public Property uniqueId() As Decimal + Get + Return Me._uniqueId + End Get + Set + Me._uniqueId = Value + End Set + End Property + + Public Property externalProcessing() As String + Get + Return Me._externalProcessing + End Get + Set + Me._externalProcessing = Value + End Set + End Property + + + Public Property AdditionalInformation() As List(Of TAttribute) + Get + Return Me._additionalInformation + End Get + Set + Me._additionalInformation = Value + End Set + End Property + + Public Property Intra() As TCustIntraLine + Get + Return Me._intra + End Get + Set + Me._intra = Value + End Set + End Property + + Public Property PreSupplier() As TPreSupplier + Get + Return Me._preSupplier + End Get + Set + Me._preSupplier = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Public Property valuationIndicator() As String + Get + Return Me._valuationIndicator + End Get + Set + Me._valuationIndicator = Value + End Set + End Property + + + Public Property ReferencePreviousProcedures() As List(Of TRefPrevProcedure) + Get + Return Me._referencePreviousProcedures + End Get + Set + Me._referencePreviousProcedures = Value + End Set + End Property + + Public Property PackagesData() As TPackagesData + Get + Return Me._packagesData + End Get + Set + Me._packagesData = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLine)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLine object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLine object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLine) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLine) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLine + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLine) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLine + Return CType(Serializer.Deserialize(s), TInvoiceLine) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLine object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLine object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLine object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLine, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLine) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLine) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLine + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAddCosts + +#Region "Private fields" + Private _addType As String + + Private _addAmount As Decimal + + Private _addCurrency As String + + Private _addProRating As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property addType() As String + Get + Return Me._addType + End Get + Set + Me._addType = Value + End Set + End Property + + Public Property addAmount() As Decimal + Get + Return Me._addAmount + End Get + Set + Me._addAmount = Value + End Set + End Property + + Public Property addCurrency() As String + Get + Return Me._addCurrency + End Get + Set + Me._addCurrency = Value + End Set + End Property + + Public Property addProRating() As String + Get + Return Me._addProRating + End Get + Set + Me._addProRating = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAddCosts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAddCosts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAddCosts object + ''' + ''' string workflow markup to deserialize + ''' Output TAddCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCosts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAddCosts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAddCosts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAddCosts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAddCosts + Return CType(Serializer.Deserialize(s), TAddCosts) + End Function +#End Region + + ''' + ''' Serializes current TAddCosts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAddCosts object + ''' + ''' string xml file to load and deserialize + ''' Output TAddCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAddCosts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAddCosts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAddCosts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDocument + +#Region "Private fields" + Private _docNo As String + + Private _docDate As Date + + Private _docType As String + + Private _docQual As String + + Private _docValidFrom As Date + + Private _docValidTo As Date + + Private _docAddText As String + + Private _docQuantity As Decimal + + Private _docUnit As String + + Private _docValue As Decimal + + Private _docCategory As String + + Private _docWriteOffQuantity As Decimal + + Private _docIssuerCountry As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property docNo() As String + Get + Return Me._docNo + End Get + Set + Me._docNo = Value + End Set + End Property + + + Public Property docDate() As Date + Get + Return Me._docDate + End Get + Set + Me._docDate = Value + End Set + End Property + + Public Property docType() As String + Get + Return Me._docType + End Get + Set + Me._docType = Value + End Set + End Property + + Public Property docQual() As String + Get + Return Me._docQual + End Get + Set + Me._docQual = Value + End Set + End Property + + + Public Property docValidFrom() As Date + Get + Return Me._docValidFrom + End Get + Set + Me._docValidFrom = Value + End Set + End Property + + + Public Property docValidTo() As Date + Get + Return Me._docValidTo + End Get + Set + Me._docValidTo = Value + End Set + End Property + + Public Property docAddText() As String + Get + Return Me._docAddText + End Get + Set + Me._docAddText = Value + End Set + End Property + + Public Property docQuantity() As Decimal + Get + Return Me._docQuantity + End Get + Set + Me._docQuantity = Value + End Set + End Property + + Public Property docUnit() As String + Get + Return Me._docUnit + End Get + Set + Me._docUnit = Value + End Set + End Property + + Public Property docValue() As Decimal + Get + Return Me._docValue + End Get + Set + Me._docValue = Value + End Set + End Property + + Public Property docCategory() As String + Get + Return Me._docCategory + End Get + Set + Me._docCategory = Value + End Set + End Property + + Public Property docWriteOffQuantity() As Decimal + Get + Return Me._docWriteOffQuantity + End Get + Set + Me._docWriteOffQuantity = Value + End Set + End Property + + Public Property docIssuerCountry() As String + Get + Return Me._docIssuerCountry + End Get + Set + Me._docIssuerCountry = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDocument)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDocument object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDocument object + ''' + ''' string workflow markup to deserialize + ''' Output TDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocument) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocument) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDocument + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDocument) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDocument + Return CType(Serializer.Deserialize(s), TDocument) + End Function +#End Region + + ''' + ''' Serializes current TDocument object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDocument object + ''' + ''' string xml file to load and deserialize + ''' Output TDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocument) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocument) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDocument + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFields + +#Region "Private fields" + Private _texts As List(Of TCustomerText) + + Private _dates As List(Of TCustomerDate) + + Private _flags As List(Of TCustomerFlag) + + Private _numbers As List(Of TCustomerNumber) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._numbers = New List(Of TCustomerNumber)() + Me._flags = New List(Of TCustomerFlag)() + Me._dates = New List(Of TCustomerDate)() + Me._texts = New List(Of TCustomerText)() + End Sub + + + Public Property Texts() As List(Of TCustomerText) + Get + Return Me._texts + End Get + Set + Me._texts = Value + End Set + End Property + + + Public Property Dates() As List(Of TCustomerDate) + Get + Return Me._dates + End Get + Set + Me._dates = Value + End Set + End Property + + + Public Property Flags() As List(Of TCustomerFlag) + Get + Return Me._flags + End Get + Set + Me._flags = Value + End Set + End Property + + + Public Property Numbers() As List(Of TCustomerNumber) + Get + Return Me._numbers + End Get + Set + Me._numbers = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFields)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFields object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFields object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFields object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFields, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFields) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFields) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFields + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFields) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFields + Return CType(Serializer.Deserialize(s), TCustomerFields) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFields object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFields object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFields object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFields, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFields) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFields) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFields + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerText + +#Region "Private fields" + Private _key As Integer + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerText)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerText object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerText object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerText object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerText, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerText) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerText) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerText + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerText) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerText + Return CType(Serializer.Deserialize(s), TCustomerText) + End Function +#End Region + + ''' + ''' Serializes current TCustomerText object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerText object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerText object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerText, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerText) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerText) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerText + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerDate + +#Region "Private fields" + Private _key As Integer + + Private _value As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Date + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerDate)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerDate object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerDate object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerDate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDate) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDate) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerDate + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerDate) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerDate + Return CType(Serializer.Deserialize(s), TCustomerDate) + End Function +#End Region + + ''' + ''' Serializes current TCustomerDate object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerDate object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerDate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDate) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDate) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerDate + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFlag + +#Region "Private fields" + Private _key As Integer + + Private _value As Boolean + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Boolean + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFlag)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFlag object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFlag object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFlag object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlag, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlag) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlag) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFlag + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFlag) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFlag + Return CType(Serializer.Deserialize(s), TCustomerFlag) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFlag object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFlag object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFlag object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlag, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlag) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlag) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFlag + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerNumber + +#Region "Private fields" + Private _key As Integer + + Private _value As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As Integer + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As Decimal + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerNumber)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerNumber object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerNumber object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerNumber object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumber, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumber) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumber) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerNumber + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerNumber) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerNumber + Return CType(Serializer.Deserialize(s), TCustomerNumber) + End Function +#End Region + + ''' + ''' Serializes current TCustomerNumber object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerNumber object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerNumber object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumber, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumber) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumber) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerNumber + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttribute + +#Region "Private fields" + Private _attrType As String + + Private _attrText As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property attrType() As String + Get + Return Me._attrType + End Get + Set + Me._attrType = Value + End Set + End Property + + Public Property attrText() As String + Get + Return Me._attrText + End Get + Set + Me._attrText = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttribute)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttribute object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttribute object + ''' + ''' string workflow markup to deserialize + ''' Output TAttribute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttribute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttribute) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttribute) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttribute + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttribute) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttribute + Return CType(Serializer.Deserialize(s), TAttribute) + End Function +#End Region + + ''' + ''' Serializes current TAttribute object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttribute object + ''' + ''' string xml file to load and deserialize + ''' Output TAttribute object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttribute, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttribute) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttribute) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttribute + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPartner + +#Region "Private fields" + Private _partnerType As String + + Private _partnerAddress As TAddress + + Private _partnerRelation As String + + Private _partnerInfo As String + + Private _partnerTelephone As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._partnerAddress = New TAddress() + End Sub + + Public Property partnerType() As String + Get + Return Me._partnerType + End Get + Set + Me._partnerType = Value + End Set + End Property + + Public Property PartnerAddress() As TAddress + Get + Return Me._partnerAddress + End Get + Set + Me._partnerAddress = Value + End Set + End Property + + Public Property partnerRelation() As String + Get + Return Me._partnerRelation + End Get + Set + Me._partnerRelation = Value + End Set + End Property + + Public Property partnerInfo() As String + Get + Return Me._partnerInfo + End Get + Set + Me._partnerInfo = Value + End Set + End Property + + Public Property partnerTelephone() As String + Get + Return Me._partnerTelephone + End Get + Set + Me._partnerTelephone = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPartner)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPartner object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPartner object + ''' + ''' string workflow markup to deserialize + ''' Output TPartner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartner) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartner) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPartner + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPartner) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPartner + Return CType(Serializer.Deserialize(s), TPartner) + End Function +#End Region + + ''' + ''' Serializes current TPartner object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPartner object + ''' + ''' string xml file to load and deserialize + ''' Output TPartner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartner) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartner) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPartner + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustIntra + +#Region "Private fields" + Private _vendorVatId As String + + Private _statisticalProcedure As String + + Private _internalReference As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property vendorVatId() As String + Get + Return Me._vendorVatId + End Get + Set + Me._vendorVatId = Value + End Set + End Property + + Public Property statisticalProcedure() As String + Get + Return Me._statisticalProcedure + End Get + Set + Me._statisticalProcedure = Value + End Set + End Property + + Public Property internalReference() As String + Get + Return Me._internalReference + End Get + Set + Me._internalReference = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustIntra)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustIntra object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustIntra object + ''' + ''' string workflow markup to deserialize + ''' Output TCustIntra object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustIntra, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustIntra) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustIntra) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustIntra + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustIntra) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustIntra + Return CType(Serializer.Deserialize(s), TCustIntra) + End Function +#End Region + + ''' + ''' Serializes current TCustIntra object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustIntra object + ''' + ''' string xml file to load and deserialize + ''' Output TCustIntra object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustIntra, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustIntra) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustIntra) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustIntra + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAtlasCompSumDEntry + +#Region "Private fields" + Private _idType As String + + Private _quantity As Long + + Private _packageType As String + + Private _registrationNumber As String + + Private _lineNumber As Long + + Private _depositor As String + + Private _spoType As String + + Private _spo As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property idType() As String + Get + Return Me._idType + End Get + Set + Me._idType = Value + End Set + End Property + + Public Property quantity() As Long + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property packageType() As String + Get + Return Me._packageType + End Get + Set + Me._packageType = Value + End Set + End Property + + Public Property registrationNumber() As String + Get + Return Me._registrationNumber + End Get + Set + Me._registrationNumber = Value + End Set + End Property + + Public Property lineNumber() As Long + Get + Return Me._lineNumber + End Get + Set + Me._lineNumber = Value + End Set + End Property + + Public Property depositor() As String + Get + Return Me._depositor + End Get + Set + Me._depositor = Value + End Set + End Property + + Public Property spoType() As String + Get + Return Me._spoType + End Get + Set + Me._spoType = Value + End Set + End Property + + Public Property spo() As String + Get + Return Me._spo + End Get + Set + Me._spo = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAtlasCompSumDEntry)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAtlasCompSumDEntry object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAtlasCompSumDEntry object + ''' + ''' string workflow markup to deserialize + ''' Output TAtlasCompSumDEntry object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAtlasCompSumDEntry, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAtlasCompSumDEntry) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAtlasCompSumDEntry) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAtlasCompSumDEntry + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAtlasCompSumDEntry) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAtlasCompSumDEntry + Return CType(Serializer.Deserialize(s), TAtlasCompSumDEntry) + End Function +#End Region + + ''' + ''' Serializes current TAtlasCompSumDEntry object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAtlasCompSumDEntry object + ''' + ''' string xml file to load and deserialize + ''' Output TAtlasCompSumDEntry object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAtlasCompSumDEntry, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAtlasCompSumDEntry) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAtlasCompSumDEntry) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAtlasCompSumDEntry + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TContainer + +#Region "Private fields" + Private _containerIndicator As String + + Private _containerNumber As String + + Private _containerType As String + + Private _containerLCLIndicator As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property containerIndicator() As String + Get + Return Me._containerIndicator + End Get + Set + Me._containerIndicator = Value + End Set + End Property + + Public Property containerNumber() As String + Get + Return Me._containerNumber + End Get + Set + Me._containerNumber = Value + End Set + End Property + + Public Property containerType() As String + Get + Return Me._containerType + End Get + Set + Me._containerType = Value + End Set + End Property + + Public Property containerLCLIndicator() As String + Get + Return Me._containerLCLIndicator + End Get + Set + Me._containerLCLIndicator = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TContainer)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TContainer object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TContainer object + ''' + ''' string workflow markup to deserialize + ''' Output TContainer object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainer, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainer) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainer) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TContainer + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TContainer) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TContainer + Return CType(Serializer.Deserialize(s), TContainer) + End Function +#End Region + + ''' + ''' Serializes current TContainer object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TContainer object + ''' + ''' string xml file to load and deserialize + ''' Output TContainer object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainer, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainer) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainer) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TContainer + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TImportPaymentInfo + +#Region "Private fields" + Private _paymentType As String + + Private _paymentDate As Date + + Private _paymentBankCode As String + + Private _paymentBankBranchCode As String + + Private _paymentCurrency As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property paymentType() As String + Get + Return Me._paymentType + End Get + Set + Me._paymentType = Value + End Set + End Property + + Public Property paymentDate() As Date + Get + Return Me._paymentDate + End Get + Set + Me._paymentDate = Value + End Set + End Property + + Public Property paymentBankCode() As String + Get + Return Me._paymentBankCode + End Get + Set + Me._paymentBankCode = Value + End Set + End Property + + Public Property paymentBankBranchCode() As String + Get + Return Me._paymentBankBranchCode + End Get + Set + Me._paymentBankBranchCode = Value + End Set + End Property + + Public Property paymentCurrency() As String + Get + Return Me._paymentCurrency + End Get + Set + Me._paymentCurrency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TImportPaymentInfo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TImportPaymentInfo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TImportPaymentInfo object + ''' + ''' string workflow markup to deserialize + ''' Output TImportPaymentInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportPaymentInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportPaymentInfo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TImportPaymentInfo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TImportPaymentInfo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TImportPaymentInfo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TImportPaymentInfo + Return CType(Serializer.Deserialize(s), TImportPaymentInfo) + End Function +#End Region + + ''' + ''' Serializes current TImportPaymentInfo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TImportPaymentInfo object + ''' + ''' string xml file to load and deserialize + ''' Output TImportPaymentInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportPaymentInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TImportPaymentInfo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TImportPaymentInfo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TImportPaymentInfo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInsuranceCostsInv + +#Region "Private fields" + Private _insAmount As Decimal + + Private _insCurrency As String + + Private _insProRating As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property insAmount() As Decimal + Get + Return Me._insAmount + End Get + Set + Me._insAmount = Value + End Set + End Property + + Public Property insCurrency() As String + Get + Return Me._insCurrency + End Get + Set + Me._insCurrency = Value + End Set + End Property + + Public Property insProRating() As String + Get + Return Me._insProRating + End Get + Set + Me._insProRating = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInsuranceCostsInv)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInsuranceCostsInv object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInsuranceCostsInv object + ''' + ''' string workflow markup to deserialize + ''' Output TInsuranceCostsInv object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCostsInv, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCostsInv) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCostsInv) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInsuranceCostsInv + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInsuranceCostsInv) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInsuranceCostsInv + Return CType(Serializer.Deserialize(s), TInsuranceCostsInv) + End Function +#End Region + + ''' + ''' Serializes current TInsuranceCostsInv object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInsuranceCostsInv object + ''' + ''' string xml file to load and deserialize + ''' Output TInsuranceCostsInv object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCostsInv, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCostsInv) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCostsInv) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInsuranceCostsInv + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TFreightCostsInv + +#Region "Private fields" + Private _frtAmount As Decimal + + Private _frtCurrency As String + + Private _frtInternational As Decimal + + Private _frtEuNational As Decimal + + Private _frtInland As Decimal + + Private _frtProRating As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property frtAmount() As Decimal + Get + Return Me._frtAmount + End Get + Set + Me._frtAmount = Value + End Set + End Property + + Public Property frtCurrency() As String + Get + Return Me._frtCurrency + End Get + Set + Me._frtCurrency = Value + End Set + End Property + + Public Property frtInternational() As Decimal + Get + Return Me._frtInternational + End Get + Set + Me._frtInternational = Value + End Set + End Property + + Public Property frtEuNational() As Decimal + Get + Return Me._frtEuNational + End Get + Set + Me._frtEuNational = Value + End Set + End Property + + Public Property frtInland() As Decimal + Get + Return Me._frtInland + End Get + Set + Me._frtInland = Value + End Set + End Property + + Public Property frtProRating() As String + Get + Return Me._frtProRating + End Get + Set + Me._frtProRating = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TFreightCostsInv)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TFreightCostsInv object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TFreightCostsInv object + ''' + ''' string workflow markup to deserialize + ''' Output TFreightCostsInv object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCostsInv, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCostsInv) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCostsInv) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TFreightCostsInv + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TFreightCostsInv) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TFreightCostsInv + Return CType(Serializer.Deserialize(s), TFreightCostsInv) + End Function +#End Region + + ''' + ''' Serializes current TFreightCostsInv object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TFreightCostsInv object + ''' + ''' string xml file to load and deserialize + ''' Output TFreightCostsInv object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCostsInv, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCostsInv) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCostsInv) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TFreightCostsInv + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRebate + +#Region "Private fields" + Private _rebAmount As Decimal + + Private _rebCurrency As String + + Private _rebProRating As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property rebAmount() As Decimal + Get + Return Me._rebAmount + End Get + Set + Me._rebAmount = Value + End Set + End Property + + Public Property rebCurrency() As String + Get + Return Me._rebCurrency + End Get + Set + Me._rebCurrency = Value + End Set + End Property + + Public Property rebProRating() As String + Get + Return Me._rebProRating + End Get + Set + Me._rebProRating = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRebate)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRebate object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRebate object + ''' + ''' string workflow markup to deserialize + ''' Output TRebate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRebate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRebate) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRebate) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRebate + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRebate) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRebate + Return CType(Serializer.Deserialize(s), TRebate) + End Function +#End Region + + ''' + ''' Serializes current TRebate object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRebate object + ''' + ''' string xml file to load and deserialize + ''' Output TRebate object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRebate, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRebate) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRebate) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRebate + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDelTerm + +#Region "Private fields" + Private _code As String + + Private _desc As String + + Private _calculationOfFreightCosts As String + + Private _code2 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + Public Property desc() As String + Get + Return Me._desc + End Get + Set + Me._desc = Value + End Set + End Property + + Public Property calculationOfFreightCosts() As String + Get + Return Me._calculationOfFreightCosts + End Get + Set + Me._calculationOfFreightCosts = Value + End Set + End Property + + Public Property code2() As String + Get + Return Me._code2 + End Get + Set + Me._code2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDelTerm)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDelTerm object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDelTerm object + ''' + ''' string workflow markup to deserialize + ''' Output TDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTerm) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDelTerm + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDelTerm) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDelTerm + Return CType(Serializer.Deserialize(s), TDelTerm) + End Function +#End Region + + ''' + ''' Serializes current TDelTerm object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDelTerm object + ''' + ''' string xml file to load and deserialize + ''' Output TDelTerm object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTerm, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDelTerm) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDelTerm) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDelTerm + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInvoiceLines + +#Region "Private fields" + Private _line As List(Of TInvoiceLine) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._line = New List(Of TInvoiceLine)() + End Sub + + + Public Property Line() As List(Of TInvoiceLine) + Get + Return Me._line + End Get + Set + Me._line = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInvoiceLines)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInvoiceLines object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInvoiceLines object + ''' + ''' string workflow markup to deserialize + ''' Output TInvoiceLines object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLines, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLines) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInvoiceLines) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInvoiceLines + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInvoiceLines) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInvoiceLines + Return CType(Serializer.Deserialize(s), TInvoiceLines) + End Function +#End Region + + ''' + ''' Serializes current TInvoiceLines object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInvoiceLines object + ''' + ''' string xml file to load and deserialize + ''' Output TInvoiceLines object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLines, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInvoiceLines) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInvoiceLines) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInvoiceLines + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TParameters + +#Region "Private fields" + Private _key As String + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property key() As String + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + Public Property value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TParameters)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TParameters object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TParameters object + ''' + ''' string workflow markup to deserialize + ''' Output TParameters object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TParameters, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TParameters) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TParameters) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TParameters + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TParameters) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TParameters + Return CType(Serializer.Deserialize(s), TParameters) + End Function +#End Region + + ''' + ''' Serializes current TParameters object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TParameters object + ''' + ''' string xml file to load and deserialize + ''' Output TParameters object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TParameters, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TParameters) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TParameters) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TParameters + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttachments + +#Region "Private fields" + Private _attachment As List(Of TAttachmentsAttachment) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachment = New List(Of TAttachmentsAttachment)() + End Sub + + + Public Property attachment() As List(Of TAttachmentsAttachment) + Get + Return Me._attachment + End Get + Set + Me._attachment = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttachments)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttachments object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttachments object + ''' + ''' string workflow markup to deserialize + ''' Output TAttachments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachments) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachments) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttachments + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttachments) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttachments + Return CType(Serializer.Deserialize(s), TAttachments) + End Function +#End Region + + ''' + ''' Serializes current TAttachments object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttachments object + ''' + ''' string xml file to load and deserialize + ''' Output TAttachments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachments) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachments) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttachments + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttachmentsAttachment + +#Region "Private fields" + Private _description As TAttachmentDescription + + Private _binAttachment() As Byte + + Private _parameter As List(Of TParameters) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._parameter = New List(Of TParameters)() + Me._description = New TAttachmentDescription() + End Sub + + Public Property description() As TAttachmentDescription + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + + Public Property binAttachment() As Byte() + Get + Return Me._binAttachment + End Get + Set + Me._binAttachment = Value + End Set + End Property + + + Public Property parameter() As List(Of TParameters) + Get + Return Me._parameter + End Get + Set + Me._parameter = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttachmentsAttachment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttachmentsAttachment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttachmentsAttachment object + ''' + ''' string workflow markup to deserialize + ''' Output TAttachmentsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachmentsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachmentsAttachment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachmentsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttachmentsAttachment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttachmentsAttachment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttachmentsAttachment + Return CType(Serializer.Deserialize(s), TAttachmentsAttachment) + End Function +#End Region + + ''' + ''' Serializes current TAttachmentsAttachment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttachmentsAttachment object + ''' + ''' string xml file to load and deserialize + ''' Output TAttachmentsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachmentsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachmentsAttachment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachmentsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttachmentsAttachment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttachmentDescription + +#Region "Private fields" + Private _contentType As String + + Private _dateTime As Date + + Private _creator As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property contentType() As String + Get + Return Me._contentType + End Get + Set + Me._contentType = Value + End Set + End Property + + Public Property dateTime() As Date + Get + Return Me._dateTime + End Get + Set + Me._dateTime = Value + End Set + End Property + + Public Property creator() As String + Get + Return Me._creator + End Get + Set + Me._creator = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttachmentDescription)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttachmentDescription object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttachmentDescription object + ''' + ''' string workflow markup to deserialize + ''' Output TAttachmentDescription object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachmentDescription, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachmentDescription) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttachmentDescription) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttachmentDescription + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttachmentDescription) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttachmentDescription + Return CType(Serializer.Deserialize(s), TAttachmentDescription) + End Function +#End Region + + ''' + ''' Serializes current TAttachmentDescription object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttachmentDescription object + ''' + ''' string xml file to load and deserialize + ''' Output TAttachmentDescription object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachmentDescription, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttachmentDescription) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttachmentDescription) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttachmentDescription + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TMot + +#Region "Private fields" + Private _motMode As String + + Private _meansOfTransport As String + + Private _motCountry As String + + Private _motVehicle As String + + Private _meansOfTransportDescription As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property motMode() As String + Get + Return Me._motMode + End Get + Set + Me._motMode = Value + End Set + End Property + + Public Property meansOfTransport() As String + Get + Return Me._meansOfTransport + End Get + Set + Me._meansOfTransport = Value + End Set + End Property + + Public Property motCountry() As String + Get + Return Me._motCountry + End Get + Set + Me._motCountry = Value + End Set + End Property + + Public Property motVehicle() As String + Get + Return Me._motVehicle + End Get + Set + Me._motVehicle = Value + End Set + End Property + + Public Property meansOfTransportDescription() As String + Get + Return Me._meansOfTransportDescription + End Get + Set + Me._meansOfTransportDescription = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMot)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMot object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMot object + ''' + ''' string workflow markup to deserialize + ''' Output TMot object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMot, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMot) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMot) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMot + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMot) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMot + Return CType(Serializer.Deserialize(s), TMot) + End Function +#End Region + + ''' + ''' Serializes current TMot object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMot object + ''' + ''' string xml file to load and deserialize + ''' Output TMot object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMot, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMot) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMot) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMot + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TFreightCosts + +#Region "Private fields" + Private _frtAmount As Decimal + + Private _frtCurrency As String + + Private _frtInternational As Decimal + + Private _frtEuNational As Decimal + + Private _frtInland As Decimal + + Private _frtProRating As String + + Private _frtInternationalAbs As Decimal + + Private _frtIntCurrency As String + + Private _frtCommunityAbs As Decimal + + Private _frtCommunityCurrency As String + + Private _frtNatAbs As Decimal + + Private _frtNatCurrency As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property frtAmount() As Decimal + Get + Return Me._frtAmount + End Get + Set + Me._frtAmount = Value + End Set + End Property + + Public Property frtCurrency() As String + Get + Return Me._frtCurrency + End Get + Set + Me._frtCurrency = Value + End Set + End Property + + Public Property frtInternational() As Decimal + Get + Return Me._frtInternational + End Get + Set + Me._frtInternational = Value + End Set + End Property + + Public Property frtEuNational() As Decimal + Get + Return Me._frtEuNational + End Get + Set + Me._frtEuNational = Value + End Set + End Property + + Public Property frtInland() As Decimal + Get + Return Me._frtInland + End Get + Set + Me._frtInland = Value + End Set + End Property + + Public Property frtProRating() As String + Get + Return Me._frtProRating + End Get + Set + Me._frtProRating = Value + End Set + End Property + + Public Property frtInternationalAbs() As Decimal + Get + Return Me._frtInternationalAbs + End Get + Set + Me._frtInternationalAbs = Value + End Set + End Property + + Public Property frtIntCurrency() As String + Get + Return Me._frtIntCurrency + End Get + Set + Me._frtIntCurrency = Value + End Set + End Property + + Public Property frtCommunityAbs() As Decimal + Get + Return Me._frtCommunityAbs + End Get + Set + Me._frtCommunityAbs = Value + End Set + End Property + + Public Property frtCommunityCurrency() As String + Get + Return Me._frtCommunityCurrency + End Get + Set + Me._frtCommunityCurrency = Value + End Set + End Property + + Public Property frtNatAbs() As Decimal + Get + Return Me._frtNatAbs + End Get + Set + Me._frtNatAbs = Value + End Set + End Property + + Public Property frtNatCurrency() As String + Get + Return Me._frtNatCurrency + End Get + Set + Me._frtNatCurrency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TFreightCosts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TFreightCosts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TFreightCosts object + ''' + ''' string workflow markup to deserialize + ''' Output TFreightCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCosts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TFreightCosts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TFreightCosts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TFreightCosts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TFreightCosts + Return CType(Serializer.Deserialize(s), TFreightCosts) + End Function +#End Region + + ''' + ''' Serializes current TFreightCosts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TFreightCosts object + ''' + ''' string xml file to load and deserialize + ''' Output TFreightCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TFreightCosts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TFreightCosts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TFreightCosts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TInsuranceCosts + +#Region "Private fields" + Private _insAmount As Decimal + + Private _insCurrency As String + + Private _insProRating As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property insAmount() As Decimal + Get + Return Me._insAmount + End Get + Set + Me._insAmount = Value + End Set + End Property + + Public Property insCurrency() As String + Get + Return Me._insCurrency + End Get + Set + Me._insCurrency = Value + End Set + End Property + + Public Property insProRating() As String + Get + Return Me._insProRating + End Get + Set + Me._insProRating = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TInsuranceCosts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TInsuranceCosts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TInsuranceCosts object + ''' + ''' string workflow markup to deserialize + ''' Output TInsuranceCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCosts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TInsuranceCosts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TInsuranceCosts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TInsuranceCosts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TInsuranceCosts + Return CType(Serializer.Deserialize(s), TInsuranceCosts) + End Function +#End Region + + ''' + ''' Serializes current TInsuranceCosts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TInsuranceCosts object + ''' + ''' string xml file to load and deserialize + ''' Output TInsuranceCosts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCosts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TInsuranceCosts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TInsuranceCosts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TInsuranceCosts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAttributes + +#Region "Private fields" + Private _attribute As List(Of TAttribute) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attribute = New List(Of TAttribute)() + End Sub + + + Public Property Attribute() As List(Of TAttribute) + Get + Return Me._attribute + End Get + Set + Me._attribute = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAttributes)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAttributes object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAttributes object + ''' + ''' string workflow markup to deserialize + ''' Output TAttributes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttributes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttributes) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAttributes) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAttributes + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAttributes) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAttributes + Return CType(Serializer.Deserialize(s), TAttributes) + End Function +#End Region + + ''' + ''' Serializes current TAttributes object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAttributes object + ''' + ''' string xml file to load and deserialize + ''' Output TAttributes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttributes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAttributes) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAttributes) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAttributes + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPartners + +#Region "Private fields" + Private _partner As List(Of TPartner) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._partner = New List(Of TPartner)() + End Sub + + + Public Property Partner() As List(Of TPartner) + Get + Return Me._partner + End Get + Set + Me._partner = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPartners)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPartners object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPartners object + ''' + ''' string workflow markup to deserialize + ''' Output TPartners object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartners, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartners) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPartners) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPartners + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPartners) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPartners + Return CType(Serializer.Deserialize(s), TPartners) + End Function +#End Region + + ''' + ''' Serializes current TPartners object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPartners object + ''' + ''' string xml file to load and deserialize + ''' Output TPartners object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartners, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPartners) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPartners) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPartners + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TContainerInfo + +#Region "Private fields" + Private _detailContainerInfo As List(Of TDetailContainerInfo) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._detailContainerInfo = New List(Of TDetailContainerInfo)() + End Sub + + + Public Property DetailContainerInfo() As List(Of TDetailContainerInfo) + Get + Return Me._detailContainerInfo + End Get + Set + Me._detailContainerInfo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TContainerInfo)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TContainerInfo object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TContainerInfo object + ''' + ''' string workflow markup to deserialize + ''' Output TContainerInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainerInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainerInfo) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TContainerInfo) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TContainerInfo + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TContainerInfo) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TContainerInfo + Return CType(Serializer.Deserialize(s), TContainerInfo) + End Function +#End Region + + ''' + ''' Serializes current TContainerInfo object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TContainerInfo object + ''' + ''' string xml file to load and deserialize + ''' Output TContainerInfo object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainerInfo, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TContainerInfo) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TContainerInfo) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TContainerInfo + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDocuments + +#Region "Private fields" + Private _document As List(Of TDocument) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._document = New List(Of TDocument)() + End Sub + + + Public Property Document() As List(Of TDocument) + Get + Return Me._document + End Get + Set + Me._document = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDocuments)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDocuments object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDocuments object + ''' + ''' string workflow markup to deserialize + ''' Output TDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocuments) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDocuments + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDocuments) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDocuments + Return CType(Serializer.Deserialize(s), TDocuments) + End Function +#End Region + + ''' + ''' Serializes current TDocuments object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDocuments object + ''' + ''' string xml file to load and deserialize + ''' Output TDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDocuments) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDocuments + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPrevDocs + +#Region "Private fields" + Private _previousDocument As List(Of TPrevDoc) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._previousDocument = New List(Of TPrevDoc)() + End Sub + + + Public Property PreviousDocument() As List(Of TPrevDoc) + Get + Return Me._previousDocument + End Get + Set + Me._previousDocument = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPrevDocs)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPrevDocs object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPrevDocs object + ''' + ''' string workflow markup to deserialize + ''' Output TPrevDocs object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDocs, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDocs) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDocs) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPrevDocs + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPrevDocs) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPrevDocs + Return CType(Serializer.Deserialize(s), TPrevDocs) + End Function +#End Region + + ''' + ''' Serializes current TPrevDocs object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPrevDocs object + ''' + ''' string xml file to load and deserialize + ''' Output TPrevDocs object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDocs, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDocs) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDocs) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPrevDocs + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDeclType + +#Region "Private fields" + Private _type1 As String + + Private _type2 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property type1() As String + Get + Return Me._type1 + End Get + Set + Me._type1 = Value + End Set + End Property + + Public Property type2() As String + Get + Return Me._type2 + End Get + Set + Me._type2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDeclType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDeclType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDeclType object + ''' + ''' string workflow markup to deserialize + ''' Output TDeclType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeclType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeclType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeclType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDeclType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDeclType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDeclType + Return CType(Serializer.Deserialize(s), TDeclType) + End Function +#End Region + + ''' + ''' Serializes current TDeclType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDeclType object + ''' + ''' string xml file to load and deserialize + ''' Output TDeclType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeclType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeclType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeclType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDeclType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDuties + +#Region "Private fields" + Private _duty As List(Of TDuty) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._duty = New List(Of TDuty)() + End Sub + + + Public Property Duty() As List(Of TDuty) + Get + Return Me._duty + End Get + Set + Me._duty = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDuties)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDuties object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDuties object + ''' + ''' string workflow markup to deserialize + ''' Output TDuties object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDuties, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDuties) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDuties) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDuties + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDuties) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDuties + Return CType(Serializer.Deserialize(s), TDuties) + End Function +#End Region + + ''' + ''' Serializes current TDuties object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDuties object + ''' + ''' string xml file to load and deserialize + ''' Output TDuties object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDuties, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDuties) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDuties) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDuties + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDutyTaxes + +#Region "Private fields" + Private _dutyTax As List(Of TDutyTax) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._dutyTax = New List(Of TDutyTax)() + End Sub + + + Public Property DutyTax() As List(Of TDutyTax) + Get + Return Me._dutyTax + End Get + Set + Me._dutyTax = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDutyTaxes)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDutyTaxes object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDutyTaxes object + ''' + ''' string workflow markup to deserialize + ''' Output TDutyTaxes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutyTaxes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutyTaxes) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutyTaxes) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDutyTaxes + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDutyTaxes) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDutyTaxes + Return CType(Serializer.Deserialize(s), TDutyTaxes) + End Function +#End Region + + ''' + ''' Serializes current TDutyTaxes object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDutyTaxes object + ''' + ''' string xml file to load and deserialize + ''' Output TDutyTaxes object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutyTaxes, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutyTaxes) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutyTaxes) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDutyTaxes + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDutySavings + +#Region "Private fields" + Private _dutySaving As List(Of TDutySaving) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._dutySaving = New List(Of TDutySaving)() + End Sub + + + Public Property DutySaving() As List(Of TDutySaving) + Get + Return Me._dutySaving + End Get + Set + Me._dutySaving = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDutySavings)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDutySavings object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDutySavings object + ''' + ''' string workflow markup to deserialize + ''' Output TDutySavings object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutySavings, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutySavings) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDutySavings) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDutySavings + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDutySavings) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDutySavings + Return CType(Serializer.Deserialize(s), TDutySavings) + End Function +#End Region + + ''' + ''' Serializes current TDutySavings object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDutySavings object + ''' + ''' string xml file to load and deserialize + ''' Output TDutySavings object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutySavings, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDutySavings) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDutySavings) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDutySavings + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TPrevDocSeals + +#Region "Private fields" + Private _containerID As String + + Private _valid As String + + Private _cancel As String + + Private _sealDescSoll As String + + Private _sealDescIst As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property containerID() As String + Get + Return Me._containerID + End Get + Set + Me._containerID = Value + End Set + End Property + + Public Property valid() As String + Get + Return Me._valid + End Get + Set + Me._valid = Value + End Set + End Property + + Public Property cancel() As String + Get + Return Me._cancel + End Get + Set + Me._cancel = Value + End Set + End Property + + Public Property sealDescSoll() As String + Get + Return Me._sealDescSoll + End Get + Set + Me._sealDescSoll = Value + End Set + End Property + + Public Property sealDescIst() As String + Get + Return Me._sealDescIst + End Get + Set + Me._sealDescIst = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TPrevDocSeals)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TPrevDocSeals object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TPrevDocSeals object + ''' + ''' string workflow markup to deserialize + ''' Output TPrevDocSeals object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDocSeals, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDocSeals) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TPrevDocSeals) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TPrevDocSeals + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TPrevDocSeals) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TPrevDocSeals + Return CType(Serializer.Deserialize(s), TPrevDocSeals) + End Function +#End Region + + ''' + ''' Serializes current TPrevDocSeals object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TPrevDocSeals object + ''' + ''' string xml file to load and deserialize + ''' Output TPrevDocSeals object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDocSeals, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TPrevDocSeals) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TPrevDocSeals) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TPrevDocSeals + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustImportInvoice + +#Region "Private fields" + Private _company As String + + Private _plant As String + + Private _type As String + + Private _invoiceNumber As String + + Private _invoiceVersion As String + + Private _invoiceDate As Date + + Private _invoiceHeadExtended As TCustImportInvoiceInvoiceHeadExtended + + Private _attributes As List(Of TAttribute) + + Private _partners As List(Of TPartner) + + Private _atlasCompletionSumDs As List(Of TAtlasCompSumDEntry) + + Private _invoiceLines As List(Of TInvoiceLine) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._invoiceLines = New List(Of TInvoiceLine)() + Me._atlasCompletionSumDs = New List(Of TAtlasCompSumDEntry)() + Me._partners = New List(Of TPartner)() + Me._attributes = New List(Of TAttribute)() + Me._invoiceHeadExtended = New TCustImportInvoiceInvoiceHeadExtended() + End Sub + + Public Property company() As String + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property plant() As String + Get + Return Me._plant + End Get + Set + Me._plant = Value + End Set + End Property + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + Public Property invoiceNumber() As String + Get + Return Me._invoiceNumber + End Get + Set + Me._invoiceNumber = Value + End Set + End Property + + Public Property invoiceVersion() As String + Get + Return Me._invoiceVersion + End Get + Set + Me._invoiceVersion = Value + End Set + End Property + + + Public Property invoiceDate() As Date + Get + Return Me._invoiceDate + End Get + Set + Me._invoiceDate = Value + End Set + End Property + + Public Property InvoiceHeadExtended() As TCustImportInvoiceInvoiceHeadExtended + Get + Return Me._invoiceHeadExtended + End Get + Set + Me._invoiceHeadExtended = Value + End Set + End Property + + + Public Property Attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + + Public Property Partners() As List(Of TPartner) + Get + Return Me._partners + End Get + Set + Me._partners = Value + End Set + End Property + + + Public Property AtlasCompletionSumDs() As List(Of TAtlasCompSumDEntry) + Get + Return Me._atlasCompletionSumDs + End Get + Set + Me._atlasCompletionSumDs = Value + End Set + End Property + + + Public Property InvoiceLines() As List(Of TInvoiceLine) + Get + Return Me._invoiceLines + End Get + Set + Me._invoiceLines = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustImportInvoice)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustImportInvoice object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustImportInvoice object + ''' + ''' string workflow markup to deserialize + ''' Output TCustImportInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoice) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustImportInvoice + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustImportInvoice) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustImportInvoice + Return CType(Serializer.Deserialize(s), TCustImportInvoice) + End Function +#End Region + + ''' + ''' Serializes current TCustImportInvoice object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustImportInvoice object + ''' + ''' string xml file to load and deserialize + ''' Output TCustImportInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoice) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustImportInvoice + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustImportInvoiceInvoiceHeadExtended + Inherits TInvoiceHead + +#Region "Private fields" + Private _customsDate As Date + + Private _locations As TCustImportInvoiceInvoiceHeadExtendedLocations + + Private _motBorder As TMot + + Private _motInland As TMot + + Private _container As TContainer + + Private _prevDocument As TCustImportInvoiceInvoiceHeadExtendedPrevDocument + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._prevDocument = New TCustImportInvoiceInvoiceHeadExtendedPrevDocument() + Me._container = New TContainer() + Me._motInland = New TMot() + Me._motBorder = New TMot() + Me._locations = New TCustImportInvoiceInvoiceHeadExtendedLocations() + End Sub + + Public Property customsDate() As Date + Get + Return Me._customsDate + End Get + Set + Me._customsDate = Value + End Set + End Property + + Public Property Locations() As TCustImportInvoiceInvoiceHeadExtendedLocations + Get + Return Me._locations + End Get + Set + Me._locations = Value + End Set + End Property + + Public Property MotBorder() As TMot + Get + Return Me._motBorder + End Get + Set + Me._motBorder = Value + End Set + End Property + + Public Property MotInland() As TMot + Get + Return Me._motInland + End Get + Set + Me._motInland = Value + End Set + End Property + + Public Property Container() As TContainer + Get + Return Me._container + End Get + Set + Me._container = Value + End Set + End Property + + Public Property PrevDocument() As TCustImportInvoiceInvoiceHeadExtendedPrevDocument + Get + Return Me._prevDocument + End Get + Set + Me._prevDocument = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustImportInvoiceInvoiceHeadExtended)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtended object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustImportInvoiceInvoiceHeadExtended object + ''' + ''' string workflow markup to deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtended object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtended, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtended) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtended) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustImportInvoiceInvoiceHeadExtended + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustImportInvoiceInvoiceHeadExtended) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustImportInvoiceInvoiceHeadExtended + Return CType(Serializer.Deserialize(s), TCustImportInvoiceInvoiceHeadExtended) + End Function +#End Region + + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtended object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustImportInvoiceInvoiceHeadExtended object + ''' + ''' string xml file to load and deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtended object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtended, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtended) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtended) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustImportInvoiceInvoiceHeadExtended + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustImportInvoiceInvoiceHeadExtendedLocations + +#Region "Private fields" + Private _dispatchCountry As String + + Private _lastDispatchCountry As String + + Private _destinationPlace As String + + Private _destinationRegion As String + + Private _officeEntry As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property dispatchCountry() As String + Get + Return Me._dispatchCountry + End Get + Set + Me._dispatchCountry = Value + End Set + End Property + + Public Property lastDispatchCountry() As String + Get + Return Me._lastDispatchCountry + End Get + Set + Me._lastDispatchCountry = Value + End Set + End Property + + Public Property destinationPlace() As String + Get + Return Me._destinationPlace + End Get + Set + Me._destinationPlace = Value + End Set + End Property + + Public Property destinationRegion() As String + Get + Return Me._destinationRegion + End Get + Set + Me._destinationRegion = Value + End Set + End Property + + Public Property officeEntry() As String + Get + Return Me._officeEntry + End Get + Set + Me._officeEntry = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustImportInvoiceInvoiceHeadExtendedLocations)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtendedLocations object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustImportInvoiceInvoiceHeadExtendedLocations object + ''' + ''' string workflow markup to deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtendedLocations object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedLocations, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtendedLocations) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedLocations) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustImportInvoiceInvoiceHeadExtendedLocations + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustImportInvoiceInvoiceHeadExtendedLocations) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustImportInvoiceInvoiceHeadExtendedLocations + Return CType(Serializer.Deserialize(s), TCustImportInvoiceInvoiceHeadExtendedLocations) + End Function +#End Region + + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtendedLocations object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustImportInvoiceInvoiceHeadExtendedLocations object + ''' + ''' string xml file to load and deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtendedLocations object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedLocations, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtendedLocations) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedLocations) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustImportInvoiceInvoiceHeadExtendedLocations + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustImportInvoiceInvoiceHeadExtendedPrevDocument + +#Region "Private fields" + Private _previousDocType As String + + Private _previousDocNumber As String + + Private _previousDocDate As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property previousDocType() As String + Get + Return Me._previousDocType + End Get + Set + Me._previousDocType = Value + End Set + End Property + + Public Property previousDocNumber() As String + Get + Return Me._previousDocNumber + End Get + Set + Me._previousDocNumber = Value + End Set + End Property + + + Public Property previousDocDate() As Date + Get + Return Me._previousDocDate + End Get + Set + Me._previousDocDate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustImportInvoiceInvoiceHeadExtendedPrevDocument)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtendedPrevDocument object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustImportInvoiceInvoiceHeadExtendedPrevDocument object + ''' + ''' string workflow markup to deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtendedPrevDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedPrevDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtendedPrevDocument) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedPrevDocument) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustImportInvoiceInvoiceHeadExtendedPrevDocument + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustImportInvoiceInvoiceHeadExtendedPrevDocument) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustImportInvoiceInvoiceHeadExtendedPrevDocument + Return CType(Serializer.Deserialize(s), TCustImportInvoiceInvoiceHeadExtendedPrevDocument) + End Function +#End Region + + ''' + ''' Serializes current TCustImportInvoiceInvoiceHeadExtendedPrevDocument object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustImportInvoiceInvoiceHeadExtendedPrevDocument object + ''' + ''' string xml file to load and deserialize + ''' Output TCustImportInvoiceInvoiceHeadExtendedPrevDocument object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedPrevDocument, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustImportInvoiceInvoiceHeadExtendedPrevDocument) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustImportInvoiceInvoiceHeadExtendedPrevDocument) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustImportInvoiceInvoiceHeadExtendedPrevDocument + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAtlasCompSumD + +#Region "Private fields" + Private _atlasCompletionSumD As List(Of TAtlasCompSumDEntry) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._atlasCompletionSumD = New List(Of TAtlasCompSumDEntry)() + End Sub + + + Public Property AtlasCompletionSumD() As List(Of TAtlasCompSumDEntry) + Get + Return Me._atlasCompletionSumD + End Get + Set + Me._atlasCompletionSumD = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAtlasCompSumD)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAtlasCompSumD object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAtlasCompSumD object + ''' + ''' string workflow markup to deserialize + ''' Output TAtlasCompSumD object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAtlasCompSumD, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAtlasCompSumD) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAtlasCompSumD) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAtlasCompSumD + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAtlasCompSumD) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAtlasCompSumD + Return CType(Serializer.Deserialize(s), TAtlasCompSumD) + End Function +#End Region + + ''' + ''' Serializes current TAtlasCompSumD object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAtlasCompSumD object + ''' + ''' string xml file to load and deserialize + ''' Output TAtlasCompSumD object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAtlasCompSumD, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAtlasCompSumD) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAtlasCompSumD) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAtlasCompSumD + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRefPrevProcedures + +#Region "Private fields" + Private _referencePreviousProcedure As List(Of TRefPrevProcedure) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._referencePreviousProcedure = New List(Of TRefPrevProcedure)() + End Sub + + + Public Property ReferencePreviousProcedure() As List(Of TRefPrevProcedure) + Get + Return Me._referencePreviousProcedure + End Get + Set + Me._referencePreviousProcedure = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRefPrevProcedures)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRefPrevProcedures object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRefPrevProcedures object + ''' + ''' string workflow markup to deserialize + ''' Output TRefPrevProcedures object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRefPrevProcedures, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRefPrevProcedures) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRefPrevProcedures) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRefPrevProcedures + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRefPrevProcedures) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRefPrevProcedures + Return CType(Serializer.Deserialize(s), TRefPrevProcedures) + End Function +#End Region + + ''' + ''' Serializes current TRefPrevProcedures object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRefPrevProcedures object + ''' + ''' string xml file to load and deserialize + ''' Output TRefPrevProcedures object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRefPrevProcedures, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRefPrevProcedures) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRefPrevProcedures) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRefPrevProcedures + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerTexts + +#Region "Private fields" + Private _text As List(Of TCustomerText) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._text = New List(Of TCustomerText)() + End Sub + + + Public Property Text() As List(Of TCustomerText) + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerTexts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerTexts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerTexts object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerTexts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerTexts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerTexts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerTexts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerTexts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerTexts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerTexts + Return CType(Serializer.Deserialize(s), TCustomerTexts) + End Function +#End Region + + ''' + ''' Serializes current TCustomerTexts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerTexts object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerTexts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerTexts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerTexts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerTexts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerTexts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerDates + +#Region "Private fields" + Private _date As List(Of TCustomerDate) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._date = New List(Of TCustomerDate)() + End Sub + + + Public Property [Date]() As List(Of TCustomerDate) + Get + Return Me._date + End Get + Set + Me._date = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerDates)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerDates object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerDates object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerDates object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDates, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDates) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerDates) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerDates + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerDates) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerDates + Return CType(Serializer.Deserialize(s), TCustomerDates) + End Function +#End Region + + ''' + ''' Serializes current TCustomerDates object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerDates object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerDates object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDates, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerDates) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerDates) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerDates + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerFlags + +#Region "Private fields" + Private _flag As List(Of TCustomerFlag) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._flag = New List(Of TCustomerFlag)() + End Sub + + + Public Property Flag() As List(Of TCustomerFlag) + Get + Return Me._flag + End Get + Set + Me._flag = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerFlags)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerFlags object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerFlags object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerFlags object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlags, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlags) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerFlags) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerFlags + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerFlags) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerFlags + Return CType(Serializer.Deserialize(s), TCustomerFlags) + End Function +#End Region + + ''' + ''' Serializes current TCustomerFlags object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerFlags object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerFlags object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlags, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerFlags) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerFlags) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerFlags + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TCustomerNumbers + +#Region "Private fields" + Private _number As List(Of TCustomerNumber) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._number = New List(Of TCustomerNumber)() + End Sub + + + Public Property Number() As List(Of TCustomerNumber) + Get + Return Me._number + End Get + Set + Me._number = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TCustomerNumbers)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TCustomerNumbers object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TCustomerNumbers object + ''' + ''' string workflow markup to deserialize + ''' Output TCustomerNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumbers) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TCustomerNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TCustomerNumbers + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TCustomerNumbers) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TCustomerNumbers + Return CType(Serializer.Deserialize(s), TCustomerNumbers) + End Function +#End Region + + ''' + ''' Serializes current TCustomerNumbers object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TCustomerNumbers object + ''' + ''' string xml file to load and deserialize + ''' Output TCustomerNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TCustomerNumbers) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TCustomerNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TCustomerNumbers + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.xsd new file mode 100644 index 0000000..eb1a3f7 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportInvoiceTypes.xsd @@ -0,0 +1,11393 @@ + + + + + + Import invoice type + + + + + + Invoice Number + Rechnungsnummer + + + true + String1..30 + + MIC_ALL_EAVKOP + EAKFAKTNR + MIC_EINKOP + EFKFAKTNR + + + + + + + + + + + + + + An unique version id. + Versionsnummer + + + false + String1..50 + + MIC_ALL_EAVKOP + EAKVERSION + MIC_EINKOP + EFKLOCKVERSION + + + + + + + + + + + + + Date of invoice + Rechnungsdatum + + + false + xs:date + + MIC_ALL_EAVKOP + EAKFAKTDAT + MIC_EINKOP + EFKFAKTDAT + + + + + + + + + + + + true + + + + + + + + + + + + + + Invoice attributes + Rechnungsattribute + + + false + + 1-n + + + + + + + + + + + + Invoice documents + Rechnungsunterlagen + + + false + + 1-n + + + + + + + + + + + + Invoice business partner + Rechnungsgeschäftspartner + + + false + + 1-n + + + MIC_EINSDGDOC + + + + + + + + + + Invoice completion parts of summary declaration + Rechnungsbeendigungsanteile der Summarischen Anmeldung (SumA) + + + false + + 1-n + + + + + + + + + + + + Intrastat information on invoice level + Intrastatdaten auf Rechnungsebene + + + false + + + + + + + + + + + + + + Invoice lines + Rechnungspositionen + + + true + + 1-n + + + + + + + + + + + + + + + Einfuhrposition + + + true + + 1-n + + + + + + + + + + + + Invoice line + Rechnungsposition + + + true + + + + + + + + + + + + + + + Import invoice line type + + + + + + Invoice Line + Rechnungsposition + + + true + Decimal(4) + + MIC_ALL_EAVPOS + EAPFAKTPOS + MIC_EINPOS + EFPFAKTPOS + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + Quantity + Abgangsmenge + + + false + Decimal(13,3) + + MIC_ALL_EAVPOS + EAPMENGE + MIC_EINPOS + EFPMENGE + + + + + + + + + + + + + + Unit of Measurement + Mengeneinheit + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPMEH + MIC_EINPOS + EFPMEH + + + + + + + + + + + + + Net Weight (kg) + Eigenmasse (kg) + + + false + Decimal(14,6) + + MIC_ALL_EAVPOS + EAPEIGMAS + MIC_EINPOS + EFPEIGMAS + + + + + + + + + + + + + + Gross Weight (kg) + Rohmasse (kg) + + + false + Decimal(14,6) + + MIC_ALL_EAVPOS + EAPROHMAS + MIC_EINPOS + EFPROHMAS + + + + + + + + + + + + + + Statistical Quantity + Statistische Menge + + + false + Decimal(13,3) + + MIC_ALL_EAVPOS + EAPBESM + MIC_EINPOS + EFPBESM + + + + + + + + + + + + + + Quantity Unit + Mengeneinheit + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPBESMEH + MIC_EINPOS + EFPBESMEH + + + + + + + + + + + + + Unit Price + Stückpreis + + + false + Decimal(18,6) + + MIC_ALL_EAVPOS + EAPPREIS + MIC_EINPOS + EFPPREIS + + + + + + + + + + + + + + Line Value + Wert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPWERT + MIC_EINPOS + EFPWERT + + + + + + + + + + + + + + License information + + + + + + + Pricing information to document how the invoice line was priced + + + + false + + + + + + + + + + + + + + Line freight costs + Positionsfrachtkosten + + + false + + + + + + + + + + + + + + Line insurance costs + Positionsversicherungskosten + + + false + + + + + + + + + + + + + + Line additional costs + Positionsnebenkosten + + + false + + 0-8 + MIC_ALL_EAVPOS + EAP___ + MIC_EINPOS + EFP___ + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + Country of Origin + Ursprungsland + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPURLD + MIC_EINPOS + EFPURLD + + + + + + + + + + + + + Preferential country of origin + Präferenz Ursprungsland + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPPRAEFURLD + MIC_EINPOS + EFPPRAEFURLD + + + + + + + + + + + + + Location of Goods + Warenort + + + false + String1..35 + + MIC_ALL_EAVPOS + EAPLOCATIONOFGOODS + MIC_EINPOS + EFPLOCATIONOFGOODS + + + + + + + + + + + + + Contingent Number + Kontingentnummer + + + false + String1..8 + + MIC_ALL_EAVPOS + EAPKONTGT + MIC_EINPOS + EFPKONTGT + + + + + + + + + + + + + Contingent Key + Schlüssel des Kontingents + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPEFAKKA2 + MIC_EINBPARA + EFAKKA2 + + + + + + + + + + + + + Contingent Quantity + Begünstigungsmenge + + + false + Decimal(38,0) + + MIC_ALL_EAVPOS + EAPEFABEGMENGE + MIC_EINBPARA + EFABEGMENGE + + + + + + + + + + + + + + Contingent Quantity UoM + Mengeneinheit der Begünstigungsmenge + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPEFABEGMEH + MIC_EINBPARA + EFABEGMEH + + + + + + + + + + + + + Contingent Quantity Qualifier + Qualifikator der Begünstigungsmenge + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPEFABEGMEHQ + MIC_EINBPARA + EFABEGMEHQ + + + + + + + + + + + + + Import Customs Procedure + Zollverfahren + + + false + String1..6 + + MIC_ALL_EAVPOS + EAPEVCASE + MIC_EINPOS + EFPEVCASE + + + + + + + + + + + + + The statistical code of the customs procedure. + Einfuhr Verfahrenscode + + + false + String1..6 + + MIC_ALL_EAVPOS + EAPEVKZ + MIC_EINPOS + EFPEVKZ + + + + + + + + + + + + + Special Use + Besondere Verwendung + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPBESVERWKZ + MIC_EINPOS + EFPBESVERWKZ + + + + + + + + + + + + + Nature of Transaction + Geschäftsart + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPGSART + MIC_EINPOS + EFPGSART + + + + + + + + + + + + + Additonal Code 1, Additonal Code 2, Additonal Code 3 + Zusatzcode 1, Zusatzcode 2, Zusatzcode 3 + + + false + String1..4 + 0-3 + MIC_ALL_EAVPOS + EAPZUSCD1, EAPZUSCD2, EAPZUSCD3 + MIC_EINPOS + EFPZUSCD1, EFPZUSCD2, EFPZUSCD3 + + + + + + + + + + + + + PAC/The preference request code that indicates if a preferential duty rate should be applied. + Beantragte Begünstigung + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPPAC + MIC_EINPOS + EFPPAC + + + + + + + + + + + + + Documents + Unterlagen + + + false + + 1-n + + + + + + + + + + + + Invoice line previous documents + Positionsvorpapiere + + + false + + 1-n + + + + + + + + + + + + Bill of material + + + + false + + + + + + + + + + + + + + Stock Type 1/The stock type for duty regimes with additions to the inventory. + Bestandsart 1 + + + false + String1..20 + + MIC_ALL_EAVPOS + EAPBESTART1 + MIC_EINPOS + EFPBESTART1 + + + + + + + + + + + + + Stock Type 2/The stock type for duty regimes with additions to the inventory. + Bestandsart 2 + + + false + String1..20 + + MIC_ALL_EAVPOS + EAPBESTART2 + MIC_EINPOS + EFPBESTART2 + + + + + + + + + + + + + Expiry date/date on which the stock expires + Ablaufdatum + + + false + Date + + MIC_ALL_EAVPOS + EAPSTOCKEXPDAT + MIC_EINPOS + EFPSTOCKEXPDAT + + + + + + + + Package + + + + false + + + + + + + + + + + + + + Account/The account number for the transaction. + Konto + + + false + String1..50 + + MIC_ALL_EAVPOS + EAPKONTO + MIC_EINPOS + EFPKONTO + + + + + + + + + + + + + Del. Note Number + Lieferscheinnr. + + + false + String1..15 + + MIC_ALL_EAVPOS + EAPLSNR + MIC_EINPOS + EFPLSNR + + + + + + + + + + + + + Order Note Number + Bestellschein. + + + false + String1..22 + + MIC_ALL_EAVPOS + EAPBSNR + MIC_EINPOS + EFPBSNR + + + + + + + + + + + + + Receipt + + + + false + + + + + + + + + + + + + + ASN Number/Advanced shipping notice Number(ASN). + Lieferantragsnummer. + + + false + String1..30 + + MIC_ALL_EAVPOS + EAPLANR + MIC_EINPOS + EFPLANR + + + + + + + + + + + + + Reference Value/The reference value. This can be used to store the invoice line value in original currency. + Referenzwert. + + + false + Decimal(18,6) + + MIC_ALL_EAVPOS + EAPREFWERT + MIC_EINPOS + EFPREFWERT + + + + + + + + + + + + + + Reference Currency + Referenzwährung. + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPREFWAE + MIC_EINPOS + EFPREFWAE + + + + + + + + + + + + + Remarks + Zusätzliche Angaben. + + + false + String1..80 + + MIC_ALL_EAVPOS + EAPINFO + MIC_EINPOS + EFPINFO + + + + + + + + + + + + + Remarks + Zusätzliche Angaben. + + + false + String1..80 + + MIC_ALL_EAVPOS + EAPINFO2 + MIC_EINPOS + EFPINFO + + + + + + + + + + + + + Registration numbers + + + + false + + + + + + + + + + + + + + Customer specific fields + Kundenspezifische Felder + + + false + + + MIC_ALL_EAVPOS + EAP___ + MIC_EINPOS + EFP___ + + + + + + + + Invoice line attributes + Positionsattribute + + + false + + 1-n + + + + + + + + + + + + Invoice line containers + Positionscontainer + + + false + + + + + + + + + + + + + + Invoice line business partner + Positionsgeschäftspartner + + + false + + 1-n + + + + + + + + + + + + Calculated values - calculated by external system + + + + false + + + + + + + + + + + + + + Custom relevant values in MIC + + + + false + + + + + + + + + + + + + + Duties - calculated by external system + + + + false + + 0-n + + + + + + + + + + + + Duties - calculated by MIC and customs FT (MIC_EINABG) AV (MIC_EAVABG) + + + + false + + 0-n + + + + + + + + + + + + Duties - calculated by MIC and customs FT (MIC_EINABG) AV (MIC_EAVABG) + + + + false + + 0-n + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + SID + Nachrichten-SID + + + false + Decimal(10) + + MIC_ALL_EAVPOS + EAPSID + MIC_EINPOS + EFPSID + + + + + + + + + + + + + External processing + Externe Verarbeitung + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPEXTERNALPROCESSING + MIC_EINPOS + EFPEXTERNALPROCESSING + + + + + + + + + + + + + Invoice line additional information + Zusätzliche Information auf Positionsebene + + + false + + 1-n + + + + + + + + + + + + Intrastat information on line level + Intrastatdaten auf Positionsebene + + + + + + + Pre-Supplier + Vorveredler + + + false + + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_ALL_EAVPOS + EAPCREUSER + MIC_EINPOS + EFPCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_ALL_EAVPOS + EAPCREDAT + MIC_EINPOS + EFPCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_ALL_EAVPOS + EAPUSE + MIC_EINPOS + EFPUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_ALL_EAVPOS + EAPUSEDAT + MIC_EINPOS + EFPUSEDAT + + + + + + + + Valuation Indicators + Bewertungskennzeichen + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPVALUATIONINDICATOR + MIC_EINPOS + EFPVALUATIONINDICATOR + + + + + + + + + + + Invoice line previous document references + Positionsbeendigungsanteile Vorpapiere + + + + + + + Invoice line packages + Positionspackstücke + + + false + + 0-n + + + + + + + + + + + + + Fields for pre-supplier. + + + + + + INF Duty Value + INF Zollwert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPINFZOBAS + + + + + + + + + + + + + + + + INF Duty Rate + INF Zollsatz + + + false + Decimal(6,3) + + MIC_ALL_EAVPOS + EAPINFZOBET1 + + + + + + + + + + + + + + + + INF Duty + INF Abgabe + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPINFZO + + + + + + + + + + + + + + + + INF Duty Currency + INF Abgabenwährung + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPINFZOW + + + + + + + + + + + + + + + + + + + External Customs Value + Externer Zollwert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPCUSTOMSVALUE_EXT + MIC_EINPOS + EFPCUSTOMSVALUE_EXT + + + + + + + + + + + + + + External Net Value + Externer Nettowert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPNETVALUE_EXT + MIC_EINPOS + EFPNETVALUE_EXT + + + + + + + + + + + + + + External Net Value + Externer Nettowert + + + false + Decimal(16,4) + + MIC_EINPOS + EFPCALCSTATWERT + MIC_EINPOS + EFPCALCSTATWERT + + + + + + + + + + + + + + External Freight Statistical Value + Externer statistischer Wert für Fracht + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFREIGHTSTATVAL_EXT + MIC_EINPOS + EFPFREIGHTSTATVAL_EXT + + + + + + + + + + + + + + External Freight International + Externe internationale Fracht + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFREIGHTINTERNATIONAL_EXT + MIC_EINPOS + EFPFREIGHTINTERNATIONAL_EXT + + + + + + + + + + + + + + External Freight Community + Externe Fracht Gemeinschaft + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFREIGHTEU_EXT + MIC_EINPOS + EFPFREIGHTEU_EXT + + + + + + + + + + + + + + External Freight National + Externe nationale Fracht + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFREIGHTNATIONAL_EXT + MIC_EINPOS + EFPFREIGHTNATIONAL_EXT + + + + + + + + + + + + + + External Insurance + Externe Versicherung + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPINSURANCE_EXT + MIC_EINPOS + EFPINSURANCE_EXT + + + + + + + + + + + + + + External Insurance + Externe Versicherung + + + false + Decimal(16,4) + 0-2 + MIC_ALL_EAVPOS + EAPSHIPADDCOSTS1/2_EXT + MIC_EINPOS + EFPSHIPADDCOSTS1/2_EXT + + + + + + + + + + + + + + External Insurance + Externe Versicherung + + + false + Decimal(16,4) + 0-2 + MIC_ALL_EAVPOS + EAPINVADDCOSTS1/2_EXT + MIC_EINPOS + EFPINVADDCOSTS1/2_EXT + + + + + + + + + + + + + + External Insurance + Externe Versicherung + + + false + Decimal(16,4) + 0-8 + MIC_ALL_EAVPOS + EAPLINEADDCOSTS1/8_EXT + MIC_EINPOS + EFPLINEADDCOSTS1/8_EXT + + + + + + + + + + + + + + External Cust Value + Externer Cust Value + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPCUSTVALUE_EXT + MIC_EINPOS + EFPCUSTVALUE_EXT + + + + + + + + + + + + + + External Assist Value + Externer Beistellwert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPASSISTVALUE_EXT + MIC_EINPOS + EFPASSISTVALUE_EXT + + + + + + + + + + + + + + External VAT Additional Costs + Externe UST Nebenkosten + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPVATADDCOSTS_EXT + MIC_EINPOS + EFPVATADDCOSTS_EXT + + + + + + + + + + + + + + + + + + Customs value + Externe UST Nebenkosten + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPGRWERT + + + + + + + + + + + + + + Net Value + Externe UST Nebenkosten + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPWERTNTO + + + + + + + + + + + + + + Additional statistical value + Zuschlag stat. Wert + + + false + Decimal(17,4) + + + + MIC_EINPOS + EFPADDITIONALSTATISTICALVALUE + + + + + + + + + + + + + + Additoinal cost VAT + Zuschlag EUSt. + + + false + Decimal(17,4) + + + + MIC_EINPOS + EFPZUEUST + + + + + + + + + + + + + + Customs value added + Grenzwert Zu/Ab + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPGRWERTZUAB1 + + + + + + + + + + + + + + OPR ingredients value + Beistellwert + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBEISTELL + + + + + + + + + + + + + + Additional costs 1 + Fracht f. Grenzw. + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB1 + + + + + + + + + + + + + + Additional costs 2 + Versicherung + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB2 + + + + + + + + + + + + + + Additional costs 3 + Sdg. Nebenk. 1 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB3 + + + + + + + + + + + + + + Additional costs 4 + Sdg. Nebenk. 2 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB4 + + + + + + + + + + + + + + Additional costs 5 + Fakt. Nebenk. 1 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB5 + + + + + + + + + + + + + + Additional costs 6 + Fakt. Nebenk. 2 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB6 + + + + + + + + + + + + + + Additional costs 7 + Pos. Nebenk. 1 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB7 + + + + + + + + + + + + + + Additional costs 8 + Pos. Nebenk. 2 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB8 + + + + + + + + + + + + + + Additional costs 9 + Pos. Nebenk. 3 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB9 + + + + + + + + + + + + + + Additional costs 10 + Pos. Nebenk. 4 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB10 + + + + + + + + + + + + + + Additional costs 11 + Pos. Nebenk. 5 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB11 + + + + + + + + + + + + + + Additional costs 12 + Pos. Nebenk. 6 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB12 + + + + + + + + + + + + + + Additional costs 13 + Pos. Nebenk. 7 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB13 + + + + + + + + + + + + + + Additional costs 14 + Pos. Nebenk. 8 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB14 + + + + + + + + + + + + + + Additional costs 15 + Pos. Nebenk. 9 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB15 + + + + + + + + + + + + + + Additional costs 16 + Pos. Nebenk. 10 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB16 + + + + + + + + + + + + + + Additional costs 17 + Pos. Nebenk. 11 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB17 + + + + + + + + + + + + + + Additional costs 18 + Pos. Nebenk. 12 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB18 + + + + + + + + + + + + + + Additional costs 19 + Pos. Nebenk. 13 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB19 + + + + + + + + + + + + + + Additional costs 20 + Pos. Nebenk. 14 + + + false + Decimal(16,4) + + + + MIC_EINPOS + EFPBZUAB20 + + + + + + + + + + + + + + + Additional parameters (generic) + + + + + Key + + + + + Value + + + + + + + This element allows to send attached documents. The format allows to send multiple files in one message + + + + + This entity allows to send attachments, e.g. pdf, jpg, xml, or other binary formats + + + + Attachment (eg. pdf, xml, EDIFACT) + + + + + description of attachment + + + + + Attached file in base64 binary encoding + + + + + Additional parameters as key-value pairs + + + + + + + + + + Description of attachement eg. Name of file, creation date/time etc. + + + + + Mime type of attached document + + + + + + + + + + Creation timestamp of the attached document + + + + + Creation user of the attached document + + + + + + + + + + + + Mode of transportation information + + + + + + Mode of transportation + Art des Verkehrszweigs + String1..2 + + + + + + + + + + + + + Means of transport + Art des aktiven Beförderungsmittels + String1..2 + + + + + + + + + + + + Means of transportation country + Staatszugehörigkeit des Beförderungsmittels + String1..3 + + + + + + + + + + + + Means of transportation vehicle + Kennzeichen des Beförderungsmittels + String1..30 + + + + + + + + + + + + Means of transportation description + Beschreibung des Beförderungsmittels + String1..17 + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + Tariff Number + Tarifnummer + + + true + String1..13 + + MIC_ALL_EAVPOS + EAPTARNR + MIC_EINPOS + EFPTARNR + + + + + + + + + + + + + + VAT code + Einfuhrumsatzsteuercode + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPEUSTCD + MIC_EINPOS + EFPEUSTCD + + + + + + + + + + + + + + Excise tax code + Verbrauchssteuercode + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPVSTCD + MIC_EINPOS + EFPVSTCD + + + + + + + + + + + + + + + License on import invoice line. + + + + + + License type. + Typ der Menge / Wert + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPEGART + MIC_EINPOS + EFPEGART + + + + + + + + + + + + + + License code. + Einfuhrrechtliches Papier + + + false + String1..4 + + MIC_ALL_EAVPOS + EAPEGEAW + MIC_EINPOS + EFPEGEAW + + + + + + + + + + + + + + License number. + Nummer + + + false + String1..16 + + MIC_ALL_EAVPOS + EAPEGNR + MIC_EINPOS + EFPEGNR + + + + + + + + + + + + + + License date. + Datum + + + false + xs:date + + MIC_ALL_EAVPOS + EAPEGDAT + MIC_EINPOS + EFPEGDAT + + + + + + + + License not required flag. If used the other fields are not needed. + Einfuhrerl. nicht benötigt + + + false + Boolean + + MIC_ALL_EAVPOS + EAPNOEGKZ + MIC_EINPOS + EFPNOEGKZ + + + + + + + + + + Pricing information to document how the invoice line was priced + + + + false + + + + + + + + + + + + + + The pricing type + Preistyp + + + false + String1..10 + + MIC_ALL_EAVPOS + EAPPREISTYP + MIC_EINPOS + EFPPREISTYP + + + + + + + + + + + + + The pricing reference, e.g. the contract number. + Preisreferenz + + + false + String1..20 + + MIC_ALL_EAVPOS + EAPPREISREFNO + MIC_EINPOS + EFPPREISREFNO + + + + + + + + + + + + + The pricing date. + Preidatum + + + false + xs:date + + MIC_ALL_EAVPOS + EAPPREISDAT + MIC_EINPOS + EFPPREISDAT + + + + + + + + The pricing system, e.g. SAP. + Preissystem + + + false + String1..10 + + MIC_ALL_EAVPOS + EAPPREISSYS + MIC_EINPOS + EFPPREISSYS + + + + + + + + + + + + + + + Freight costs can be added on shipment or invoice level when freight is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + false + + + + + + + + + + + + + + Freight cost amount. + Frachtkosten + + + true + Decimal(17,4) + + MIC_EAVSDG + EASFRAWRT + MIC_EINSDG + EFSFRAWRT + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_EAVSDG + EASFRAWAE + MIC_EINSDG + EFSFRAWAE + + + + + + + + + + + + + + Freight International/(Percentage OR Value) of international freight costs of total freight costs. + Frachtkosten International + + + false + Decimal(5,2) + + MIC_EAVSDG + EASNONEU + MIC_EINSDG + EFSNONEU + + + + + + + + + + + + + + Freight Community/(Percentage OR Value) of freight cost from EU-border to national border of total freight costs. + Frachtkosten EU + + + false + Decimal(5,2) + + MIC_EAVSDG + EASEUNAT + MIC_EINSDG + EFSEUNAT + + + + + + + + + + + + + + Freight National/(Percentage OR Value) of inland freight of total freight costs. + Frachtkosten National + + + false + Decimal(5,2) + + MIC_EAVSDG + EASNAT + MIC_EINSDG + EFSNAT + + + + + + + + + + + + + + Calculation Type of Freight Costs/Indicator for how the additional costs are pro-rated to the invoice lines. V=value based, Q=quantity based. + Berechnungsart der Frachtkosten + + + false + String1..1 + + MIC_EAVSDG + EASFRAKZ + MIC_EINSDG + EFSFRAKZ + + + + + + + + + + + + + Absolute international freight cost amount + Frachtwert + + + true + Decimal(17,4) + + MIC_EAVSDG + EASABSNONEUFREIGHT + MIC_EINSDG + EFSFRAWRTNONEUABS + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_EAVSDG + EASABSNONEUFREIGHTCURRENCY + MIC_EINSDG + EFSFRAWAENONEUABS + + + + + + + + + + + + + + Absolute community freight cost amount + Frachtwert + + + true + Decimal(17,4) + + MIC_EAVSDG + EASABSEUFREIGHT + MIC_EINSDG + EFSFRAWRTNEUABS + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_EAVSDG + EASABSEUFREIGHTCURRENCY + MIC_EINSDG + EFSFRAWAENEUABS + + + + + + + + + + + + + + Absolute national freight cost amount + Frachtwert + + + true + Decimal(17,4) + + MIC_EAVSDG + EASABSNATFREIGHT + MIC_EINSDG + EFSFRAWRTNATABS + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_EAVSDG + EASABSNATFREIGHTCURRENCY + MIC_EINSDG + EFSFRAWAENATABS + + + + + + + + + + + + + + + Freight costs can be added on shipment or invoice level when freight is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + + + Freight Costs + Frachtkosten + + + true + Decimal(16,4) + + MIC_ALL_EAVKOP + EAKFRAWRT + MIC_EINKOP + EFKFRAWRT + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_ALL_EAVKOP + EAKFRAWAE + MIC_EINKOP + EFKFRAWAE + + + + + + + + + + + + + + Freight International/(Percentage OR Value) of international freight costs of total freight costs. + Frachtkosten International + + + false + Decimal(5,2) + + MIC_ALL_EAVKOP + EAKFRANONEU + MIC_EINKOP + EFKFRANONEU + + + + + + + + + + + + + + Freight Community/(Percentage OR Value) of freight cost from EU-border to national border of total freight costs. + Frachtkosten EU + + + false + Decimal(5,2) + + MIC_ALL_EAVKOP + EAKFRAEUNAT + MIC_EINKOP + EFKFRAEUNAT + + + + + + + + + + + + + + Freight National/(Percentage OR Value) of inland freight of total freight costs. + Frachtkosten National + + + false + Decimal(5,2) + + MIC_ALL_EAVKOP + EAKNAT + MIC_EINKOP + EFKNAT + + + + + + + + + + + + + + Calculation Type of Freight Costs/Indicator for how the additional costs are pro-rated to the invoice lines. V=value based, Q=quantity based. + Berechnungsart der Frachtkosten + + + false + String1..1 + + MIC_ALL_EAVKOP + EAKFRAKZ + MIC_EINKOP + EFKFRAKZ + + + + + + + + + + + + + + Freight costs can be added on shipment or invoice level when freight is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + + + Freight Costs + Frachtkosten + + + true + Decimal(17,4) + + MIC_ALL_EAVPOS + EAPFAMOUNT + MIC_EINPOS + EFPFAMOUNT + + + + + + + + + + + + + + Currency Freight Costs + Währung Frachtkosten + + + true + String1..3 + + MIC_ALL_EAVPOS + EAPFWAE + MIC_EINPOS + EFPFWAE + + + + + + + + + + + + + + Freight International/(Percentage OR Value) of international freight costs of total freight costs. + Frachtkosten International + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFNONEU + MIC_EINPOS + EFPFNONEU + + + + + + + + + + + + + + Freight Community/(Percentage OR Value) of freight cost from EU-border to national border of total freight costs. + Frachtkosten EU + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFEU + MIC_EINPOS + EFPFEU + + + + + + + + + + + + + + Freight National/(Percentage OR Value) of inland freight of total freight costs. + Frachtkosten National + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPFNAT + MIC_EINPOS + EFPFNAT + + + + + + + + + + + + + + + Attribut from FreightCosts, P Percentage OR V Value, decides in which form the Freightcosts would be split. + + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPFFLAG + MIC_EINPOS + FIX VALUE "V" + + + + + + + + + + + + + Intra specific fields. + + + + + + Vendor VAT ID + Umsatzsteuernummer des Lieferanten + + + false + String1..20 + + EAVKOP + EAKVATNR + + + + + + + + + + + + + + + Statistical procedure + Statistisches Verfahren + + + false + String1..5 + + EAVKOP + EAKCCTR + + + + + + + + + + + + + + + Internal reference + Interne Referenz + + + false + String1..30 + + EAVKOP + EAKREFI + + + + + + + + + + + + + + + + Intra specific fields. + + + + + + Status + Status + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPSTATUS + + + + + + + + + + + + + + + Invoice date + Rechnungsdatum + + + false + xs:date + + MIC_ALL_EAVPOS + EAPDATUM + + + + + + + + + + Period + Periode + + + false + Long 6 + + MIC_ALL_EAVPOS + EAPPERIODE + + + + + + + + + + + + + + + + Region + Region + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPREGION + + + + + + + + + + + + + + + Statistical procedure + Statistisches Verfahren + + + false + String1..5 + + MIC_ALL_EAVPOS + EAPCCTR + + + + + + + + + + + + + + + Statistical value + Statistischer Wert + + + false + Decimal(16,4) + + MIC_ALL_EAVPOS + EAPGRWERT + + + + + + + + + + + + + + + + Additional costs currency 1 + Nebenkostenwährung 1 + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPPBK1WAE + + + + + + + + + + + + + + + Additional costs type 1 + Nebenkostenart 1 + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPPBK1TYP + + + + + + + + + + + + + + + Additional costs currency 2 + Nebenkostenwährung 2 + + + false + String1..3 + + MIC_ALL_EAVPOS + EAPPBK2WAE + + + + + + + + + + + + + + + Additional costs type 2 + Nebenkostenart 2 + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPPBK2TYP + + + + + + + + + + + + + + + + Insurance costs can be added on shipment or invoice level when insurance is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + + + Insurance Costs + Versicherungskosten + + + true + Decimal(19,6) + + MIC_EAVSDG + EASVERSWRT + MIC_EINSDG + EFSVERSWRT + + + + + + + + + + + + + + Currency Insurance + Währung Versicherungskosten + + + true + String1..3 + + MIC_EAVSDG + EASVERSWAE + MIC_EINSDG + EFSVERSWAE + + + + + + + + + + + + + + Calculation Type of Insurance + Berechnungsart der Versicherung + + + false + String1..1 + + MIC_EAVSDG + EASVERSKZ + MIC_EINSDG + EFSVERSKZ + + + + + + + + + + + + + + Insurance costs can be added on shipment or invoice level when insurance is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + + + Insurance Costs + Versicherungskosten + + + true + Decimal(19,6) + + MIC_ALL_EAVKOP + EAKVERSWRT + MIC_EINKOP + EFKVERSWRT + + + + + + + + + + + + + + Currency Insurance + Währung Versicherungskosten + + + true + String1..3 + + MIC_ALL_EAVKOP + EAKVERSWAE + MIC_EINKOP + EFKVERSWAE + + + + + + + + + + + + + + Calculation Type of Insurance + Berechnungsart der Versicherung + + + false + String1..1 + + MIC_ALL_EAVKOP + EAKVERSKZ + MIC_EINKOP + EFKVERSKZ + + + + + + + + + + + + + + Insurance costs can be added on shipment or invoice level when insurance is not included in invoice value. They are pro-rated to the invoice lines as indicated. + + + + + + Insurance Costs + Versicherungskosten + + + true + Decimal(17,4) + + MIC_ALL_EAVPOS + EAPVERSWERT + MIC_EINPOS + EFPVERSWERT + + + + + + + + + + + + + + Currency Insurance + Währung Versicherungskosten + + + true + String1..3 + + MIC_ALL_EAVPOS + EAPVERSWAE + MIC_EINPOS + EFPVERSWAE + + + + + + + + + + + + + + + Rebates can be added on invoice level . They are pro-rated to the invoice lines as indicated. + + + + + + Discount + Rabatt + + + true + Decimal(17,4) + + MIC_ALL_EAVKOP + EAKRABATTWERT + MIC_EINKOP + EFKRABATTWERT + + + + + + + + + + + + + + Currency Discount/ISO currency code + Währung Rabatt + + + true + String1..3 + + MIC_ALL_EAVKOP + EAKRABATTWAE + MIC_EINKOP + EFKRABATTWAE + + + + + + + + + + + + + + Calculation Type of Discount/Indicator for how the rebate is pro-rated to the invoice lines. V=value based, Q=quantity based. + Berechnungsart Rabatt + + + false + String1..1 + + MIC_ALL_EAVKOP + EAKRABATTKZ + MIC_EINKOP + EFKRABATTKZ + + + + + + + + + + + + + + Rebates can be added on invoice level . They are pro-rated to the invoice lines as indicated. + + + + + + Discount + Rabatt + + + true + Decimal(17,4) + + MIC_ALL_EAVPOS + EAPRABATTWERT + MIC_EINPOS + EFPRABATTWERT + + + + + + + + + + + + + + Currency Discount + Währung Rabatt + + + true + String1..3 + + MIC_ALL_EAVPOS + EAPRABATTWAE + MIC_EINPOS + EFPRABATTWAE + + + + + + + + + + + + + + + + Addition IVAT/AdditionalCostsVAT can be added on invoice level + Zuschlag EUSt. + + + false + + + + + + + + + + + + + Manual Addition IVAT + Manueller Zuschlag EUSt. + + + true + Decimal(17,4) + + MIC_ALL_EAVPOS + EAPMANZUEUST + MIC_EINPOS + EFPMANZUEUST + + + + + + + + + + + + + + Currency Manual Addition IVAT + Währung Manueller Zuschlag EUSt. + + + true + String1..3 + + MIC_ALL_EAVPOS + EAPMANZUEUSTWAE + MIC_EINPOS + EFPMANZUEUSTWAE + + + + + + + + + + + + + + + + Additional costs can be added on all levels as additional part value components. They are pro-rated to the invoice lines as indicated. + + + + false + + 0-2 + + + + + + + + + + + + Add. Costs Type 1, Add. Costs Type 2/Additional cost type. The type is a description like ASSIST, REBATE, etc. + Art der Nebenkosten1, Art der Nebenkosten 2 + + + true + String1..10 + + + ___ABART1, ___ABART2 + + ___ABART1, ___ABART2 + + + + + + + + + + + + + + Value Additional Costs 1, Value Additional Costs 2/Additional cost amount. (negative amounts are possible for deductions). + Wert der Nebenkosten 1, Wert der Nebenkosten 2 + + + true + Decimal(17,4) + + + ___ABWRT1, ___ABWRT2 + + ___ABWRT1, ___ABWRT2 + + + + + + + + + + + + + + Currency Additional Costs 1,Currency Additional Costs 1/Iso currency code. + Währung Nebenkosten 1, Währung Nebenkosten 2 + + + true + String1..3 + + + ___ABWAE1, ___ABWAE2 + + ___ABWAE1, ___ABWAE2 + + + + + + + + + + + + + + Calculation Type of Insurance/Indicator for how the additional costs are pro-rated to the invoice lines. V=value based, Q=quantity based. + Berechnungsart der Versicherung + + + false + String1..1 + + + ___VERSKZ + + ___VERSKZ + + + + + + + + + + + + + + Additional attributes can be used to add customer specific fields to the module as customization. + + + + + + Attribute + Attribut + + + + + + + + + Attribute + Attribut + + + + + + + Attribute type + Adresstyp + + + true + String1..20 + + MIC_AVATTRIBUTE + AVATYP + MIC_ATTRIBUTE + ATRTYP + + + + + + + + + + + + + + Attribute text + Text + + + true + String1..2000 + + MIC_AVATTRIBUTE + AVATEXT + MIC_ATTRIBUTE + ATRTEXT + + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_AVATTRIBUTE + AVACREUSER + MIC_ATTRIBUTE + ATRCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_AVATTRIBUTE + AVACREDAT + MIC_ATTRIBUTE + ATRCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_AVATTRIBUTE + AVAUSER + MIC_ATTRIBUTE + ATRUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_AVATTRIBUTE + AVAUSEDAT + MIC_ATTRIBUTE + ATRUSEDAT + + + + + + + + + Business partner information + + + + + + Business partner + Geschaeftspartner + + + true + + + + + MIC_CUST_PARTNER + + + + + + + + + + Partner as address number, type and optional address details + + + + + + Address type + Adresstyp + + + true + String1..2 + + MIC_CUST_AVPARTNER + AVPTYP + MIC_CUST_PARTNER + PARTYP + + + + + + + + + + + + + + Address details + Adressdetails + + + true + + + MIC_CUST_AVPARTNER + addrNo:AVPNR, addrNoType:AVPNRTYP, addrName:AVPNAME1,AVPNAME2, addrStreet:AVPSTR1, addrLoc:AVPORT, addrCtry:AVPLD, addrState:AVPREGION, addrZip:AVPPLZ, addrTin:AVPTIN, addrEori:AVPEORI, partnerRelation:AVPKVB, addrDistrict:AVPORTSTEIL, addrBranchNo:AVPBRANCHNO, email:AVPSACHMAIL, addrVatNumber:AVPVATNUMBER + MIC_CUST_PARTNER + addrNo:PARNR, addrNoType:PARNRTYP, addrName:PARNAME1,PARNAME2, addrStreet:PARSTR1, addrLoc:PARORT, addrCtry:PARLD, addrState:PARREGION, addrZip:PARPLZ, addrTin:PARTIN, addrEori:PAREORI, partnerRelation:PARKVB, addrDistrict:PARORTSTEIL, addrBranchNo:PARBRANCHNO, email:PARSACHMAIL, addrVatNumber:PARVATNUMBER + + + + + + + + Related party indicator + Verbundenheit + + + false + String1..1 + + MIC_CUST_AVPARTNER + AVPKVB + MIC_CUST_PARTNER + PARKVB + + + + + + + + + + + + + Additional information + Zusätzliche Angaben + + + false + String1..50 + + MIC_CUST_AVPARTNER + AVPINFO + MIC_CUST_PARTNER + PARINFO + + + + + + + + + + + + + Contact Phone Number + Kontakt Telefonnummer + + + false + String1..40 + + MIC_CUST_AVPARTNER + AVPTELNR + MIC_CUST_PARTNER + PARTELNR + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_CUST_AVPARTNER + AVPCREUSER + MIC_CUST_PARTNER + PARCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_CUST_AVPARTNER + AVPCREDAT + MIC_CUST_PARTNER + PARCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_CUST_AVPARTNER + AVPUSEDAT + MIC_CUST_PARTNER + PARUSEDAT + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_CUST_AVPARTNER + AVPUSER + MIC_CUST_PARTNER + PARUSER + + + + + + + + + Container + + + + + + This is not mapped for shipment. Container/Indicator whether this is a containerized shipment. 1=yes, 0=no. + Container + + + false + String1..1 + + + ___CON + + ___CON + + + + + + + + + + + + + Number of Containers + Containernummern + + + false + String1..20 + + + ___CONTNO + + ___CONTNR + + + + + + + + + + + + + Container type + Containertyp + + + false + String1..10 + + + ___CONTTYP + + ___REFTYP + + + + + + + + + + + + + This is not mapped for shipment. Container/Indicator whether this is a containerized shipment. 1=yes, 0=no. + Container + + + false + String1..1 + + + ___CONTLCL + + ___CONTLCL + + + + + + + + + + + + + + List of Detail container infos + + + + + + Container information + Containerdaten + + + true + + + + + MIC_CUST_CONT + + + + + + + + + + Detail container info + + + + + + Number of Containers + Containernummern + + + true + String1..17 + + MIC_CUST_AVCONT + COACONTNR + MIC_CUST_CONT + CONCONTNR + + + + + + + + + + + + + Number of seal container + Siegelnummer + + + true + String1..20 + + MIC_CUST_AVCONT + COASEALNR + MIC_CUST_CONT + CONSEALNR + + + + + + + + + + + + + Container packages + Anzahl Packstücke im Container + + + false + Decimal(6) + + not mapped + + + + + + + + + + + + + + + + + Container gross weight + Bruttogewicht ds Containers + + + false + Decimal(14,6) + + not mapped + + + + + + + + + + + + + + + + + Container net weight + Nettogewicht des Containers + + + false + Decimal(14,6) + + not mapped + + + + + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_CUST_AVCONT + COACREUSER + MIC_CUST_CONT + CONCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_CUST_AVCONT + COACREDAT + MIC_CUST_CONT + CONCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_CUST_AVCONT + COAUSER + MIC_CUST_CONT + CONUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_CUST_AVCONT + COAUSEDAT + MIC_CUST_CONT + CONUSEDAT + + + + + + + + + Address + + + + + + Address number + Adressnummer + String1..15 + + + + + + + + + + + + + Address number type + Adressnummerntyp + String1..10 + + + + + + + + + + + + Address name + Name + String1..40 + + + + + + + + + + Address street + Straße + String1..80 + + + + + + + + + + Address location + Ort + String1..80 + + + + + + + + + + Address country + Land + String1..3 + + + + + + + + + + Address state + Region + String1..10 + + + + + + + + + + Address zip code + Postleitzahl + String1..10 + + + + + + + + + + Trader identification number (TIN) + Zollnummer (TIN) + String1..17 + + + + + + + + + + Economic operator's registration and identification number (EORI) + Identifizierung des Wirtschaftsbeteiligten (EORI) + String1..17 + + + + + + + + + + + + Related party indicator + Verbundenheit + String1..1 + + + + + + + + + + + + Address district + Ortsteil + String1..35 + + + + + + + + + + + + Branch number + Niederlassungsnummer + String1..4 + + + + + + + + + + + + E-Mail + E-Mail + String1..256 + + + + + + + + + + + + VAT registration number + Umsatzsteuernummer + String1..20 + + + + + + + + + + + + + Address number + + + + + + + + Address name + + + + + + + + Address street + + + + + + + + Address postal code + + + + + + + + Address location + + + + + + + + Address country + + + + + + + + + Address state + + + + + + + + Address TIN + + + + + + + + Address national tin flag + + + + + + + + + Documents + + + + false + 1-n + + MIC_EINSDGDOC + + + + + + + + + + + Document + Unterlage + + + true + + + MIC_EINSDGDOC + + + + + + + + + + + + + + + Document number + Unterlagennummer + + + true + String1..35 + + MIC_EINSDGDOC + ESDNR + MIC_EINSDGDOC + ESDNR + + + + + + + + + + + + + + Document date + Datum der Unterlage + + + true + xs:date + + MIC_EINSDGDOC + ESDDAT + MIC_EINSDGDOC + ESDDAT + + + + + + + + Type of identification + Art der Identifikation + + + true + String1..6 + + MIC_EINSDGDOC + ESDART + MIC_EINSDGDOC + ESDART + + + + + + + + + + + + + + Document qualification + Qualifikation + + + false + String1..3 + + MIC_EINSDGDOC + ESDQUAL + MIC_EINSDGDOC + ESDQUAL + + + + + + + + + + + + + Document vaid from date + Gültig von + + + false + xs:date + + MIC_EINSDGDOC + ESDAVAILDAT + MIC_EINSDGDOC + ESDAVAILDAT + + + + + + + + Document valid to date + Gültig bis + + + false + xs:date + + MIC_EINSDGDOC + ESDENDDAT + MIC_EINSDGDOC + ESDENDDAT + + + + + + + + Additional text of document + Zusatzinformation + + + false + String1..35 + + MIC_EINSDGDOC + ESDINFO + MIC_EINSDGDOC + ESDINFO + + + + + + + + + + + + + Quantity + Menge + + + false + Decimal(13,4) + + MIC_EINSDGDOC + ESDMENGE + MIC_EINSDGDOC + ESDMENGE + + + + + + + + + + + + + + Unit write-off quantity + Einheit der Abschreibungsmenge + + + false + String1..4 + + MIC_EINSDGDOC + ESDABMEH2 + MIC_EINSDGDOC + ESDABMEH2 + + + + + + + + + + + + + Value + Wert + + + false + Number(16,6) + + MIC_EINSDGDOC + ESDWERT + MIC_EINSDGDOC + ESDWERT + + + + + + + + + + + + + + Category + Bereich + + + false + String1..8 + + MIC_EINSDGDOC + ESDBEREICH + MIC_EINSDGDOC + ESDBEREICH + + + + + + + + + + + + + Write-off Quantity + Abschreibungsmenge + + + false + Decimal(16,7) + + MIC_EINSDGDOC + ESDABMENGE + MIC_EINSDGDOC + ESDABMENGE + + + + + + + + + + + + + + Issuer country + Ausstellerland + + + false + String1..3 + + MIC_EINSDGDOC + ESDAUSSTELLERLD + MIC_EINSDGDOC + ESDAUSSTELLERLD + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_EINSDGDOC + ESDCREUSER + MIC_EINSDGDOC + ESDCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_EINSDGDOC + ESDCREDAT + MIC_EINSDGDOC + ESDCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_EINSDGDOC + ESDUSER + MIC_EINSDGDOC + ESDUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_EINSDGDOC + ESDUSEDAT + MIC_EINSDGDOC + ESDUSEDAT + + + + + + + + + + Delivery terms + + + + false + + + + + + + + + + + + + + Term of Delivery + Lieferbedingung + + + true + String1..4 + + MIC_ALL_EAVKOP + EAKELICODE + MIC_EINKOP + EFKELICODE + + + + + + + + + + + + + + Place of the Terms of Delivery + Ort der Lieferbedingung + + + false + String1..35 + + MIC_ALL_EAVKOP + EAKELIBEZ + MIC_EINKOP + EFKELIBEZ + + + + + + + + + + + + + Calculation of Freight Costs + Frachtkostenberechnung + + + false + String1..4 + + MIC_ALL_EAVKOP + EAKELIFORMULA + MIC_EINKOP + EFKELIFORMULA + + + + + + + + + + + + + The terms of delivery code 2 + Lieferbedingung 2 + + + false + String1..2 + + MIC_ALL_EAVKOP + EAKELICOD2 + MIC_EINKOP + EFKELICOD2 + + + + + + + + + + + + + + + Item + + + + true + + + + + + + + + + + + + + Part Number + Artikelnummer + + + false + String1..30 + + EAVPOS + EAPARTNR + EINPOS + EFPARTNR + + + + + + + + + + + + + + Part Description + Warenbezeichnung + + + false + String1..240 + + EAVPOS + EAPARTBEZ + EINPOS + EFPARTBEZ + + + + + + + + + + + + + + Serial Number + Seriennummer + + + false + String1..30 + + EAVPOS + EAPSERNR + EINPOS + EFPSERNR + + + + + + + + + + + + + + Product Family + Produktgruppe + + + false + String1..10 + + EAVPOS + EAPPRODGR + EINPOS + EFPPRODGR + + + + + + + + + + + + + + Model + Modell + + + false + String1..400 + + MIC_ALL_EAVPOS + EAPMODEL + MIC_EINPOS + EFPMODEL + + + + + + + + + + + + + + Brand + Marke + + + false + String1..400 + + MIC_ALL_EAVPOS + EAPBRAND + MIC_EINPOS + EFPBRAND + + + + + + + + + + + + + + Manufacturer + Hersteller + + + false + String1..15 + + MIC_ALL_EAVPOS + EAPMFRNR + MIC_EINPOS + EFPMFRNR + + + + + + + + + + + + + + CTO Number + CTO Nummer + + + false + String1..41 + + MIC_ALL_EAVPOS + EAPGTCTOID + MIC_EINPOS + EFPGTCTOID + + + + + + + + + + + + + + Confidence Level + Tariffierungskennzeichen + + + false + Long 5 + + MIC_ALL_EAVPOS + EAPCONFIDENCELEVEL + MIC_EINPOS + EFPCONFIDENCELEVEL + + + + + + + + + + + Product Category + Warengruppe + + + false + String1..1 + + MIC_ALL_EAVPOS + EAPWG + MIC_EINPOS + EFPWG + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + Package + + + + false + + + + + + + + + + + + + + Number of Packages + Anzahl Packstücke + + + true + Decimal(6) + + MIC_ALL_EAVPOS + EAPKOLANZ + MIC_EINPOS + EFPKOLANZ + + + + + + + + + + + + + + Package Description + Packstückbezeichnung + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPKOLLIART + MIC_EINPOS + EFPKOLLIART + + + + + + + + + + + + + Package Type + Packstückart + + + false + String1..25 + + MIC_ALL_EAVPOS + EAPKOLART + MIC_EINPOS + EFPKOLART + + + + + + + + + + + + + + + Receipt + + + + false + + + + + + + + + + + + + + Goods Receipt Number + Wareneingangsnummer + + + false + String1..15 + + MIC_ALL_EAVPOS + EAPWENR + MIC_EINPOS + EFPWENR + + + + + + + + + + + + + The goods receipt date. + Wareneingangsdatum + + + false + xs:date + + MIC_ALL_EAVPOS + EAPWEDAT + MIC_EINPOS + EFPWEDAT + + + + + + + + + + Bill of material + + + + false + + + + + + + + + + + + + + Bill of Materials + Stückliste + + + false + String1..40 + + MIC_ALL_EAVPOS + EAPREZNR + MIC_EINPOS + EFPREZNR + + + + + + + + + + + + + + BoM Variant + Stücklistenvariante + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPREZVAR + MIC_EINPOS + EFPREZVAR + + + + + + + + + + + + + + + + Bill of material + + + + false + + + + + + + + + + + + + + Due Group 1 + Abgabengruppe 1 + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPEFAAGRPVV1 + MIC_EINPOS + EFPEFAAGRPVV1 + + + + + + + + + + + + + Reduction Amount 1 + Minderungsbetrag 1 + + + false + Decimal(11,2) + + MIC_ALL_EAVPOS + EAPEFAMBPV1 + MIC_EINPOS + EFPEFAMBPV1 + + + + + + + + + + + + + + Due Group 2 + Abgabengruppe 2 + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPEFAAGRPVV2 + MIC_EINPOS + EFPEFAAGRPVV2 + + + + + + + + + + + + + Reduction Amount 2 + Minderungsbetrag 2 + + + false + Decimal(11,2) + + MIC_ALL_EAVPOS + EAPEFAMBPV2 + MIC_EINPOS + EFPEFAMBPV2 + + + + + + + + + + + + + + Due Group 3 + Abgabengruppe 3 + + + false + String1..2 + + MIC_ALL_EAVPOS + EAPEFAAGRPVV3 + MIC_EINPOS + EFPEFAAGRPVV3 + + + + + + + + + + + + + Reduction Amount 3 + Minderungsbetrag 3 + + + false + Decimal(11,2) + + MIC_ALL_EAVPOS + EAPEFAMBPV3 + MIC_EINPOS + EFPEFAMBPV3 + + + + + + + + + + + + + + + Previous documents + + + + + + Previous document + Vorpapier + + + true + + + + + MIC_EINDOC + + + + + + + + + + + + + Previous Document Type + Art des Vorpapiers + + + true + String1..9 + + MIC_EAVDOC + EADVSSART + MIC_EINDOC + EFDVSSART + + + + + + + + + + + + + Previous Document Number + Vorpapiernummer + + + true + String1..24 + + MIC_EAVDOC + EADVSSNR + MIC_EINDOC + EFDVSSNR + + + + + + + + + + + + + Previous document date + Vorpapierdatum + + + true + xs:date + + MIC_EAVDOC + EADVSSDAT + MIC_EINDOC + EFDVSSDAT + + + + + + + + Departure Customs Office + Abgang Zollstelle + + + false + String1..20 + + MIC_EAVDOC + EADABZOST + MIC_EINDOC + EFDABZOST + + + + + + + + + + + + + Destination Customs Office + Bestimmungszollstelle + + + false + String1..8 + + MIC_EAVDOC + EADZOST + MIC_EINDOC + EFDZOST + + + + + + + + + + + + + Category + Kategorie + + + false + String1..1 + + MIC_EAVDOC + EADTYP + MIC_EINDOC + EFDTYP + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_EAVDOC + EADCREUSER + MIC_EINDOC + EFDCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_EAVDOC + EADCREDAT + MIC_EINDOC + EFDCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_EAVDOC + EADUSER + MIC_EINDOC + EFDUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_EAVDOC + EADUSEDAT + MIC_EINDOC + EFDUSEDAT + + + + + + + + + + + + + + false + + + + + + + + + + + + + + Type of identification of transport on arrival + Art der Transportidentifikation bei Ankunft + + + false + String1..2 + + MIC_EAVSDG + EASVKZINIDENTIFICATIONTYPE + MIC_EINSDG + EFSVKZINIDENTIFICATIONTYPE + + + + + + + + + + + + + Declaration type + Kz. Nachrichtensteuerung + + + false + String1..1 + + MIC_EAVSDG + EASMESSVORZKZ + MIC_EINSDG + EFSMESSVORZKZ + + + + + + + + + + + + + + Data elements including payment information + + + + + + Payment Type + Zahlungsart + + + false + String1..1 + + MIC_ALL_EAVKOP + EAKPAYMENTTYPE + MIC_EINKOP + EFKPAYMENTTYPE + + + + + + + + + + + + + Payment Date + Zahlungstermin + + + false + xs:datetime + + MIC_ALL_EAVKOP + EAKPAYMENTDATE + MIC_EINKOP + EFKPAYMENTDATE + + + + + + + + + + + Payment Bank Code + Zahlungsbankleitzahl + + + false + String1..20 + + MIC_ALL_EAVKOP + EAKPAYMENTBANKCODE + MIC_EINKOP + EFKPAYMENTBANKCODE + + + + + + + + + + + + + Payment Bank Branch Code + Zahlung Bank Branch Code + + + false + String1..20 + + MIC_ALL_EAVKOP + EAKPAYMENTBANKBRANCHCODE + MIC_EINKOP + EFKPAYMENTBANKBRANCHCODE + + + + + + + + + + + + + Payment Currency + Zahlungswährung + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKPAYMENTCURRENCY + MIC_EINKOP + EFKPAYMENTCURRENCY + + + + + + + + + + + + + + Data elements including registration numbers + + + + + + CRN / Registration No. + Registriernummer Abfertigung + + + false + String1..35 + + MIC_ALL_EAVPOS + EAPMESSREGNR + MIC_EINPOS + EFPMESSREGNR + + + + + + + + + + + + + EGZ / Registration No. + Registriernummer EGZ + + + false + String1..35 + + MIC_ALL_EAVPOS + EAPMESSREGNR2 + MIC_EINPOS + EFPMESSREGNR2 + + + + + + + + + + + + + Registr. No. 3 + Registriernummer 3 + + + false + String1..35 + + MIC_ALL_EAVPOS + EAPMESSREGNR3 + MIC_EINPOS + EFPMESSREGNR3 + + + + + + + + + + + + + Registr. No. 4 + Registriernummer 4 + + + false + String1..35 + + MIC_ALL_EAVPOS + EAPMESSREGNR4 + MIC_EINPOS + EFPMESSREGNR4 + + + + + + + + + + + + + Message Ref Number 1 + Nachr.Referenz Abf. + + + false + String1..22 + + + + MIC_EINPOS + EFPMESSREFNR + + + + + + + + + + + + + Message Ref Number 2 + Nachr.Referenz EGZ + + + false + String1..52 + + + + MIC_EINPOS + EFPMESSREFNR2 + + + + + + + + + + + + + Message Ref Number 3 + Nachr.Referenz 3 + + + false + String1..22 + + + + MIC_EINPOS + EFPMESSREFNR3 + + + + + + + + + + + + + Position Number 1 + Positionnummer Abf. + + + false + Decimal(5) + + + + MIC_EINPOS + EFPMESSPOSNR1 + + + + + + + + + + + + + Position Number 2 + Positionsnummer EGZ. + + + false + Decimal(5) + + + + MIC_EINPOS + EFPMESSPOSNR2 + + + + + + + + + + + + + + + + + + + + + Duties - calculated by external system + + + + false + + 0-n + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + Type of Identification + Art der Identifikation + + + true + String1..3 + + MIC_CUST_WB_EXTDUTY + EXWTYPE + MIC_CUST_WB_EXTDUTY + EXWTYPE + + + + + + + + + + + + + Calculated Duty Base + + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWCALCDUTYBASE + MIC_CUST_WB_EXTDUTY + EXWCALCDUTYBASE + + + + + + + + + + + + + + Currency + + + + false + String1..3 + + MIC_CUST_WB_EXTDUTY + EXWCURRENCY + MIC_CUST_WB_EXTDUTY + EXWCURRENCY + + + + + + + + + + + + + Code + Code + + + false + String1..4 + + MIC_CUST_WB_EXTDUTY + EXWCODE + MIC_CUST_WB_EXTDUTY + EXWCODE + + + + + + + + + + + + + Rate + Satz + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWRATE + MIC_CUST_WB_EXTDUTY + EXWRATE + + + + + + + + + + + + + + Amount + Betrag + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWAMOUNT + MIC_CUST_WB_EXTDUTY + EXWAMOUNT + + + + + + + + + + + + + + Add deduct + Abzug hinzufügen + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWADDDEDUCT + MIC_CUST_WB_EXTDUTY + EXWADDDEDUCT + + + + + + + + + + + + + + Calculated Duty + + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWCALCDUTY + MIC_CUST_WB_EXTDUTY + EXWCALCDUTY + + + + + + + + + + + + + + Duty + + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWDUTY + MIC_CUST_WB_EXTDUTY + EXWDUTY + + + + + + + + + + + + + + Duty base + + + + false + Decimal(14,4) + + MIC_CUST_WB_EXTDUTY + EXWDUTYBASE + MIC_CUST_WB_EXTDUTY + EXWDUTYBASE + + + + + + + + + + + + + + Measure Code + + + + false + String1..4 + + MIC_CUST_WB_EXTDUTY + EXWMEASURECODE + MIC_CUST_WB_EXTDUTY + EXWMEASURECODE + + + + + + + + + + + + + Measure + + + + false + String1..100 + + MIC_CUST_WB_EXTDUTY + EXWMEASURE + MIC_CUST_WB_EXTDUTY + EXWMEASURE + + + + + + + + + + + + + Authority duty code + + + + false + String1..4 + + MIC_CUST_WB_EXTDUTY + EXWAUTHORITYDUTYCODE + MIC_CUST_WB_EXTDUTY + EXWAUTHORITYDUTYCODE + + + + + + + + + + + + + Territory + + + + false + String1..4 + + MIC_CUST_WB_EXTDUTY + EXWTERRITORY + MIC_CUST_WB_EXTDUTY + EXWTERRITORY + + + + + + + + + + + + + Type add Code + + + + false + String1..1 + + MIC_CUST_WB_EXTDUTY + EXWTYPEADDCODE + MIC_CUST_WB_EXTDUTY + EXWTYPEADDCODE + + + + + + + + + + + + + Number add code + + + + false + String1..3 + + MIC_CUST_WB_EXTDUTY + EXWNUMBERADDCODE + MIC_CUST_WB_EXTDUTY + EXWNUMBERADDCODE + + + + + + + + + + + + + Tariff rate quota + + + + false + String1..6 + + MIC_CUST_WB_EXTDUTY + EXWTARIFFRATEQUOTA + MIC_CUST_WB_EXTDUTY + EXWTARIFFRATEQUOTA + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_CUST_WB_EXTDUTY + EXWCREUSER + MIC_CUST_WB_EXTDUTY + EXWCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_CUST_WB_EXTDUTY + EXWCREDAT + MIC_CUST_WB_EXTDUTY + EXWCREDAT + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_CUST_WB_EXTDUTY + EXWUSER + MIC_CUST_WB_EXTDUTY + EXWUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_CUST_WB_EXTDUTY + EXWUSEDAT + MIC_CUST_WB_EXTDUTY + EXWUSEDAT + + + + + + + + + + + + + + + + true + + + MIC_EINABG + + + + + + + + + + + + + + + Type + Abgabenart + + + true + String1..6 + + + + MIC_EINABG + EFAABART + + + + + + + + + + + + + Code + Code + + + true + String1..4 + + + + MIC_EINABG + EFACODE + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + true + Decimal(16,4) + + + + MIC_EINABG + EFAABGABE + + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + false + Decimal(16,4) + + + + MIC_EINABG + EFAABGABEZW + + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + false + String1..1 + + + + MIC_EINABG + EFAANLKZ + + + + + + + + + + + + + Unit + Einheit + + + false + String1..4 + + + + MIC_EINABG + EFABEMEH + + + + + + + + + + + + + Base + ATLAS Bemessungsgrundlage + + + false + Decimal(16,4) + + + + MIC_EINABG + EFABEMESSG + + + + + + + + + + + + + + Base + ATLAS Bemessungsgrundlage + + + false + String1..2 + + + + MIC_EINABG + EFACTRY + + + + + + + + + + + + + Calculated Duty + Abgabe + + + false + Decimal(16,4) + + + + MIC_EINABG + EFAERRABGABE + + + + + + + + + + + + + + Calculation Base + Bemessungsgrundlage + + + false + Decimal(16,4) + + + + MIC_EINABG + EFAERRBEMESSG + + + + + + + + + + + + + + Area Code + + + + false + String1..4 + + + + MIC_EINABG + EFAGEOGRGEBID + + + + + + + + + + + + + Measure + Massnahmenart + + + false + String1..6 + + + + MIC_EINABG + EFAMASSN + + + + + + + + + + + + + Measure + Massnahmenart + + + false + String1..4 + + + + MIC_EINABG + EFAOFFCODE + + + + + + + + + + + + + Indenture Number + + + + false + String1..6 + + + + MIC_EINABG + EFAORDNUNGSNR + + + + + + + + + + + + + Rate + Satz + + + false + Decimal(16,4) + + + + MIC_EINABG + EFASATZ + + + + + + + + + + + + + + Cancellation Flag + Storno + + + false + String1..1 + + + + MIC_EINABG + EFASTORNO + + + + + + + + + + + + + Duty amount increase or decrease + + + + false + Decimal(16,4) + + + + MIC_EINABG + EFAZUAB + + + + + + + + + + + + + + Type of additional code + + + + false + String1..1 + + + + MIC_EINABG + EFAZUSCDART + + + + + + + + + + + + + Number of additional code + + + + false + String1..3 + + + + MIC_EINABG + EFAZUSCDNR + + + + + + + + + + + + + Calculated duty rate + + + + false + Decimal(16,4) + + + + MIC_EINABG + EFAERRSATZ + + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + + + MIC_EINABG + EFACREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + + + MIC_EINABG + EFACREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + + + MIC_EINABG + EFAUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + + + MIC_EINABG + EFAUSEDAT + + + + + + + + + + + + + + + + true + + + + + MIC_CUST_DUTY_SAVING + + + + + + + + + + + + + Type + Abgabenart + + + false + String1..6 + + + + MIC_CUST_DUTY_SAVING + CDSDUTYTYPE + + + + + + + + + + + + + Code + Code + + + false + String1..4 + + + + MIC_CUST_DUTY_SAVING + CDSCODE + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSDUTY + + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSDUTYZW + + + + + + + + + + + + + + "A" for automatically created, "M" for manually created + Erstellungs KZ + + + false + String1..1 + + + + MIC_CUST_DUTY_SAVING + CDSCREATIONFLAG + + + + + + + + + + + + + Unit + Einheit + + + false + String1..4 + + + + MIC_CUST_DUTY_SAVING + CDSCALCBASEUNIT + + + + + + + + + + + + + Base + ATLAS Bemessungsgrundlage + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSCALCBASE + + + + + + + + + + + + + + Base + ATLAS Bemessungsgrundlage + + + false + String1..2 + + + + MIC_CUST_DUTY_SAVING + CDSCTRY + + + + + + + + + + + + + Duty + ATLAS Abgabe + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSCALCULATEDDUTY + + + + + + + + + + + + + + Base + ATLAS Bemessungsgrundlage + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSCALCULATEDCALCBASE + + + + + + + + + + + + + + Measure + Massnahmenart + + + false + String1..6 + + + + MIC_CUST_DUTY_SAVING + CDSMEASURE + + + + + + + + + + + + + Rate + Satz + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSRATE + + + + + + + + + + + + + + Addition + Zusatz + + + false + Decimal(16,4) + + + + MIC_CUST_DUTY_SAVING + CDSADDITION + + + + + + + + + + + + + + Preferential flag + Präferenziell + + + false + String1..1 + + + + MIC_CUST_DUTY_SAVING + CDSPREFERENTIAL + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + + + MIC_CUST_DUTY_SAVING + CDSCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + + + MIC_CUST_DUTY_SAVING + CDSCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + + + MIC_CUST_DUTY_SAVING + CDSUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + + + MIC_CUST_DUTY_SAVING + CDSUSEDAT + + + + + + + + + + + Container ID .mapped by 'eseconid' + + + + + + + + + + Validierungskennzeichen.mapped by 'esevalidkz' + + + + + + + + + + Storno.mapped by 'esestorno' + + + + + + + + + + Zeichen des angebrachten Verschlusses laut Versandanmeldung.mapped by 'esezeichensoll' + + + + + + + + + + Tatsächliches Zeichen des angebrachten Verschlusses..mapped by 'esezeichenist' + + + + + + + + + + + + + + + Company + Mandant + + + true + String1..2 + + MIC_ALL_EAVKOP + EAKMANDANT + + + + + + + + + + + + + + + Plant + Werk + + + true + String1..2 + + MIC_ALL_EAVKOP + EAKWERK + + + + + + + + + + + + + + + Type + + + + false + String1..1 + + MIC_ALL_EAVKOP + EAKTYP + + + + + + + + + + + + + + + The invoice number. + Rechnungsnummer + + + true + String1..30 + + MIC_ALL_EAVKOP + EAKFAKTNR + + + + + + + + + + + + + + + + An unique version id. + + + + false + String1..50 + + MIC_ALL_EAVKOP + EAKVERSION + + + + + + + + + + + + + + + The invoice date. + Rechnungsdatum + + + false + xs:date + + MIC_ALL_EAVKOP + EAKFAKTDAT + + + + + + + + + + + + + + + Customs date + + + + false + xs:dateTime + + MIC_ALL_EAVKOP + EAKVZDAT + + + + + + + + + + + + + Dispatch country + + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKHELD + + + + + + + + + + + + + + + Last dispatch country + + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKLEHELD + + + + + + + + + + + + + + + Destination place + + + + false + String1..20 + + MIC_ALL_EAVKOP + EAKBSTORT + + + + + + + + + + + + + + + Destination region + + + + false + String1..2 + + MIC_ALL_EAVKOP + destinationRegion + + + + + + + + + + + + + + + Office entry + + + + false + String1..8 + + MIC_ALL_EAVKOP + EAKEINZOST + + + + + + + + + + + + + + + + + The mode of transportation at the border. +EAKVKZGR +EAKVKMART +EAKVKML +EAKVKMGRK +EAKVKMINBEZ + + + + + The inland mode of transport information +EAKVKZIN +EAKVKMINK +EAKVKMINK + + + + + + + + + + false + + + MIC_EAVSDG + EAK___ + + + + + + + + + + PreviousDocument + + + + + + + Previous doc type + Art des Vorpapiers + + + true + String1..3 + + MIC_ALL_EAVKOP + EAKVSSART + + + + + + + + + + + + + + + Previous doc number + Vorpapiernummer + + + true + String1..18 + + MIC_ALL_EAVKOP + EAKVSSNR + + + + + + + + + + + + + + + Previous doc date + Vorpapierdatum + + + true + xs:date + + MIC_EAVDOC + EADVSSDAT + + + + + + + + + + + + + + + + + + Shipment attributes + Rechnungsattribute + + + false + + 1-n + + + + + + + + + + + Business partner information + + + + + + + Invoice lines + Rechnungspositionen + + + true + + 1-n + + + + + + + + + + + + + + + + + Invoice type + Rechnungstyp + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKFAKTTYP + MIC_EINKOP + EFKFAKTTYP + + + + + + + + + + + + + The contract date. + Vertragsdatum + + + false + xs:date + + MIC_ALL_EAVKOP + EAKDATVTG + MIC_EINKOP + EFKDATVTG + + + + + + + + Country of Trade + Handelsland + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKHALD + MIC_EINKOP + EFKHALD + + + + + + + + + + + + + Supplier + Lieferant + + + false + + + MIC_ALL_EAVKOP + addrNo:EAKLFRNR, addrName:EAKLFRNM1,EAKLFRNM2, addrStreet:EAKLFRSTR, addrLoc:EAKLFRORT, addrCtry:EAKLFRLD, addrState:EAKLFRREGION, addrZip:EAKLFRPLZ, addrTin:EAKLFRTIN, addrEori:EAKLFREORI, partnerRelation:EAKLFRREL, addrDistrict:not mapped + + + + + + + + + + Gross Weight (kg) + Rohmasse (kg) + + + false + Decimal(17,4) + + MIC_ALL_EAVKOP + EAKROHMAS + MIC_EINKOP + EFKROHMAS + + + + + + + + + + + + + + Net Weight (kg)/The net weight of this invoice (sum of all invoice line net weights). + Eigenmasse (kg) + + + false + Decimal(15,6) + + MIC_ALL_EAVKOP + EAKGEWSUM + MIC_EINKOP + EFKGEWSUM + + + + + + + + + + + + + + Invoice Value/The total invoice value. + Rechnungswert + + + false + Decimal(17,4) + + MIC_ALL_EAVKOP + EAKLIEWERT + MIC_EINKOP + EFKLIEWERT + + + + + + + + + + + + + + Currency Invoice/The invoice currency as ISO currency code. + Währung Rechnung + + + false + String1..3 + + MIC_ALL_EAVKOP + EAKLIEWAE + MIC_EINKOP + EFKLIEWAE + + + + + + + + + + + + + Delivery terms + + + + false + + + + + + + + + + + + + + Rebate + Rabatt/Nachlass + + + false + + + + + + + + + + + + + + Discount/Discount for invoice value. + Skonto + + + false + Decimal(5,2) + + MIC_ALL_EAVKOP + EAKSKONTO + MIC_EINKOP + EFKSKONTO + + + + + + + + + + + + + + Additional costs can be added on all levels as additional part value components. They are pro-rated to the invoice lines as indicated. + + + + false + + 0-2 + MIC_ALL_EAVKOP + EAK___ + MIC_EINKOP + EFK___ + + + + + + + + Position additions/Additional remarks and information + Zusätzliche Angaben + + + false + String1..80 + + MIC_ALL_EAVKOP + EAKINFO + MIC_EINKOP + EFKINFO + + + + + + + + + + + + + Position additions/Additional remarks and information 2 + Zusätzliche Angaben 2 + + + false + String1..80 + + MIC_ALL_EAVKOP + EAKINFO2 + MIC_EINKOP + EAKINFO2 + + + + + + + + + + + + + Invoice freight costs + Sendungsfrachtkosten + + + + + + + + + + + + + + + Reference Number + Referenznummer + + + false + String1..30 + + MIC_ALL_EAVKOP + EAKREFNR + MIC_EINKOP + EFKREFNR + + + + + + + + + + + + + Transport Number + Transportnummer + + + false + String1..20 + + MIC_ALL_EAVKOP + EAKTRANSPNR + MIC_EINKOP + EFKTRANSPNR + + + + + + + + + + + + + Type of Transport + Art des Transports + + + false + String1..10 + + MIC_ALL_EAVKOP + EAKTRANSPTYP + MIC_EINKOP + EFKTRANSPTYP + + + + + + + + + + + + + Acceptance Date + Datum der Annahme (ZiA) + + + false + xs:date + + MIC_ALL_EAVKOP + EAKANNAHMEDAT + MIC_EINSDG + EFSANNAHMEDAT + + + + + + + + Release Date + Datum der Überlassung (ZiA) + + + false + xs:date + + MIC_ALL_EAVKOP + EAKUEBERLASSDAT + MIC_EINSDG + EFSUEBERLASSDAT + + + + + + + + Frist (ZiA) + Term of Application + + + false + xs:date + + MIC_ALL_EAVKOP + EAKFRIST + MIC_EINSDG + EFSFRIST + + + + + + + + Customs Register Number + Registriernummer (ZiA) + + + false + String1..35 + + MIC_ALL_EAVKOP + EAKREGNR + MIC_EINSDG + EFSREGNR + + + + + + + + + + + + + Seal number + Verschlussnummer + + + false + String1..50 + + MIC_ALL_EAVKOP + EAKPLOMBE + MIC_EINKOP + EFKPLOMBE + + + + + + + + + + + + + Bill of lading + Konnossement / Frachtbrief + + + false + String1..20 + + MIC_ALL_EAVKOP + EAKBOL + MIC_EINKOP + EFKBOL + + + + + + + + + + + + + Number of Packages + Anzahl Packstücke + + + false + Decimal(6) + + MIC_ALL_EAVKOP + EAKKOLANZ + MIC_EINKOP + EFKKOLANZ + + + + + + + + + + + + + + Package Type + Packstückart + + + false + String1..15 + + MIC_ALL_EAVKOP + EAKKOLART + MIC_EINKOP + EFKKOLART + + + + + + + + + + + + + Buyer + Käufer + + + false + String1..15 + + MIC_ALL_EAVKOP + EAKKAUFNR + MIC_EINKOP + EFKKAUFNR + + + + + + + + + + + + + Consignee + Empfänger + + + false + String1..15 + + MIC_ALL_EAVKOP + EAKEMPNR + MIC_EINKOP + EFKEMPNR + + + + + + + + + + + + Data elements including payment information + + + + + + Customer specific fields + Kundenspezifische Felder + + + false + + + MIC_ALL_EAVKOP + EAK___ + MIC_EINKOP + EFK___ + + + + + + + + Seller + Verkäufer + + + false + + + MIC_ALL_EAVKOP + addrNo:EAKSELLERNR, addrName:EAKSELLERNAME1,EAKSELLERNAME2, addrStreet:EAKSELLERSTREET, addrLoc:EAKSELLERPLACE, addrCtry:EAKSELLERCTRY, addrState:EAKORT, addrZip:EAKSELLERZIP, addrTin:EAKSELLERTIN, addrEori:EAKSELLEREORI, partnerRelation:EAKSELLERKVB, addrDistrict:not mapped, addrBranchNo:EAKSELLERBRANCHNO + + + + + + + + + + Exchange Rate + Wechselkurs + + + false + Decimal + + MIC_ALL_EAVKOP + EAKKURS + MIC_EINKOP + EFKKURS + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_ALL_EAVKOP + EAKCREUSER + MIC_EINKOP + EFKCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_ALL_EAVKOP + EAKCREADAT + MIC_EINKOP + EFKCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_ALL_EAVKOP + EAKUSER + MIC_EINKOP + EFKUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_ALL_EAVKOP + EAKUSEDAT + MIC_EINKOP + EFKUSEDAT + + + + + + + + + + + + false + + + MIC_ALL_EAVKOP + EAK___ + MIC_EINKOP + EFK___ + + + + + + + + + + Mapping to table MIC_CUST_WB_ATLAS_COMP_SUMD + + + + + + Completion parts + Beendigunsgsanteile + + + true + + + + + MIC_ATLAS_COMPLETION_SUMD + + + + + + + + + + + + + + Type of Identification + Art der Identifikation + + + false + String1..3 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSIDTYPE + MIC_ATLAS_COMPLETION_SUMD + ACSIDTYPE + + + + + + + + + + + + + Quantity + Stückzahl + + + false + xs:long 5 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSQUANTITY + MIC_ATLAS_COMPLETION_SUMD + ACSQUANTITY + + + + + + + + + + + + + Package Type + Packstückart + + + false + String1..2 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSPACKAGETYPE + MIC_ATLAS_COMPLETION_SUMD + ACSPACKAGETYPE + + + + + + + + + + + + + Customs Register Number + Registriernummer (ZiA) + + + false + String1..21 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSREGNR + MIC_ATLAS_COMPLETION_SUMD + ACSREGNR + + + + + + + + + + + + + Position Number + Positionsnummer + + + false + xs:long 4 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSPOSNR + MIC_ATLAS_COMPLETION_SUMD + ACSPOSNR + + + + + + + + + + + + + Depository + Verwahrer + + + false + String1..17 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSDEPOSITOR + MIC_ATLAS_COMPLETION_SUMD + ACSDEPOSITOR + + + + + + + + + + + + + Type of specific defining argument + Art des spezifischen Ordnungsbegriffs + + + false + String1..3 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSSPECDEFTYPE + MIC_ATLAS_COMPLETION_SUMD + ACSSPECDEFTYPE + + + + + + + + + + + + + Specific defining argument + Spezifischer Ordnungsbegriff + + + false + String1..44 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSSPECDEFARG + MIC_ATLAS_COMPLETION_SUMD + ACSSPECDEFARG + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSCREUSER + MIC_ATLAS_COMPLETION_SUMD + ACSCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSCREDAT + MIC_ATLAS_COMPLETION_SUMD + EFDCREDAT + + + + + + + + Modified by + Geändert von + + + false + String1..12 + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSUSER + MIC_ATLAS_COMPLETION_SUMD + ACSUSER + + + + + + + + Modified on + Geändert am + + + false + Xs:datetime + + MIC_CUST_WB_ATLAS_COMP_SUMD + ECSUSEDAT + MIC_ATLAS_COMPLETION_SUMD + ACSUSEDAT + + + + + + + + + + Invoice line previous document references + Positionsbeendigungsanteile Vorpapiere + + + + + + + Previous document reference + Beendigungsanteil Vorpapier + + + true + + 1-n + MIC_CUST_AVBEENDIGUNG + + + + + + + + + + + + + + Reference previous procedures + + + + + + + Reference type + Art des BE-Anteils + + + false + String1..3 + + MIC_CUST_AVBEENDIGUNG + MCBART + + + + + + + + + + + + + + + Reference number + Bezugsnummer + + + false + String1..35 + + MIC_CUST_AVBEENDIGUNG + MCBBEZUGNR + + + + + + + + + + + + + + + Authorization number + Bewilligungsnummer + + + false + String1..35 + + MIC_CUST_AVBEENDIGUNG + MCBBEWILLNR + + + + + + + + + + + + + + + Registration number + Registriernummer Zugang + + + false + String1..36 + + MIC_CUST_AVBEENDIGUNG + MCBREGNR + + + + + + + + + + + + + + + Position number + Positionsnummer Zugang + + + false + Long 5 + + MIC_CUST_AVBEENDIGUNG + MCBZUGPOSNR + + + + + + + + + + + + + + + Part number + Artikelnummer + + + false + String1..30 + + MIC_CUST_AVBEENDIGUNG + MCBARTNR + + + + + + + + + + + + + + + Tariff number + Tarifnummer + + + false + String1..13 + + MIC_CUST_AVBEENDIGUNG + MCBTARNR + + + + + + + + + + + + + + + Trade quantity + Handelsmenge + + + false + Decimal(12,3) + + MIC_CUST_AVBEENDIGUNG + MCBHMENGE + + + + + + + + + + + + + + + + Trade unit of measurement + Handelsmengeneinheit + + + false + String1..3 + + MIC_CUST_AVBEENDIGUNG + MCBHMEH + + + + + + + + + + + + + + + Trade qualifier + Handelsqualifikator + + + false + String1..1 + + MIC_CUST_AVBEENDIGUNG + MCBHQUAL + + + + + + + + + + + + + + + Deduction quantity + Abbuchungsmenge + + + false + Decimal(12,3) + + MIC_CUST_AVBEENDIGUNG + MCBMENGE + + + + + + + + + + + + + + + + Deduction unit of measurement + Abbuchungsmengeneinheit + + + false + String1..3 + + MIC_CUST_AVBEENDIGUNG + MCBMEH + + + + + + + + + + + + + + + Deduction qualifier + Abbuchungsqualifikator + + + false + String1..1 + + MIC_CUST_AVBEENDIGUNG + MCBQUAL + + + + + + + + + + + + + + + Additional information + Zusatzinformation + + + false + String1..4000 + + MIC_CUST_AVBEENDIGUNG + MCBINFO + + + + + + + + + + + + + + + Normal treatment flag + Kennzeichen Normales Verfahren + + + false + xs:boolean + + MIC_CUST_AVBEENDIGUNG + MCBKZUEBLBEH + + + + + + + + + + Atlas flag + ATLAS Kennzeichen + + + false + xs:boolean + + MIC_CUST_AVBEENDIGUNG + MCBKZATLAS + + + + + + + + + + Customs number + Zollnummer + + + false + String1..17 + + MIC_CUST_AVBEENDIGUNG + MCBZNRAB + + + + + + + + + + + + + + + Statistical quantity + Statistiche Menge + + + false + Decimal(13,3) + + MIC_CUST_AVBEENDIGUNG + MCBBESM + + + + + + + + + + + + + + + + Net mass + Eigenmasse (kg) + + + false + Decimal(13,4) + + MIC_CUST_AVBEENDIGUNG + MCBEIGMAS + + + + + + + + + + + + + + + + Gross mass + Rohmasse (kg) + + + false + Decimal(13,4) + + MIC_CUST_AVBEENDIGUNG + MCBROHMAS + + + + + + + + + + + + + + + + Package quantity + Packstückanzahl + + + false + Decimal + + MIC_CUST_AVBEENDIGUNG + MCBKOLANZ + + + + + + + + + + Simple IPR application flag + Kennzeichen einfache Bewilligung für aktive Veredelung + + + false + xs:boolean + + MIC_CUST_AVBEENDIGUNG + MCBSIMPLEIPRAPPLICATION + + + + + + + + + + Supervising office + Überwachungszollstelle + + + false + String1..8 + + MIC_CUST_AVBEENDIGUNG + MCBSUPERVISINGOFFICE + + + + + + + + + + + + + + + + Customer-specific fields + + + + + + Customer-specific text field + Kundenspezifischer Text + + + false + + + + ___TEXT___ + KEY + + ___TEXT___ + KEY + + + + + + + + Customer-specific date field + Kundenspezifisches Datum + + + false + + + + ___DATE___ + KEY + + ___DATE___ + KEY + + + + + + + + Customer-specific boolean field + Kundenspezifischer boolscher Wert + + + false + + + + ___FLAG___ + KEY + + ___FLAG___ + KEY + + + + + + + + Customer-specific number field + Kundenspezifischer numerische Wert + + + false + + + + ___NUMBER___ + KEY + + ___NUMBER___ + KEY + + + + + + + + + + + + + + + + + Number of Customer Specific Item: 1-10 on Shipment and Invoice; 1-15 on line + Nummer vom Kundenspezifischen Feld: 1-10 auf Sendung und Rechnung; 1-15 auf Line + + + false + Number + + + + + + + + + + + + + Value of Customer Specific Item + Wert vom Kundespezifache Feld + + + false + String1..400 + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of Customer Specific Item: 1-10 on Shipment and Invoice; 1-15 on line + Nummer vom Kundenspezifischen Feld: 1-10 auf Sendung und Rechnung; 1-15 auf Line + + + false + Number + + + + + + + + + + + + + Number of Customer Specific Item: 1-10 on Shipment and Invoice; 1-15 on line + Nummer vom Kundenspezifischen Feld: 1-10 auf Sendung und Rechnung; 1-15 auf Line + + + false + Number(15,4) + + + + + + + + + + + + + + + + + + + + + + + + + Number of Customer Specific Item: 1-10 on Shipment and Invoice; 1-15 on line + Nummer vom Kundenspezifischen Feld: 1-10 auf Sendung und Rechnung; 1-15 auf Line + + + false + Number + + + + + + + + + + + + + Value of Customer Specific Item + Wert vom Kundespezifache Feld + + + false + Boolean + + + + + + + + + + + + + + + + + + + + + + Number of Customer Specific Item: 1-10 on Shipment and Invoice; 1-15 on line + Nummer vom Kundenspezifischen Feld: 1-10 auf Sendung und Rechnung; 1-15 auf Line + + + false + Number + + + + + + + + + + + + + Value of Customer Specific Item + Wert vom Kundespezifache Feld + + + false + Xs:datetime + + + + + + + + + + + + + + + + + + + + Packages + + + + + + Package + Packstück + + + true + String1..8 + + MIC_CUST_WB_PACKAGES + + MIC_CUST_PACKAGES + + + + + + + + + + Import packages type + + + + + + Signo + Zeichen/Nummer + + + true + String1..140 + + MIC_CUST_WB_PACKAGES + WBPSIGNO + MIC_CUST_PACKAGES + PCKSIGNO + + + + + + + + + + + Quantity + Menge + + + true + xs:long 15 + + MIC_CUST_WB_PACKAGES + WBPANZAR + MIC_CUST_PACKAGES + PCKANZAR + + + + + + + + + + + Package Type + Packstückart + + + true + String1..5 + + MIC_CUST_WB_PACKAGES + WBPART + MIC_CUST_PACKAGES + PCKART + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.Designer.vb new file mode 100644 index 0000000..9c08732 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.Designer.vb @@ -0,0 +1,2510 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_IMPORTListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic +Imports VERAG_PROG_ALLGEMEIN.MIC_IMPORT_Invoice + +Namespace MIC_IMPORT + + + Partial Public Class ImportShipment + +#Region "Private fields" + Private _shipment As TShipment + + Private _invoice As List(Of TInvoice) + + Private _schemaVersion As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._invoice = New List(Of TInvoice)() + Me._shipment = New TShipment() + End Sub + + Public Property Shipment() As TShipment + Get + Return Me._shipment + End Get + Set + Me._shipment = Value + End Set + End Property + + + Public Property Invoice() As List(Of TInvoice) + Get + Return Me._invoice + End Get + Set + Me._invoice = Value + End Set + End Property + + + Public Property schemaVersion() As Decimal + Get + Return Me._schemaVersion + End Get + Set + Me._schemaVersion = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ImportShipment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ImportShipment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ImportShipment object + ''' + ''' string workflow markup to deserialize + ''' Output ImportShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ImportShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ImportShipment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ImportShipment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ImportShipment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ImportShipment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ImportShipment + Return CType(Serializer.Deserialize(s), ImportShipment) + End Function +#End Region + + ''' + ''' Serializes current ImportShipment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ImportShipment object + ''' + ''' string xml file to load and deserialize + ''' Output ImportShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ImportShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ImportShipment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ImportShipment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ImportShipment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipment + +#Region "Private fields" + Private _company As String + + Private _plant As String + + Private _shipmentId As String + + Private _shipmentPartial As String + + Private _shipmentVersion As String + + Private _documentNumber As Decimal + + Private _shipmentHead As TShipmentHead + + Private _containers As List(Of TDetailContainerInfo) + + Private _documents As List(Of TDocument) + + Private _attributes As List(Of TAttribute) + + Private _partners As List(Of TPartner) + + Private _previousDocuments As List(Of TPrevDoc) + + Private _atlasCompletionSumDs As List(Of TAtlasCompSumDEntry) + + Private _additionalInformation As List(Of TAttribute) + + Private _authorisationHolders As TAuthHolders + + Private _defermentAccounts As TDeferAccs + + Private _guarantees As TGuarantees + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._guarantees = New TGuarantees() + Me._defermentAccounts = New TDeferAccs() + Me._authorisationHolders = New TAuthHolders() + Me._additionalInformation = New List(Of TAttribute)() + Me._atlasCompletionSumDs = New List(Of TAtlasCompSumDEntry)() + Me._previousDocuments = New List(Of TPrevDoc)() + Me._partners = New List(Of TPartner)() + Me._attributes = New List(Of TAttribute)() + Me._documents = New List(Of TDocument)() + Me._containers = New List(Of TDetailContainerInfo)() + Me._shipmentHead = New TShipmentHead() + Me._shipmentVersion = "1" + Me._documentNumber = CType(1D, Decimal) + End Sub + + Public Property company() As String + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property plant() As String + Get + Return Me._plant + End Get + Set + Me._plant = Value + End Set + End Property + + Public Property shipmentId() As String + Get + Return Me._shipmentId + End Get + Set + Me._shipmentId = Value + End Set + End Property + + Public Property shipmentPartial() As String + Get + Return Me._shipmentPartial + End Get + Set + Me._shipmentPartial = Value + End Set + End Property + + + Public Property shipmentVersion() As String + Get + Return Me._shipmentVersion + End Get + Set + Me._shipmentVersion = Value + End Set + End Property + + + Public Property documentNumber() As Decimal + Get + Return Me._documentNumber + End Get + Set + Me._documentNumber = Value + End Set + End Property + + Public Property ShipmentHead() As TShipmentHead + Get + Return Me._shipmentHead + End Get + Set + Me._shipmentHead = Value + End Set + End Property + + + Public Property Containers() As List(Of TDetailContainerInfo) + Get + Return Me._containers + End Get + Set + Me._containers = Value + End Set + End Property + + + Public Property Documents() As List(Of TDocument) + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + + Public Property Attributes() As List(Of TAttribute) + Get + Return Me._attributes + End Get + Set + Me._attributes = Value + End Set + End Property + + + Public Property Partners() As List(Of TPartner) + Get + Return Me._partners + End Get + Set + Me._partners = Value + End Set + End Property + + + Public Property PreviousDocuments() As List(Of TPrevDoc) + Get + Return Me._previousDocuments + End Get + Set + Me._previousDocuments = Value + End Set + End Property + + + Public Property AtlasCompletionSumDs() As List(Of TAtlasCompSumDEntry) + Get + Return Me._atlasCompletionSumDs + End Get + Set + Me._atlasCompletionSumDs = Value + End Set + End Property + + + Public Property AdditionalInformation() As List(Of TAttribute) + Get + Return Me._additionalInformation + End Get + Set + Me._additionalInformation = Value + End Set + End Property + + Public Property AuthorisationHolders() As TAuthHolders + Get + Return Me._authorisationHolders + End Get + Set + Me._authorisationHolders = Value + End Set + End Property + + Public Property DefermentAccounts() As TDeferAccs + Get + Return Me._defermentAccounts + End Get + Set + Me._defermentAccounts = Value + End Set + End Property + + Public Property Guarantees() As TGuarantees + Get + Return Me._guarantees + End Get + Set + Me._guarantees = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipment object + ''' + ''' string workflow markup to deserialize + ''' Output TShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipment + Return CType(Serializer.Deserialize(s), TShipment) + End Function +#End Region + + ''' + ''' Serializes current TShipment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipment object + ''' + ''' string xml file to load and deserialize + ''' Output TShipment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TShipmentHead + +#Region "Private fields" + Private _shipmentType As TShipmentHeadShipmentType + + Private _customsDate As Date + + Private _declType As TDeclType + + Private _mrn As String + + Private _grossWeight As Decimal + + Private _departurePlace As String + + Private _dispatchCountry As String + + Private _lastDispatchCountry As String + + Private _destinationPlace As String + + Private _destinationRegion As String + + Private _officeEntry As String + + Private _importState As String + + Private _substituteFlag As String + + Private _typeOfImport As String + + Private _authorizationNumber As String + + Private _placeOfDispatchDescription As String + + Private _typeOfAirTransportation As String + + Private _motBorder As TMot + + Private _motBorderCrossing As TMot + + Private _motInland As TMot + + Private _containerIndicator As String + + Private _container As TContainer + + Private _freight As TFreightCosts + + Private _insurance As TInsuranceCosts + + Private _additionalCosts As List(Of TAddCosts) + + Private _additionalCostVAT As Decimal + + Private _text As String + + Private _exportDate As Date + + Private _importDate As Date + + Private _estArrivalDate As Date + + Private _partyConst As String + + Private _period As String + + Private _customerFields As TCustomerFields + + Private _countryDestination As String + + Private _clearenceType As String + + Private _previousDocType As String + + Private _previousDocNumber As String + + Private _customsOfficeOfDestination As String + + Private _carrierNumber As String + + Private _creationUser As String + + Private _creationDate As Date + + Private _modificationUser As String + + Private _modificationDate As Date + + Private _supervisingOffice As String + + Private _typeIdentificationOfTransportArrival As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._customerFields = New TCustomerFields() + Me._additionalCosts = New List(Of TAddCosts)() + Me._insurance = New TInsuranceCosts() + Me._freight = New TFreightCosts() + Me._container = New TContainer() + Me._motInland = New TMot() + Me._motBorderCrossing = New TMot() + Me._motBorder = New TMot() + Me._declType = New TDeclType() + Me._shipmentType = TShipmentHeadShipmentType.E + Me._containerIndicator = "0" + End Sub + + + Public Property shipmentType() As TShipmentHeadShipmentType + Get + Return Me._shipmentType + End Get + Set + Me._shipmentType = Value + End Set + End Property + + + Public Property customsDate() As Date + Get + Return Me._customsDate + End Get + Set + Me._customsDate = Value + End Set + End Property + + Public Property declType() As TDeclType + Get + Return Me._declType + End Get + Set + Me._declType = Value + End Set + End Property + + Public Property mrn() As String + Get + Return Me._mrn + End Get + Set + Me._mrn = Value + End Set + End Property + + Public Property grossWeight() As Decimal + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Public Property departurePlace() As String + Get + Return Me._departurePlace + End Get + Set + Me._departurePlace = Value + End Set + End Property + + Public Property dispatchCountry() As String + Get + Return Me._dispatchCountry + End Get + Set + Me._dispatchCountry = Value + End Set + End Property + + Public Property lastDispatchCountry() As String + Get + Return Me._lastDispatchCountry + End Get + Set + Me._lastDispatchCountry = Value + End Set + End Property + + Public Property destinationPlace() As String + Get + Return Me._destinationPlace + End Get + Set + Me._destinationPlace = Value + End Set + End Property + + Public Property destinationRegion() As String + Get + Return Me._destinationRegion + End Get + Set + Me._destinationRegion = Value + End Set + End Property + + Public Property officeEntry() As String + Get + Return Me._officeEntry + End Get + Set + Me._officeEntry = Value + End Set + End Property + + Public Property importState() As String + Get + Return Me._importState + End Get + Set + Me._importState = Value + End Set + End Property + + Public Property substituteFlag() As String + Get + Return Me._substituteFlag + End Get + Set + Me._substituteFlag = Value + End Set + End Property + + Public Property typeOfImport() As String + Get + Return Me._typeOfImport + End Get + Set + Me._typeOfImport = Value + End Set + End Property + + Public Property authorizationNumber() As String + Get + Return Me._authorizationNumber + End Get + Set + Me._authorizationNumber = Value + End Set + End Property + + Public Property placeOfDispatchDescription() As String + Get + Return Me._placeOfDispatchDescription + End Get + Set + Me._placeOfDispatchDescription = Value + End Set + End Property + + Public Property typeOfAirTransportation() As String + Get + Return Me._typeOfAirTransportation + End Get + Set + Me._typeOfAirTransportation = Value + End Set + End Property + + Public Property MotBorder() As TMot + Get + Return Me._motBorder + End Get + Set + Me._motBorder = Value + End Set + End Property + + Public Property MotBorderCrossing() As TMot + Get + Return Me._motBorderCrossing + End Get + Set + Me._motBorderCrossing = Value + End Set + End Property + + Public Property MotInland() As TMot + Get + Return Me._motInland + End Get + Set + Me._motInland = Value + End Set + End Property + + + Public Property containerIndicator() As String + Get + Return Me._containerIndicator + End Get + Set + Me._containerIndicator = Value + End Set + End Property + + Public Property Container() As TContainer + Get + Return Me._container + End Get + Set + Me._container = Value + End Set + End Property + + Public Property Freight() As TFreightCosts + Get + Return Me._freight + End Get + Set + Me._freight = Value + End Set + End Property + + Public Property Insurance() As TInsuranceCosts + Get + Return Me._insurance + End Get + Set + Me._insurance = Value + End Set + End Property + + + Public Property AdditionalCosts() As List(Of TAddCosts) + Get + Return Me._additionalCosts + End Get + Set + Me._additionalCosts = Value + End Set + End Property + + Public Property additionalCostVAT() As Decimal + Get + Return Me._additionalCostVAT + End Get + Set + Me._additionalCostVAT = Value + End Set + End Property + + Public Property text() As String + Get + Return Me._text + End Get + Set + Me._text = Value + End Set + End Property + + + Public Property exportDate() As Date + Get + Return Me._exportDate + End Get + Set + Me._exportDate = Value + End Set + End Property + + + Public Property importDate() As Date + Get + Return Me._importDate + End Get + Set + Me._importDate = Value + End Set + End Property + + Public Property estArrivalDate() As Date + Get + Return Me._estArrivalDate + End Get + Set + Me._estArrivalDate = Value + End Set + End Property + + Public Property partyConst() As String + Get + Return Me._partyConst + End Get + Set + Me._partyConst = Value + End Set + End Property + + Public Property period() As String + Get + Return Me._period + End Get + Set + Me._period = Value + End Set + End Property + + Public Property CustomerFields() As TCustomerFields + Get + Return Me._customerFields + End Get + Set + Me._customerFields = Value + End Set + End Property + + Public Property countryDestination() As String + Get + Return Me._countryDestination + End Get + Set + Me._countryDestination = Value + End Set + End Property + + Public Property clearenceType() As String + Get + Return Me._clearenceType + End Get + Set + Me._clearenceType = Value + End Set + End Property + + Public Property previousDocType() As String + Get + Return Me._previousDocType + End Get + Set + Me._previousDocType = Value + End Set + End Property + + Public Property previousDocNumber() As String + Get + Return Me._previousDocNumber + End Get + Set + Me._previousDocNumber = Value + End Set + End Property + + Public Property customsOfficeOfDestination() As String + Get + Return Me._customsOfficeOfDestination + End Get + Set + Me._customsOfficeOfDestination = Value + End Set + End Property + + Public Property carrierNumber() As String + Get + Return Me._carrierNumber + End Get + Set + Me._carrierNumber = Value + End Set + End Property + + Public Property creationUser() As String + Get + Return Me._creationUser + End Get + Set + Me._creationUser = Value + End Set + End Property + + Public Property creationDate() As Date + Get + Return Me._creationDate + End Get + Set + Me._creationDate = Value + End Set + End Property + + Public Property modificationUser() As String + Get + Return Me._modificationUser + End Get + Set + Me._modificationUser = Value + End Set + End Property + + Public Property modificationDate() As Date + Get + Return Me._modificationDate + End Get + Set + Me._modificationDate = Value + End Set + End Property + + Public Property supervisingOffice() As String + Get + Return Me._supervisingOffice + End Get + Set + Me._supervisingOffice = Value + End Set + End Property + + Public Property typeIdentificationOfTransportArrival() As String + Get + Return Me._typeIdentificationOfTransportArrival + End Get + Set + Me._typeIdentificationOfTransportArrival = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TShipmentHead)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TShipmentHead object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TShipmentHead object + ''' + ''' string workflow markup to deserialize + ''' Output TShipmentHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHead) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TShipmentHead) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TShipmentHead + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TShipmentHead) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TShipmentHead + Return CType(Serializer.Deserialize(s), TShipmentHead) + End Function +#End Region + + ''' + ''' Serializes current TShipmentHead object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TShipmentHead object + ''' + ''' string xml file to load and deserialize + ''' Output TShipmentHead object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHead, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TShipmentHead) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TShipmentHead) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TShipmentHead + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TShipmentHeadShipmentType + + ''' + E + + ''' + B + + ''' + U + + ''' + X + + ''' + I + End Enum + + + Partial Public Class TGuarantee + +#Region "Private fields" + Private _guaranteeNumber As Long + + Private _guaranteeCode As String + + Private _guaranteeType As String + + Private _guaranteeAmount As Decimal + + Private _guaranteeCurrency As String + + Private _guaranteeReference As String + + Private _guaranteeCustomsOffice As String + + Private _localBase As Decimal + + Private _factoringBase As String + + Private _customsRate As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property guaranteeNumber() As Long + Get + Return Me._guaranteeNumber + End Get + Set + Me._guaranteeNumber = Value + End Set + End Property + + Public Property guaranteeCode() As String + Get + Return Me._guaranteeCode + End Get + Set + Me._guaranteeCode = Value + End Set + End Property + + Public Property guaranteeType() As String + Get + Return Me._guaranteeType + End Get + Set + Me._guaranteeType = Value + End Set + End Property + + Public Property guaranteeAmount() As Decimal + Get + Return Me._guaranteeAmount + End Get + Set + Me._guaranteeAmount = Value + End Set + End Property + + Public Property guaranteeCurrency() As String + Get + Return Me._guaranteeCurrency + End Get + Set + Me._guaranteeCurrency = Value + End Set + End Property + + Public Property guaranteeReference() As String + Get + Return Me._guaranteeReference + End Get + Set + Me._guaranteeReference = Value + End Set + End Property + + Public Property guaranteeCustomsOffice() As String + Get + Return Me._guaranteeCustomsOffice + End Get + Set + Me._guaranteeCustomsOffice = Value + End Set + End Property + + Public Property localBase() As Decimal + Get + Return Me._localBase + End Get + Set + Me._localBase = Value + End Set + End Property + + Public Property factoringBase() As String + Get + Return Me._factoringBase + End Get + Set + Me._factoringBase = Value + End Set + End Property + + Public Property customsRate() As Decimal + Get + Return Me._customsRate + End Get + Set + Me._customsRate = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TGuarantee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TGuarantee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TGuarantee object + ''' + ''' string workflow markup to deserialize + ''' Output TGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TGuarantee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TGuarantee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TGuarantee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TGuarantee + Return CType(Serializer.Deserialize(s), TGuarantee) + End Function +#End Region + + ''' + ''' Serializes current TGuarantee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TGuarantee object + ''' + ''' string xml file to load and deserialize + ''' Output TGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TGuarantee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TGuarantee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TGuarantees + +#Region "Private fields" + Private _guarantee As List(Of TGuarantee) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._guarantee = New List(Of TGuarantee)() + End Sub + + + Public Property Guarantee() As List(Of TGuarantee) + Get + Return Me._guarantee + End Get + Set + Me._guarantee = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TGuarantees)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TGuarantees object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TGuarantees object + ''' + ''' string workflow markup to deserialize + ''' Output TGuarantees object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TGuarantees, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TGuarantees) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TGuarantees) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TGuarantees + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TGuarantees) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TGuarantees + Return CType(Serializer.Deserialize(s), TGuarantees) + End Function +#End Region + + ''' + ''' Serializes current TGuarantees object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TGuarantees object + ''' + ''' string xml file to load and deserialize + ''' Output TGuarantees object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TGuarantees, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TGuarantees) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TGuarantees) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TGuarantees + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDeferAcc + +#Region "Private fields" + Private _accountNumber1 As String + + Private _accountNumber2 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property accountNumber1() As String + Get + Return Me._accountNumber1 + End Get + Set + Me._accountNumber1 = Value + End Set + End Property + + Public Property accountNumber2() As String + Get + Return Me._accountNumber2 + End Get + Set + Me._accountNumber2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDeferAcc)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDeferAcc object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDeferAcc object + ''' + ''' string workflow markup to deserialize + ''' Output TDeferAcc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeferAcc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeferAcc) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeferAcc) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDeferAcc + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDeferAcc) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDeferAcc + Return CType(Serializer.Deserialize(s), TDeferAcc) + End Function +#End Region + + ''' + ''' Serializes current TDeferAcc object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDeferAcc object + ''' + ''' string xml file to load and deserialize + ''' Output TDeferAcc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeferAcc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeferAcc) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeferAcc) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDeferAcc + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TDeferAccs + +#Region "Private fields" + Private _defermentAccount As TDeferAcc + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._defermentAccount = New TDeferAcc() + End Sub + + Public Property DefermentAccount() As TDeferAcc + Get + Return Me._defermentAccount + End Get + Set + Me._defermentAccount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TDeferAccs)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TDeferAccs object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TDeferAccs object + ''' + ''' string workflow markup to deserialize + ''' Output TDeferAccs object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeferAccs, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeferAccs) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TDeferAccs) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TDeferAccs + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TDeferAccs) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TDeferAccs + Return CType(Serializer.Deserialize(s), TDeferAccs) + End Function +#End Region + + ''' + ''' Serializes current TDeferAccs object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TDeferAccs object + ''' + ''' string xml file to load and deserialize + ''' Output TDeferAccs object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeferAccs, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TDeferAccs) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TDeferAccs) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TDeferAccs + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAuthHolder + +#Region "Private fields" + Private _typeCode As String + + Private _identifier As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property typeCode() As String + Get + Return Me._typeCode + End Get + Set + Me._typeCode = Value + End Set + End Property + + Public Property identifier() As String + Get + Return Me._identifier + End Get + Set + Me._identifier = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAuthHolder)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAuthHolder object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAuthHolder object + ''' + ''' string workflow markup to deserialize + ''' Output TAuthHolder object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAuthHolder, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAuthHolder) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAuthHolder) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAuthHolder + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAuthHolder) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAuthHolder + Return CType(Serializer.Deserialize(s), TAuthHolder) + End Function +#End Region + + ''' + ''' Serializes current TAuthHolder object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAuthHolder object + ''' + ''' string xml file to load and deserialize + ''' Output TAuthHolder object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAuthHolder, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAuthHolder) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAuthHolder) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAuthHolder + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TAuthHolders + +#Region "Private fields" + Private _authorisationHolder As List(Of TAuthHolder) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._authorisationHolder = New List(Of TAuthHolder)() + End Sub + + + Public Property AuthorisationHolder() As List(Of TAuthHolder) + Get + Return Me._authorisationHolder + End Get + Set + Me._authorisationHolder = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TAuthHolders)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TAuthHolders object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TAuthHolders object + ''' + ''' string workflow markup to deserialize + ''' Output TAuthHolders object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAuthHolders, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAuthHolders) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TAuthHolders) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TAuthHolders + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TAuthHolders) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TAuthHolders + Return CType(Serializer.Deserialize(s), TAuthHolders) + End Function +#End Region + + ''' + ''' Serializes current TAuthHolders object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TAuthHolders object + ''' + ''' string xml file to load and deserialize + ''' Output TAuthHolders object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAuthHolders, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TAuthHolders) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TAuthHolders) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TAuthHolders + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.xsd new file mode 100644 index 0000000..3187c37 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicCustImportShipment.xsd @@ -0,0 +1,1815 @@ + + + + + + + + + + + + + Root element of import shipment messages + + + + true + + + + + + + + + + + + + + + Root element of the import message + + + + true + + + MIC_EAVSDG + + MIC_EINSDG + + + + + + + + + Import invoice + Einfuhrrechnung + + + false + + 0-n + + + + + + + + + + + + + + + Import shipment type + + + + + + Company Code + MIC Mandant + + + true + String1..2 + + MIC_EAVSDG + EASMANDANT + MIC_EINSDG + EFSMANDANT + + + + + + + + + + + + + + Plant Code + MIC Werk + + + true + String1..2 + + MIC_EAVSDG + EASWERK + MIC_EINSDG + EFSWERK + + + + + + + + + + + + + + Local Reference/The shipment id + Bezugsnummer + + + true + String1..50 + + MIC_EAVSDG + EASSDGID + MIC_EINSDG + EFSSDGID + + + + + + + + + + + + + + The shipment id partial + Teil + + + true + String1..2 + + MIC_EAVSDG + EASSDGPART + MIC_EINSDG + EFSSDGPART + + + + + + + + + + + + + + Shipment version/An unique version id + Versionsnummer + + + true + String1..50 + + MIC_EAVSDG + EASVERSION + + + + + + + + + + + + + + + + Shipment Id/Sequential declaration number + Belegnummer + + + false + String1..6 + + MIC_EAVSDG + EFSBELNR + MIC_EINSDG + EFSBELNR + Sequential declaration number + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + Containers + Containers + + + false + + + MIC_CUST_CONT + + + + + + + + + + + Shipment documents + Sendungsunterlagen + + + false + + 1-n + + + + + + + + + + + + Shipment attributes + Rechnungsattribute + + + false + + 1-n + + + + + + + + + + + + Shipment business partner + Sendungsgeschaeftspartner + + + + false + + 1-n + + + + + + + + + + + + Shipment previous documents + Sendungsvorpapiere + + + false + + 1-n + + + + + + + + + + + + Shipment completion parts of summary declaration + Sendungsbeendigungsanteile der Summarischen Anmeldung (SumA) + + + false + + 1-n + + + + + + + + + + + + Shipment additional information + Zusaetzliche Information auf Sendungsebene + + + false + + 1-n + + + + + + + + + + + + + + + + false + + 0-n + + + + + + + + + + + + + + + + false + + 0-1 + + + + + + + + + + + + + + + + false + + 0-n + + + + + + + + + + + + + + + + Type of identification/ The shipment type. E=Import, B=Intrastat, I=Inland, U=Stock transfer, X=Conversion + Sendungstyp + + + false + String1..1 + + MIC_EAVSDG + EASTYP + MIC_EINSDG + EFSTYP + + + + + + + + + + + + + + + + + + Declaration Date/The customs date + Anmeldedatum + + + false + xs:date + + MIC_EAVSDG + EASVZDAT + MIC_EINSDG + EFSVZDAT + + + + + + + + Type of declaration + + + + false + + + + + + + + + + + + + + MRN/Movement reference number + MRN + + + false + String1..20 + + MIC_EAVSDG + EASSPEDNR + MIC_EINSDG + EFSSPEDNR + + + + + + + + + + + + + + Gross Weight (kg)/The gross weight in kilograms + Rohmasse (kg) + + + false + Decimal(13,4) + + MIC_EAVSDG + EASROHMAS + MIC_EINSDG + EFSROHMAS + + + + + + + + + + + + + + Airport/place of departure + Abgangsflughafen/-ort + + + false + String1..20 + + MIC_EAVSDG + EASABGORT + MIC_EINSDG + EFSABGORT + + + + + + + + + + + + + The country of dispatch of goods as ISO code + Vers.-/Ausf.-/Best.-Ld/Bdl. + + + false + String1..3 + + MIC_EAVSDG + EASHELD + MIC_EINSDG + EFSABGORT + + + + + + + + + + + + + The last dispatch country if different from dispatch country (eg. after consolidation) as ISO code + Letztes Herkunftsland + + + false + String1..3 + + MIC_EAVSDG + EASLEHELD + MIC_EINSDG + EFSLEHELD + + + + + + + + + + + + + Location of Goods + Ort der Verbringung + + + false + String1..20 + + MIC_EAVSDG + EASBSTORT + MIC_EINSDG + EFSBSTORT + + + + + + + + + + + + + The region/state of destination + Bestimmungsbundesland + + + false + String1..2 + + MIC_EAVSDG + EASZLD + MIC_EINSDG + EFSZLD + + + + + + + + + + + + + Office of Entry + Eingangszollstelle + + + false + String1..8 + + MIC_EAVSDG + EASEINZOST + MIC_EINSDG + EFSEINZOST + + + + + + + + + + + + + Import State + BDL + + + false + String1..2 + + MIC_EAVSDG + EASBDL + MIC_EINSDG + EFSBDL + + + + + + + + + + + + + Substitute Flag + Vertretungskennzeichen + + + false + String1..1 + + MIC_EAVSDG + EASVERTKZ + MIC_EINSDG + EFSVERTKZ + + + + + + + + + + + + + Type Of Import + Art der Anmeldung Import + + + false + String1..2 + + MIC_EAVSDG + EASARTANMELDIMP + MIC_EINSDG + EFSARTANMELDIMP + + + + + + + + + + + + + Authorization Number + Authorisierungsnummer + + + false + String1..35 + + MIC_EAVSDG + EASAUTHNO + MIC_EINSDG + EFSAUTHNO + + + + + + + + + + + + + Place Of Dispatch Description + Bezeichnung Abgangsort + + + false + String1..100 + + MIC_EAVSDG + EASABGORTBEZ + MIC_EINSDG + EFSABGORTBEZ + + + + + + + + + + + + + Type Of Air Transportation + Verkehrszweig,Flug + + + false + String1..1 + + MIC_EAVSDG + EASAERTRA + MIC_EINSDG + EFSAERTRA + + + + + + + + + + + + + The mode of transportation at the border + Verkehrszweig an der Grenze + + + false + + + MIC_EAVSDG + motMode:EASVKZGR, meansOfTransport:EASVKMART, motCountry:EASVKMLD, motVehicle:EASVKMGRK, meansOfTransportDescription:EASVKMINBEZ + MIC_EINSDG + motMode:EFSVKZGR, meansOfTransport:EFSVKMART, motCountry:EFSVKMLD, motVehicle:EFSVKMGRK, meansOfTransportDescription:EFSVKMINBEZ + + + + + + + + The mode of transport information at border crossing + Verkehrszweig bei Grenzueberschreitung + + + false + + + MIC_EAVSDG + motMode:EASVKZEING, motCountry:EASVKMEINGLD, motVehicle:EASVKMEINGK + MIC_EINSDG + motMode:EFSVKZEING, motCountry:EFSVKMEINGLD, motVehicle:EFSVKMEINGK + + + + + + + + The inland mode of transport information + Verkehrszweig im Inland + + + false + + + MIC_EAVSDG + motMode:EASVKZIN, motCountry:EASVKMINL, motVehicle:EASVKMINK + MIC_EINSDG + motMode:EFSVKZIN, motCountry:EFSVKMEINGLD, motVehicle:EFSVKMEINGK + + + + + + + + Container/Indicator whether this is a containerized shipment. 1=yes, 0=no + Container + + + false + String1..1 + + MIC_EAVSDG + EASCON + MIC_EINSDG + EFSCON + + + + + + + + + + + + + + + + + false + + + MIC_EAVSDG + EAS___ + MIC_EINSDG + EFS___ + + + + + + + + Shipment freight costs + Sendungsfrachtkosten + + + false + + + + + + + + + + + + + + Shipment insurance costs + Sendungsversicherungskosten + + + false + + + + + + + + + + + + + + Shipment additional costs + Sendungsnebenkosten + + + false + + 0-2 + MIC_EAVSDG + EAS___ + MIC_EINSDG + EFS___ + + + + + + + + Addition IVAT/Additional costs that apply to VAT only in invoice currency. + Zuschlag EUSt. + + + false + Decimal(17,4) + + MIC_EAVSDG + EASZUEUST + MIC_EINSDG + EFSZUEUST + + + + + + + + + + + + + + Position additions + Zusuetzliche Angaben + + + false + String1..80 + + MIC_EAVSDG + EASINFO + MIC_EINSDG + EFSINFO + + + + + + + + + + + + + The date of exportation. + Exportdatum + + + false + xs:date + + MIC_EAVSDG + EASEXPDAT + MIC_EINSDG + EFSEXPDAT + + + + + + + + The date of importation. + Importdatum + + + false + xs:date + + MIC_EAVSDG + EASIMPDAT + MIC_EINSDG + EFSIMPDAT + + + + + + + + The estimated date of arrival. + Voraussichtliches Ankunftsdatum + + + false + xs:datetime + + MIC_EAVSDG + EASESTDAT + MIC_EINSDG + EFSESTDAT + + + + + + + + Related Party Indicator/Type of representation (direct, indirect, ...) + Kz. Vertretungsverhaeltnis + + + false + String1..4 + + not mapped + + + + + + + + + + + + + + + + Month (YYYYMM)/Month/Year of shipment (YYYYMM) + Monat (JJJJMM) + + + false + String1..6 + + MIC_EAVSDG + EFSPERIODE + MIC_EINSDG + EFSPERIODE + + + + + + + + + + + + + Customer specific fields + Kundenspezifische Felder + + + false + + + MIC_EAVSDG + EAS___ + MIC_EINSDG + EFS___ + + + + + + + + Country of Destination + Bestimmungsland + + + false + String1..3 + + MIC_EAVSDG + EASCTRYDEST + MIC_EINSDG + EFSCTRYDEST + DE + + + + + + + + + + + + Type of Declaration + Art der Anmeldung + + + false + String1..1 + + MIC_EAVSDG + EASDECLARATIONTYPE + MIC_EINSDG + EFSDECLARATIONTYPE + + + + + + + + + + + + + Previous Document Type + Art des Vorpapiers + + + false + String1..9 + + MIC_EAVSDG + EASSHIPCERT + MIC_EINSDG + EFSSHIPCERT + + + + + + + + + + + + + Previous Document Number + Vorpapiernummer + + + false + String1..28 + + MIC_EAVSDG + EASSHIPCERTNO + MIC_EINSDG + EFSSHIPCERTNO + + + + + + + + + + + + + Customs Office of Destination + Zollstelle Gestellung + + + false + String1..8 + + MIC_EAVSDG + EASDESTCUSTOMSOFFICE + MIC_EINSDG + EFSDESTCUSTOMSOFFICE + + + + + + + + + + + + + Carrier Number + Spediteur Nr. + + + false + String1..20 + + MIC_EAVSDG + EASSPEDNR + MIC_EINSDG + EFSSPEDNR + + + + + + + + + + + + + Created by + Erstellt von + + + false + String1..12 + + MIC_EAVSDG + EASCREUSER + MIC_EINSDG + EFSCREUSER + + + + + + + + Created on + Erstellt am + + + false + Xs:datetime + + MIC_EAVSDG + EASCREDAT + MIC_EINSDG + EFSCREDAT + + + + + + + + Modified by + Geaendert von + + + false + String1..12 + + MIC_EAVSDG + EASUSER + MIC_EINSDG + EFSUSER + + + + + + + + Modified on + Geaendert am + + + false + Xs:datetime + + MIC_EAVSDG + EASUSEDAT + MIC_EINSDG + EFSUSEDAT + + + + + + + + Supervising customs office + Ueberwachungszollstelle + + + false + String1..8 + + MIC_EAVSDG + EASSUPERVISINGCUSTOMSOFFICE + MIC_EINSDG + EFSSUPERVISINGCUSTOMSOFFICE + + + + + + + + + + + Supervising customs office + Type of identification of transport on arrival + + Art der Transportidentifikation bei Ankunft + + false + String1..2 + + MIC_EAVSDG + EASVKZINIDENTIFICATIONTYPE + MIC_EINSDG + EFSVKZINIDENTIFICATIONTYPE + + + + + + + + + + + + + Authorisation holders + + + + false + + 0-n + + + + + + + + + + + + Attribute as name/value pair + + + + true + + + MIC_CUST_WB_EU_AUTH_HOLDER + + MIC_CUST_EU_AUTH_HOLDER + + + + + + + + + + + Deferment accounts + + + + false + + 0-1 + + + + + + + + + + + + Attribute as name/value pair + + + + true + + + MIC_CUST_WB_DEFER_ACCOUNT + + MIC_CUST_UK_DEFER_ACCOUNT + + + + + + + + + + + Guarantees + + + + false + + 0-n + + + + + + + + + + + + Attribute as name/value pair + + + + true + + + MIC_CUST_WB_GUARANTEE + + MIC_CUST_GUARANTEE + + + + + + + + + + Authorisation holder type + + + + + + Authorisation type code + Bewilligungsart-Code + + + true + String1..4 + + MIC_CUST_WB_EU_AUTH_HOLDER + WBATYPECD + MIC_CUST_EU_AUTH_HOLDER + AUHTYP + + + + + + + + + + + Identifier/EORI of authorisation holder + Identifikation + + + true + String1..17 + + MIC_CUST_WB_EU_AUTH_HOLDER + WBAID + MIC_CUST_EU_AUTH_HOLDER + AUHID + + + + + + + + + + + + Deferment account type + + + + + + First deferment account number + Erstes Aufschubkonto + + + false + String1..35 + + MIC_CUST_WB_DEFER_ACCOUNT + WBDDEFERMENTACCOUNTNO1 + MIC_CUST_UK_DEFER_ACCOUNT + DANDEFERMENTACCOUNTNO1 + + + + + + + + + + + Identifier/EORI of authorisation holder + Zweites Aufschubkonto + + + false + String1..35 + + MIC_CUST_WB_DEFER_ACCOUNT + WBDDEFERMENTACCOUNTNO2 + MIC_CUST_UK_DEFER_ACCOUNT + DANDEFERMENTACCOUNTNO2 + + + + + + + + + + + + Guarantee type + + + + + + Guarantee reference number + Garantiereferenznummer + + + false + String1..38 + + MIC_CUST_WB_GUARANTEE + WBGGRN + MIC_CUST_GUARANTEE + GUAGRN + + + + + + + + + + + GRN code + GRN Zugangscode + + + false + String1..4 + + MIC_CUST_WB_GUARANTEE + WBGCODE + MIC_CUST_GUARANTEE + GUACODE + + + + + + + + + + + Guarantee type + Sicherheitsart + + + false + String1..1 + + MIC_CUST_WB_GUARANTEE + WBGTYPE + MIC_CUST_GUARANTEE + GUATYPE + + + + + + + + + + + Guarantee amount + Sicherheitsbetrag + + + false + Decimal(16,2) + + MIC_CUST_WB_GUARANTEE + WBGAMOUNT + MIC_CUST_GUARANTEE + GUAAMOUNT + + + + + + + + + + + + + + Guarantee amount currency + Sicherheitsbetragswaehrung + + + false + String1..3 + + MIC_CUST_WB_GUARANTEE + WBGCUR + MIC_CUST_GUARANTEE + GUACUR + + + + + + + + + + + Other guarantee number + Alternative Referenz + + + false + String1..35 + + MIC_CUST_WB_GUARANTEE + WBGREFERENCE + MIC_CUST_GUARANTEE + GUAREFERENCE + + + + + + + + + + + Customs office of guarantee + Zollstelle (Sicherheit) + + + false + String1..8 + + MIC_CUST_WB_GUARANTEE + WBGCUSTOMSOFFICE + MIC_CUST_GUARANTEE + GUACUSTOMSOFFICE + + + + + + + + + + + Guarantee Local Base + Basis in Mandantenwaehrung + + + false + Decimal(16,2) + + MIC_CUST_WB_GUARANTEE + WBGLOCALBASE + MIC_CUST_GUARANTEE + GUALOCALBASE + + + + + + + + + + + + + + Guarantee Factoring Base + Aliquotierungsbasis + + + false + String1..1 + + MIC_CUST_WB_GUARANTEE + WBGFACTORINGBASE + MIC_CUST_GUARANTEE + GUAFACTORINGBASE + + + + + + + + + + + Guarantee Customs Rate + Zollsatz + + + false + Decimal(18,6) + + MIC_CUST_WB_GUARANTEE + WBGCUSTOMSRATE + MIC_CUST_GUARANTEE + GUACUSTOMSRATE + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.Designer.vb new file mode 100644 index 0000000..7f718ca --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.Designer.vb @@ -0,0 +1,1287 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_ErrorWarningListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace MIC_ErrorWarning + + + Partial Public Class ErrorMessages + +#Region "Private fields" + Private _errorMessage As List(Of TErrorMessageType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._errorMessage = New List(Of TErrorMessageType)() + End Sub + + + Public Property ErrorMessage() As List(Of TErrorMessageType) + Get + Return Me._errorMessage + End Get + Set + Me._errorMessage = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ErrorMessages)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ErrorMessages object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ErrorMessages object + ''' + ''' string workflow markup to deserialize + ''' Output ErrorMessages object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ErrorMessages, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ErrorMessages) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ErrorMessages) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ErrorMessages + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ErrorMessages) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ErrorMessages + Return CType(Serializer.Deserialize(s), ErrorMessages) + End Function +#End Region + + ''' + ''' Serializes current ErrorMessages object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ErrorMessages object + ''' + ''' string xml file to load and deserialize + ''' Output ErrorMessages object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ErrorMessages, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ErrorMessages) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ErrorMessages) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ErrorMessages + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TErrorMessageType + +#Region "Private fields" + Private _module As String + + Private _process As String + + Private _errorCode As String + + Private _errorDesc As String + + Private _reference As TReference + + Private _details As TErrorDetail + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._details = New TErrorDetail() + Me._reference = New TReference() + End Sub + + Public Property [module]() As String + Get + Return Me._module + End Get + Set + Me._module = Value + End Set + End Property + + Public Property process() As String + Get + Return Me._process + End Get + Set + Me._process = Value + End Set + End Property + + Public Property errorCode() As String + Get + Return Me._errorCode + End Get + Set + Me._errorCode = Value + End Set + End Property + + Public Property errorDesc() As String + Get + Return Me._errorDesc + End Get + Set + Me._errorDesc = Value + End Set + End Property + + Public Property Reference() As TReference + Get + Return Me._reference + End Get + Set + Me._reference = Value + End Set + End Property + + Public Property Details() As TErrorDetail + Get + Return Me._details + End Get + Set + Me._details = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TErrorMessageType)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TErrorMessageType object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TErrorMessageType object + ''' + ''' string workflow markup to deserialize + ''' Output TErrorMessageType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorMessageType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorMessageType) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorMessageType) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TErrorMessageType + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TErrorMessageType) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TErrorMessageType + Return CType(Serializer.Deserialize(s), TErrorMessageType) + End Function +#End Region + + ''' + ''' Serializes current TErrorMessageType object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TErrorMessageType object + ''' + ''' string xml file to load and deserialize + ''' Output TErrorMessageType object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorMessageType, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorMessageType) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorMessageType) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TErrorMessageType + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TReference + +#Region "Private fields" + Private _company As String + + Private _plant As String + + Private _correlationId As String + + Private _referenceType As String + + Private _referenceSid As Long + + Private _user As String + + Private _partnerId As String + + Private _routeId As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property company() As String + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property plant() As String + Get + Return Me._plant + End Get + Set + Me._plant = Value + End Set + End Property + + Public Property correlationId() As String + Get + Return Me._correlationId + End Get + Set + Me._correlationId = Value + End Set + End Property + + Public Property referenceType() As String + Get + Return Me._referenceType + End Get + Set + Me._referenceType = Value + End Set + End Property + + Public Property referenceSid() As Long + Get + Return Me._referenceSid + End Get + Set + Me._referenceSid = Value + End Set + End Property + + Public Property user() As String + Get + Return Me._user + End Get + Set + Me._user = Value + End Set + End Property + + Public Property partnerId() As String + Get + Return Me._partnerId + End Get + Set + Me._partnerId = Value + End Set + End Property + + Public Property routeId() As String + Get + Return Me._routeId + End Get + Set + Me._routeId = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TReference object + ''' + ''' string workflow markup to deserialize + ''' Output TReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TReference + Return CType(Serializer.Deserialize(s), TReference) + End Function +#End Region + + ''' + ''' Serializes current TReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TReference object + ''' + ''' string xml file to load and deserialize + ''' Output TReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TErrorDetail + +#Region "Private fields" + Private _timestamp As Date + + Private _stackTrace As String + + Private _additionalDetails As List(Of TErrorDetailAdditionalDetails) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._additionalDetails = New List(Of TErrorDetailAdditionalDetails)() + End Sub + + Public Property timestamp() As Date + Get + Return Me._timestamp + End Get + Set + Me._timestamp = Value + End Set + End Property + + Public Property stackTrace() As String + Get + Return Me._stackTrace + End Get + Set + Me._stackTrace = Value + End Set + End Property + + + Public Property additionalDetails() As List(Of TErrorDetailAdditionalDetails) + Get + Return Me._additionalDetails + End Get + Set + Me._additionalDetails = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TErrorDetail)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TErrorDetail object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TErrorDetail object + ''' + ''' string workflow markup to deserialize + ''' Output TErrorDetail object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorDetail, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorDetail) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorDetail) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TErrorDetail + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TErrorDetail) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TErrorDetail + Return CType(Serializer.Deserialize(s), TErrorDetail) + End Function +#End Region + + ''' + ''' Serializes current TErrorDetail object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TErrorDetail object + ''' + ''' string xml file to load and deserialize + ''' Output TErrorDetail object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorDetail, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorDetail) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorDetail) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TErrorDetail + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TErrorDetailAdditionalDetails + +#Region "Private fields" + Private _type As String + + Private _key As String + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property type() As String + Get + Return Me._type + End Get + Set + Me._type = Value + End Set + End Property + + + Public Property key() As String + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + + Public Property value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TErrorDetailAdditionalDetails)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TErrorDetailAdditionalDetails object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TErrorDetailAdditionalDetails object + ''' + ''' string workflow markup to deserialize + ''' Output TErrorDetailAdditionalDetails object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorDetailAdditionalDetails, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorDetailAdditionalDetails) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TErrorDetailAdditionalDetails) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TErrorDetailAdditionalDetails + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TErrorDetailAdditionalDetails) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TErrorDetailAdditionalDetails + Return CType(Serializer.Deserialize(s), TErrorDetailAdditionalDetails) + End Function +#End Region + + ''' + ''' Serializes current TErrorDetailAdditionalDetails object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TErrorDetailAdditionalDetails object + ''' + ''' string xml file to load and deserialize + ''' Output TErrorDetailAdditionalDetails object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorDetailAdditionalDetails, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TErrorDetailAdditionalDetails) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TErrorDetailAdditionalDetails) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TErrorDetailAdditionalDetails + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class WarningMessages + +#Region "Private fields" + Private _warningMessage As List(Of TErrorMessageType) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._warningMessage = New List(Of TErrorMessageType)() + End Sub + + + Public Property WarningMessage() As List(Of TErrorMessageType) + Get + Return Me._warningMessage + End Get + Set + Me._warningMessage = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(WarningMessages)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current WarningMessages object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an WarningMessages object + ''' + ''' string workflow markup to deserialize + ''' Output WarningMessages object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As WarningMessages, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, WarningMessages) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As WarningMessages) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As WarningMessages + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), WarningMessages) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As WarningMessages + Return CType(Serializer.Deserialize(s), WarningMessages) + End Function +#End Region + + ''' + ''' Serializes current WarningMessages object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an WarningMessages object + ''' + ''' string xml file to load and deserialize + ''' Output WarningMessages object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As WarningMessages, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, WarningMessages) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As WarningMessages) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As WarningMessages + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.xsd new file mode 100644 index 0000000..6388a3d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicErrorWarningMessage.xsd @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + Warning message used for all occurred warnings and minor exceptions + + + + + Error message used for all occurred exceptions + + + + + Fault message used for all occurred fault exceptions + + + + + Contains details to an error message + + + + + + Stacktrace from Exception + + + + + Additional error details + + + + + + + + + + + + General error type used for error messages + + + + + MIC Module where the error occured + + + + + Process inside the MIC module where the error occured + + + + + Error code to identify error + + + + + Description of the occurred exception + + + + + + More detailed information about the error + + + + + + + + + MIC company + + + + + MIC plant + + + + + Unique reference number generated in MIC + + + + + + + + + + Reference type used in MIC + + + + + Reference sid used MIC + + + + + MIC user + + + + + Partner ID used in MIC + + + + + ID of route where error is occurred + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustExportShipment.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustExportShipment.xsd new file mode 100644 index 0000000..2189a2f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustExportShipment.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + Message for inserting MIC CUST ExportShipment + + + + + + + + + + + + + + MIC request message + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustImportShipment.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustImportShipment.xsd new file mode 100644 index 0000000..29e916a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetaCustImportShipment.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + Message for inserting MIC CUST ImportShipment + + + + + + + + + + + + + + MIC request message + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.Designer.vb new file mode 100644 index 0000000..4b393b0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.Designer.vb @@ -0,0 +1,1681 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' MIC_MetaDataListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Imports VERAG_PROG_ALLGEMEIN.MIC_ErrorWarning + +Namespace MIC_MetaData + + + Partial Public Class TMicMetadata + +#Region "Private fields" + Private _connectionId As String + + Private _partnerId As String + + Private _dateTime As Date + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property connectionId() As String + Get + Return Me._connectionId + End Get + Set + Me._connectionId = Value + End Set + End Property + + Public Property partnerId() As String + Get + Return Me._partnerId + End Get + Set + Me._partnerId = Value + End Set + End Property + + Public Property dateTime() As Date + Get + Return Me._dateTime + End Get + Set + Me._dateTime = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMicMetadata)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMicMetadata object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMicMetadata object + ''' + ''' string workflow markup to deserialize + ''' Output TMicMetadata object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMicMetadata, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMicMetadata) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMicMetadata) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMicMetadata + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMicMetadata) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMicMetadata + Return CType(Serializer.Deserialize(s), TMicMetadata) + End Function +#End Region + + ''' + ''' Serializes current TMicMetadata object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMicMetadata object + ''' + ''' string xml file to load and deserialize + ''' Output TMicMetadata object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMicMetadata, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMicMetadata) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMicMetadata) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMicMetadata + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TMessageDetail + +#Region "Private fields" + Private _messageId As String + + Private _partyId As String + + Private _transactionId As String + + Private _sequenceNum As String + + Private _actionCode As TActionCode + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._actionCode = New TActionCode() + End Sub + + Public Property messageId() As String + Get + Return Me._messageId + End Get + Set + Me._messageId = Value + End Set + End Property + + Public Property partyId() As String + Get + Return Me._partyId + End Get + Set + Me._partyId = Value + End Set + End Property + + Public Property transactionId() As String + Get + Return Me._transactionId + End Get + Set + Me._transactionId = Value + End Set + End Property + + + Public Property sequenceNum() As String + Get + Return Me._sequenceNum + End Get + Set + Me._sequenceNum = Value + End Set + End Property + + Public Property ActionCode() As TActionCode + Get + Return Me._actionCode + End Get + Set + Me._actionCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMessageDetail)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMessageDetail object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMessageDetail object + ''' + ''' string workflow markup to deserialize + ''' Output TMessageDetail object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMessageDetail, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMessageDetail) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMessageDetail) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMessageDetail + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMessageDetail) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMessageDetail + Return CType(Serializer.Deserialize(s), TMessageDetail) + End Function +#End Region + + ''' + ''' Serializes current TMessageDetail object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMessageDetail object + ''' + ''' string xml file to load and deserialize + ''' Output TMessageDetail object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMessageDetail, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMessageDetail) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMessageDetail) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMessageDetail + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TActionCode + +#Region "Private fields" + Private _code As String + + Private _parameter As List(Of TActionCodeParameter) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._parameter = New List(Of TActionCodeParameter)() + End Sub + + Public Property code() As String + Get + Return Me._code + End Get + Set + Me._code = Value + End Set + End Property + + + Public Property parameter() As List(Of TActionCodeParameter) + Get + Return Me._parameter + End Get + Set + Me._parameter = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TActionCode)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TActionCode object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TActionCode object + ''' + ''' string workflow markup to deserialize + ''' Output TActionCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TActionCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TActionCode) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TActionCode) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TActionCode + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TActionCode) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TActionCode + Return CType(Serializer.Deserialize(s), TActionCode) + End Function +#End Region + + ''' + ''' Serializes current TActionCode object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TActionCode object + ''' + ''' string xml file to load and deserialize + ''' Output TActionCode object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TActionCode, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TActionCode) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TActionCode) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TActionCode + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TActionCodeParameter + +#Region "Private fields" + Private _key As String + + Private _value As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property key() As String + Get + Return Me._key + End Get + Set + Me._key = Value + End Set + End Property + + + Public Property value() As String + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TActionCodeParameter)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TActionCodeParameter object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TActionCodeParameter object + ''' + ''' string workflow markup to deserialize + ''' Output TActionCodeParameter object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TActionCodeParameter, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TActionCodeParameter) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TActionCodeParameter) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TActionCodeParameter + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TActionCodeParameter) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TActionCodeParameter + Return CType(Serializer.Deserialize(s), TActionCodeParameter) + End Function +#End Region + + ''' + ''' Serializes current TActionCodeParameter object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TActionCodeParameter object + ''' + ''' string xml file to load and deserialize + ''' Output TActionCodeParameter object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TActionCodeParameter, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TActionCodeParameter) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TActionCodeParameter) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TActionCodeParameter + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TStatus + +#Region "Private fields" + Private _status As TStatusStatus + + Private _item As Object + + Private _itemElementName As TStatusItemChoiceType + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property status() As TStatusStatus + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + + Public Property Item() As Object + Get + Return Me._item + End Get + Set + Me._item = Value + End Set + End Property + + + Public Property ItemElementName() As TStatusItemChoiceType + Get + Return Me._itemElementName + End Get + Set + Me._itemElementName = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TStatus)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TStatus object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TStatus object + ''' + ''' string workflow markup to deserialize + ''' Output TStatus object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TStatus, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TStatus) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TStatus) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TStatus + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TStatus) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TStatus + Return CType(Serializer.Deserialize(s), TStatus) + End Function +#End Region + + ''' + ''' Serializes current TStatus object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TStatus object + ''' + ''' string xml file to load and deserialize + ''' Output TStatus object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TStatus, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TStatus) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TStatus) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TStatus + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TStatusStatus + + ''' + OK + + ''' + [ERROR] + + ''' + WARNING + End Enum + + + Partial Public Class TMetaReference + +#Region "Private fields" + Private _correlationId As String + + Private _company As String + + Private _plant As String + + Private _referenceType As String + + Private _referenceSid As Long + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property correlationId() As String + Get + Return Me._correlationId + End Get + Set + Me._correlationId = Value + End Set + End Property + + Public Property company() As String + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property plant() As String + Get + Return Me._plant + End Get + Set + Me._plant = Value + End Set + End Property + + Public Property referenceType() As String + Get + Return Me._referenceType + End Get + Set + Me._referenceType = Value + End Set + End Property + + Public Property referenceSid() As Long + Get + Return Me._referenceSid + End Get + Set + Me._referenceSid = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TMetaReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TMetaReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TMetaReference object + ''' + ''' string workflow markup to deserialize + ''' Output TMetaReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMetaReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMetaReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TMetaReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TMetaReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TMetaReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TMetaReference + Return CType(Serializer.Deserialize(s), TMetaReference) + End Function +#End Region + + ''' + ''' Serializes current TMetaReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TMetaReference object + ''' + ''' string xml file to load and deserialize + ''' Output TMetaReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMetaReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TMetaReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TMetaReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TMetaReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum TStatusItemChoiceType + + ''' + + ErrorMessages + + ''' + + WarningMessages + + ''' + Reference + End Enum + + + Partial Public Class StatusMessage + +#Region "Private fields" + Private _metadata As TMicMetadata + + Private _messageDetail As TMessageDetail + + Private _status As TStatus + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._status = New TStatus() + Me._messageDetail = New TMessageDetail() + Me._metadata = New TMicMetadata() + End Sub + + Public Property Metadata() As TMicMetadata + Get + Return Me._metadata + End Get + Set + Me._metadata = Value + End Set + End Property + + Public Property MessageDetail() As TMessageDetail + Get + Return Me._messageDetail + End Get + Set + Me._messageDetail = Value + End Set + End Property + + Public Property Status() As TStatus + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(StatusMessage)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current StatusMessage object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an StatusMessage object + ''' + ''' string workflow markup to deserialize + ''' Output StatusMessage object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As StatusMessage, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, StatusMessage) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As StatusMessage) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As StatusMessage + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), StatusMessage) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As StatusMessage + Return CType(Serializer.Deserialize(s), StatusMessage) + End Function +#End Region + + ''' + ''' Serializes current StatusMessage object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an StatusMessage object + ''' + ''' string xml file to load and deserialize + ''' Output StatusMessage object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As StatusMessage, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, StatusMessage) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As StatusMessage) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As StatusMessage + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TStatusResponse + +#Region "Private fields" + Private _status As TStatus + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._status = New TStatus() + End Sub + + Public Property Status() As TStatus + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TStatusResponse)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TStatusResponse object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TStatusResponse object + ''' + ''' string workflow markup to deserialize + ''' Output TStatusResponse object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TStatusResponse, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TStatusResponse) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TStatusResponse) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TStatusResponse + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TStatusResponse) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TStatusResponse + Return CType(Serializer.Deserialize(s), TStatusResponse) + End Function +#End Region + + ''' + ''' Serializes current TStatusResponse object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TStatusResponse object + ''' + ''' string xml file to load and deserialize + ''' Output TStatusResponse object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TStatusResponse, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TStatusResponse) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TStatusResponse) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TStatusResponse + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.xsd new file mode 100644 index 0000000..467837c --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/MicMetadata.xsd @@ -0,0 +1,215 @@ + + + + + + + + + Details of the connection to the ERP-System + + + + + + The partner ID is a unique ID provided by the MIC-System and classify the ERP-System of the customer. This information is given by MIC. + + + + + Creation date/time of the message in the ERP-System + + + + + + + Action Requested for automatic processing + + + + + Action code for automatic processing + + + + + + + + + + + additional parameters + + + + + + + + + + + MIC Interface Message Envelope: description of the single message + + + + + Unique Message ID + + + + + Party ID is used as a separations of departments or single message groups + + + + + Unique Identifier of a transaction (declaration) e.g. MRN or LRN + + + + + Running number of the transaction Id + + + + + The ActionCode definies the autmoatic process in the MIC-Application. + + + + + + + Status message with Metadata and MessageDetail + + + + + + + + Set of Messages + + + + + + + + Status response message used for synchronous answers + + + + + Set of Messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unique reference number generated in MIC + + + + + + + + + + MIC company + + + + + MIC plant + + + + + Reference type used in MIC + + + + + Reference sid used MIC + + + + + + + Envelope:Unique transaction ID used for communication with EDIS webservice + + + + + + + + Envelope:running count + + + + + + envelope:Unique Message ID used for communication in message envelope + + + + + + + + + Envelope: communication pary + + + + + + + + + Envelope: communication partner + + + + + + + + + Connection ID of the MIC-Webservice + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMIC.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMIC.vb new file mode 100644 index 0000000..76a4570 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMIC.vb @@ -0,0 +1,254 @@ +Public Class cMIC + + + Shared Sub send_MIC_AvisoSendung(AVISO As cAviso, SENDUNG As cSendungen, Optional sendWOQ As Boolean = False, Optional showBezugsNr As Boolean = False) + + + If sendWOQ OrElse vbYes = MsgBox("Sollen die Daten abgeschickt werden?" & vbNewLine & "Eine Änderung ist nur noch in der MIC Software möglich.", vbYesNoCancel) Then + ' Dim cDyAnm As New cDakosy_Zollanmeldungen(cDy_ART, BezugsNr, AVISO.AvisoID, SENDUNG.tblSnd_SendungID) + + If AVISO IsNot Nothing And SENDUNG IsNot Nothing Then + + If SENDUNG.FilialenNr < 1000 Then MsgBox("Keine Filialen-Nummer!") + If SENDUNG.AbfertigungsNr < 1000 Then MsgBox("Keine Abfertigungs-Nummer!") + Dim BezugsNr = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr + If showBezugsNr Then + BezugsNr = InputBox("MIC Bezugsnummer:", "MIC", BezugsNr) + End If + + Dim saveFile = "" + If generateIMPORT(AVISO, SENDUNG, saveFile, BezugsNr) Then + If saveFile <> "" Then + Process.Start(saveFile) + 'If Not send_Data_To_Dakosy_FTP(saveFile, BezugsNr, Nothing, Nothing) Then + ' MsgBox("Sendefehler!") + 'End If + End If + End If + End If + End If + End Sub + + + + Shared Function getInvPartner(KdNr As Integer, NameText As String, Type As String) As MIC_IMPORT_Invoice.TPartner + + If KdNr > 0 Then + Dim PARTNER As New MIC_IMPORT_Invoice.TPartner + Dim AD As New cAdressen(KdNr) + Dim KD As New cKunde(KdNr) + PARTNER.partnerType = Type + PARTNER.PartnerAddress.addrName.Add(AD.Name_1) + If If(AD.Name_2, "") <> "" Then PARTNER.PartnerAddress.addrName.Add(AD.Name_2) + PARTNER.PartnerAddress.addrStreet = AD.Straße + PARTNER.PartnerAddress.addrZip = AD.PLZ + PARTNER.PartnerAddress.addrLoc = AD.Ort + PARTNER.PartnerAddress.addrCtry = cProgramFunctions.getISO2Land(AD.LandKz) + PARTNER.PartnerAddress.addrEori = KD.EORITIN + PARTNER.PartnerAddress.addrTin = KD.EORITIN + Return PARTNER + ElseIf If(NameText, "") <> "" Then + Dim PARTNER As New MIC_IMPORT_Invoice.TPartner + PARTNER.partnerType = Type + PARTNER.PartnerAddress.addrName.Add(NameText) + Return PARTNER + End If + Return Nothing + End Function + + + Shared Function generateNCTS(cDY As cNCTS_TR, ByRef saveFile As String, BezugsNr As String) As Boolean 'DY_ACTION As String) As Boolean + Try + + 'Dim Interface_VERSION = "003" + 'Dim ObjectAktion = DY_ACTION + + Dim XML As New MIC_EXPORT_Shipment.ExportShipment + 'Transaktion: + XML.ShipmentHead.company = "VERAG" + XML.ShipmentHead.plant = "GB/01" + XML.ShipmentHead.shipmentId = BezugsNr + + + saveFile = getDefaultFolder_SEND("NCTS") & "MIC_NCTS_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + + '' Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + 'Dim saveDir = "\\share01\Datenarchiv\MIC\SEND\" + 'If Not System.IO.Directory.Exists(saveDir) Then + ' System.IO.Directory.CreateDirectory(saveDir) + 'End If + 'saveFile = saveDir & "MIC_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + 'MsgBox(saveFile) + XML.SaveToFile(saveFile) + + replaceNullDateXML(saveFile) + + + Return True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + + + End Function + + Shared Function generateIMPORT(AVISO As cAviso, SENDUNG As cSendungen, ByRef saveFile As String, ByRef BezugsNr As String) As Boolean + Dim Interface_VERSION = "000" + + Dim XML As New MIC_IMPORT.ImportShipment + + 'XML.schemaVersion = + + XML.Shipment.company = "VERAG" + XML.Shipment.plant = "GB/01" + XML.Shipment.shipmentId = BezugsNr + + XML.Shipment.ShipmentHead.shipmentType = MIC_IMPORT.TShipmentHeadShipmentType.E 'E:Import + XML.Shipment.ShipmentHead.customsDate = Now + If SENDUNG.tblSnd_Gewicht IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_Gewicht) Then XML.Shipment.ShipmentHead.grossWeight = CDec(SENDUNG.tblSnd_Gewicht) + 'XML.Shipment.ShipmentHead.departurePlace = Now + XML.Shipment.ShipmentHead.MotBorderCrossing.motVehicle = AVISO.LKW_Nr + XML.Shipment.ShipmentHead.MotBorderCrossing.motCountry = AVISO.LKW_Nationalitaet + XML.Shipment.ShipmentHead.MotBorder.motVehicle = AVISO.LKW_Nr + XML.Shipment.ShipmentHead.MotBorder.motCountry = AVISO.LKW_Nationalitaet + XML.Shipment.ShipmentHead.MotInland.motVehicle = AVISO.LKW_Nr + XML.Shipment.ShipmentHead.MotInland.motCountry = AVISO.LKW_Nationalitaet + + Dim INV As New MIC_IMPORT_Invoice.TInvoice + Dim ILN As New MIC_IMPORT_Invoice.TInvoiceLine + + Dim Partner_IM = getInvPartner(SENDUNG.tblSnd_EmpfaengerKdNr, SENDUNG.tblSnd_Empfaenger, "IM") + If Partner_IM IsNot Nothing Then ILN.Partners.Add(Partner_IM) + + Dim Partner_CZ = getInvPartner(SENDUNG.tblSnd_AbsenderKdNr, SENDUNG.tblSnd_Absender, "CZ") + If Partner_CZ IsNot Nothing Then ILN.Partners.Add(Partner_CZ) + + INV.InvoiceLines.Add(ILN) + + XML.Invoice.Add(INV) + + + Dim CF_BezugsNr = New MIC_IMPORT_Invoice.TCustomerText() + CF_BezugsNr.key = 1 + CF_BezugsNr.value = BezugsNr + XML.Shipment.ShipmentHead.CustomerFields.Texts.Add(CF_BezugsNr) + + XML.Shipment.ShipmentHead.countryDestination = "UK" + XML.Shipment.ShipmentHead.creationDate = Now + XML.Shipment.ShipmentHead.creationUser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + If SENDUNG.tblSnd_Frachtkosten IsNot Nothing Then XML.Shipment.ShipmentHead.Freight.frtAmount = SENDUNG.tblSnd_Frachtkosten + + + saveFile = getDefaultFolder_SEND("IMPORT") & "MIC_IMPORT_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + 'MsgBox(saveFile) + XML.SaveToFile(saveFile) + + replaceNullDateXML(saveFile) + Return True + End Function + Shared Sub replaceNullDateXML(XMLFile As String) + Try + If Not System.IO.File.Exists(XMLFile) Then Exit Sub + Dim lines() As String = System.IO.File.ReadAllLines(XMLFile) + Using writer = New System.IO.StreamWriter(XMLFile, False) + For Each line In lines + If Not line.Contains("0001-01-01") Then writer.WriteLine(line) + Next + End Using + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + Shared Function getDefaultFolder_SEND(pathType As String) As String + ' pathType: IMPORT + ' pathType: EXPORT + ' pathType: TRANSIT + Try + getDefaultFolder_SEND = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & "MIC\" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TESTSYSTEM", "ECHTSYSTEM") & "\Ausgang_Zolldaten\" & pathType & "\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\" ' Path.GetTempPath + If Not IO.Directory.Exists(getDefaultFolder_SEND) Then + IO.Directory.CreateDirectory(getDefaultFolder_SEND) + End If + Catch ex As Exception + Try + getDefaultFolder_SEND = "C:\TEMP\" ' Path.GetTempPath + If Not IO.Directory.Exists(getDefaultFolder_SEND) Then + IO.Directory.CreateDirectory(getDefaultFolder_SEND) + End If + Catch ex2 As Exception + MsgBox(ex2.Message & ex2.StackTrace) + getDefaultFolder_SEND = "" + End Try + End Try + + End Function + + + + Shared Function send_Data_To_Dakosy_FTP(file, dySt_BezugsNr, dy_Id, FRIMA_DY) + 'Try + ' If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZOLL_DakosyZA_Senden", "AVISO") Then + ' MsgBox("Sie haben keine Sendeberechtigung.") + ' Return False + ' End If + + ' If Not IO.File.Exists(file) Then Return False + ' Dim F As New System.IO.FileInfo(file) + + ' Dim DY_server = "" + ' Dim DY_name = "" + ' Dim DY_pwd = "" + ' Dim DY_port = "" + ' Dim DY_PFAD_IN = "" + ' Dim DY_PFAD_IN_KD = "" + + ' getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD, FRIMA_DY) + + ' Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd)) + ' Using client = New SftpClient(ConnectionInfo) + ' client.Connect() + ' 'client.Create(file, file) + ' client.ChangeDirectory(DY_PFAD_IN) + ' If IO.File.Exists(file) Then + ' 'MsgBox(file) + ' Using uplfileStream = System.IO.File.OpenRead(file) + ' client.UploadFile(uplfileStream, "." & F.Name, True) + ' client.RenameFile("." & F.Name, F.Name) + ' End Using + ' client.Disconnect() + ' Else + ' MsgBox("Sendedatei nicht gefunden!") + ' End If + + + ' End Using + + ' 'Dim STATUS As New DAKOSY_Worker.cDakosy_Statusmeldungen + ' 'STATUS.dySt_BezugsNr = dySt_BezugsNr + ' 'STATUS.dySt_artMitteilung = "VERAG_SND" + ' 'STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 + + ' 'STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_03 + ' ''STATUS.dySt_ergCode = "ANR" + ' 'STATUS.dySt_ergCode = "SND" + ' 'STATUS.dySt_ergMitteilung = "An Dakosy gesendet" + ' 'STATUS.dySt_ergZeitpunkt = Now + + ' 'STATUS.dySt_dyId = dy_Id + ' 'STATUS.SAVE() + + ' Return True + 'Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return False + 'End Try + End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMICInterface.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMICInterface.vb new file mode 100644 index 0000000..57203c6 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/MIC/cMICInterface.vb @@ -0,0 +1,1543 @@ + + +Public Class cMICInterface + + + + Shared Function generateVersandanmeldungNCTS(cDY As cNCTS_TR, ByRef saveFile As String, DY_ACTION As String) As Boolean + Try + + Dim Interface_VERSION = "003" + Dim ObjectAktion = DY_ACTION + + Dim XML As New CC015B_TR_EXT_V4_3.CC015B + + 'Transaktion: + XML.HEAHEA.RefNumHEA4 = cDY.ncts_ObjectName + + + + ' Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + Dim saveDir = "\\share01\Datenarchiv\MIC\SEND\" + If Not System.IO.Directory.Exists(saveDir) Then + System.IO.Directory.CreateDirectory(saveDir) + End If + + saveFile = saveDir & "MIC_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + 'MsgBox(saveFile) + XML.SaveToFile(saveFile) + + replaceNullDateXML(saveFile) + + + Return False 'TEST! + + + + Return True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + + + 'XML.Transaktion.IOPartner = getIOPartner(cDY.ncts_firma) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + 'XML.Transaktion.IODatumZeit = Now + 'XML.Transaktion.IOReferenz = cDY.ncts_Trans_Referenz + 'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.ncts_firma) '"SUW" + 'XML.Transaktion.Version = Interface_VERSION + + 'XML.EinzelVersandanmeldung = New VersandanmeldungNCTSDE.EinzelVersandanmeldungTyp + + ''ObjektIdentifizierung: + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.NameAbsendendesSystem = "VERAG_ZOLL" + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung = New VersandanmeldungNCTSDE.ObjektIdentifizierungVATyp + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektName = cDY.ncts_ObjectName + 'If cDY.ncts_ObjectAlias IsNot Nothing Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektAliasname = cDY.ncts_ObjectAlias + 'Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektAktion = ObjektAktion + 'If If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") <> "" Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.Bearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB + + 'If cDY.ncts_BezugsnummerVorblendung IsNot Nothing Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.ncts_BezugsnummerVorblendung + + ''Kopfdaten: + 'XML.EinzelVersandanmeldung.KopfDaten = New VersandanmeldungNCTSDE.KopfDatenVersandanmeldungTyp + 'If cDY.ncts_AbgangsDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.AbgangsstelleDienststellnummer = cDY.ncts_AbgangsDienststellennummer + 'If cDY.ncts_BestimmungsstelleDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BestimmungsstelleDienststellnummer = cDY.ncts_BestimmungsstelleDienststellennummer + 'If cDY.ncts_VersendungsLandCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.VersendungslandCode = cDY.ncts_VersendungsLandCode + 'If cDY.ncts_BestimmungslandCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BestimmungslandCode = cDY.ncts_BestimmungslandCode + 'If cDY.ncts_ArtAnmeldung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.ArtAnmeldungKopfCode = cDY.ncts_ArtAnmeldung + 'If cDY.ncts_BeladungsOrt IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BeladungsOrt = cDY.ncts_BeladungsOrt + 'XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer = New List(Of String) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer1) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer2) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer3) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer4) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer5) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer6) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer7) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer8) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer9) + 'If cDY.ncts_AbgangsDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.AbgangsstelleDienststellnummer = cDY.ncts_AbgangsDienststellennummer + 'If cDY.ncts_Wiedergestellungsdatum IsNot Nothing AndAlso IsDate(cDY.ncts_Wiedergestellungsdatum) Then + ' XML.EinzelVersandanmeldung.KopfDaten.Wiedergestellungsdatum = cDY.ncts_Wiedergestellungsdatum + 'Else + ' XML.EinzelVersandanmeldung.KopfDaten.Wiedergestellungsdatum = Nothing + 'End If + + 'If cDY.ncts_KzVereinfachtesVerfahren IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.KzVereinfachtesVerfahren = CInt(Int(cDY.ncts_KzVereinfachtesVerfahren)) ' sonst true = -1 + ''GesRoh -> auto + ''GesPk -> auto + + ''Verschluss: + 'If cDY.ncts_Verschluss_ArtCode IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Verschluss = New VersandanmeldungNCTSDE.VerschlussVATyp + ' If cDY.ncts_Verschluss_ArtCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.ArtCode = cDY.ncts_Verschluss_ArtCode + ' If cDY.ncts_Verschluss_Anzahl IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Anzahl = cDY.ncts_Verschluss_Anzahl + + ' If cDY.ncts_Verschluss_Zeichen1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen1) + ' If cDY.ncts_Verschluss_Zeichen2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen2) + ' If cDY.ncts_Verschluss_Zeichen3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen3) + ' If cDY.ncts_Verschluss_Zeichen4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen4) + ' If cDY.ncts_Verschluss_Zeichen5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen5) + ' If cDY.ncts_Verschluss_Zeichen6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen6) + ' If cDY.ncts_Verschluss_Zeichen7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen7) + ' If cDY.ncts_Verschluss_Zeichen8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen8) + ' If cDY.ncts_Verschluss_Zeichen9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen9) + ' If cDY.ncts_Verschluss_Zeichen10 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen10) + ' If cDY.ncts_Verschluss_Zeichen11 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen11) + ' If cDY.ncts_Verschluss_Zeichen12 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen12) + ' If cDY.ncts_Verschluss_Zeichen13 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen13) + ' If cDY.ncts_Verschluss_Zeichen14 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen14) + ' If cDY.ncts_Verschluss_Zeichen15 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen15) + ' If cDY.ncts_Verschluss_Zeichen16 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen16) + 'End If + + ''Sicherheitsangaben: + 'If cDY.ncts_SICHERHEITSANGABEN.Count > 0 Then + ' XML.EinzelVersandanmeldung.KopfDaten.Sicherheitsangaben = New List(Of VersandanmeldungNCTSDE.SicherheitsangabenVATyp) + ' For Each s In cDY.ncts_SICHERHEITSANGABEN + ' Dim SA As New VersandanmeldungNCTSDE.SicherheitsangabenVATyp + ' If s.nctsSA_ArtCode IsNot Nothing Then SA.ArtCode = s.nctsSA_ArtCode + ' If s.nctsSA_BezeichnungBescheinigun IsNot Nothing Then SA.BezeichnungBescheinigung = s.nctsSA_BezeichnungBescheinigun + ' If s.nctsSA_AbgabenBetrag IsNot Nothing Then SA.Abgabenbetrag = s.nctsSA_AbgabenBetrag + ' If s.nctsSA_GRN IsNot Nothing Then + ' SA.GRN = s.nctsSA_GRN + ' If If(s.nctsSA_GRN, "") = "05AT510000G000FP7" Then + ' If If(s.nctsSA_Zugriffcode, "").replace("0000", "").length <> 4 Then + ' s.nctsSA_Zugriffcode = InputBox("Bitte geben Sie den Zugriffscode für die AT-Bürgschaft ein:", "Zugriffscode", "") + ' If s.nctsSA_Zugriffcode.length > 4 Then + ' s.nctsSA_Zugriffcode = s.nctsSA_Zugriffcode.ToString.Substring(0, 4) + ' End If + ' End If + ' End If + ' If s.nctsSA_Zugriffcode IsNot Nothing Then SA.Zugriffscode = s.nctsSA_Zugriffcode + + ' ' If s.nctsSA_TIN IsNot Nothing Then SA.TIN = s.nctsSA_TIN ---> Fehler, das Feld wird in ausl. TIN geschreiben --> muss aber leer bleiben + ' XML.EinzelVersandanmeldung.KopfDaten.Sicherheitsangaben.Add(SA) + ' End If + ' Next + 'End If + + ''Beförderungsmittel: + '' If cDY.ncts_Befoerderungsmittel_KennzeichenAbgang Or cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode isnot nothing then + 'XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel = New VersandanmeldungNCTSDE.BefoerderungsmittelVATyp + 'If cDY.ncts_Befoerderungsmittel_KennzeichenAbgang IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.KennzeichenAbgang = cDY.ncts_Befoerderungsmittel_KennzeichenAbgang + 'If cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.StaatszugehoerigkeitAbgangCode = cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode + + 'If cDY.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.VerkehrszweigGrenzueberschreitent = cDY.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent + 'If cDY.ncts_Befoerderungsmittel_ArtGrenzueberschreitung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.ArtGrenzueberschreitentCode = cDY.ncts_Befoerderungsmittel_ArtGrenzueberschreitung + 'If cDY.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.KennzeichenGrenzueberschreitend = cDY.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend + 'If cDY.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.StaatszugehoerigkeitGrenzueberschreitendCode = cDY.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode + ''End If + + ''Adressen + 'XML.EinzelVersandanmeldung.KopfDaten.Adressen = New VersandanmeldungNCTSDE.AdressenVATyp + 'If cDY.ncts_Versender_EORI IsNot Nothing Or cDY.ncts_Versender_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If cDY.ncts_Versender_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.EORI = cDY.ncts_Versender_EORI + ' If cDY.ncts_Versender_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Versender_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.NLNR = cDY.ncts_Versender_NLNR + ' If cDY.ncts_Versender_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Name = cDY.ncts_Versender_Name + ' If cDY.ncts_Versender_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.StrasseHausnummer = cDY.ncts_Versender_StrasseHausnummer + ' If cDY.ncts_Versender_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.PLZ = cDY.ncts_Versender_PLZ + ' If cDY.ncts_Versender_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Ort = cDY.ncts_Versender_Ort + ' If cDY.ncts_Versender_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Land = cDY.ncts_Versender_Land + ' If cDY.ncts_Versender_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.TIN = cDY.ncts_Versender_TIN + 'End If + 'If cDY.ncts_Empfaenger_EORI IsNot Nothing Or cDY.ncts_Empfaenger_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If cDY.ncts_Empfaenger_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.EORI = cDY.ncts_Empfaenger_EORI + ' If cDY.ncts_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Empfaenger_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.NLNR = cDY.ncts_Empfaenger_NLNR + ' If cDY.ncts_Empfaenger_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Name = cDY.ncts_Empfaenger_Name + ' If cDY.ncts_Empfaenger_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.StrasseHausnummer = cDY.ncts_Empfaenger_StrasseHausnummer + ' If cDY.ncts_Empfaenger_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.PLZ = cDY.ncts_Empfaenger_PLZ + ' If cDY.ncts_Empfaenger_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Ort = cDY.ncts_Empfaenger_Ort + ' If cDY.ncts_Empfaenger_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Land = cDY.ncts_Empfaenger_Land + ' If cDY.ncts_Empfaenger_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.TIN = cDY.ncts_Empfaenger_TIN + 'End If + 'If cDY.ncts_Hauptverpflichteter_EORI IsNot Nothing Or cDY.ncts_Hauptverpflichteter_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter = New VersandanmeldungNCTSDE.HauptverpflichteterVATyp + ' If cDY.ncts_Hauptverpflichteter_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.EORI = cDY.ncts_Hauptverpflichteter_EORI + ' If cDY.ncts_Hauptverpflichteter_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Hauptverpflichteter_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.NLNR = cDY.ncts_Hauptverpflichteter_NLNR + ' If cDY.ncts_Hauptverpflichteter_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Name = cDY.ncts_Hauptverpflichteter_Name + ' If cDY.ncts_Hauptverpflichteter_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.StrasseHausnummer = cDY.ncts_Hauptverpflichteter_StrasseHausnummer + ' If cDY.ncts_Hauptverpflichteter_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.PLZ = cDY.ncts_Hauptverpflichteter_PLZ + ' If cDY.ncts_Hauptverpflichteter_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Ort = cDY.ncts_Hauptverpflichteter_Ort + ' If cDY.ncts_Hauptverpflichteter_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Land = cDY.ncts_Hauptverpflichteter_Land + ' If cDY.ncts_Hauptverpflichteter_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.TIN = cDY.ncts_Hauptverpflichteter_TIN + ' If cDY.ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.BewilligungsnummerVersender = cDY.ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender + ' If cDY.ncts_ZugelassenerEmpfaenger_IDCarnet IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.IDCarnet = cDY.ncts_ZugelassenerEmpfaenger_IDCarnet + 'End If + + + + + ''SumA + 'XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit = New VersandanmeldungNCTSDE.SumASicherheitVATyp + + 'If cDY.ncts_SumA_KzSumASicherheit IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.KzSumASicherheit = CInt(Int(cDY.ncts_SumA_KzSumASicherheit)) ' sonst true = -1 + 'If cDY.ncts_SumA_KennnummerSendung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.KennnummerSendung = cDY.ncts_SumA_KennnummerSendung + + 'If cDY.ncts_SumA_BesondereUmstaende IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BesondereUmstaende = cDY.ncts_SumA_BesondereUmstaende + 'If cDY.ncts_SumA_NummerBefoerderung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.NummerBefoerderung = cDY.ncts_SumA_NummerBefoerderung + 'If cDY.ncts_SumA_Ladeort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Ladeort = cDY.ncts_SumA_Ladeort + + 'If cDY.ncts_SumA_Entladeort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Entladeort = cDY.ncts_SumA_Entladeort + 'If cDY.ncts_SumA_BefoerderungskostenZahlungsweise IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungskostenZahlungsweise = cDY.ncts_SumA_BefoerderungskostenZahlungsweise + 'If cDY.ncts_SumA_BefoerderungsrouteLand1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand1) + 'If cDY.ncts_SumA_BefoerderungsrouteLand2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand2) + 'If cDY.ncts_SumA_BefoerderungsrouteLand3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand3) + 'If cDY.ncts_SumA_BefoerderungsrouteLand4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand4) + 'If cDY.ncts_SumA_BefoerderungsrouteLand5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand5) + 'If cDY.ncts_SumA_BefoerderungsrouteLand6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand6) + 'If cDY.ncts_SumA_BefoerderungsrouteLand7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand7) + 'If cDY.ncts_SumA_BefoerderungsrouteLand8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand8) + 'If cDY.ncts_SumA_BefoerderungsrouteLand9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand9) + 'If cDY.ncts_SumA_Versender_EORI IsNot Nothing Or cDY.ncts_SumA_Versender_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Versender_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.EORI = cDY.ncts_SumA_Versender_EORI + ' If cDY.ncts_SumA_Versender_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Versender_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.NLNR = cDY.ncts_SumA_Versender_NLNR + ' If cDY.ncts_SumA_Versender_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Name = cDY.ncts_SumA_Versender_Name + ' If cDY.ncts_SumA_Versender_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.StrasseHausnummer = cDY.ncts_SumA_Versender_StrasseHausnummer + ' If cDY.ncts_SumA_Versender_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.PLZ = cDY.ncts_SumA_Versender_PLZ + ' If cDY.ncts_SumA_Versender_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Ort = cDY.ncts_SumA_Versender_Ort + ' If cDY.ncts_SumA_Versender_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Land = cDY.ncts_SumA_Versender_Land + ' If cDY.ncts_SumA_Versender_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.TIN = cDY.ncts_SumA_Versender_TIN + 'End If + 'If cDY.ncts_SumA_Empfaenger_EORI IsNot Nothing Or cDY.ncts_SumA_Empfaenger_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Empfaenger_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.EORI = cDY.ncts_SumA_Empfaenger_EORI + ' If cDY.ncts_SumA_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Empfaenger_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.NLNR = cDY.ncts_SumA_Empfaenger_NLNR + ' If cDY.ncts_SumA_Empfaenger_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Name = cDY.ncts_SumA_Empfaenger_Name + ' If cDY.ncts_SumA_Empfaenger_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.StrasseHausnummer = cDY.ncts_SumA_Empfaenger_StrasseHausnummer + ' If cDY.ncts_SumA_Empfaenger_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.PLZ = cDY.ncts_SumA_Empfaenger_PLZ + ' If cDY.ncts_SumA_Empfaenger_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Ort = cDY.ncts_SumA_Empfaenger_Ort + ' If cDY.ncts_SumA_Empfaenger_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Land = cDY.ncts_SumA_Empfaenger_Land + ' If cDY.ncts_SumA_Empfaenger_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.TIN = cDY.ncts_SumA_Empfaenger_TIN + 'End If + 'If cDY.ncts_SumA_Befoerderer_EORI IsNot Nothing Or cDY.ncts_SumA_Befoerderer_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Befoerderer_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.EORI = cDY.ncts_SumA_Befoerderer_EORI + ' If cDY.ncts_SumA_Befoerderer_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Befoerderer_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.NLNR = cDY.ncts_SumA_Befoerderer_NLNR + ' If cDY.ncts_SumA_Befoerderer_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Name = cDY.ncts_SumA_Befoerderer_Name + ' If cDY.ncts_SumA_Befoerderer_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.StrasseHausnummer = cDY.ncts_SumA_Befoerderer_StrasseHausnummer + ' If cDY.ncts_SumA_Befoerderer_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.PLZ = cDY.ncts_SumA_Befoerderer_PLZ + ' If cDY.ncts_SumA_Befoerderer_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Ort = cDY.ncts_SumA_Befoerderer_Ort + ' If cDY.ncts_SumA_Befoerderer_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Land = cDY.ncts_SumA_Befoerderer_Land + ' If cDY.ncts_SumA_Befoerderer_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.TIN = cDY.ncts_SumA_Befoerderer_TIN + 'End If + + ''Warenposition: + 'If cDY.ncts_WARENPOS IsNot Nothing AndAlso cDY.ncts_WARENPOS.Count > 0 Then + ' XML.EinzelVersandanmeldung.WarenPosition = New List(Of VersandanmeldungNCTSDE.WarenPositionVersandanmeldungTyp) + ' For Each p In cDY.ncts_WARENPOS + ' Dim WP As New VersandanmeldungNCTSDE.WarenPositionVersandanmeldungTyp + ' If p.nctsWP_PositionsNummer IsNot Nothing Then WP.Positionsnummer = p.nctsWP_PositionsNummer + ' If p.nctsWP_Warennummer IsNot Nothing Then WP.Warennummer = p.nctsWP_Warennummer + ' If p.nctsWP_ArtAnmeldungPositionCode IsNot Nothing Then WP.ArtAnmeldungPositionCode = p.nctsWP_ArtAnmeldungPositionCode + ' If p.nctsWP_Warenbezeichnung IsNot Nothing Then WP.Warenbezeichnung = p.nctsWP_Warenbezeichnung + ' If p.nctsWP_Warenwert IsNot Nothing Then WP.Warenwert = p.nctsWP_Warenwert.ToString.Replace(",", ".") 'AndAlso IsNumeric(p.nctsWP_Warenwert) Then WP.Warenwert = CDbl(p.nctsWP_Warenwert) + ' If p.nctsWP_WarenwertWaehrung IsNot Nothing Then WP.WarenwertWaehrung = p.nctsWP_WarenwertWaehrung 'AndAlso IsNumeric(p.nctsWP_Warenwert) Then WP.Warenwert = CDbl(p.nctsWP_Warenwert) + ' If p.nctsWP_WarenwertProzent IsNot Nothing Then WP.WarenwertProzent = p.nctsWP_WarenwertProzent + ' If p.nctsWP_SchaetzKz IsNot Nothing Then WP.SchaetzKz = p.nctsWP_SchaetzKz + ' If p.nctsWP_VersendungslandPositionCode IsNot Nothing Then WP.VersendungslandPositionCode = p.nctsWP_VersendungslandPositionCode + ' If p.nctsWP_BestimmungslandPositionCode IsNot Nothing Then WP.BestimmungslandPositionCode = p.nctsWP_BestimmungslandPositionCode + ' If p.nctsWP_Rohmasse IsNot Nothing Then WP.Rohmasse = p.nctsWP_Rohmasse + ' If p.nctsWP_Eigenmasse IsNot Nothing AndAlso CDbl(p.nctsWP_Eigenmasse) > 0 Then WP.Eigenmasse = p.nctsWP_Eigenmasse + + + ' If p.nctsWP_BesondereVermeke_ExportAusEU IsNot Nothing Then WP.BesondereVermerke.ExportAusEU = CInt(Int(p.nctsWP_BesondereVermeke_ExportAusEU)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_ExportAusLand IsNot Nothing Then WP.BesondereVermerke.ExportAusLand = p.nctsWP_BesondereVermeke_ExportAusLand + ' If p.nctsWP_BesondereVermeke_Export IsNot Nothing Then WP.BesondereVermerke.Export = CInt(Int(p.nctsWP_BesondereVermeke_Export)) ' sonst true = -1 + + ' If p.nctsWP_BesondereVermeke_ExportBeschraenkung IsNot Nothing Then WP.BesondereVermerke.ExportBeschraenkung = CInt(Int(p.nctsWP_BesondereVermeke_ExportBeschraenkung)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_ExportAbgaben IsNot Nothing Then WP.BesondereVermerke.ExportAbgaben = CInt(Int(p.nctsWP_BesondereVermeke_ExportAbgaben)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_Vermerk IsNot Nothing Then WP.BesondereVermerke.Vermerk = p.nctsWP_BesondereVermeke_Vermerk + ' If p.nctsWP_BesondereVermeke_Kz10600 IsNot Nothing Then WP.BesondereVermerke.Kz10600 = CInt(Int(p.nctsWP_BesondereVermeke_Kz10600)) ' sonst true = -1 + + + ' If p.nctsWP_Versender_EORI IsNot Nothing Or p.nctsWP_Versender_Name IsNot Nothing Then + ' WP.AdressenPosition.Versender = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If p.nctsWP_Versender_EORI IsNot Nothing Then WP.AdressenPosition.Versender.EORI = p.nctsWP_Versender_EORI + ' If p.nctsWP_Versender_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_Versender_NLNR) Then WP.AdressenPosition.Versender.NLNR = p.nctsWP_Versender_NLNR + ' If p.nctsWP_Versender_Name IsNot Nothing Then WP.AdressenPosition.Versender.Name = p.nctsWP_Versender_Name + ' If p.nctsWP_Versender_StrasseHausnummer IsNot Nothing Then WP.AdressenPosition.Versender.StrasseHausnummer = p.nctsWP_Versender_StrasseHausnummer + ' If p.nctsWP_Versender_PLZ IsNot Nothing Then WP.AdressenPosition.Versender.PLZ = p.nctsWP_Versender_PLZ + ' If p.nctsWP_Versender_Ort IsNot Nothing Then WP.AdressenPosition.Versender.Ort = p.nctsWP_Versender_Ort + ' If p.nctsWP_Versender_Land IsNot Nothing Then WP.AdressenPosition.Versender.Land = p.nctsWP_Versender_Land + ' If p.nctsWP_Versender_TIN IsNot Nothing Then WP.AdressenPosition.Versender.TIN = p.nctsWP_Versender_TIN + ' End If + ' If p.nctsWP_Empfaenger_EORI IsNot Nothing Or p.nctsWP_Empfaenger_Name IsNot Nothing Then + ' WP.AdressenPosition.Empfaenger = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If p.nctsWP_Empfaenger_EORI IsNot Nothing Then WP.AdressenPosition.Empfaenger.EORI = p.nctsWP_Empfaenger_EORI + ' If p.nctsWP_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_Empfaenger_NLNR) Then WP.AdressenPosition.Empfaenger.NLNR = p.nctsWP_Empfaenger_NLNR + ' If p.nctsWP_Empfaenger_Name IsNot Nothing Then WP.AdressenPosition.Empfaenger.Name = p.nctsWP_Empfaenger_Name + ' If p.nctsWP_Empfaenger_StrasseHausnummer IsNot Nothing Then WP.AdressenPosition.Empfaenger.StrasseHausnummer = p.nctsWP_Empfaenger_StrasseHausnummer + ' If p.nctsWP_Empfaenger_PLZ IsNot Nothing Then WP.AdressenPosition.Empfaenger.PLZ = p.nctsWP_Empfaenger_PLZ + ' If p.nctsWP_Empfaenger_Ort IsNot Nothing Then WP.AdressenPosition.Empfaenger.Ort = p.nctsWP_Empfaenger_Ort + ' If p.nctsWP_Empfaenger_Land IsNot Nothing Then WP.AdressenPosition.Empfaenger.Land = p.nctsWP_Empfaenger_Land + ' If p.nctsWP_Empfaenger_TIN IsNot Nothing Then WP.AdressenPosition.Empfaenger.TIN = p.nctsWP_Empfaenger_TIN + ' End If + + + ' If p.nctsWP_SumAKennnummerSendung IsNot Nothing Then WP.SumASicherheit.KennnummerSendung = p.nctsWP_SumAKennnummerSendung + ' If p.nctsWP_SumABefoerderungskostenZahlungsweise IsNot Nothing Then WP.SumASicherheit.BefoerderungskostenZahlungsweise = p.nctsWP_SumABefoerderungskostenZahlungsweise + ' If p.nctsWP_SumAUNGefahrgutnummer IsNot Nothing Then WP.SumASicherheit.UNGefahrgutnummer = p.nctsWP_SumAUNGefahrgutnummer + + ' If p.nctsWP_SumAVersender_EORI IsNot Nothing Or p.nctsWP_SumAVersender_Name IsNot Nothing Then + ' WP.SumASicherheit.Versender = New VersandanmeldungNCTSDE.AdresseVATyp + ' If p.nctsWP_SumAVersender_EORI IsNot Nothing Then WP.SumASicherheit.Versender.EORI = p.nctsWP_SumAVersender_EORI + ' If p.nctsWP_SumAVersender_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_SumAVersender_NLNR) Then WP.SumASicherheit.Versender.NLNR = p.nctsWP_SumAVersender_NLNR + ' If p.nctsWP_SumAVersender_Name IsNot Nothing Then WP.SumASicherheit.Versender.Name = p.nctsWP_SumAVersender_Name + ' If p.nctsWP_SumAVersender_StrasseHausnummer IsNot Nothing Then WP.SumASicherheit.Versender.StrasseHausnummer = p.nctsWP_SumAVersender_StrasseHausnummer + ' If p.nctsWP_SumAVersender_PLZ IsNot Nothing Then WP.SumASicherheit.Versender.PLZ = p.nctsWP_SumAVersender_PLZ + ' If p.nctsWP_SumAVersender_Ort IsNot Nothing Then WP.SumASicherheit.Versender.Ort = p.nctsWP_SumAVersender_Ort + ' If p.nctsWP_SumAVersender_Land IsNot Nothing Then WP.SumASicherheit.Versender.Land = p.nctsWP_SumAVersender_Land + ' If p.nctsWP_SumAVersender_TIN IsNot Nothing Then WP.SumASicherheit.Versender.TIN = p.nctsWP_SumAVersender_TIN + ' End If + ' If p.nctsWP_SumAEmpfaenger_EORI IsNot Nothing Or p.nctsWP_SumAEmpfaenger_Name IsNot Nothing Then + ' WP.SumASicherheit.Empfaenger = New VersandanmeldungNCTSDE.AdresseVATyp + ' If p.nctsWP_SumAEmpfaenger_EORI IsNot Nothing Then WP.SumASicherheit.Empfaenger.EORI = p.nctsWP_SumAEmpfaenger_EORI + ' If p.nctsWP_SumAEmpfaenger_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_SumAEmpfaenger_NLNR) Then WP.SumASicherheit.Empfaenger.NLNR = p.nctsWP_SumAEmpfaenger_NLNR + ' If p.nctsWP_SumAEmpfaenger_Name IsNot Nothing Then WP.SumASicherheit.Empfaenger.Name = p.nctsWP_SumAEmpfaenger_Name + ' If p.nctsWP_SumAEmpfaenger_StrasseHausnummer IsNot Nothing Then WP.SumASicherheit.Empfaenger.StrasseHausnummer = p.nctsWP_SumAEmpfaenger_StrasseHausnummer + ' If p.nctsWP_SumAEmpfaenger_PLZ IsNot Nothing Then WP.SumASicherheit.Empfaenger.PLZ = p.nctsWP_SumAEmpfaenger_PLZ + ' If p.nctsWP_SumAEmpfaenger_Ort IsNot Nothing Then WP.SumASicherheit.Empfaenger.Ort = p.nctsWP_SumAEmpfaenger_Ort + ' If p.nctsWP_SumAEmpfaenger_Land IsNot Nothing Then WP.SumASicherheit.Empfaenger.Land = p.nctsWP_SumAEmpfaenger_Land + ' If p.nctsWP_SumAEmpfaenger_TIN IsNot Nothing Then WP.SumASicherheit.Empfaenger.TIN = p.nctsWP_SumAEmpfaenger_TIN + ' End If + + + ' If p.nctsWP_PACKSTUECKE IsNot Nothing AndAlso p.nctsWP_PACKSTUECKE.Count > 0 Then + ' WP.Packstueck = New List(Of VersandanmeldungNCTSDE.PackstueckVATyp) + ' For Each w In p.nctsWP_PACKSTUECKE + ' Dim PK As New VersandanmeldungNCTSDE.PackstueckVATyp + ' If w.nctsWpPk_PackstueckeAnzahl IsNot Nothing Then PK.Anzahl = w.nctsWpPk_PackstueckeAnzahl.ToString.Replace(".", "") + ' If w.nctsWpPk_Verpackungsart IsNot Nothing Then PK.Verpackungsart = w.nctsWpPk_Verpackungsart + ' If w.nctsWpPk_ZeichenNummern IsNot Nothing Then PK.ZeichenNummern = w.nctsWpPk_ZeichenNummern + ' WP.Packstueck.Add(PK) + ' Next + ' End If + + + ' If p.nctsWP_VorpapierTyp IsNot Nothing Then + ' WP.Vorpapier = New VersandanmeldungNCTSDE.VorpapierVATyp + ' WP.Vorpapier.Typ = If(p.nctsWP_VorpapierTyp, "") + + ' WP.Vorpapier.VorpapierAngaben = New List(Of VersandanmeldungNCTSDE.VorpapierAngabenVATyp) + ' If p.nctsWP_VorpapierReferenz1 IsNot Nothing And p.nctsWP_VorpapierReferenz1 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz1, "") + ' If p.nctsWP_VorpapierZusatz1 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz1, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz2 IsNot Nothing And p.nctsWP_VorpapierReferenz2 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz2, "") + ' If p.nctsWP_VorpapierZusatz2 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz2, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz3 IsNot Nothing And p.nctsWP_VorpapierReferenz3 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz3, "") + ' If p.nctsWP_VorpapierZusatz3 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz3, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz4 IsNot Nothing And p.nctsWP_VorpapierReferenz4 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz4, "") + ' If p.nctsWP_VorpapierZusatz4 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz4, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz5 IsNot Nothing And p.nctsWP_VorpapierReferenz5 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz5, "") + ' If p.nctsWP_VorpapierZusatz5 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz5, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz6 IsNot Nothing And p.nctsWP_VorpapierReferenz6 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz6, "") + ' If p.nctsWP_VorpapierZusatz6 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz6, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz7 IsNot Nothing And p.nctsWP_VorpapierReferenz7 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz7, "") + ' If p.nctsWP_VorpapierZusatz7 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz7, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz8 IsNot Nothing And p.nctsWP_VorpapierReferenz8 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz8, "") + ' If p.nctsWP_VorpapierZusatz8 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz8, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz9 IsNot Nothing And p.nctsWP_VorpapierReferenz9 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz9, "") + ' If p.nctsWP_VorpapierZusatz9 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz9, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' End If + + ' If p.nctsWP_UNTERLAGEN IsNot Nothing AndAlso p.nctsWP_UNTERLAGEN.Count > 0 Then + ' WP.VorgelegteUnterlagen = New List(Of VersandanmeldungNCTSDE.VorgelegteUnterlBeschGenehmVATyp) + ' For Each w In p.nctsWP_UNTERLAGEN + ' Dim UL As New VersandanmeldungNCTSDE.VorgelegteUnterlBeschGenehmVATyp + ' If w.nctsWpUl_Typ IsNot Nothing Then UL.Typ = w.nctsWpUl_Typ + ' If w.nctsWpUl_Referenz IsNot Nothing Then UL.Referenz = w.nctsWpUl_Referenz + ' If w.nctsWpUl_Zusatz IsNot Nothing Then UL.Zusatz = w.nctsWpUl_Zusatz + ' WP.VorgelegteUnterlagen.Add(UL) + ' Next + ' End If + + + ' XML.EinzelVersandanmeldung.WarenPosition.Add(WP) + ' Next + 'End If + + 'Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + 'If Not System.IO.Directory.Exists(saveDir) Then + ' System.IO.Directory.CreateDirectory(saveDir) + 'End If + + 'saveFile = saveDir & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ''MsgBox(saveFile) + 'XML.SaveToFile(saveFile) + + 'replaceNullDateXML(saveFile) + + 'Return True + End Function + + + Shared Sub replaceNullDateXML(XMLFile As String) + Try + If Not System.IO.File.Exists(XMLFile) Then Exit Sub + Dim lines() As String = System.IO.File.ReadAllLines(XMLFile) + Using writer = New System.IO.StreamWriter(XMLFile, False) + For Each line In lines + If Not line.Contains("0001-01-01") Then writer.WriteLine(line) + Next + End Using + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + + 'Shared Function loadInClass_VersandanmeldungAES(ByRef cDY As cDakosyAES, USRCNTL As usrCntlATLAS_AES, cDYAnm As cDakosy_Zollanmeldungen) As cDakosyAES + ' Try + + ' cDY.aes_Trans_Partner = "VERA" + ' cDY.aes_Trans_DatumZeit = Now + ' 'cDY.aes_Gestellt = False + ' cDY.aes_Status = "00" + ' cDY.aes_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.aes_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.aes_ObjectAlias = If(USRCNTL.AVISO IsNot Nothing, USRCNTL.AVISO.AvisoID, Nothing) + ' 'cDY.aes_Trans_Version = "003" + ' cDY.aes_Trans_Div1 = "ATILLA" + + ' ' cDY.aes_Stammreferenz = isLeerNothing(USRCNTL.cboStammreferenz._value) + ' ' cDY.aes_BezugsnummerVorblendung = cDY.aes_Stammreferenz + ' cDY.aes_BezugsnummerVorblendung = isLeerNothing(USRCNTL.cboStammreferenz._value) + + ' 'cDY.aes_Trans_Div1 = "ATILLA" + ' 'cDY.aes_Trans_Div1 = "ATILLA" + + ' cDY.aes_ObjectName = USRCNTL.BezugsNr + ' 'cDY.aes_ObjectAlias = USRCNTL.AVISO.AvisoID + ' USRCNTL.ALLG.getValues(cDY) + ' USRCNTL.ADRESSEN.getValues(cDY) + ' 'USRCNTL.POSITIONEN.getValues(cDY) + + ' ' cDY.aes_SICHERHEITSANGABEN = USRCNTL.SICHERHEIT.getValues() + ' 'USRCNTL.VERSCHLUESSE.getValues(cDY) + ' 'cDY.aes_WARENPOS=USRCNTL.POSITIONEN.getValues() + ' '-------------------------------- + + ' cDY.aes_WARENPOS.Clear() + + + ' Return cDY + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return Nothing + ' End Try + 'End Function + + + + 'Shared Function loadInClass_VersandanmeldungEZA(ByRef cDY As cDakosyEZA, USRCNTL As usrCntlATLAS_EZA, cDYAnm As cDakosy_Zollanmeldungen) As cDakosyEZA + ' Try + + ' cDY.eza_Trans_Partner = "VERA" + ' cDY.eza_Trans_DatumZeit = Now + ' 'cDY.EZA_Gestellt = False + ' cDY.eza_Status = "00" + ' cDY.eza_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.eza_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.eza_ObjectAlias = If(USRCNTL.AVISO IsNot Nothing, USRCNTL.AVISO.AvisoID, Nothing) + ' 'cDY.EZA_Trans_Version = "003" + ' cDY.eza_Trans_Div1 = "VERAG" + ' 'cDY.EZA_Trans_Div1 = "ATILLA" + ' 'cDY.EZA_Trans_Div1 = "ATILLA" + + ' ' cDY.eza_Stammreferenz = isLeerNothing(USRCNTL.cboStammreferenz._value) + ' cDY.eza_BezugsnummerVorblendung = isLeerNothing(USRCNTL.cboStammreferenz._value) + + ' cDY.eza_ObjectName = USRCNTL.BezugsNr + ' 'cDY.EZA_ObjectAlias = USRCNTL.AVISO.AvisoID + ' USRCNTL.ALLG.getValues(cDY) + ' USRCNTL.ADRESSEN.getValues(cDY) + ' USRCNTL.POSITIONEN.getValues(cDY) + ' USRCNTL.DV1.getValues(cDY) + + ' ' MsgBox(cDY.eza_WARENPOS.Count) + ' ' cDY.EZA_SICHERHEITSANGABEN = USRCNTL.SICHERHEIT.getValues() + ' 'USRCNTL.VERSCHLUESSE.getValues(cDY) + ' 'cDY.EZA_WARENPOS=USRCNTL.POSITIONEN.getValues() + ' '-------------------------------- + + ' ' cDY.eza_WARENPOS.Clear() + + + ' Return cDY + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return Nothing + ' End Try + 'End Function + + + + 'Shared Function getDivision(FIRMA_DY, Optional fiskal = False) As String + ' If If(FIRMA_DY, "") = "" Then FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + ' Return "SUB" + ' Else + ' Select Case FIRMA_DY + ' Case "ATILLA" + ' Return "SUW" + ' Case "AMBAR" + ' Return "AMBWO" + ' Case "VERAG" + ' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung + ' Case "SUB" : Return "SUB" + ' Case "SBG" : Return "SBG" + ' Case "NKD" : Return "NKD" + ' Case "NEU" : Return "NEU" + ' Case "WAI" : Return "WAI" + ' Case Else : Return "SUB" + ' End Select + + ' Case "UNISPED" + ' Return ""'"ATSP" + ' Case "IMEX" + ' If fiskal Then + ' Return "GLO" + ' Else + ' Return "IME" + ' End If + ' Case Else : Return "SUB" + ' End Select + ' End If + + 'End Function + + 'Shared Function getIOPartner(FIRMA_DY) As String + ' If If(FIRMA_DY, "") = "" Then FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + ' Return "VERA" + ' Else + ' Select Case FIRMA_DY + ' Case "ATILLA" + ' Return "VERG" + ' Case "VERAG" + ' Return "VERG" + ' Case "DURMAZ" + ' Return "DUR" + ' Case "IMEX" + ' Return "IMEX" + ' Case "UNISPED" + ' Return "UNAT" + ' Case Else : Return "VERG" + ' End Select + ' End If + + 'End Function + ''If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + + 'Shared Function generateVersandanmeldungEZA(cDY As cDakosyEZA, ByRef saveFile As String, DY_ACTION As String) As Boolean + ' Dim Interface_VERSION = "004" + ' Dim ObjectAktion = DY_ACTION + + + ' Dim XML As New DAKOSY_Worker.FreierVerkehrAktVeredelUmwandlung_004.FreierVerkehrAktVeredelUmwandlungAVUVTyp + + + ' 'Transaktion: + ' XML.Transaktion = New FreierVerkehrAktVeredelUmwandlung_004.TransaktionFreierVerkehrTyp + ' XML.Transaktion.IOPartner = getIOPartner(cDY.eza_firma) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + ' XML.Transaktion.IODatumZeit = Now + ' XML.Transaktion.IOReferenz = cDY.eza_Trans_Referenz + ' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.eza_firma, CBool(If(cDY.eza_FiskalvertretungKz, False))) + ' XML.Transaktion.Version = Interface_VERSION + + ' Dim EA = New FreierVerkehrAktVeredelUmwandlung_004.EinzelEinfuhrUnvollstaendigeAnmeldungTyp + + ' EA.ObjektIdentifizierung.AbsenderSystemName = "VERAG_ZOLL" + + ' 'ObjektIdentifizierung: + ' EA.ObjektIdentifizierung = New FreierVerkehrAktVeredelUmwandlung_004.ObjektIdentifizierungAVUVTyp + ' EA.ObjektIdentifizierung.ObjektName = cDY.eza_ObjectName + ' If cDY.eza_ObjectAlias IsNot Nothing Then EA.ObjektIdentifizierung.ObjektAlias = cDY.eza_ObjectAlias + ' Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + ' EA.ObjektIdentifizierung.ObjektAktion = ObjektAktion + ' EA.ObjektIdentifizierung.Bearbeiter = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME.Length > 20, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME) + ' 'EA.ObjektIdentifizierung.CompliancePruefung= + ' EA.ObjektIdentifizierung.ObjektName = cDY.eza_ObjectName + ' If cDY.eza_Bearbeiter IsNot Nothing Then EA.ObjektIdentifizierung.Bearbeiter = cDY.eza_Bearbeiter + ' If cDY.eza_CompliancePruefung IsNot Nothing Then EA.ObjektIdentifizierung.CompliancePruefung = cDY.eza_CompliancePruefung + ' If cDY.eza_BezugsnummerVorblendung IsNot Nothing Then EA.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.eza_BezugsnummerVorblendung + + ' EA.ObjektIdentifizierung.AnmeldungArt = If(cDY.eza_AnmeldungArt, "EZA-A") 'Pflichtfeld + + + ' 'KopfDaten + ' EA.KopfDaten = New FreierVerkehrAktVeredelUmwandlung_004.KopfDatenEinfuhrUnvollstaendigeAnmeldungTyp + ' If cDY.eza_AdressierteZollstelle IsNot Nothing Then EA.KopfDaten.AdressierteZollstelle = cDY.eza_AdressierteZollstelle + ' If cDY.eza_AnmelderistEmpfaenger IsNot Nothing Then EA.KopfDaten.AnmelderIstEmpfaenger = cDY.eza_AnmelderistEmpfaenger + ' If cDY.eza_VertretungsVerhaeltnisCode IsNot Nothing Then EA.KopfDaten.VertretungsverhaeltnisCode = cDY.eza_VertretungsVerhaeltnisCode + ' If cDY.eza_Vorsteuerabzug IsNot Nothing Then EA.KopfDaten.Vorsteuerabzug = cDY.eza_Vorsteuerabzug + ' If cDY.eza_AnmeldenderBearbeiterName IsNot Nothing Then EA.KopfDaten.NameAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterName + ' If cDY.eza_AnmeldenderBearbeiterTel IsNot Nothing Then EA.KopfDaten.TelefonnummerAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterTel + ' If cDY.eza_AnmeldenderBearbeiterStellung IsNot Nothing Then EA.KopfDaten.StellungAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterStellung + ' If cDY.eza_AnmeldenderBearbeiterEMail IsNot Nothing Then EA.KopfDaten.EmailAdresseAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterEMail + ' If cDY.eza_FiskalvertretungKz IsNot Nothing Then EA.KopfDaten.FiskalvertretungKz = CInt(Int(cDY.eza_FiskalvertretungKz)) + ' If cDY.eza_Ausstellungsort IsNot Nothing Then EA.KopfDaten.Ausstellungsort = cDY.eza_Ausstellungsort + ' If cDY.eza_ZollrechtlicherStatus IsNot Nothing Then EA.KopfDaten.ZollrechtlicherStatus = cDY.eza_ZollrechtlicherStatus + ' If cDY.eza_GesamtRohmasse IsNot Nothing AndAlso IsNumeric(cDY.eza_GesamtRohmasse) Then EA.KopfDaten.GesamtRohMasse = CDbl(CDbl(cDY.eza_GesamtRohmasse).ToString("N1")) + ' If cDY.eza_VerfahrenBeantragtCode IsNot Nothing Then EA.KopfDaten.VerfahrenBeantragtCode = cDY.eza_VerfahrenBeantragtCode + ' If cDY.eza_VerkehrszweigInland IsNot Nothing Then EA.KopfDaten.VerkehrszweigInland = cDY.eza_VerkehrszweigInland + ' If cDY.eza_VerkehrszweigGrenze IsNot Nothing Then EA.KopfDaten.VerkehrszweigGrenze = cDY.eza_VerkehrszweigGrenze + ' If cDY.eza_VersendungsLandCode IsNot Nothing Then EA.KopfDaten.VersendungslandCode = cDY.eza_VersendungsLandCode + ' If cDY.eza_Bestimmungsland IsNot Nothing Then EA.KopfDaten.Bestimmungsland = cDY.eza_Bestimmungsland + ' If cDY.eza_Bestimmungsbundesland IsNot Nothing Then EA.KopfDaten.Bestimmungsbundesland = cDY.eza_Bestimmungsbundesland + ' If cDY.eza_KennzeichenNameBefoerderungsmittelAnkunft IsNot Nothing Then EA.KopfDaten.KennzeichenNameBefoerderungsmittelAnkunft = cDY.eza_KennzeichenNameBefoerderungsmittelAnkunft + ' If cDY.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenzeStaatszugehoerigkeitCode = cDY.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode + ' If cDY.eza_BeförderungsmittelGrenzeArt IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenzeArt = cDY.eza_BeförderungsmittelGrenzeArt + ' If cDY.eza_BeförderungsmittelGrenze IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze = cDY.eza_BeförderungsmittelGrenze + ' If cDY.eza_LieferbedingungCode IsNot Nothing Then EA.KopfDaten.LieferbedingungCode = cDY.eza_LieferbedingungCode + ' If cDY.eza_LieferbedingungText IsNot Nothing Then EA.KopfDaten.LieferbedingungText = cDY.eza_LieferbedingungText + ' If cDY.eza_LieferbedingungSchluessel IsNot Nothing Then EA.KopfDaten.LieferbedingungSchluessel = cDY.eza_LieferbedingungSchluessel + ' If cDY.eza_LieferbedingungOrt IsNot Nothing Then EA.KopfDaten.LieferbedingungOrt = cDY.eza_LieferbedingungOrt + ' If cDY.eza_VorpapierArtCode IsNot Nothing Then EA.KopfDaten.VorpapierArtCode = cDY.eza_VorpapierArtCode + ' If cDY.eza_VorpapierNr IsNot Nothing Then EA.KopfDaten.VorpapierNr = cDY.eza_VorpapierNr + ' If cDY.eza_ArtGeschaeftCode IsNot Nothing Then EA.KopfDaten.ArtGeschaeftCode = cDY.eza_ArtGeschaeftCode + ' If cDY.eza_Statistikstatus IsNot Nothing Then EA.KopfDaten.StatistikStatus = cDY.eza_Statistikstatus + ' If cDY.eza_Warenort IsNot Nothing Then EA.KopfDaten.Warenort = cDY.eza_Warenort + ' If cDY.eza_Rechnungspreis IsNot Nothing Then EA.KopfDaten.Rechnungspreis = cDY.eza_Rechnungspreis + ' If cDY.eza_Rechnungswaehrung IsNot Nothing Then EA.KopfDaten.Rechnungswaehrung = cDY.eza_Rechnungswaehrung + ' If If(cDY.eza_DV1Kz, False) Then + ' If cDY.eza_DV1Kz IsNot Nothing Then EA.KopfDaten.DV1Angaben.DV1Kz = CInt(Int(cDY.eza_DV1Kz)) + ' If cDY.eza_DV1Vertretungsverhaeltnis IsNot Nothing Then EA.KopfDaten.DV1Angaben.Vertretungsverhaeltnis = cDY.eza_DV1Vertretungsverhaeltnis + ' If cDY.eza_DV1FruehereEntscheidungen IsNot Nothing Then EA.KopfDaten.DV1Angaben.FruehereEntscheidungen = cDY.eza_DV1FruehereEntscheidungen + ' If cDY.eza_DV1Verbundenheit IsNot Nothing Then EA.KopfDaten.DV1Angaben.Verbundenheit = cDY.eza_DV1Verbundenheit + ' If cDY.eza_DV1VerbungenheitEinzelheiten IsNot Nothing Then EA.KopfDaten.DV1Angaben.VerbundenheitEinzelheiten = cDY.eza_DV1VerbungenheitEinzelheiten + ' If cDY.eza_DV1EinschraenkungenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.EinschraenkungenKz = cDY.eza_DV1EinschraenkungenKz + ' If cDY.eza_DV1BedingungenLeistungenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.BedingungenLeistungenKz = cDY.eza_DV1BedingungenLeistungenKz + ' If cDY.eza_DV1BedingungenLeistungenArt IsNot Nothing Then EA.KopfDaten.DV1Angaben.BedingungenLeistungenArt = cDY.eza_DV1BedingungenLeistungenArt + ' If cDY.eza_DV1LizenzgebuehrenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.LizenzgebuehrenKz = cDY.eza_DV1LizenzgebuehrenKz + ' If cDY.eza_DV1LizenzgebuehrenUmstand IsNot Nothing Then EA.KopfDaten.DV1Angaben.LizenzgebuehrenUmstand = cDY.eza_DV1LizenzgebuehrenUmstand + ' If cDY.eza_DV1SpezielleVereinbarungKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.SpezielleVereinbarungKz = cDY.eza_DV1SpezielleVereinbarungKz + ' If cDY.eza_DV1SpezielleVereinbarungUmstand IsNot Nothing Then EA.KopfDaten.DV1Angaben.SpezielleVereinbarungUmstand = cDY.eza_DV1SpezielleVereinbarungUmstand + ' End If + + ' If cDY.eza_UNTERLAGEN.Count > 0 Then + ' EA.KopfDaten.Unterlage = New List(Of FreierVerkehrAktVeredelUmwandlung_004.UnterlageVzKopfAVUVTyp) + ' For Each u In cDY.eza_UNTERLAGEN + ' Dim UNTERLAGE As New FreierVerkehrAktVeredelUmwandlung_004.UnterlageVzKopfAVUVTyp + ' If u.ezaUl_Bereich IsNot Nothing Then UNTERLAGE.Bereich = u.ezaUl_Bereich + ' If u.ezaUl_Art IsNot Nothing Then UNTERLAGE.Art = u.ezaUl_Art + ' If u.ezaUl_Nummer IsNot Nothing Then UNTERLAGE.Nummer = u.ezaUl_Nummer + ' If u.ezaUl_DatumAusstellung IsNot Nothing Then UNTERLAGE.DatumAusstellung = u.ezaUl_DatumAusstellung + ' EA.KopfDaten.Unterlage.Add(UNTERLAGE) + ' Next + ' End If + + + ' If cDY.eza_ZusatzangabenAnmeldung IsNot Nothing Then EA.KopfDaten.ZusatzAngabenAnmeldung = cDY.eza_ZusatzangabenAnmeldung + ' If cDY.eza_KzAutoBestaetigung IsNot Nothing Then EA.KopfDaten.KzAutoBestaetigung = CInt(Int(cDY.eza_KzAutoBestaetigung)) + ' If cDY.eza_AnschreibungDatum IsNot Nothing Then EA.KopfDaten.AnschreibungDatum = cDY.eza_AnschreibungDatum + ' If cDY.eza_Eingangszollstelle IsNot Nothing Then EA.KopfDaten.Eingangszollstelle = cDY.eza_Eingangszollstelle + ' If cDY.eza_Zahlungsart IsNot Nothing Then EA.KopfDaten.Zahlungsart = cDY.eza_Zahlungsart + + ' If cDY.eza_AUFSCHUB.Count > 0 Then + ' EA.KopfDaten.Aufschub = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AufschubAVUVTyp) + ' For Each u In cDY.eza_AUFSCHUB + ' Dim AUFSCHUB As New FreierVerkehrAktVeredelUmwandlung_004.AufschubAVUVTyp + ' If u.ezaAfb_ArtAufschubantrag IsNot Nothing Then AUFSCHUB.ArtAufschubantrag = u.ezaAfb_ArtAufschubantrag + ' If u.ezaAfb_Aufschubart IsNot Nothing Then AUFSCHUB.Aufschubart = u.ezaAfb_Aufschubart + ' If u.ezaAfb_AufschubnehmerEORI IsNot Nothing Then AUFSCHUB.AufschubnehmerEORI = u.ezaAfb_AufschubnehmerEORI + ' 'If u.ezaAfb_KontoNr IsNot Nothing Then AUFSCHUB.KontoNr = u.ezaAfb_KontoNr 'ohne Funktion + ' If u.ezaAfb_AufschuBIN IsNot Nothing Then AUFSCHUB.AufschubBIN = u.ezaAfb_AufschuBIN + ' EA.KopfDaten.Aufschub.Add(AUFSCHUB) + ' Next + ' End If + + ' If cDY.eza_SUMABA.Count > 0 Then + ' EA.KopfDaten.SumABeendigungsAnteil = New List(Of FreierVerkehrAktVeredelUmwandlung_004.SumABeendigungsAnteilAVUVTyp) + ' For Each u In cDY.eza_SUMABA + ' Dim SUMA As New FreierVerkehrAktVeredelUmwandlung_004.SumABeendigungsAnteilAVUVTyp + ' If u.ezaBa_SumARegistriernummer IsNot Nothing Then SUMA.SumARegistriernummer = u.ezaBa_SumARegistriernummer + ' If u.ezaBa_SumAPosNr IsNot Nothing Then SUMA.SumAPosNr = u.ezaBa_SumAPosNr + ' If u.ezaBa_BeendigungsPackstueckzahl IsNot Nothing Then SUMA.BeendigungsPackstueckzahl = u.ezaBa_BeendigungsPackstueckzahl.ToString.Replace(".", "") + ' If u.ezaBa_Artidentifikation IsNot Nothing Then SUMA.ArtIdentifikation = u.ezaBa_Artidentifikation + ' If u.ezaBa_VerwahrerEORI IsNot Nothing Then SUMA.VerwahrerEORI = u.ezaBa_VerwahrerEORI + ' If u.ezaBa_SpezifOrdnungsbegriff IsNot Nothing Then SUMA.SpezifOrdnungsbegriff = u.ezaBa_SpezifOrdnungsbegriff + ' If u.ezaBa_SpezifOrdnungsbegriffArt IsNot Nothing Then SUMA.SpezifOrdnungsbegriffArt = u.ezaBa_SpezifOrdnungsbegriffArt + ' EA.KopfDaten.SumABeendigungsAnteil.Add(SUMA) + ' Next + ' End If + + + + ' If cDY.eza_ContainerNr1 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr1) + ' If cDY.eza_ContainerNr2 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr2) + ' If cDY.eza_ContainerNr3 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr3) + ' If cDY.eza_ContainerNr4 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr4) + ' If cDY.eza_ContainerNr5 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr5) + ' If cDY.eza_ContainerNr6 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr6) + ' If cDY.eza_ContainerNr7 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr7) + ' If cDY.eza_ContainerNr8 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr8) + ' If cDY.eza_ContainerNr9 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr9) + + ' If cDY.eza_BeendigungsanteilArtCode IsNot Nothing Then EA.KopfDaten.BeendigungsAnteilArtCode = cDY.eza_BeendigungsanteilArtCode + ' If cDY.eza_BewilligungsIDZLAVUV IsNot Nothing Then EA.KopfDaten.BewilligungsIDZLAVUV = cDY.eza_BewilligungsIDZLAVUV + ' If cDY.eza_BezugsnummerBEAnteilZL IsNot Nothing Then EA.KopfDaten.BezugsnummerBEAnteilZL = cDY.eza_BezugsnummerBEAnteilZL + + + ' 'Property eza_BEA_ZLAvuv As New List(Of cDakosy_EZA_BEAnteilZLAVUV) + + ' If cDY.eza_BEA_ZLAvuv.Count > 0 Then + ' EA.KopfDaten.BEAnteilZLAVUV = New List(Of FreierVerkehrAktVeredelUmwandlung_004.BEAnteilZLAVUVPositionAVUVTyp) + ' For Each u In cDY.eza_BEA_ZLAvuv + ' Dim BEA As New FreierVerkehrAktVeredelUmwandlung_004.BEAnteilZLAVUVPositionAVUVTyp + ' If u.ezaBAZ_RegistrierNummerZugang IsNot Nothing Then BEA.RegistriernummerZugang = u.ezaBAZ_RegistrierNummerZugang + ' If u.ezaBAZ_PositionZugang IsNot Nothing Then BEA.PositionZugang = u.ezaBAZ_PositionZugang + ' If u.ezaBAZ_ArtikelCodeATZL IsNot Nothing Then BEA.ArtikelcodeATZL = u.ezaBAZ_ArtikelCodeATZL + ' If u.ezaBAZ_AtlasKz IsNot Nothing Then BEA.AtlasKz = CInt(Int(u.ezaBAZ_AtlasKz)) + ' If u.ezaBAZ_EigentuemerATUL IsNot Nothing Then BEA.EigentuemerATZL = u.ezaBAZ_EigentuemerATUL + ' If u.ezaBAZ_ChargennummerATZL IsNot Nothing Then BEA.ChargennummerATZL = u.ezaBAZ_ChargennummerATZL + ' If u.ezaBAZ_UrsprungslandATZL IsNot Nothing Then BEA.UrsprungslandATZL = u.ezaBAZ_UrsprungslandATZL + ' If u.ezaBAZ_UeblicheBehandlungKz IsNot Nothing Then BEA.UeblicheBehandlungKz = CInt(Int(u.ezaBAZ_UeblicheBehandlungKz)) + ' If u.ezaBAZ_Handelsmenge IsNot Nothing Then BEA.Handelsmenge = u.ezaBAZ_Handelsmenge + ' If u.ezaBAZ_MasseinheitHandelsmenge IsNot Nothing Then BEA.MasseinheitHandelsmenge = u.ezaBAZ_MasseinheitHandelsmenge + ' If u.ezaBAZ_Wartennummer IsNot Nothing Then BEA.Warennummer = u.ezaBAZ_Wartennummer + ' If u.ezaBAZ_QualifikatorHandelsmenge IsNot Nothing Then BEA.QualifikatorHandelsmenge = u.ezaBAZ_QualifikatorHandelsmenge + ' If u.ezaBAZ_Abgangsmenge IsNot Nothing Then BEA.Abgangsmenge = u.ezaBAZ_Abgangsmenge + ' If u.ezaBAZ_MasseinheitAbgangsmenge IsNot Nothing Then BEA.MasseinheitAbgangsmenge = u.ezaBAZ_MasseinheitAbgangsmenge + ' If u.ezaBAZ_QualifikatorAbgangsmenge IsNot Nothing Then BEA.QualifikatorAbgangsmenge = u.ezaBAZ_QualifikatorAbgangsmenge + ' If u.ezaBAZ_Positionszusatz IsNot Nothing Then BEA.Positionszusatz = u.ezaBAZ_Positionszusatz + ' If u.ezaBAZ_WarenbezogeneAngaben IsNot Nothing Then BEA.WarenbezogeneAngaben = u.ezaBAZ_WarenbezogeneAngaben + ' EA.KopfDaten.BEAnteilZLAVUV.Add(BEA) + ' Next + ' End If + + + ' If cDY.eza_ADRESSEN.Count > 0 Then + ' EA.KopfDaten.Adressen = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AdressenVzImportAVUVTyp) + ' For Each u In cDY.eza_ADRESSEN + ' Dim ADR As New FreierVerkehrAktVeredelUmwandlung_004.AdressenVzImportAVUVTyp + ' If u.ezaAd_AdressTyp IsNot Nothing Then ADR.AdressTyp = u.ezaAd_AdressTyp + ' If u.ezaAd_AdressCode IsNot Nothing Then ADR.AdressCode = u.ezaAd_AdressCode + ' If u.ezaAd_TeilnehmerEORI IsNot Nothing Then ADR.TeilnehmerEORI = u.ezaAd_TeilnehmerEORI + ' If u.ezaAd_TeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(u.ezaAd_TeilnehmerNLNR) Then ADR.TeilnehmerNLNR = u.ezaAd_TeilnehmerNLNR + ' If u.ezaAd_NameFirma1 IsNot Nothing Then + ' ADR.NameFirma = u.ezaAd_NameFirma1 & If(u.ezaAd_NameFirma2, "") & If(u.ezaAd_NameFirma3, "") + ' End If + ' 'If u.ezaAd_NameFirma1 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma1) + ' 'If u.ezaAd_NameFirma2 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma2) + ' 'If u.ezaAd_NameFirma3 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma3) + ' If u.ezaAd_StrasseHausNr1 IsNot Nothing Then + ' ADR.StrasseHausNr = u.ezaAd_StrasseHausNr1 & If(u.ezaAd_StrasseHausNr2, "") + ' End If + ' 'If u.ezaAd_StrasseHausNr1 IsNot Nothing Then ADR.StrasseHausNr.Add(u.ezaAd_StrasseHausNr1) + ' 'If u.ezaAd_StrasseHausNr2 IsNot Nothing Then ADR.StrasseHausNr.Add(u.ezaAd_StrasseHausNr2) + ' If u.ezaAd_Ortsteil IsNot Nothing Then ADR.Ortsteil = u.ezaAd_Ortsteil + ' If u.ezaAd_LandCode IsNot Nothing Then ADR.LandCode = u.ezaAd_LandCode + ' If u.ezaAd_PLZ IsNot Nothing Then ADR.PLZS = u.ezaAd_PLZ + ' If u.ezaAd_Ort IsNot Nothing Then ADR.OrtS = u.ezaAd_Ort + ' If u.ezaAd_UStIDAnmelder IsNot Nothing Then ADR.UStIDAnmelder = u.ezaAd_UStIDAnmelder + ' If u.ezaAd_FinanzamtIDAnmelder IsNot Nothing Then ADR.FinanzamtIDAnmelder = u.ezaAd_FinanzamtIDAnmelder + ' If u.ezaAd_Bewilligungsnummer IsNot Nothing Then ADR.Bewilligungsnummer = u.ezaAd_Bewilligungsnummer + ' If u.ezaAd_BewilligungsFachVerfahren IsNot Nothing Then ADR.BewilligungFachVerfahren = u.ezaAd_BewilligungsFachVerfahren + ' If u.ezaAd_BewilligungsnummerEndverwender IsNot Nothing Then ADR.BewilligungsnummerEndverwender = u.ezaAd_BewilligungsnummerEndverwender + ' EA.KopfDaten.Adressen.Add(ADR) + ' Next + ' End If + + + ' If cDY.eza_WARENPOS.Count > 0 Then + ' EA.WarenPosition = New List(Of FreierVerkehrAktVeredelUmwandlung_004.PositionEinfuhrUnvollstaendigeAnmeldungTyp) + ' For Each u In cDY.eza_WARENPOS + ' Dim WP As New FreierVerkehrAktVeredelUmwandlung_004.PositionEinfuhrUnvollstaendigeAnmeldungTyp + ' If u.ezaWP_PositionsNummer IsNot Nothing Then WP.Positionsnummer = u.ezaWP_PositionsNummer + ' If u.ezaWP_Artikelnummer IsNot Nothing Then WP.ArtikelNummer = u.ezaWP_Artikelnummer + ' If u.ezaWP_WarennummerEZT IsNot Nothing Then WP.WarenNummerEZT = u.ezaWP_WarennummerEZT + ' If u.ezaWP_Warennummerzusatz1 IsNot Nothing Then WP.WarenNummerZusatz1 = u.ezaWP_Warennummerzusatz1 + ' If u.ezaWP_Warennummerzusatz2 IsNot Nothing Then WP.WarenNummerZusatz2 = u.ezaWP_Warennummerzusatz2 + + ' If u.ezaWP_WarennummerZusatzCode1 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode1) + ' If u.ezaWP_WarennummerZusatzCode2 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode2) + ' If u.ezaWP_WarennummerZusatzCode3 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode3) + ' If u.ezaWP_WarennummerZusatzCode4 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode4) + ' If u.ezaWP_WarennummerZusatzCode5 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode5) + ' If u.ezaWP_WarennummerZusatzCode6 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode6) + ' If u.ezaWP_WarennummerZusatzCode7 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode7) + ' If u.ezaWP_WarennummerZusatzCode8 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode8) + ' If u.ezaWP_WarennummerZusatzCode9 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode9) + ' If u.ezaWP_WarennummerZusatzCode10 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode10) + + ' If u.ezaWP_Warenbezeichnung IsNot Nothing Then WP.WarenBezeichnung = u.ezaWP_Warenbezeichnung + ' If u.ezaWP_VerfahrensCodeVorangegangenesVerfahren IsNot Nothing Then WP.VerfahrenscodeVorangegangenesVerfahren = u.ezaWP_VerfahrensCodeVorangegangenesVerfahren + ' If u.ezaWP_AbgabensteuerungKz IsNot Nothing Then WP.AbgabensteuerungKz = CInt(Int(u.ezaWP_AbgabensteuerungKz)) + ' If u.ezaWP_EUCode IsNot Nothing Then WP.EUCode = u.ezaWP_EUCode + ' If u.ezaWP_UrsprungslandCode IsNot Nothing Then WP.UrsprungslandCode = u.ezaWP_UrsprungslandCode + + ' If cDY.eza_WARENPOS.Count > 1 Then + ' WP.Rohmasse = Nothing + ' Else + ' If u.ezaWP_Rohmasse IsNot Nothing Then WP.Rohmasse = u.ezaWP_Rohmasse + ' End If + + ' If u.ezaWP_Eigenmasse IsNot Nothing Then WP.Eigenmasse = u.ezaWP_Eigenmasse + ' If u.ezaWP_AHStatMenge IsNot Nothing Then WP.AHStatMenge = u.ezaWP_AHStatMenge + ' If u.ezaWP_AHStatMengeMasseinheit IsNot Nothing Then WP.AHStatMengeMasseinheit = u.ezaWP_AHStatMengeMasseinheit + ' If u.ezaWP_AHStatMengeQualifier IsNot Nothing Then WP.AHStatMengeQualifier = u.ezaWP_AHStatMengeQualifier + ' If u.ezaWP_AHStatWert IsNot Nothing AndAlso IsNumeric(u.ezaWP_AHStatWert) Then WP.AHStatWert = CInt(u.ezaWP_AHStatWert) + ' If u.ezaWP_AHStatWertManuellKZ IsNot Nothing Then WP.AHStatWertManuellKZ = CInt(Int(u.ezaWP_AHStatWertManuellKZ)) + ' If u.ezaWP_KostenEUSt IsNot Nothing Then WP.KostenEUSt = u.ezaWP_KostenEUSt + ' If u.ezaWP_PackstueckAnzahl IsNot Nothing Then WP.PackstueckAnzahl = u.ezaWP_PackstueckAnzahl.ToString.Replace(".", "") + ' If u.ezaWP_PackstueckArt IsNot Nothing Then WP.PackstueckArt = u.ezaWP_PackstueckArt + ' If u.ezaWP_PackstueckZeichen IsNot Nothing Then WP.PackstueckZeichen = u.ezaWP_PackstueckZeichen + + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' WP.WarenMenge = New List(Of FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp) + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge1 + ' If u.ezaWP_WarenMasseinheit1 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit1 + ' If u.ezaWP_WarenQualifier1 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier1 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge2 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge2 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge2 + ' If u.ezaWP_WarenMasseinheit2 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit2 + ' If u.ezaWP_WarenQualifier2 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier2 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge3 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge3 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge3 + ' If u.ezaWP_WarenMasseinheit3 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit3 + ' If u.ezaWP_WarenQualifier3 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier3 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge4 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge4 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge4 + ' If u.ezaWP_WarenMasseinheit4 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit4 + ' If u.ezaWP_WarenQualifier4 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier4 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge1 + ' If u.ezaWP_WarenMasseinheit1 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit1 + ' If u.ezaWP_WarenQualifier1 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier1 + ' WP.WarenMenge.Add(WM) + ' End If + ' End If + + ' If u.ezaWP_BeguenstigungBenatragtCode IsNot Nothing Then WP.BeguenstigungBeantragtCode = u.ezaWP_BeguenstigungBenatragtCode + ' If u.ezaWP_Kentigentnummer1 IsNot Nothing Then WP.Kontingentnummer.Add(u.ezaWP_Kentigentnummer1) + ' If u.ezaWP_Kentigentnummer2 IsNot Nothing Then WP.Kontingentnummer.Add(u.ezaWP_Kentigentnummer2) + ' If u.ezaWP_PositionsZusatz IsNot Nothing Then WP.PositionsZusatz = u.ezaWP_PositionsZusatz + ' If u.ezaWP_Artikelpreis IsNot Nothing Then WP.Artikelpreis = u.ezaWP_Artikelpreis + ' If u.ezaWP_OrtVerbringens IsNot Nothing Then WP.OrtVerbringens = u.ezaWP_OrtVerbringens + ' If u.ezaWP_AbflughafenIATACode IsNot Nothing Then WP.AbflughafenIATACode = u.ezaWP_AbflughafenIATACode + ' If u.ezaWP_WarenmengeAVUVZugang IsNot Nothing Then WP.WarenmengeAVUVZugang = u.ezaWP_WarenmengeAVUVZugang + ' If u.ezaWP_WarenmengeAVUVZugangMasseinheit IsNot Nothing Then WP.WarenmengeAVUVZugangMasseinheit = u.ezaWP_WarenmengeAVUVZugangMasseinheit + ' If u.ezaWP_WarenmengeAVUVZugangMasseinheitQualifier IsNot Nothing Then WP.WarenmengeAVUVZugangMasseinheitQualifier = u.ezaWP_WarenmengeAVUVZugangMasseinheitQualifier + ' If u.ezaWP_Sachbereich IsNot Nothing Then WP.Sachbereich = u.ezaWP_Sachbereich + ' If u.ezaWP_SachbereichCode IsNot Nothing Then WP.SachbereichCode = u.ezaWP_SachbereichCode + ' If u.ezaWP_BedingungCode IsNot Nothing Then WP.BedingungCode = u.ezaWP_BedingungCode + ' If u.ezaWP_VeredelungWertsteigerung IsNot Nothing Then WP.VeredelungWertsteigerung = u.ezaWP_VeredelungWertsteigerung + ' If u.ezaWP_TabakSteuerzeichenID IsNot Nothing Then WP.TabakSteuerzeichenID = u.ezaWP_TabakSteuerzeichenID + + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' WP.Gehaltsangaben = New List(Of FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp) + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode1 + ' If u.ezaWP_GehaltsAngabenGradProzent1 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent1 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode2 + ' If u.ezaWP_GehaltsAngabenGradProzent2 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent2 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode3 + ' If u.ezaWP_GehaltsAngabenGradProzent3 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent3 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' End If + ' If u.ezaWP_BeguenstigungsMengeMenge IsNot Nothing Then + ' WP.Beguenstigungsmenge = New FreierVerkehrAktVeredelUmwandlung_004.BeguenstigungsMengeAVUVTyp + ' If u.ezaWP_BeguenstigungsMengeMenge IsNot Nothing Then WP.Beguenstigungsmenge.Menge = u.ezaWP_BeguenstigungsMengeMenge + ' If u.ezaWP_BeguenstigungsMengeMasseinheitCode IsNot Nothing Then WP.Beguenstigungsmenge.MasseinheitCode = u.ezaWP_BeguenstigungsMengeMasseinheitCode + ' If u.ezaWP_BeguenstigungsMengeQualifier IsNot Nothing Then WP.Beguenstigungsmenge.MasseinheitQualifier = u.ezaWP_BeguenstigungsMengeQualifier + ' End If + + ' If u.ezaWP_VERBRAUCHSSTEUER.Count > 0 Then + ' WP.Verbrauchssteuer = New List(Of FreierVerkehrAktVeredelUmwandlung_004.VerbrauchssteuerAVUVTyp) + ' For Each v In u.ezaWP_VERBRAUCHSSTEUER + ' Dim VS As New FreierVerkehrAktVeredelUmwandlung_004.VerbrauchssteuerAVUVTyp + ' If v.ezaWpVs_VerbrauchsteuerCode IsNot Nothing Then VS.VerbrauchsteuerCode = v.ezaWpVs_VerbrauchsteuerCode + ' If v.ezaWpVs_VerbrauchssteuerMenge IsNot Nothing Then VS.VerbrauchssteuerMenge = v.ezaWpVs_VerbrauchssteuerMenge + ' If v.ezaWpVs_VerbrauchssteuerMasseinheitCode IsNot Nothing Then VS.VerbrauchssteuerMasseinheitCode = v.ezaWpVs_VerbrauchssteuerMasseinheitCode + ' If v.ezaWpVs_VerbrauchssteuerMasseinheitQualifier IsNot Nothing Then VS.VerbrauchssteuerMasseinheitQualifier = v.ezaWpVs_VerbrauchssteuerMasseinheitQualifier + ' If v.ezaWpVs_GradProzent IsNot Nothing Then VS.GradProzent = v.ezaWpVs_GradProzent + ' If v.ezaWpVs_VerbrauchssteuerWertbasis IsNot Nothing Then VS.VerbrauchssteuerWertBasis = v.ezaWpVs_VerbrauchssteuerWertbasis + ' WP.Verbrauchssteuer.Add(VS) + ' Next + ' End If + + ' 'Abgabenminderiung + ' If u.ezaWP_Abgabenminderung_AbgabengruppeCode1 IsNot Nothing Then + ' WP.Abgabenminderung = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp) + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode1 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag1 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag1 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode2 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag2 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag2 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode3 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag3 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag3 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' End If + + ' 'Sonderfalldaten + ' If u.ezaWP_SONDERFALLDATEN.Count > 0 Then + ' WP.Sonderfalldaten = New List(Of FreierVerkehrAktVeredelUmwandlung_004.SonderfalldatenAVUVTyp) + ' For Each v In u.ezaWP_SONDERFALLDATEN + ' Dim SD As New FreierVerkehrAktVeredelUmwandlung_004.SonderfalldatenAVUVTyp + ' If v.ezaWpSfd_SonderabgabenGruppeCode IsNot Nothing Then SD.SonderabgabenGruppeCode = v.ezaWpSfd_SonderabgabenGruppeCode + ' If v.ezaWpSfd_AnwendungArt IsNot Nothing Then SD.AnwendungArt = v.ezaWpSfd_AnwendungArt + ' If v.ezaWpSfd_SatzBetragFaktor IsNot Nothing Then SD.SatzBetragFaktor = v.ezaWpSfd_SatzBetragFaktor + ' WP.Sonderfalldaten.Add(SD) + ' Next + ' End If + + ' 'unterlagen + ' If u.ezaWP_UNTERLAGEN.Count > 0 Then + ' WP.Unterlage = New List(Of FreierVerkehrAktVeredelUmwandlung_004.UnterlageVZPositionAVUVTyp) + ' For Each v In u.ezaWP_UNTERLAGEN + ' Dim UL As New FreierVerkehrAktVeredelUmwandlung_004.UnterlageVZPositionAVUVTyp + ' If v.ezaWpUl_Bereich IsNot Nothing Then UL.Bereich = v.ezaWpUl_Bereich + ' If v.ezaWpUl_Art IsNot Nothing Then UL.Art = v.ezaWpUl_Art + ' If v.ezaWpUl_Nummer IsNot Nothing Then UL.Nummer = v.ezaWpUl_Nummer + ' If v.ezaWpUl_DatumAusstellung IsNot Nothing Then UL.DatumAusstellung = v.ezaWpUl_DatumAusstellung + ' If v.ezaWpUl_VorlageKz IsNot Nothing Then UL.VorlageKz = CInt(Int(v.ezaWpUl_VorlageKz)) + ' If v.ezaWpUl_AbschreibungsMenge IsNot Nothing Then UL.AbschreibungsMenge = v.ezaWpUl_AbschreibungsMenge + ' If v.ezaWpUl_AbschreibungsMengeMasseinheit IsNot Nothing Then UL.AbschreibungsMengeMasseinheit = v.ezaWpUl_AbschreibungsMengeMasseinheit + ' If v.ezaWpUl_AbschreibungsMengeMasseinheitQualifier IsNot Nothing Then UL.AbschreibungsMengeMasseinheitQualifier = v.ezaWpUl_AbschreibungsMengeMasseinheitQualifier + ' WP.Unterlage.Add(UL) + ' Next + ' End If + + ' 'Besondere Wertangabe + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then + ' WP.BesondereWertangabe = New List(Of FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp) + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode1 + ' If u.ezaWP_BesondereWertangabe_Wert1 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert1 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode2 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode2 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode2 + ' If u.ezaWP_BesondereWertangabe_Wert2 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert2 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode3 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode3 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode3 + ' If u.ezaWP_BesondereWertangabe_Wert3 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert3 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode4 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode4 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode4 + ' If u.ezaWP_BesondereWertangabe_Wert4 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert4 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode5 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode5 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode5 + ' If u.ezaWP_BesondereWertangabe_Wert5 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert5 + ' WP.BesondereWertangabe.Add(BW) + ' End If + + ' End If + + + ' If u.ezaWP_VZAStatus IsNot Nothing Then WP.VZAStatus = u.ezaWP_VZAStatus + ' If u.ezaWP_EGZStatus IsNot Nothing Then WP.EGZStatus = u.ezaWP_EGZStatus + ' If u.ezaWP_DV1Status IsNot Nothing Then WP.DV1Status = u.ezaWP_DV1Status + ' If u.ezaWP_AnmeldeArt IsNot Nothing Then WP.AnmeldeArt = u.ezaWP_AnmeldeArt + ' If u.ezaWP_BefundDatum IsNot Nothing Then WP.BefundDatum = u.ezaWP_BefundDatum + ' If u.ezaWP_Zollverfahren IsNot Nothing Then WP.Zollverfahren = u.ezaWP_Zollverfahren + ' If u.ezaWP_AbrechnungszollstelleCode IsNot Nothing Then WP.AbrechnungszollstelleCode = u.ezaWP_AbrechnungszollstelleCode + ' If u.ezaWP_SachbereichCode IsNot Nothing Then WP.SachbereichCode = u.ezaWP_SachbereichCode + ' If u.ezaWP_RegistriernummerZA IsNot Nothing Then WP.RegistriernummervZA = u.ezaWP_RegistriernummerZA + ' If u.ezaWP_AnmeldeVErfahren IsNot Nothing Then WP.AnmeldeVerfahren = u.ezaWP_AnmeldeVErfahren + ' If u.ezaWP_Bewilligungsnummer IsNot Nothing Then WP.Bewilligungsnummer = u.ezaWP_Bewilligungsnummer + ' If u.ezaWP_BewilligungsnummerEndverwenderEGZDurchDritte IsNot Nothing Then WP.BewilligungsnummerEndverwenderEGZDurchDritte = u.ezaWP_BewilligungsnummerEndverwenderEGZDurchDritte + ' If u.ezaWP_Zollwert IsNot Nothing Then WP.Zollwert = u.ezaWP_Zollwert + ' If u.ezaWP_LuftfrachtkostenGesamt IsNot Nothing Then WP.LuftfrachtkostenGesamt = u.ezaWP_LuftfrachtkostenGesamt + ' If u.ezaWP_LuftfrachtkostenGesamtWaehrung IsNot Nothing Then WP.LuftfrachtkostenGesamtWaehrung = u.ezaWP_LuftfrachtkostenGesamtWaehrung + ' If u.ezaWP_IATAKursKz IsNot Nothing Then WP.IATAKursKz = CInt(Int(u.ezaWP_IATAKursKz)) + ' If u.ezaWP_KursVereinbartKz IsNot Nothing Then WP.KursBetragVereinbart = CInt(Int(u.ezaWP_KursVereinbartKz)) + ' If u.ezaWP_KursBetragVereinbart IsNot Nothing Then WP.KursBetragVereinbart = u.ezaWP_KursBetragVereinbart + ' If u.ezaWP_KursDatum IsNot Nothing Then WP.KursDatum = u.ezaWP_KursDatum + + + ' 'ABZUGHINZURECHNUNG nicht vorgesehen + + ' If u.ezaWP_Aussenhandelsstatistik_VerkehrszweigInland IsNot Nothing Then WP.Aussenhandelsstatistik.VerkehrszweigInland = u.ezaWP_Aussenhandelsstatistik_VerkehrszweigInland + ' If u.ezaWP_Aussenhandelsstatistik_VerkehrszweigGrenze IsNot Nothing Then WP.Aussenhandelsstatistik.VerkehrszweigGrenze = u.ezaWP_Aussenhandelsstatistik_VerkehrszweigGrenze + ' If u.ezaWP_Aussenhandelsstatistik_Versendungsland IsNot Nothing Then WP.Aussenhandelsstatistik.Versendungsland = u.ezaWP_Aussenhandelsstatistik_Versendungsland + ' If u.ezaWP_Aussenhandelsstatistik_BEstimmungsbundesland IsNot Nothing Then WP.Aussenhandelsstatistik.Bestimmungsbundesland = u.ezaWP_Aussenhandelsstatistik_BEstimmungsbundesland + ' If u.ezaWP_Aussenhandelsstatistik_Bestimmungsland IsNot Nothing Then WP.Aussenhandelsstatistik.Bestimmungsland = u.ezaWP_Aussenhandelsstatistik_Bestimmungsland + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGranzeStaatszugehoeriglkeitCode IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelGrenzeStaatszugehoerigkeitCode = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGranzeStaatszugehoeriglkeitCode + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGrenzeArt IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelGrenzeArt = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGrenzeArt + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelBeschreibung IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelBeschreibung = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelBeschreibung + ' If u.ezaWP_Aussenhandelsstatistik_ArtGeschaeft IsNot Nothing Then WP.Aussenhandelsstatistik.ArtGeschaeft = u.ezaWP_Aussenhandelsstatistik_ArtGeschaeft + ' If u.ezaWP_Aussenhandelsstatistik_Statistikstatus IsNot Nothing Then WP.Aussenhandelsstatistik.Statistikstatus = u.ezaWP_Aussenhandelsstatistik_Statistikstatus + + ' 'DV1 + ' If u.ezaWP_Artikelpreis IsNot Nothing Then + + ' Dim ABZHRG As New FreierVerkehrAktVeredelUmwandlung_004.AbzugHinzurechnungAVUVTyp + ' ABZHRG.Betrag = u.ezaWP_Artikelpreis + ' ABZHRG.Waehrung = u.ezaWP_ArtikelpreisWaehrung + ' ABZHRG.ArtCode = "R" + ' If If(ABZHRG.Waehrung, "") = "EUR" Then ABZHRG.KursAuslandswaehrung = 1 + + ' WP.Artikelpreis = u.ezaWP_Artikelpreis + ' WP.AbzugHinzurechnung.Add(ABZHRG) + ' End If + + + ' EA.WarenPosition.Add(WP) + ' Next + ' End If + + + ' XML.EinzelAnmeldung.Add(EA) + + + + ' saveFile = cDakosyFunftions.getDefaultFolder_SEND() & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ' 'MsgBox(saveFile) + ' XML.SaveToFile(saveFile) + + ' replaceNullDateXML(saveFile) + ' Return True + 'End Function + + + 'Shared Function isLeerNothing(o As String) As Object + ' If o Is Nothing OrElse o = "" Then + ' Return Nothing + ' Else + ' Return o + ' End If + 'End Function + + + + + 'Shared Function generateVersandanmeldungAES(cDY As cDakosyAES, ByRef saveFile As String, DY_ACTION As String) As Boolean + ' Dim Interface_VERSION = "003" + ' Dim ObjectAktion = DY_ACTION + + + ' Dim XML As New DAKOSY_Worker.VollstaendigeAusfuhrAnmeldung.VollstaendigeAusfuhrAnmeldungEVTyp + + + ' 'Transaktion: + ' XML.Transaktion = New VollstaendigeAusfuhrAnmeldung.TransaktionExportTyp + ' XML.Transaktion.IOPartner = getIOPartner(cDY.aes_firma) ' If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + ' XML.Transaktion.IODatumZeit = Now + ' XML.Transaktion.IOReferenz = cDY.aes_Trans_Referenz + ' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.aes_firma) ' + ' XML.Transaktion.Version = Interface_VERSION + + ' Dim EA = New VollstaendigeAusfuhrAnmeldung.EinzelVollstaendigeAusfuhrAnmeldungTyp + + ' EA.ObjektIdentifizierung.AbsenderSystemName = "VERAG_ZOLL" + + ' 'ObjektIdentifizierung: + ' EA.ObjektIdentifizierung = New VollstaendigeAusfuhrAnmeldung.ObjektIdentifizierungEVTyp + ' EA.ObjektIdentifizierung.ObjektName = cDY.aes_ObjectName + ' If cDY.aes_ObjectAlias IsNot Nothing Then EA.ObjektIdentifizierung.ObjektAliasname = cDY.aes_ObjectAlias + ' Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + ' EA.ObjektIdentifizierung.ObjektAktion = ObjektAktion + ' EA.ObjektIdentifizierung.Bearbeiter = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME.Length > 20, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME) + ' 'EA.ObjektIdentifizierung.CompliancePruefung= + ' EA.ObjektIdentifizierung.ObjektName = cDY.aes_ObjectName + ' If cDY.aes_BezugsnummerVorblendung IsNot Nothing Then EA.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.aes_BezugsnummerVorblendung + + ' 'KopfDaten + ' EA.KopfDaten = New VollstaendigeAusfuhrAnmeldung.KopfDatenVollstaendigeAusfuhranmeldungTyp + ' If cDY.aes_AnmeldeArtAusfuhrCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtAusfuhrCode = cDY.aes_AnmeldeArtAusfuhrCode + ' If cDY.aes_AnmeldeArtVerfahrensCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtVerfahrenCode = cDY.aes_AnmeldeArtVerfahrensCode + ' If cDY.aes_AnmeldeArtUeberfuehrungCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtUeberfuehrungCode = cDY.aes_AnmeldeArtUeberfuehrungCode + ' If cDY.aes_Ausfuhrland IsNot Nothing Then EA.KopfDaten.AusfuhrlandCode = cDY.aes_Ausfuhrland + ' If cDY.aes_BestimmungslandCode IsNot Nothing Then EA.KopfDaten.BestimmungslandCode = cDY.aes_BestimmungslandCode + ' If cDY.aes_AnmeldedatumZeit IsNot Nothing Then EA.KopfDaten.AnmeldeDatumZeit = cDY.aes_AnmeldedatumZeit + ' If cDY.aes_DatumAusgang IsNot Nothing Then EA.KopfDaten.DatumAusgang = cDY.aes_DatumAusgang + + ' If cDY.aes_MassgeblichesDatum IsNot Nothing Then EA.KopfDaten.MassgeblichesDatum = cDY.aes_MassgeblichesDatum + + ' If cDY.aes_BesondereUmstaende IsNot Nothing Then EA.KopfDaten.BesondereUmstaende = cDY.aes_BesondereUmstaende + ' If cDY.aes_Zahlungsweisebefoerderungskosten IsNot Nothing Then EA.KopfDaten.ZahlungsweiseBefoerderungskosten = cDY.aes_Zahlungsweisebefoerderungskosten + ' If cDY.aes_ContainerIndikator IsNot Nothing Then EA.KopfDaten.ContainerIndikator = cDY.aes_ContainerIndikator + ' If cDY.aes_BeteiligteKonstellation IsNot Nothing Then EA.KopfDaten.BeteiligtenKonstellation = cDY.aes_BeteiligteKonstellation + ' 'If cDY.aes_AdressdatenKonstellation IsNot Nothing Then EA.KopfDaten.AdressatenKonstellation = cDY.aes_AdressdatenKonstellation --> OHNE FUNK + ' If cDY.aes_GesamtRohmasse IsNot Nothing AndAlso IsNumeric(cDY.aes_GesamtRohmasse) Then EA.KopfDaten.GesamtRohMasse = CDbl(CDbl(cDY.aes_GesamtRohmasse).ToString("N1")) + ' If cDY.aes_RegistriernummerFremdsystem IsNot Nothing Then EA.KopfDaten.RegistrierNummerFremdSystem = cDY.aes_RegistriernummerFremdsystem + ' If cDY.aes_Vermerk IsNot Nothing Then EA.KopfDaten.Vermerk = cDY.aes_Vermerk + ' If cDY.aes_KennnummerSendung IsNot Nothing Then EA.KopfDaten.KennnummerSendung = cDY.aes_KennnummerSendung + ' If cDY.aes_AnzahlPositionen IsNot Nothing Then EA.KopfDaten.AnzahlPositionen = cDY.aes_AnzahlPositionen + ' If cDY.aes_BewiligungsnummerAusfuhr IsNot Nothing Then EA.KopfDaten.BewilligungsnummerAusfuhr = cDY.aes_BewiligungsnummerAusfuhr + ' If cDY.aes_BewiligungsnummerAnschreibeverfahren IsNot Nothing Then EA.KopfDaten.BewilligungsnummerAnschreibeverfahren = cDY.aes_BewiligungsnummerAnschreibeverfahren + ' If cDY.aes_BewiligungsnummerPassiveVeredelung IsNot Nothing Then EA.KopfDaten.BewilligungsnummerPassiveVeredelung = cDY.aes_BewiligungsnummerPassiveVeredelung + ' If cDY.aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer IsNot Nothing Then EA.KopfDaten.BewilligungsnummerVertrauenswuerdigerAusfuehrer = cDY.aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer + ' If cDY.aes_VerkehrszweigInland IsNot Nothing Then EA.KopfDaten.VerkehrszweigInland = cDY.aes_VerkehrszweigInland + ' If cDY.aes_VerkehrszweigGrenze IsNot Nothing Then EA.KopfDaten.VerkehrszweigGrenze = cDY.aes_VerkehrszweigGrenze + + ' 'BefoerderungsmittelAbgang + ' If cDY.aes_BefoerderungsmittelAbgangArtCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.ArtCode = cDY.aes_BefoerderungsmittelAbgangArtCode + ' If cDY.aes_BefoerderungsmittelAbgangKennzeichen IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.Kennzeichen = cDY.aes_BefoerderungsmittelAbgangKennzeichen + ' If cDY.aes_BefoerderungsmittelAbgangStaatCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.StaatCode = cDY.aes_BefoerderungsmittelAbgangStaatCode + + ' 'BefoerderungsmittelGrenze + ' If cDY.aes_BefoerderungsmittelGrenzeArtCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.ArtCode = cDY.aes_BefoerderungsmittelGrenzeArtCode + ' If cDY.aes_BefoerderungsmittelGrenzeKennzeichen IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.Kennzeichen = cDY.aes_BefoerderungsmittelGrenzeKennzeichen + ' If cDY.aes_BefoerderungsmittelGrenzeStaatCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.StaatCode = cDY.aes_BefoerderungsmittelGrenzeStaatCode + + ' 'Ladeort + ' 'If cDY.aes_LadeortOrt IsNot Nothing Then EA.KopfDaten.Ladeort = cDY.aes_LadeortOrt ---> ÜBERBEGRIFF + ' If cDY.aes_LadeortOrtId IsNot Nothing Then EA.KopfDaten.Ladeort.OrtID = cDY.aes_LadeortOrtId + ' If cDY.aes_LadeortStrasse IsNot Nothing Then EA.KopfDaten.Ladeort.Strasse = cDY.aes_LadeortStrasse + ' If cDY.aes_LadeortOrt IsNot Nothing Then EA.KopfDaten.Ladeort.Ort = cDY.aes_LadeortOrt + ' If cDY.aes_LadeortPLZ IsNot Nothing Then EA.KopfDaten.Ladeort.PLZ = cDY.aes_LadeortPLZ + ' If cDY.aes_LadeortZusatz IsNot Nothing Then EA.KopfDaten.Ladeort.Zusatz = cDY.aes_LadeortZusatz + + ' If cDY.aes_AusfuhrZollstelleID IsNot Nothing Then EA.KopfDaten.AusfuhrZollstelleID = cDY.aes_AusfuhrZollstelleID + ' If cDY.aes_AusgangszollstelleID IsNot Nothing Then EA.KopfDaten.AusgangZollstelleID = cDY.aes_AusgangszollstelleID + ' If cDY.aes_TatsaechlicheAusgangZollstelleID IsNot Nothing Then EA.KopfDaten.TatsaechlicheAusgangZollstelleID = cDY.aes_TatsaechlicheAusgangZollstelleID + ' If cDY.aes_GeschaeftartCode IsNot Nothing Then EA.KopfDaten.GeschaeftArtCode = cDY.aes_GeschaeftartCode + ' If cDY.aes_Rechnungspreis IsNot Nothing Then EA.KopfDaten.Rechnungspreis = cDY.aes_Rechnungspreis.replace(",", ".") + ' If cDY.aes_Rechnungwaehrung IsNot Nothing Then EA.KopfDaten.Rechnungswaehrung = cDY.aes_Rechnungwaehrung + ' If cDY.aes_BesondererTatbestand IsNot Nothing Then EA.KopfDaten.BesondererTatbestand = cDY.aes_BesondererTatbestand + + ' 'Verschluss + ' If cDY.aes_VerschlussArtCode IsNot Nothing Then EA.KopfDaten.Verschluss.ArtCode = cDY.aes_VerschlussArtCode + ' If cDY.aes_VerschlussAnzahl IsNot Nothing Then EA.KopfDaten.Verschluss.Anzahl = cDY.aes_VerschlussAnzahl + ' EA.KopfDaten.Verschluss.Zeichen = New List(Of String) + ' If cDY.aes_VerschlussZeichen1 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen1) + ' If cDY.aes_VerschlussZeichen2 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen2) + ' If cDY.aes_VerschlussZeichen3 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen3) + ' If cDY.aes_VerschlussZeichen4 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen4) + ' If cDY.aes_VerschlussZeichen5 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen5) + ' If cDY.aes_VerschlussZeichen6 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen6) + ' If cDY.aes_VerschlussZeichen7 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen7) + ' If cDY.aes_VerschlussZeichen8 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen8) + ' If cDY.aes_VerschlussZeichen9 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen9) + ' If cDY.aes_VerschlussZeichen10 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen10) + ' If cDY.aes_VerschlussZeichen11 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen11) + ' If cDY.aes_VerschlussZeichen12 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen12) + + ' If cDY.aes_GestellungsfristAnfangDatumZeit IsNot Nothing Then EA.KopfDaten.Gestellungsfrist.AnfangDatumZeit = cDY.aes_GestellungsfristAnfangDatumZeit + ' If cDY.aes_GestellungsfristEndeDatumZeit IsNot Nothing Then EA.KopfDaten.Gestellungsfrist.EndeDatumZeit = cDY.aes_GestellungsfristEndeDatumZeit + + ' 'Ausfuehrer + ' If (cDY.aes_AusfuehrerTeilnehmerEORI IsNot Nothing Or cDY.aes_AusfuehrerTeilnehmerName <> "") Then + ' If cDY.aes_AusfuehrerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Ausfuehrer.TeilnehmerEORI = cDY.aes_AusfuehrerTeilnehmerEORI + ' If cDY.aes_AusfuehrerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_AusfuehrerTeilnehmerNLNR) Then EA.KopfDaten.Ausfuehrer.TeilnehmerNLNR = cDY.aes_AusfuehrerTeilnehmerNLNR + ' If cDY.aes_AusfuehrerTeilnehmerName IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Name = cDY.aes_AusfuehrerTeilnehmerName + ' If cDY.aes_AusfuehrerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Strasse = cDY.aes_AusfuehrerTeilnehmerStrasse + ' If cDY.aes_AusfuehrerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ort = cDY.aes_AusfuehrerTeilnehmerOrt + ' If cDY.aes_AusfuehrerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Ausfuehrer.PLZ = cDY.aes_AusfuehrerTeilnehmerPLZ + ' If cDY.aes_AusfuehrerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Ausfuehrer.LandCode = cDY.aes_AusfuehrerTeilnehmerLandCode + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Sachbearbeiter = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Telefonnummer = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Telefaxnummer = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.EmailAdresse = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Stellung = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'Empfaenger + ' If (cDY.aes_EmpfaengerTeilnehmerEORI IsNot Nothing Or cDY.aes_EmpfaengerTeilnehmerName <> "") Then + ' If cDY.aes_EmpfaengerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Empfaenger.TeilnehmerEORI = cDY.aes_EmpfaengerTeilnehmerEORI + ' If cDY.aes_EmpfaengerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_EmpfaengerTeilnehmerNLNR) Then EA.KopfDaten.Empfaenger.TeilnehmerNLNR = cDY.aes_EmpfaengerTeilnehmerNLNR + ' If cDY.aes_EmpfaengerTeilnehmerName IsNot Nothing Then EA.KopfDaten.Empfaenger.Name = cDY.aes_EmpfaengerTeilnehmerName + ' If cDY.aes_EmpfaengerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Empfaenger.Strasse = cDY.aes_EmpfaengerTeilnehmerStrasse + ' If cDY.aes_EmpfaengerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Empfaenger.Ort = cDY.aes_EmpfaengerTeilnehmerOrt + ' If cDY.aes_EmpfaengerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Empfaenger.PLZ = cDY.aes_EmpfaengerTeilnehmerPLZ + ' If cDY.aes_EmpfaengerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Empfaenger.LandCode = cDY.aes_EmpfaengerTeilnehmerLandCode + ' End If + + ' 'Anmelder + ' If (cDY.aes_AnmelderTeilnehmerEORI IsNot Nothing Or cDY.aes_AnmelderTeilnehmerName <> "") Then + ' If cDY.aes_AnmelderTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Anmelder.TeilnehmerEORI = cDY.aes_AnmelderTeilnehmerEORI + ' If cDY.aes_AnmelderTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_AnmelderTeilnehmerNLNR) Then EA.KopfDaten.Anmelder.TeilnehmerNLNR = cDY.aes_AnmelderTeilnehmerNLNR + ' If cDY.aes_AnmelderTeilnehmerName IsNot Nothing Then EA.KopfDaten.Anmelder.Name = cDY.aes_AnmelderTeilnehmerName + ' If cDY.aes_AnmelderTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Anmelder.Strasse = cDY.aes_AnmelderTeilnehmerStrasse + ' If cDY.aes_AnmelderTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Anmelder.Ort = cDY.aes_AnmelderTeilnehmerOrt + ' If cDY.aes_AnmelderTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Anmelder.PLZ = cDY.aes_AnmelderTeilnehmerPLZ + ' If cDY.aes_AnmelderTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Anmelder.LandCode = cDY.aes_AnmelderTeilnehmerLandCode + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Sachbearbeiter = cDY.aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Telefonnummer = cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Telefaxnummer = cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.EmailAdresse = cDY.aes_AnmelderTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Stellung = cDY.aes_AnmelderTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'VertreterAnmelder + ' If (cDY.aes_VertreterAnmelderTeilnehmerEORI IsNot Nothing Or cDY.aes_VertreterAnmelderTeilnehmerName <> "") Then + ' If cDY.aes_VertreterAnmelderTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.TeilnehmerEORI = cDY.aes_VertreterAnmelderTeilnehmerEORI + ' If cDY.aes_VertreterAnmelderTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_VertreterAnmelderTeilnehmerNLNR) Then EA.KopfDaten.VertreterAnmelder.TeilnehmerNLNR = cDY.aes_VertreterAnmelderTeilnehmerNLNR + ' If cDY.aes_VertreterAnmelderTeilnehmerName IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Name = cDY.aes_VertreterAnmelderTeilnehmerName + ' If cDY.aes_VertreterAnmelderTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Strasse = cDY.aes_VertreterAnmelderTeilnehmerStrasse + ' If cDY.aes_VertreterAnmelderTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ort = cDY.aes_VertreterAnmelderTeilnehmerOrt + ' If cDY.aes_VertreterAnmelderTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.PLZ = cDY.aes_VertreterAnmelderTeilnehmerPLZ + ' If cDY.aes_VertreterAnmelderTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.LandCode = cDY.aes_VertreterAnmelderTeilnehmerLandCode + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Sachbearbeiter = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Telefonnummer = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Telefaxnummer = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.EmailAdresse = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Stellung = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'Subunternehmer + ' If (cDY.aes_SubunternehmerTeilnehmerEORI IsNot Nothing Or cDY.aes_SubunternehmerTeilnehmerName <> "") Then + ' If cDY.aes_SubunternehmerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.SubUnternehmer.TeilnehmerEORI = cDY.aes_SubunternehmerTeilnehmerEORI + ' If cDY.aes_SubunternehmerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_SubunternehmerTeilnehmerNLNR) Then EA.KopfDaten.SubUnternehmer.TeilnehmerNLNR = cDY.aes_SubunternehmerTeilnehmerNLNR + ' If cDY.aes_SubunternehmerTeilnehmerName IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Name = cDY.aes_SubunternehmerTeilnehmerName + ' If cDY.aes_SubunternehmerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Strasse = cDY.aes_SubunternehmerTeilnehmerStrasse + ' If cDY.aes_SubunternehmerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ort = cDY.aes_SubunternehmerTeilnehmerOrt + ' If cDY.aes_SubunternehmerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.SubUnternehmer.PLZ = cDY.aes_SubunternehmerTeilnehmerPLZ + ' If cDY.aes_SubunternehmerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.SubUnternehmer.LandCode = cDY.aes_SubunternehmerTeilnehmerLandCode + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Sachbearbeiter = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Telefonnummer = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Telefaxnummer = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.EmailAdresse = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Stellung = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'VerfahrensinhaberPV + ' If (cDY.aes_VerfahrensinhaberPVTeilnehmerEORI) Then + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.TeilnehmerEORI = cDY.aes_VerfahrensinhaberPVTeilnehmerEORI + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR) Then EA.KopfDaten.VerfahrensinhaberPV.TeilnehmerNLNR = cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Sachbearbeiter = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Telefonnummer = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Telefaxnummer = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.EmailAdresse = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Stellung = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'BefoerderungsrouteLand + ' EA.KopfDaten.BefoerderungsrouteLand = New List(Of String) + ' If cDY.aes_BefoerderungsrouteLand1 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand1) + ' If cDY.aes_BefoerderungsrouteLand2 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand2) + ' If cDY.aes_BefoerderungsrouteLand3 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand3) + ' If cDY.aes_BefoerderungsrouteLand4 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand4) + ' If cDY.aes_BefoerderungsrouteLand5 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand5) + ' If cDY.aes_BefoerderungsrouteLand6 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand6) + ' If cDY.aes_BefoerderungsrouteLand7 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand7) + ' If cDY.aes_BefoerderungsrouteLand8 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand8) + ' If cDY.aes_BefoerderungsrouteLand9 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand9) + ' If cDY.aes_BefoerderungsrouteLand10 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand10) + ' If cDY.aes_BefoerderungsrouteLand11 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand11) + ' If cDY.aes_BefoerderungsrouteLand12 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand12) + + ' 'Warenpositionen + ' EA.WarenPosition = New List(Of VollstaendigeAusfuhrAnmeldung.PositionVollstaendigeAusfuhranmeldungTyp) + ' If cDY.aes_WARENPOS IsNot Nothing AndAlso cDY.aes_WARENPOS.Count > 0 Then + ' For Each WP In cDY.aes_WARENPOS + ' Dim WP_DY As New VollstaendigeAusfuhrAnmeldung.PositionVollstaendigeAusfuhranmeldungTyp + ' If WP.aesWP_PositionsNummer IsNot Nothing Then WP_DY.Positionsnummer = WP.aesWP_PositionsNummer + ' If WP.aesWP_WarennummerKN8 IsNot Nothing Then WP_DY.WarenNummerKN8 = WP.aesWP_WarennummerKN8 + ' If WP.aesWP_WarennummerTARIC IsNot Nothing Then WP_DY.WarenNummerTARIC = WP.aesWP_WarennummerTARIC + ' If WP.aesWP_WarennummerZusatz1 IsNot Nothing Then WP_DY.WarenNummerZusatz1 = WP.aesWP_WarennummerZusatz1 + ' If WP.aesWP_WarennummerZusatz2 IsNot Nothing Then WP_DY.WarenNummerZusatz2 = WP.aesWP_WarennummerZusatz2 + ' If WP.aesWP_WarennummerNational IsNot Nothing Then WP_DY.WarenNummerNational = WP.aesWP_WarennummerNational + ' If WP.aesWP_RegisternummerFremdsystem IsNot Nothing Then WP_DY.RegistrierNummerFremdSystem = WP.aesWP_RegisternummerFremdsystem + ' If WP.aesWP_Vermerk IsNot Nothing Then WP_DY.Vermerk = WP.aesWP_Vermerk + ' If WP.aesWP_KennungSendung IsNot Nothing Then WP_DY.KennnummerSendung = WP.aesWP_KennungSendung + ' If WP.aesWP_UrsprungsbundeslandCode IsNot Nothing Then WP_DY.UrsprungsbundeslandCode = WP.aesWP_UrsprungsbundeslandCode + ' If WP.aesWP_Eigenmasse IsNot Nothing Then WP_DY.Eigenmasse = WP.aesWP_Eigenmasse + ' If WP.aesWP_Rohmasse IsNot Nothing Then WP_DY.Rohmasse = WP.aesWP_Rohmasse + + ' If WP.aesWP_Gefahrgutnummer IsNot Nothing Then WP_DY.Gefahrgutnummer = WP.aesWP_Gefahrgutnummer + ' If WP.aesWP_ZahlungsweiseBefoerderungskosten IsNot Nothing Then WP_DY.ZahlungsweiseBefoerderungskosten = WP.aesWP_ZahlungsweiseBefoerderungskosten + ' If WP.aesWP_VerfahrenAngemeldetCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenAngemeldetCode = WP.aesWP_VerfahrenAngemeldetCode + ' If WP.aesWP_VerfahrenVorangegangenCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenVorangegangenCode = WP.aesWP_VerfahrenVorangegangenCode + ' If WP.aesWP_VerfahrenNationalCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenNationalCode = WP.aesWP_VerfahrenNationalCode + ' If WP.aesWP_AusfuhrerstattungVerfahrensCode IsNot Nothing Then WP_DY.AusfuhrerstattungVerfahrenscode = WP.aesWP_AusfuhrerstattungVerfahrensCode + ' If WP.aesWP_Menge IsNot Nothing Then WP_DY.Menge = WP.aesWP_Menge + ' If WP.aesWP_Wert IsNot Nothing Then WP_DY.Wert = WP.aesWP_Wert + + ' WP_DY.Vorpapier = New List(Of VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp) + ' If WP.aesWP_VorpapierTypCode1 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode1 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode1 + ' If WP.aesWP_ReferenzID1 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID1 + ' If WP.aesWP_Zusatz1 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz1 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode2 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode2 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode2 + ' If WP.aesWP_ReferenzID2 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID2 + ' If WP.aesWP_Zusatz2 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz2 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode3 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode3 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode3 + ' If WP.aesWP_ReferenzID3 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID3 + ' If WP.aesWP_Zusatz3 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz3 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode4 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode4 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode4 + ' If WP.aesWP_ReferenzID4 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID4 + ' If WP.aesWP_Zusatz4 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz4 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode5 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode5 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode5 + ' If WP.aesWP_ReferenzID5 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID5 + ' If WP.aesWP_Zusatz5 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz5 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode6 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode6 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode6 + ' If WP.aesWP_ReferenzID6 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID6 + ' If WP.aesWP_Zusatz6 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz6 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode7 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode7 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode7 + ' If WP.aesWP_ReferenzID7 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID7 + ' If WP.aesWP_Zusatz7 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz7 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode8 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode8 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode8 + ' If WP.aesWP_ReferenzID8 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID8 + ' If WP.aesWP_Zusatz8 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz8 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode9 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode9 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode9 + ' If WP.aesWP_ReferenzID9 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID9 + ' If WP.aesWP_Zusatz9 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz9 + ' WP_DY.Vorpapier.Add(VP) + ' End If + + ' 'Packstueck + ' WP_DY.Packstueck = New List(Of VollstaendigeAusfuhrAnmeldung.PackstueckEVTyp) + ' If WP.aesWP_PACKSTUECKE IsNot Nothing AndAlso WP.aesWP_PACKSTUECKE.Count > 0 Then + ' For Each PK In WP.aesWP_PACKSTUECKE + ' Dim PK_DY As New VollstaendigeAusfuhrAnmeldung.PackstueckEVTyp + ' If PK.aesWpPk_PackstueckeAnzahl IsNot Nothing Then PK_DY.Anzahl = PK.aesWpPk_PackstueckeAnzahl.ToString.Replace(".", "") + ' If PK.aesWpPk_Verpackungsart IsNot Nothing Then PK_DY.VerpackungsartCode = PK.aesWpPk_Verpackungsart + ' If PK.aesWpPk_Kennzeichnung IsNot Nothing Then PK_DY.Kennzeichnung = PK.aesWpPk_Kennzeichnung + ' WP_DY.Packstueck.Add(PK_DY) + ' Next + ' End If + + ' 'Container + ' WP_DY.ContainerNummer = New List(Of String) + ' If WP.aesWP_Containernummer1 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer1) + ' If WP.aesWP_Containernummer2 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer2) + ' If WP.aesWP_Containernummer3 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer3) + ' If WP.aesWP_Containernummer4 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer4) + + ' 'Unterlage + ' WP_DY.Unterlage = New List(Of VollstaendigeAusfuhrAnmeldung.UnterlageEVTyp) + ' If WP.aesWP_UNTERLAGEN IsNot Nothing AndAlso WP.aesWP_UNTERLAGEN.Count > 0 Then + ' For Each UL In WP.aesWP_UNTERLAGEN + ' Dim UL_DY As New VollstaendigeAusfuhrAnmeldung.UnterlageEVTyp + ' If UL.aesWpUl_Typ IsNot Nothing Then UL_DY.TypCode = UL.aesWpUl_Typ + ' If UL.aesWpUl_QualifierCode IsNot Nothing Then UL_DY.QualifierCode = UL.aesWpUl_QualifierCode + ' If UL.aesWpUl_ReferenzID IsNot Nothing Then UL_DY.ReferenzID = UL.aesWpUl_ReferenzID + ' If UL.aesWpUl_Zusatz IsNot Nothing Then UL_DY.Zusatz = UL.aesWpUl_Zusatz + ' If UL.aesWpUl_Detail IsNot Nothing Then UL_DY.Detail = UL.aesWpUl_Detail + ' If UL.aesWpUl_DatumAusstellung IsNot Nothing Then UL_DY.DatumAusstellung = UL.aesWpUl_DatumAusstellung + ' If UL.aesWpUl_DatumEndeGueltigkeit IsNot Nothing Then UL_DY.DatumEndeGueltigkeit = UL.aesWpUl_DatumEndeGueltigkeit + ' If UL.aesWpUl_Wert IsNot Nothing Then UL_DY.Wert = UL.aesWpUl_Wert + ' If UL.aesWpUl_Abschreibungsmenge IsNot Nothing Then UL_DY.Abschreibungsmenge = UL.aesWpUl_Abschreibungsmenge + ' If UL.aesWpUl_Masseinheit IsNot Nothing Then UL_DY.Masseinheit = UL.aesWpUl_Masseinheit + ' WP_DY.Unterlage.Add(UL_DY) + ' Next + ' End If + + ' If WP.aesWP_AusfuhrerstattungVerfahrensCode IsNot Nothing Then WP_DY.AusfuhrerstattungVerfahrenscode = WP.aesWP_AusfuhrerstattungVerfahrensCode + + ' 'Empfaenger + ' If (WP.aesWP_EmpfaengerTeilnehmerEORI IsNot Nothing Or WP.aesWP_EmpfaengerTeilnehmerName <> "") Then + ' If WP.aesWP_EmpfaengerTeilnehmerEORI IsNot Nothing Then WP_DY.Empfaenger.TeilnehmerEORI = WP.aesWP_EmpfaengerTeilnehmerEORI + ' If WP.aesWP_EmpfaengerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(WP.aesWP_EmpfaengerTeilnehmerNLNR) Then WP_DY.Empfaenger.TeilnehmerNLNR = WP.aesWP_EmpfaengerTeilnehmerNLNR + ' If WP.aesWP_EmpfaengerTeilnehmerName IsNot Nothing Then WP_DY.Empfaenger.Name = WP.aesWP_EmpfaengerTeilnehmerName + ' If WP.aesWP_EmpfaengerTeilnehmerStrasse IsNot Nothing Then WP_DY.Empfaenger.Strasse = WP.aesWP_EmpfaengerTeilnehmerStrasse + ' If WP.aesWP_EmpfaengerTeilnehmerOrt IsNot Nothing Then WP_DY.Empfaenger.Ort = WP.aesWP_EmpfaengerTeilnehmerOrt + ' If WP.aesWP_EmpfaengerTeilnehmerPLZ IsNot Nothing Then WP_DY.Empfaenger.PLZ = WP.aesWP_EmpfaengerTeilnehmerPLZ + ' If WP.aesWP_EmpfaengerTeilnehmerLandCode IsNot Nothing Then WP_DY.Empfaenger.LandCode = WP.aesWP_EmpfaengerTeilnehmerLandCode + ' End If + + + ' EA.WarenPosition.Add(WP_DY) + ' Next + ' End If + + + ' 'Lieferbedingungen + ' If cDY.aes_LieferbedingungenCode IsNot Nothing Then + ' EA.KopfDaten.Lieferbedingung = New VollstaendigeAusfuhrAnmeldung.LieferbedingungEVTyp + ' If cDY.aes_LieferbedingungenCode IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermCode = cDY.aes_LieferbedingungenCode + ' If cDY.aes_LieferbedingungenText IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermText = cDY.aes_LieferbedingungenText + ' If cDY.aes_LieferbedingungenOrt IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermOrt = cDY.aes_LieferbedingungenOrt + ' End If + + + ' XML.EinzelAnmeldung.Add(EA) + + ' Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + ' If Not System.IO.Directory.Exists(saveDir) Then + ' System.IO.Directory.CreateDirectory(saveDir) + ' End If + + ' saveFile = saveDir & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ' 'MsgBox(saveFile) + ' XML.SaveToFile(saveFile) + + ' replaceNullDateXML(saveFile) + ' Return True + 'End Function + + + 'Shared Function exportVERAGKunde(kdNr() As String) As Boolean + + ' Dim XML As New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORT + + ' For Each s In kdNr + ' Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(s) + ' Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(s) + ' If KUNDE IsNot Nothing And ADRESSE IsNot Nothing Then + ' Dim XML_KD As New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDaten + ' If ADRESSE.Ordnungsbegriff IsNot Nothing Then XML_KD.Kurzname = ADRESSE.Ordnungsbegriff + ' If ADRESSE.Name_1 IsNot Nothing Then XML_KD.Name1 = ADRESSE.Name_1 + ' If ADRESSE.Name_2 IsNot Nothing Then XML_KD.Name2 = ADRESSE.Name_2 + ' If KUNDE.EORITIN IsNot Nothing Then XML_KD.EORI = KUNDE.EORITIN : XML_KD.EORI_Niederlassung = "0000" + + ' If ADRESSE.UstIdKz IsNot Nothing And ADRESSE.UstIdKz IsNot Nothing Then XML_KD.UID_Nr = ADRESSE.UstIdKz & ADRESSE.UstIdNr + ' XML_KD.Kontakt = New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDatenKontakt + ' If ADRESSE.Telefon IsNot Nothing Then XML_KD.Kontakt.Tel = ADRESSE.Telefon + ' If ADRESSE.Telefax IsNot Nothing Then XML_KD.Kontakt.Fax = ADRESSE.Telefax + ' If ADRESSE.E_Mail IsNot Nothing Then XML_KD.Kontakt.EMail = ADRESSE.E_Mail + ' If ADRESSE.Ansprechpartner IsNot Nothing Then XML_KD.Kontakt.Ansprechpartner = ADRESSE.Ansprechpartner + + ' XML_KD.Adresse = New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDatenAdresse + ' If ADRESSE.Straße IsNot Nothing Then XML_KD.Adresse.Strasse = ADRESSE.Straße + ' If ADRESSE.PLZ IsNot Nothing Then XML_KD.Adresse.Plz = ADRESSE.PLZ + ' If ADRESSE.Ort IsNot Nothing Then XML_KD.Adresse.Ort = ADRESSE.Ort + ' If ADRESSE.LandKz IsNot Nothing Then XML_KD.Adresse.LandKz = ADRESSE.LandKz + + ' XML.KundenDaten.Add(XML_KD) + ' End If + ' Next + + ' XML.SaveToFile("C:\Users\DEVELOPER1\Desktop\test\KD_TEST.xml") + + ' Return True + 'End Function +End Class + + +'Class DY_ObjektAktion +' Shared Property OBJ_CREATE As String = "CREATE" +' Shared Property OBJ_CHANGE As String = "CHANGE" +' Shared Property OBJ_CANCEL As String = "CANCEL" +' Shared Property OBJ_SEND As String = "SEND" +' End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.Designer.vb new file mode 100644 index 0000000..31bc01f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.Designer.vb @@ -0,0 +1,9764 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' CC015B_TR_EXT_V4_3ListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic +Imports Codelists +Imports Constraints4 + +Namespace CC015B_TR_EXT_V4_3 + + + + Partial Public Class CC015B + +#Region "Private fields" + Private _synIdeMES1 As Codelists.CL21 + + Private _synVerNumMES2 As Codelists.CL22 + + Private _mesSenMES3 As String + + Private _senIdeCodQuaMES4 As String + + Private _mesRecMES6 As String + + Private _recIdeCodQuaMES7 As String + + Private _datOfPreMES9 As String + + Private _timOfPreMES10 As String + + Private _intConRefMES11 As String + + Private _recRefMES12 As String + + Private _recRefQuaMES13 As String + + Private _appRefMES14 As String + + Private _priMES15 As String + + Private _ackReqMES16 As Constraints4.cl27 + + Private _comAgrIdMES17 As String + + Private _tesIndMES18 As Constraints4.cl27 + + Private _mesIdeMES19 As String + + Private _mesTypMES20 As Codelists.CL60 + + Private _comAccRefMES21 As String + + Private _mesSeqNumMES22 As String + + Private _firAndLasTraMES23 As Codelists.CL28 + + Private _hEAHEA As HEAHEA + + Private _tRAPRIPC1 As TRAPRIPC1 + + Private _tRACONCO1 As TRACONCO1 + + Private _tRACONCE1 As TRACONCE1 + + Private _cUSOFFDEPEPT As CUSOFFDEPEPT + + Private _cUSOFFTRARNS As List(Of CUSOFFTRARNS) + + Private _cUSOFFDESEST As CUSOFFDESEST + + Private _gOOITEGDS As List(Of GOOITEGDS) + + Private _cARTRA100 As CARTRA100 + + Private _iTI As List(Of ITI) + + Private _cARTRA1001 As CARTRA100 + + Private _tRACORSEC037 As TRACORSEC037 + + Private _tRACONSEC029 As TRACONSEC029 + + Private _ob As List(Of ACMA) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._ob = New List(Of ACMA)() + Me._tRACONSEC029 = New TRACONSEC029() + Me._tRACORSEC037 = New TRACORSEC037() + Me._cARTRA1001 = New CARTRA100() + Me._iTI = New List(Of ITI)() + Me._cARTRA100 = New CARTRA100() + Me._gOOITEGDS = New List(Of GOOITEGDS)() + Me._cUSOFFDESEST = New CUSOFFDESEST() + Me._cUSOFFTRARNS = New List(Of CUSOFFTRARNS)() + Me._cUSOFFDEPEPT = New CUSOFFDEPEPT() + Me._tRACONCE1 = New TRACONCE1() + Me._tRACONCO1 = New TRACONCO1() + Me._tRAPRIPC1 = New TRAPRIPC1() + Me._hEAHEA = New HEAHEA() + End Sub + + + Public Property SynIdeMES1() As Codelists.CL21 + Get + Return Me._synIdeMES1 + End Get + Set + Me._synIdeMES1 = Value + End Set + End Property + + + Public Property SynVerNumMES2() As Codelists.CL22 + Get + Return Me._synVerNumMES2 + End Get + Set + Me._synVerNumMES2 = Value + End Set + End Property + + + Public Property MesSenMES3() As String + Get + Return Me._mesSenMES3 + End Get + Set + Me._mesSenMES3 = Value + End Set + End Property + + + Public Property SenIdeCodQuaMES4() As String + Get + Return Me._senIdeCodQuaMES4 + End Get + Set + Me._senIdeCodQuaMES4 = Value + End Set + End Property + + + Public Property MesRecMES6() As String + Get + Return Me._mesRecMES6 + End Get + Set + Me._mesRecMES6 = Value + End Set + End Property + + + Public Property RecIdeCodQuaMES7() As String + Get + Return Me._recIdeCodQuaMES7 + End Get + Set + Me._recIdeCodQuaMES7 = Value + End Set + End Property + + + Public Property DatOfPreMES9() As String + Get + Return Me._datOfPreMES9 + End Get + Set + Me._datOfPreMES9 = Value + End Set + End Property + + + Public Property TimOfPreMES10() As String + Get + Return Me._timOfPreMES10 + End Get + Set + Me._timOfPreMES10 = Value + End Set + End Property + + + Public Property IntConRefMES11() As String + Get + Return Me._intConRefMES11 + End Get + Set + Me._intConRefMES11 = Value + End Set + End Property + + + Public Property RecRefMES12() As String + Get + Return Me._recRefMES12 + End Get + Set + Me._recRefMES12 = Value + End Set + End Property + + + Public Property RecRefQuaMES13() As String + Get + Return Me._recRefQuaMES13 + End Get + Set + Me._recRefQuaMES13 = Value + End Set + End Property + + + Public Property AppRefMES14() As String + Get + Return Me._appRefMES14 + End Get + Set + Me._appRefMES14 = Value + End Set + End Property + + + Public Property PriMES15() As String + Get + Return Me._priMES15 + End Get + Set + Me._priMES15 = Value + End Set + End Property + + + Public Property AckReqMES16() As Constraints4.cl27 + Get + Return Me._ackReqMES16 + End Get + Set + Me._ackReqMES16 = Value + End Set + End Property + + + Public Property ComAgrIdMES17() As String + Get + Return Me._comAgrIdMES17 + End Get + Set + Me._comAgrIdMES17 = Value + End Set + End Property + + + Public Property TesIndMES18() As Constraints4.cl27 + Get + Return Me._tesIndMES18 + End Get + Set + Me._tesIndMES18 = Value + End Set + End Property + + + Public Property MesIdeMES19() As String + Get + Return Me._mesIdeMES19 + End Get + Set + Me._mesIdeMES19 = Value + End Set + End Property + + + Public Property MesTypMES20() As Codelists.CL60 + Get + Return Me._mesTypMES20 + End Get + Set + Me._mesTypMES20 = Value + End Set + End Property + + + Public Property ComAccRefMES21() As String + Get + Return Me._comAccRefMES21 + End Get + Set + Me._comAccRefMES21 = Value + End Set + End Property + + + Public Property MesSeqNumMES22() As String + Get + Return Me._mesSeqNumMES22 + End Get + Set + Me._mesSeqNumMES22 = Value + End Set + End Property + + + Public Property FirAndLasTraMES23() As Codelists.CL28 + Get + Return Me._firAndLasTraMES23 + End Get + Set + Me._firAndLasTraMES23 = Value + End Set + End Property + + + Public Property HEAHEA() As HEAHEA + Get + Return Me._hEAHEA + End Get + Set + Me._hEAHEA = Value + End Set + End Property + + + Public Property TRAPRIPC1() As TRAPRIPC1 + Get + Return Me._tRAPRIPC1 + End Get + Set + Me._tRAPRIPC1 = Value + End Set + End Property + + + Public Property TRACONCO1() As TRACONCO1 + Get + Return Me._tRACONCO1 + End Get + Set + Me._tRACONCO1 = Value + End Set + End Property + + + Public Property TRACONCE1() As TRACONCE1 + Get + Return Me._tRACONCE1 + End Get + Set + Me._tRACONCE1 = Value + End Set + End Property + + + Public Property CUSOFFDEPEPT() As CUSOFFDEPEPT + Get + Return Me._cUSOFFDEPEPT + End Get + Set + Me._cUSOFFDEPEPT = Value + End Set + End Property + + + Public Property CUSOFFTRARNS() As List(Of CUSOFFTRARNS) + Get + Return Me._cUSOFFTRARNS + End Get + Set + Me._cUSOFFTRARNS = Value + End Set + End Property + + + Public Property CUSOFFDESEST() As CUSOFFDESEST + Get + Return Me._cUSOFFDESEST + End Get + Set + Me._cUSOFFDESEST = Value + End Set + End Property + + + Public Property GOOITEGDS() As List(Of GOOITEGDS) + Get + Return Me._gOOITEGDS + End Get + Set + Me._gOOITEGDS = Value + End Set + End Property + + + Public Property CARTRA100() As CARTRA100 + Get + Return Me._cARTRA100 + End Get + Set + Me._cARTRA100 = Value + End Set + End Property + + + Public Property ITI() As List(Of ITI) + Get + Return Me._iTI + End Get + Set + Me._iTI = Value + End Set + End Property + + + Public Property CARTRA1001() As CARTRA100 + Get + Return Me._cARTRA1001 + End Get + Set + Me._cARTRA1001 = Value + End Set + End Property + + + Public Property TRACORSEC037() As TRACORSEC037 + Get + Return Me._tRACORSEC037 + End Get + Set + Me._tRACORSEC037 = Value + End Set + End Property + + + Public Property TRACONSEC029() As TRACONSEC029 + Get + Return Me._tRACONSEC029 + End Get + Set + Me._tRACONSEC029 = Value + End Set + End Property + + + Public Property OB() As List(Of ACMA) + Get + Return Me._ob + End Get + Set + Me._ob = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CC015B)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CC015B object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CC015B object + ''' + ''' string workflow markup to deserialize + ''' Output CC015B object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CC015B, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CC015B) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CC015B) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CC015B + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CC015B) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CC015B + Return CType(Serializer.Deserialize(s), CC015B) + End Function +#End Region + + ''' + ''' Serializes current CC015B object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CC015B object + ''' + ''' string xml file to load and deserialize + ''' Output CC015B object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CC015B, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CC015B) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CC015B) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CC015B + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class HEAHEA + +#Region "Private fields" + Private _refNumHEA4 As String + + Private _typOfDecHEA24 As String + + Private _couOfDesCodHEA30 As String + + Private _plaOfLoaCodHEA46 As String + + Private _couOfDisCodHEA55 As String + + Private _traModAtBorHEA76 As String + + Private _conIndHEA96 As Constraints4.CL27 + + Private _totNumOfIteHEA305 As String + + Private _totNumOfPacHEA306 As String + + Private _totGroMasHEA307 As Decimal + + Private _decDatHEA383 As String + + Private _decPlaHEA394 As String + + Private _decPlaHEA394LNG As String + + Private _speCirIndHEA1 As String + + Private _traChaMetOfPayHEA1 As String + + Private _comRefNumHEA As String + + Private _secHEA358 As Codelists.CL117 + + Private _conRefNumHEA As String + + Private _codPlUnHEA357 As String + + Private _codPlUnHEA357LNG As String + + Private _damgaVergi As Decimal + + Private _sumEnt As String + + Private _sumExt As String + + Private _vesselName As String + + Private _vesselSailingDate As String + + Private _ulusoyLineIndicator As String + + Private _ekoLineIndicator As String + + Private _autLocOfGooCodHEA41 As String + + Private _datLimERS69 As String + + Private _meansOfTransports As HEAHEAMeansOfTransports + + Private _clientIdentificationNumber As String + + Private _tIRCarnetNumber As String + + Private _tIRCarnetVoletPageNo As Integer + + Private _tIRSealNumbers As HEAHEATIRSealNumbers + + Private _eF_CHECKED As Object + + Private _eF_DocumentLinks As Object + + Private _exportMRN As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._tIRSealNumbers = New HEAHEATIRSealNumbers() + Me._meansOfTransports = New HEAHEAMeansOfTransports() + End Sub + + Public Property RefNumHEA4() As String + Get + Return Me._refNumHEA4 + End Get + Set + Me._refNumHEA4 = Value + End Set + End Property + + Public Property TypOfDecHEA24() As String + Get + Return Me._typOfDecHEA24 + End Get + Set + Me._typOfDecHEA24 = Value + End Set + End Property + + Public Property CouOfDesCodHEA30() As String + Get + Return Me._couOfDesCodHEA30 + End Get + Set + Me._couOfDesCodHEA30 = Value + End Set + End Property + + Public Property PlaOfLoaCodHEA46() As String + Get + Return Me._plaOfLoaCodHEA46 + End Get + Set + Me._plaOfLoaCodHEA46 = Value + End Set + End Property + + Public Property CouOfDisCodHEA55() As String + Get + Return Me._couOfDisCodHEA55 + End Get + Set + Me._couOfDisCodHEA55 = Value + End Set + End Property + + + Public Property TraModAtBorHEA76() As String + Get + Return Me._traModAtBorHEA76 + End Get + Set + Me._traModAtBorHEA76 = Value + End Set + End Property + + Public Property ConIndHEA96() As Constraints4.CL27 + Get + Return Me._conIndHEA96 + End Get + Set + Me._conIndHEA96 = Value + End Set + End Property + + + Public Property TotNumOfIteHEA305() As String + Get + Return Me._totNumOfIteHEA305 + End Get + Set + Me._totNumOfIteHEA305 = Value + End Set + End Property + + + Public Property TotNumOfPacHEA306() As String + Get + Return Me._totNumOfPacHEA306 + End Get + Set + Me._totNumOfPacHEA306 = Value + End Set + End Property + + Public Property TotGroMasHEA307() As Decimal + Get + Return Me._totGroMasHEA307 + End Get + Set + Me._totGroMasHEA307 = Value + End Set + End Property + + + Public Property DecDatHEA383() As String + Get + Return Me._decDatHEA383 + End Get + Set + Me._decDatHEA383 = Value + End Set + End Property + + Public Property DecPlaHEA394() As String + Get + Return Me._decPlaHEA394 + End Get + Set + Me._decPlaHEA394 = Value + End Set + End Property + + Public Property DecPlaHEA394LNG() As String + Get + Return Me._decPlaHEA394LNG + End Get + Set + Me._decPlaHEA394LNG = Value + End Set + End Property + + Public Property SpeCirIndHEA1() As String + Get + Return Me._speCirIndHEA1 + End Get + Set + Me._speCirIndHEA1 = Value + End Set + End Property + + Public Property TraChaMetOfPayHEA1() As String + Get + Return Me._traChaMetOfPayHEA1 + End Get + Set + Me._traChaMetOfPayHEA1 = Value + End Set + End Property + + Public Property ComRefNumHEA() As String + Get + Return Me._comRefNumHEA + End Get + Set + Me._comRefNumHEA = Value + End Set + End Property + + Public Property SecHEA358() As Codelists.CL117 + Get + Return Me._secHEA358 + End Get + Set + Me._secHEA358 = Value + End Set + End Property + + Public Property ConRefNumHEA() As String + Get + Return Me._conRefNumHEA + End Get + Set + Me._conRefNumHEA = Value + End Set + End Property + + Public Property CodPlUnHEA357() As String + Get + Return Me._codPlUnHEA357 + End Get + Set + Me._codPlUnHEA357 = Value + End Set + End Property + + Public Property CodPlUnHEA357LNG() As String + Get + Return Me._codPlUnHEA357LNG + End Get + Set + Me._codPlUnHEA357LNG = Value + End Set + End Property + + Public Property DamgaVergi() As Decimal + Get + Return Me._damgaVergi + End Get + Set + Me._damgaVergi = Value + End Set + End Property + + Public Property SumEnt() As String + Get + Return Me._sumEnt + End Get + Set + Me._sumEnt = Value + End Set + End Property + + Public Property SumExt() As String + Get + Return Me._sumExt + End Get + Set + Me._sumExt = Value + End Set + End Property + + Public Property VesselName() As String + Get + Return Me._vesselName + End Get + Set + Me._vesselName = Value + End Set + End Property + + Public Property VesselSailingDate() As String + Get + Return Me._vesselSailingDate + End Get + Set + Me._vesselSailingDate = Value + End Set + End Property + + Public Property UlusoyLineIndicator() As String + Get + Return Me._ulusoyLineIndicator + End Get + Set + Me._ulusoyLineIndicator = Value + End Set + End Property + + Public Property EkoLineIndicator() As String + Get + Return Me._ekoLineIndicator + End Get + Set + Me._ekoLineIndicator = Value + End Set + End Property + + Public Property AutLocOfGooCodHEA41() As String + Get + Return Me._autLocOfGooCodHEA41 + End Get + Set + Me._autLocOfGooCodHEA41 = Value + End Set + End Property + + Public Property DatLimERS69() As String + Get + Return Me._datLimERS69 + End Get + Set + Me._datLimERS69 = Value + End Set + End Property + + Public Property MeansOfTransports() As HEAHEAMeansOfTransports + Get + Return Me._meansOfTransports + End Get + Set + Me._meansOfTransports = Value + End Set + End Property + + Public Property ClientIdentificationNumber() As String + Get + Return Me._clientIdentificationNumber + End Get + Set + Me._clientIdentificationNumber = Value + End Set + End Property + + Public Property TIRCarnetNumber() As String + Get + Return Me._tIRCarnetNumber + End Get + Set + Me._tIRCarnetNumber = Value + End Set + End Property + + Public Property TIRCarnetVoletPageNo() As Integer + Get + Return Me._tIRCarnetVoletPageNo + End Get + Set + Me._tIRCarnetVoletPageNo = Value + End Set + End Property + + Public Property TIRSealNumbers() As HEAHEATIRSealNumbers + Get + Return Me._tIRSealNumbers + End Get + Set + Me._tIRSealNumbers = Value + End Set + End Property + + Public Property EF_CHECKED() As Object + Get + Return Me._eF_CHECKED + End Get + Set + Me._eF_CHECKED = Value + End Set + End Property + + Public Property EF_DocumentLinks() As Object + Get + Return Me._eF_DocumentLinks + End Get + Set + Me._eF_DocumentLinks = Value + End Set + End Property + + Public Property ExportMRN() As Object + Get + Return Me._exportMRN + End Get + Set + Me._exportMRN = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(HEAHEA)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current HEAHEA object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an HEAHEA object + ''' + ''' string workflow markup to deserialize + ''' Output HEAHEA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEA) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEA) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As HEAHEA + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), HEAHEA) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As HEAHEA + Return CType(Serializer.Deserialize(s), HEAHEA) + End Function +#End Region + + ''' + ''' Serializes current HEAHEA object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an HEAHEA object + ''' + ''' string xml file to load and deserialize + ''' Output HEAHEA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEA) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEA) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As HEAHEA + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class HEAHEAMeansOfTransports + +#Region "Private fields" + Private _meansOfTransport As List(Of HEAHEAMeansOfTransportsMeansOfTransport) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._meansOfTransport = New List(Of HEAHEAMeansOfTransportsMeansOfTransport)() + End Sub + + + Public Property MeansOfTransport() As List(Of HEAHEAMeansOfTransportsMeansOfTransport) + Get + Return Me._meansOfTransport + End Get + Set + Me._meansOfTransport = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(HEAHEAMeansOfTransports)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current HEAHEAMeansOfTransports object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an HEAHEAMeansOfTransports object + ''' + ''' string workflow markup to deserialize + ''' Output HEAHEAMeansOfTransports object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEAMeansOfTransports, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEAMeansOfTransports) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEAMeansOfTransports) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As HEAHEAMeansOfTransports + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), HEAHEAMeansOfTransports) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As HEAHEAMeansOfTransports + Return CType(Serializer.Deserialize(s), HEAHEAMeansOfTransports) + End Function +#End Region + + ''' + ''' Serializes current HEAHEAMeansOfTransports object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an HEAHEAMeansOfTransports object + ''' + ''' string xml file to load and deserialize + ''' Output HEAHEAMeansOfTransports object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEAMeansOfTransports, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEAMeansOfTransports) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEAMeansOfTransports) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As HEAHEAMeansOfTransports + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class HEAHEAMeansOfTransportsMeansOfTransport + +#Region "Private fields" + Private _hasEngine As String + + Private _isLoadedCompartment As String + + Private _country As String + + Private _plateNumber As String + + Private _wagonIdentity As String + + Private _countryFlag As String + + Private _isClientOwner As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property hasEngine() As String + Get + Return Me._hasEngine + End Get + Set + Me._hasEngine = Value + End Set + End Property + + Public Property isLoadedCompartment() As String + Get + Return Me._isLoadedCompartment + End Get + Set + Me._isLoadedCompartment = Value + End Set + End Property + + Public Property Country() As String + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property PlateNumber() As String + Get + Return Me._plateNumber + End Get + Set + Me._plateNumber = Value + End Set + End Property + + Public Property WagonIdentity() As String + Get + Return Me._wagonIdentity + End Get + Set + Me._wagonIdentity = Value + End Set + End Property + + Public Property CountryFlag() As String + Get + Return Me._countryFlag + End Get + Set + Me._countryFlag = Value + End Set + End Property + + Public Property isClientOwner() As String + Get + Return Me._isClientOwner + End Get + Set + Me._isClientOwner = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(HEAHEAMeansOfTransportsMeansOfTransport)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current HEAHEAMeansOfTransportsMeansOfTransport object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an HEAHEAMeansOfTransportsMeansOfTransport object + ''' + ''' string workflow markup to deserialize + ''' Output HEAHEAMeansOfTransportsMeansOfTransport object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEAMeansOfTransportsMeansOfTransport, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEAMeansOfTransportsMeansOfTransport) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEAMeansOfTransportsMeansOfTransport) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As HEAHEAMeansOfTransportsMeansOfTransport + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), HEAHEAMeansOfTransportsMeansOfTransport) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As HEAHEAMeansOfTransportsMeansOfTransport + Return CType(Serializer.Deserialize(s), HEAHEAMeansOfTransportsMeansOfTransport) + End Function +#End Region + + ''' + ''' Serializes current HEAHEAMeansOfTransportsMeansOfTransport object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an HEAHEAMeansOfTransportsMeansOfTransport object + ''' + ''' string xml file to load and deserialize + ''' Output HEAHEAMeansOfTransportsMeansOfTransport object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEAMeansOfTransportsMeansOfTransport, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEAMeansOfTransportsMeansOfTransport) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEAMeansOfTransportsMeansOfTransport) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As HEAHEAMeansOfTransportsMeansOfTransport + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class HEAHEATIRSealNumbers + +#Region "Private fields" + Private _sealNumber As List(Of String) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._sealNumber = New List(Of String)() + End Sub + + + Public Property SealNumber() As List(Of String) + Get + Return Me._sealNumber + End Get + Set + Me._sealNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(HEAHEATIRSealNumbers)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current HEAHEATIRSealNumbers object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an HEAHEATIRSealNumbers object + ''' + ''' string workflow markup to deserialize + ''' Output HEAHEATIRSealNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEATIRSealNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEATIRSealNumbers) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HEAHEATIRSealNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As HEAHEATIRSealNumbers + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), HEAHEATIRSealNumbers) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As HEAHEATIRSealNumbers + Return CType(Serializer.Deserialize(s), HEAHEATIRSealNumbers) + End Function +#End Region + + ''' + ''' Serializes current HEAHEATIRSealNumbers object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an HEAHEATIRSealNumbers object + ''' + ''' string xml file to load and deserialize + ''' Output HEAHEATIRSealNumbers object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEATIRSealNumbers, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HEAHEATIRSealNumbers) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HEAHEATIRSealNumbers) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As HEAHEATIRSealNumbers + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRAPRIPC1 + +#Region "Private fields" + Private _namPC17 As String + + Private _strAndNumPC122 As String + + Private _posCodPC123 As String + + Private _citPC124 As String + + Private _couPC125 As String + + Private _nADLNGPC As String + + Private _tINPC159 As String + + Private _hITPC126 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamPC17() As String + Get + Return Me._namPC17 + End Get + Set + Me._namPC17 = Value + End Set + End Property + + Public Property StrAndNumPC122() As String + Get + Return Me._strAndNumPC122 + End Get + Set + Me._strAndNumPC122 = Value + End Set + End Property + + Public Property PosCodPC123() As String + Get + Return Me._posCodPC123 + End Get + Set + Me._posCodPC123 = Value + End Set + End Property + + Public Property CitPC124() As String + Get + Return Me._citPC124 + End Get + Set + Me._citPC124 = Value + End Set + End Property + + Public Property CouPC125() As String + Get + Return Me._couPC125 + End Get + Set + Me._couPC125 = Value + End Set + End Property + + Public Property NADLNGPC() As String + Get + Return Me._nADLNGPC + End Get + Set + Me._nADLNGPC = Value + End Set + End Property + + Public Property TINPC159() As String + Get + Return Me._tINPC159 + End Get + Set + Me._tINPC159 = Value + End Set + End Property + + Public Property HITPC126() As String + Get + Return Me._hITPC126 + End Get + Set + Me._hITPC126 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRAPRIPC1)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRAPRIPC1 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRAPRIPC1 object + ''' + ''' string workflow markup to deserialize + ''' Output TRAPRIPC1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRAPRIPC1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRAPRIPC1) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRAPRIPC1) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRAPRIPC1 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRAPRIPC1) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRAPRIPC1 + Return CType(Serializer.Deserialize(s), TRAPRIPC1) + End Function +#End Region + + ''' + ''' Serializes current TRAPRIPC1 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRAPRIPC1 object + ''' + ''' string xml file to load and deserialize + ''' Output TRAPRIPC1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRAPRIPC1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRAPRIPC1) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRAPRIPC1) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRAPRIPC1 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONCO1 + +#Region "Private fields" + Private _namCO17 As String + + Private _strAndNumCO122 As String + + Private _posCodCO123 As String + + Private _citCO124 As String + + Private _couCO125 As String + + Private _nADLNGCO As String + + Private _tINCO159 As String + + Private _eORI As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamCO17() As String + Get + Return Me._namCO17 + End Get + Set + Me._namCO17 = Value + End Set + End Property + + Public Property StrAndNumCO122() As String + Get + Return Me._strAndNumCO122 + End Get + Set + Me._strAndNumCO122 = Value + End Set + End Property + + Public Property PosCodCO123() As String + Get + Return Me._posCodCO123 + End Get + Set + Me._posCodCO123 = Value + End Set + End Property + + Public Property CitCO124() As String + Get + Return Me._citCO124 + End Get + Set + Me._citCO124 = Value + End Set + End Property + + Public Property CouCO125() As String + Get + Return Me._couCO125 + End Get + Set + Me._couCO125 = Value + End Set + End Property + + Public Property NADLNGCO() As String + Get + Return Me._nADLNGCO + End Get + Set + Me._nADLNGCO = Value + End Set + End Property + + Public Property TINCO159() As String + Get + Return Me._tINCO159 + End Get + Set + Me._tINCO159 = Value + End Set + End Property + + Public Property EORI() As String + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONCO1)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONCO1 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONCO1 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONCO1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCO1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCO1) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCO1) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONCO1 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONCO1) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONCO1 + Return CType(Serializer.Deserialize(s), TRACONCO1) + End Function +#End Region + + ''' + ''' Serializes current TRACONCO1 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONCO1 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONCO1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCO1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCO1) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCO1) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONCO1 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONCE1 + +#Region "Private fields" + Private _namCE17 As String + + Private _strAndNumCE122 As String + + Private _posCodCE123 As String + + Private _citCE124 As String + + Private _couCE125 As String + + Private _nADLNGCE As String + + Private _tINCE159 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamCE17() As String + Get + Return Me._namCE17 + End Get + Set + Me._namCE17 = Value + End Set + End Property + + Public Property StrAndNumCE122() As String + Get + Return Me._strAndNumCE122 + End Get + Set + Me._strAndNumCE122 = Value + End Set + End Property + + Public Property PosCodCE123() As String + Get + Return Me._posCodCE123 + End Get + Set + Me._posCodCE123 = Value + End Set + End Property + + Public Property CitCE124() As String + Get + Return Me._citCE124 + End Get + Set + Me._citCE124 = Value + End Set + End Property + + Public Property CouCE125() As String + Get + Return Me._couCE125 + End Get + Set + Me._couCE125 = Value + End Set + End Property + + Public Property NADLNGCE() As String + Get + Return Me._nADLNGCE + End Get + Set + Me._nADLNGCE = Value + End Set + End Property + + Public Property TINCE159() As String + Get + Return Me._tINCE159 + End Get + Set + Me._tINCE159 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONCE1)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONCE1 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONCE1 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONCE1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCE1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCE1) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCE1) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONCE1 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONCE1) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONCE1 + Return CType(Serializer.Deserialize(s), TRACONCE1) + End Function +#End Region + + ''' + ''' Serializes current TRACONCE1 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONCE1 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONCE1 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCE1, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCE1) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCE1) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONCE1 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CUSOFFDEPEPT + +#Region "Private fields" + Private _refNumEPT1 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property RefNumEPT1() As String + Get + Return Me._refNumEPT1 + End Get + Set + Me._refNumEPT1 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CUSOFFDEPEPT)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CUSOFFDEPEPT object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CUSOFFDEPEPT object + ''' + ''' string workflow markup to deserialize + ''' Output CUSOFFDEPEPT object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFDEPEPT, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFDEPEPT) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFDEPEPT) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CUSOFFDEPEPT + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CUSOFFDEPEPT) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CUSOFFDEPEPT + Return CType(Serializer.Deserialize(s), CUSOFFDEPEPT) + End Function +#End Region + + ''' + ''' Serializes current CUSOFFDEPEPT object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CUSOFFDEPEPT object + ''' + ''' string xml file to load and deserialize + ''' Output CUSOFFDEPEPT object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFDEPEPT, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFDEPEPT) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFDEPEPT) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CUSOFFDEPEPT + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CUSOFFTRARNS + +#Region "Private fields" + Private _refNumRNS1 As String + + Private _arrTimTRACUS085 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property RefNumRNS1() As String + Get + Return Me._refNumRNS1 + End Get + Set + Me._refNumRNS1 = Value + End Set + End Property + + + Public Property ArrTimTRACUS085() As String + Get + Return Me._arrTimTRACUS085 + End Get + Set + Me._arrTimTRACUS085 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CUSOFFTRARNS)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CUSOFFTRARNS object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CUSOFFTRARNS object + ''' + ''' string workflow markup to deserialize + ''' Output CUSOFFTRARNS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFTRARNS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFTRARNS) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFTRARNS) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CUSOFFTRARNS + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CUSOFFTRARNS) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CUSOFFTRARNS + Return CType(Serializer.Deserialize(s), CUSOFFTRARNS) + End Function +#End Region + + ''' + ''' Serializes current CUSOFFTRARNS object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CUSOFFTRARNS object + ''' + ''' string xml file to load and deserialize + ''' Output CUSOFFTRARNS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFTRARNS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFTRARNS) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFTRARNS) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CUSOFFTRARNS + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CUSOFFDESEST + +#Region "Private fields" + Private _refNumEST1 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property RefNumEST1() As String + Get + Return Me._refNumEST1 + End Get + Set + Me._refNumEST1 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CUSOFFDESEST)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CUSOFFDESEST object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CUSOFFDESEST object + ''' + ''' string workflow markup to deserialize + ''' Output CUSOFFDESEST object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFDESEST, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFDESEST) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CUSOFFDESEST) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CUSOFFDESEST + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CUSOFFDESEST) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CUSOFFDESEST + Return CType(Serializer.Deserialize(s), CUSOFFDESEST) + End Function +#End Region + + ''' + ''' Serializes current CUSOFFDESEST object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CUSOFFDESEST object + ''' + ''' string xml file to load and deserialize + ''' Output CUSOFFDESEST object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFDESEST, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CUSOFFDESEST) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CUSOFFDESEST) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CUSOFFDESEST + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GOOITEGDS + +#Region "Private fields" + Private _iteNumGDS7 As String + + Private _comCodTarCodGDS10 As String + + Private _decTypGDS15 As String + + Private _gooDesGDS23 As String + + Private _gooDesGDS23LNG As String + + Private _groMasGDS46 As Decimal + + Private _netMasGDS48 As Decimal + + Private _itemInvoiceAmount As Decimal + + Private _itemInvoiceCurrency As String + + Private _statisticalValue As Object + + Private _numberOfUnits As Object + + Private _quantity1 As Decimal + + Private _statisticalCode As Object + + Private _additionalUnit As Object + + Private _couOfDisGDS58 As String + + Private _couOfDesGDS59 As String + + Private _ihrBeyanNo As String + + Private _ihrBeyanTip As String + + Private _ihrBeyanParcali As String + + Private _pREADMREFAR2 As List(Of PREADMREFAR2) + + Private _pRODOCDC2 As List(Of PRODOCDC2) + + Private _sPEMENMT2 As List(Of SPEMENMT2) + + Private _tRACONCO2 As TRACONCO2 + + Private _tRACONCE2 As TRACONCE2 + + Private _cONNR2 As List(Of CONNR2) + + Private _pACGS2 As List(Of PACGS2) + + Private _sGICODSD2 As List(Of SGICODSD2) + + Private _tRACORSECGOO021 As TRACORSECGOO021 + + Private _tRACONSECGOO013 As TRACONSECGOO013 + + Private _aUTODETAIL As GOOITEGDSAUTODETAIL + + Private _spanishSummaryDischarges As GOOITEGDSSpanishSummaryDischarges + + Private _aCMA2 As List(Of GOOITEGDSACMA2) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._aCMA2 = New List(Of GOOITEGDSACMA2)() + Me._spanishSummaryDischarges = New GOOITEGDSSpanishSummaryDischarges() + Me._aUTODETAIL = New GOOITEGDSAUTODETAIL() + Me._tRACONSECGOO013 = New TRACONSECGOO013() + Me._tRACORSECGOO021 = New TRACORSECGOO021() + Me._sGICODSD2 = New List(Of SGICODSD2)() + Me._pACGS2 = New List(Of PACGS2)() + Me._cONNR2 = New List(Of CONNR2)() + Me._tRACONCE2 = New TRACONCE2() + Me._tRACONCO2 = New TRACONCO2() + Me._sPEMENMT2 = New List(Of SPEMENMT2)() + Me._pRODOCDC2 = New List(Of PRODOCDC2)() + Me._pREADMREFAR2 = New List(Of PREADMREFAR2)() + End Sub + + + Public Property IteNumGDS7() As String + Get + Return Me._iteNumGDS7 + End Get + Set + Me._iteNumGDS7 = Value + End Set + End Property + + Public Property ComCodTarCodGDS10() As String + Get + Return Me._comCodTarCodGDS10 + End Get + Set + Me._comCodTarCodGDS10 = Value + End Set + End Property + + Public Property DecTypGDS15() As String + Get + Return Me._decTypGDS15 + End Get + Set + Me._decTypGDS15 = Value + End Set + End Property + + Public Property GooDesGDS23() As String + Get + Return Me._gooDesGDS23 + End Get + Set + Me._gooDesGDS23 = Value + End Set + End Property + + Public Property GooDesGDS23LNG() As String + Get + Return Me._gooDesGDS23LNG + End Get + Set + Me._gooDesGDS23LNG = Value + End Set + End Property + + Public Property GroMasGDS46() As Decimal + Get + Return Me._groMasGDS46 + End Get + Set + Me._groMasGDS46 = Value + End Set + End Property + + Public Property NetMasGDS48() As Decimal + Get + Return Me._netMasGDS48 + End Get + Set + Me._netMasGDS48 = Value + End Set + End Property + + Public Property ItemInvoiceAmount() As Decimal + Get + Return Me._itemInvoiceAmount + End Get + Set + Me._itemInvoiceAmount = Value + End Set + End Property + + Public Property ItemInvoiceCurrency() As String + Get + Return Me._itemInvoiceCurrency + End Get + Set + Me._itemInvoiceCurrency = Value + End Set + End Property + + Public Property StatisticalValue() As Object + Get + Return Me._statisticalValue + End Get + Set + Me._statisticalValue = Value + End Set + End Property + + Public Property NumberOfUnits() As Object + Get + Return Me._numberOfUnits + End Get + Set + Me._numberOfUnits = Value + End Set + End Property + + Public Property Quantity1() As Decimal + Get + Return Me._quantity1 + End Get + Set + Me._quantity1 = Value + End Set + End Property + + Public Property StatisticalCode() As Object + Get + Return Me._statisticalCode + End Get + Set + Me._statisticalCode = Value + End Set + End Property + + Public Property AdditionalUnit() As Object + Get + Return Me._additionalUnit + End Get + Set + Me._additionalUnit = Value + End Set + End Property + + Public Property CouOfDisGDS58() As String + Get + Return Me._couOfDisGDS58 + End Get + Set + Me._couOfDisGDS58 = Value + End Set + End Property + + Public Property CouOfDesGDS59() As String + Get + Return Me._couOfDesGDS59 + End Get + Set + Me._couOfDesGDS59 = Value + End Set + End Property + + Public Property IhrBeyanNo() As String + Get + Return Me._ihrBeyanNo + End Get + Set + Me._ihrBeyanNo = Value + End Set + End Property + + Public Property IhrBeyanTip() As String + Get + Return Me._ihrBeyanTip + End Get + Set + Me._ihrBeyanTip = Value + End Set + End Property + + Public Property IhrBeyanParcali() As String + Get + Return Me._ihrBeyanParcali + End Get + Set + Me._ihrBeyanParcali = Value + End Set + End Property + + + Public Property PREADMREFAR2() As List(Of PREADMREFAR2) + Get + Return Me._pREADMREFAR2 + End Get + Set + Me._pREADMREFAR2 = Value + End Set + End Property + + + Public Property PRODOCDC2() As List(Of PRODOCDC2) + Get + Return Me._pRODOCDC2 + End Get + Set + Me._pRODOCDC2 = Value + End Set + End Property + + + Public Property SPEMENMT2() As List(Of SPEMENMT2) + Get + Return Me._sPEMENMT2 + End Get + Set + Me._sPEMENMT2 = Value + End Set + End Property + + Public Property TRACONCO2() As TRACONCO2 + Get + Return Me._tRACONCO2 + End Get + Set + Me._tRACONCO2 = Value + End Set + End Property + + Public Property TRACONCE2() As TRACONCE2 + Get + Return Me._tRACONCE2 + End Get + Set + Me._tRACONCE2 = Value + End Set + End Property + + + Public Property CONNR2() As List(Of CONNR2) + Get + Return Me._cONNR2 + End Get + Set + Me._cONNR2 = Value + End Set + End Property + + + Public Property PACGS2() As List(Of PACGS2) + Get + Return Me._pACGS2 + End Get + Set + Me._pACGS2 = Value + End Set + End Property + + + Public Property SGICODSD2() As List(Of SGICODSD2) + Get + Return Me._sGICODSD2 + End Get + Set + Me._sGICODSD2 = Value + End Set + End Property + + Public Property TRACORSECGOO021() As TRACORSECGOO021 + Get + Return Me._tRACORSECGOO021 + End Get + Set + Me._tRACORSECGOO021 = Value + End Set + End Property + + Public Property TRACONSECGOO013() As TRACONSECGOO013 + Get + Return Me._tRACONSECGOO013 + End Get + Set + Me._tRACONSECGOO013 = Value + End Set + End Property + + Public Property AUTODETAIL() As GOOITEGDSAUTODETAIL + Get + Return Me._aUTODETAIL + End Get + Set + Me._aUTODETAIL = Value + End Set + End Property + + Public Property SpanishSummaryDischarges() As GOOITEGDSSpanishSummaryDischarges + Get + Return Me._spanishSummaryDischarges + End Get + Set + Me._spanishSummaryDischarges = Value + End Set + End Property + + + Public Property ACMA2() As List(Of GOOITEGDSACMA2) + Get + Return Me._aCMA2 + End Get + Set + Me._aCMA2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GOOITEGDS)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GOOITEGDS object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GOOITEGDS object + ''' + ''' string workflow markup to deserialize + ''' Output GOOITEGDS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDS) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDS) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GOOITEGDS + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GOOITEGDS) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GOOITEGDS + Return CType(Serializer.Deserialize(s), GOOITEGDS) + End Function +#End Region + + ''' + ''' Serializes current GOOITEGDS object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GOOITEGDS object + ''' + ''' string xml file to load and deserialize + ''' Output GOOITEGDS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDS) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDS) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GOOITEGDS + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class PREADMREFAR2 + +#Region "Private fields" + Private _preDocTypAR21 As Codelists.CL14 + + Private _preDocRefAR26 As String + + Private _preDocRefLNG As String + + Private _comOfInfAR29 As String + + Private _comOfInfAR29LNG As String + + Private _preDocRegPos As String + + Private _preDocRegNo As String + + Private _preDocNbPackages As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property PreDocTypAR21() As Codelists.CL14 + Get + Return Me._preDocTypAR21 + End Get + Set + Me._preDocTypAR21 = Value + End Set + End Property + + Public Property PreDocRefAR26() As String + Get + Return Me._preDocRefAR26 + End Get + Set + Me._preDocRefAR26 = Value + End Set + End Property + + Public Property PreDocRefLNG() As String + Get + Return Me._preDocRefLNG + End Get + Set + Me._preDocRefLNG = Value + End Set + End Property + + Public Property ComOfInfAR29() As String + Get + Return Me._comOfInfAR29 + End Get + Set + Me._comOfInfAR29 = Value + End Set + End Property + + Public Property ComOfInfAR29LNG() As String + Get + Return Me._comOfInfAR29LNG + End Get + Set + Me._comOfInfAR29LNG = Value + End Set + End Property + + Public Property PreDocRegPos() As String + Get + Return Me._preDocRegPos + End Get + Set + Me._preDocRegPos = Value + End Set + End Property + + Public Property PreDocRegNo() As String + Get + Return Me._preDocRegNo + End Get + Set + Me._preDocRegNo = Value + End Set + End Property + + Public Property PreDocNbPackages() As String + Get + Return Me._preDocNbPackages + End Get + Set + Me._preDocNbPackages = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(PREADMREFAR2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current PREADMREFAR2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an PREADMREFAR2 object + ''' + ''' string workflow markup to deserialize + ''' Output PREADMREFAR2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PREADMREFAR2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PREADMREFAR2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PREADMREFAR2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As PREADMREFAR2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), PREADMREFAR2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As PREADMREFAR2 + Return CType(Serializer.Deserialize(s), PREADMREFAR2) + End Function +#End Region + + ''' + ''' Serializes current PREADMREFAR2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an PREADMREFAR2 object + ''' + ''' string xml file to load and deserialize + ''' Output PREADMREFAR2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PREADMREFAR2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PREADMREFAR2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PREADMREFAR2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As PREADMREFAR2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class PRODOCDC2 + +#Region "Private fields" + Private _docTypDC21 As String + + Private _docRefDC23 As String + + Private _docRefDCLNG As String + + Private _comOfInfDC25 As String + + Private _comOfInfDC25LNG As String + + Private _docYearForItaly As String + + Private _docCountryForItaly As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property DocTypDC21() As String + Get + Return Me._docTypDC21 + End Get + Set + Me._docTypDC21 = Value + End Set + End Property + + Public Property DocRefDC23() As String + Get + Return Me._docRefDC23 + End Get + Set + Me._docRefDC23 = Value + End Set + End Property + + Public Property DocRefDCLNG() As String + Get + Return Me._docRefDCLNG + End Get + Set + Me._docRefDCLNG = Value + End Set + End Property + + Public Property ComOfInfDC25() As String + Get + Return Me._comOfInfDC25 + End Get + Set + Me._comOfInfDC25 = Value + End Set + End Property + + Public Property ComOfInfDC25LNG() As String + Get + Return Me._comOfInfDC25LNG + End Get + Set + Me._comOfInfDC25LNG = Value + End Set + End Property + + Public Property DocYearForItaly() As String + Get + Return Me._docYearForItaly + End Get + Set + Me._docYearForItaly = Value + End Set + End Property + + Public Property DocCountryForItaly() As String + Get + Return Me._docCountryForItaly + End Get + Set + Me._docCountryForItaly = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(PRODOCDC2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current PRODOCDC2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an PRODOCDC2 object + ''' + ''' string workflow markup to deserialize + ''' Output PRODOCDC2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PRODOCDC2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PRODOCDC2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PRODOCDC2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As PRODOCDC2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), PRODOCDC2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As PRODOCDC2 + Return CType(Serializer.Deserialize(s), PRODOCDC2) + End Function +#End Region + + ''' + ''' Serializes current PRODOCDC2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an PRODOCDC2 object + ''' + ''' string xml file to load and deserialize + ''' Output PRODOCDC2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PRODOCDC2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PRODOCDC2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PRODOCDC2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As PRODOCDC2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class SPEMENMT2 + +#Region "Private fields" + Private _addInfMT21 As String + + Private _addInfMT21LNG As String + + Private _addInfCodMT23 As String + + Private _expFroECMT24 As Constraints4.cl27 + + Private _expFroCouMT25 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property AddInfMT21() As String + Get + Return Me._addInfMT21 + End Get + Set + Me._addInfMT21 = Value + End Set + End Property + + Public Property AddInfMT21LNG() As String + Get + Return Me._addInfMT21LNG + End Get + Set + Me._addInfMT21LNG = Value + End Set + End Property + + Public Property AddInfCodMT23() As String + Get + Return Me._addInfCodMT23 + End Get + Set + Me._addInfCodMT23 = Value + End Set + End Property + + Public Property ExpFroECMT24() As Constraints4.cl27 + Get + Return Me._expFroECMT24 + End Get + Set + Me._expFroECMT24 = Value + End Set + End Property + + Public Property ExpFroCouMT25() As String + Get + Return Me._expFroCouMT25 + End Get + Set + Me._expFroCouMT25 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(SPEMENMT2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current SPEMENMT2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an SPEMENMT2 object + ''' + ''' string workflow markup to deserialize + ''' Output SPEMENMT2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SPEMENMT2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SPEMENMT2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SPEMENMT2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As SPEMENMT2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), SPEMENMT2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As SPEMENMT2 + Return CType(Serializer.Deserialize(s), SPEMENMT2) + End Function +#End Region + + ''' + ''' Serializes current SPEMENMT2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an SPEMENMT2 object + ''' + ''' string xml file to load and deserialize + ''' Output SPEMENMT2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SPEMENMT2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SPEMENMT2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SPEMENMT2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As SPEMENMT2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONCO2 + +#Region "Private fields" + Private _namCO27 As String + + Private _strAndNumCO222 As String + + Private _posCodCO223 As String + + Private _citCO224 As String + + Private _couCO225 As String + + Private _nADLNGGTCO As String + + Private _tINCO259 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamCO27() As String + Get + Return Me._namCO27 + End Get + Set + Me._namCO27 = Value + End Set + End Property + + Public Property StrAndNumCO222() As String + Get + Return Me._strAndNumCO222 + End Get + Set + Me._strAndNumCO222 = Value + End Set + End Property + + Public Property PosCodCO223() As String + Get + Return Me._posCodCO223 + End Get + Set + Me._posCodCO223 = Value + End Set + End Property + + Public Property CitCO224() As String + Get + Return Me._citCO224 + End Get + Set + Me._citCO224 = Value + End Set + End Property + + Public Property CouCO225() As String + Get + Return Me._couCO225 + End Get + Set + Me._couCO225 = Value + End Set + End Property + + Public Property NADLNGGTCO() As String + Get + Return Me._nADLNGGTCO + End Get + Set + Me._nADLNGGTCO = Value + End Set + End Property + + Public Property TINCO259() As String + Get + Return Me._tINCO259 + End Get + Set + Me._tINCO259 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONCO2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONCO2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONCO2 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONCO2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCO2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCO2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCO2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONCO2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONCO2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONCO2 + Return CType(Serializer.Deserialize(s), TRACONCO2) + End Function +#End Region + + ''' + ''' Serializes current TRACONCO2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONCO2 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONCO2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCO2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCO2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCO2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONCO2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONCE2 + +#Region "Private fields" + Private _namCE27 As String + + Private _strAndNumCE222 As String + + Private _posCodCE223 As String + + Private _citCE224 As String + + Private _couCE225 As String + + Private _nADLNGGICE As String + + Private _tINCE259 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamCE27() As String + Get + Return Me._namCE27 + End Get + Set + Me._namCE27 = Value + End Set + End Property + + Public Property StrAndNumCE222() As String + Get + Return Me._strAndNumCE222 + End Get + Set + Me._strAndNumCE222 = Value + End Set + End Property + + Public Property PosCodCE223() As String + Get + Return Me._posCodCE223 + End Get + Set + Me._posCodCE223 = Value + End Set + End Property + + Public Property CitCE224() As String + Get + Return Me._citCE224 + End Get + Set + Me._citCE224 = Value + End Set + End Property + + Public Property CouCE225() As String + Get + Return Me._couCE225 + End Get + Set + Me._couCE225 = Value + End Set + End Property + + Public Property NADLNGGICE() As String + Get + Return Me._nADLNGGICE + End Get + Set + Me._nADLNGGICE = Value + End Set + End Property + + Public Property TINCE259() As String + Get + Return Me._tINCE259 + End Get + Set + Me._tINCE259 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONCE2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONCE2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONCE2 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONCE2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCE2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCE2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONCE2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONCE2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONCE2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONCE2 + Return CType(Serializer.Deserialize(s), TRACONCE2) + End Function +#End Region + + ''' + ''' Serializes current TRACONCE2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONCE2 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONCE2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCE2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONCE2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONCE2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONCE2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CONNR2 + +#Region "Private fields" + Private _conNumNR21 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ConNumNR21() As String + Get + Return Me._conNumNR21 + End Get + Set + Me._conNumNR21 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CONNR2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CONNR2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CONNR2 object + ''' + ''' string workflow markup to deserialize + ''' Output CONNR2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CONNR2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CONNR2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CONNR2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CONNR2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CONNR2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CONNR2 + Return CType(Serializer.Deserialize(s), CONNR2) + End Function +#End Region + + ''' + ''' Serializes current CONNR2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CONNR2 object + ''' + ''' string xml file to load and deserialize + ''' Output CONNR2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CONNR2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CONNR2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CONNR2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CONNR2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class PACGS2 + +#Region "Private fields" + Private _marNumOfPacGS21 As String + + Private _marNumOfPacGS21LNG As String + + Private _kinOfPacGS23 As String + + Private _numOfPacGS24 As String + + Private _numOfPieGS25 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property MarNumOfPacGS21() As String + Get + Return Me._marNumOfPacGS21 + End Get + Set + Me._marNumOfPacGS21 = Value + End Set + End Property + + Public Property MarNumOfPacGS21LNG() As String + Get + Return Me._marNumOfPacGS21LNG + End Get + Set + Me._marNumOfPacGS21LNG = Value + End Set + End Property + + Public Property KinOfPacGS23() As String + Get + Return Me._kinOfPacGS23 + End Get + Set + Me._kinOfPacGS23 = Value + End Set + End Property + + + Public Property NumOfPacGS24() As String + Get + Return Me._numOfPacGS24 + End Get + Set + Me._numOfPacGS24 = Value + End Set + End Property + + + Public Property NumOfPieGS25() As String + Get + Return Me._numOfPieGS25 + End Get + Set + Me._numOfPieGS25 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(PACGS2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current PACGS2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an PACGS2 object + ''' + ''' string workflow markup to deserialize + ''' Output PACGS2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PACGS2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PACGS2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As PACGS2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As PACGS2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), PACGS2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As PACGS2 + Return CType(Serializer.Deserialize(s), PACGS2) + End Function +#End Region + + ''' + ''' Serializes current PACGS2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an PACGS2 object + ''' + ''' string xml file to load and deserialize + ''' Output PACGS2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PACGS2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, PACGS2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As PACGS2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As PACGS2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class SGICODSD2 + +#Region "Private fields" + Private _senGooCodSD22 As Codelists.CL64 + + Private _senQuaSD23 As Decimal + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property SenGooCodSD22() As Codelists.CL64 + Get + Return Me._senGooCodSD22 + End Get + Set + Me._senGooCodSD22 = Value + End Set + End Property + + Public Property SenQuaSD23() As Decimal + Get + Return Me._senQuaSD23 + End Get + Set + Me._senQuaSD23 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(SGICODSD2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current SGICODSD2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an SGICODSD2 object + ''' + ''' string workflow markup to deserialize + ''' Output SGICODSD2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SGICODSD2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SGICODSD2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SGICODSD2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As SGICODSD2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), SGICODSD2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As SGICODSD2 + Return CType(Serializer.Deserialize(s), SGICODSD2) + End Function +#End Region + + ''' + ''' Serializes current SGICODSD2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an SGICODSD2 object + ''' + ''' string xml file to load and deserialize + ''' Output SGICODSD2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SGICODSD2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SGICODSD2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SGICODSD2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As SGICODSD2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACORSECGOO021 + +#Region "Private fields" + Private _namTRACORSECGOO025 As String + + Private _strNumTRACORSECGOO027 As String + + Private _posCodTRACORSECGOO026 As String + + Private _citTRACORSECGOO022 As String + + Private _couCodTRACORSECGOO023 As String + + Private _tRACORSECGOO021LNG As String + + Private _tINTRACORSECGOO028 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamTRACORSECGOO025() As String + Get + Return Me._namTRACORSECGOO025 + End Get + Set + Me._namTRACORSECGOO025 = Value + End Set + End Property + + Public Property StrNumTRACORSECGOO027() As String + Get + Return Me._strNumTRACORSECGOO027 + End Get + Set + Me._strNumTRACORSECGOO027 = Value + End Set + End Property + + Public Property PosCodTRACORSECGOO026() As String + Get + Return Me._posCodTRACORSECGOO026 + End Get + Set + Me._posCodTRACORSECGOO026 = Value + End Set + End Property + + Public Property CitTRACORSECGOO022() As String + Get + Return Me._citTRACORSECGOO022 + End Get + Set + Me._citTRACORSECGOO022 = Value + End Set + End Property + + Public Property CouCodTRACORSECGOO023() As String + Get + Return Me._couCodTRACORSECGOO023 + End Get + Set + Me._couCodTRACORSECGOO023 = Value + End Set + End Property + + Public Property TRACORSECGOO021LNG() As String + Get + Return Me._tRACORSECGOO021LNG + End Get + Set + Me._tRACORSECGOO021LNG = Value + End Set + End Property + + Public Property TINTRACORSECGOO028() As String + Get + Return Me._tINTRACORSECGOO028 + End Get + Set + Me._tINTRACORSECGOO028 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACORSECGOO021)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACORSECGOO021 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACORSECGOO021 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACORSECGOO021 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACORSECGOO021, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACORSECGOO021) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACORSECGOO021) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACORSECGOO021 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACORSECGOO021) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACORSECGOO021 + Return CType(Serializer.Deserialize(s), TRACORSECGOO021) + End Function +#End Region + + ''' + ''' Serializes current TRACORSECGOO021 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACORSECGOO021 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACORSECGOO021 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACORSECGOO021, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACORSECGOO021) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACORSECGOO021) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACORSECGOO021 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONSECGOO013 + +#Region "Private fields" + Private _namTRACONSECGOO017 As String + + Private _strNumTRACONSECGOO019 As String + + Private _posCodTRACONSECGOO018 As String + + Private _cityTRACONSECGOO014 As String + + Private _couCodTRACONSECGOO015 As String + + Private _tRACONSECGOO013LNG As String + + Private _tINTRACONSECGOO020 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamTRACONSECGOO017() As String + Get + Return Me._namTRACONSECGOO017 + End Get + Set + Me._namTRACONSECGOO017 = Value + End Set + End Property + + Public Property StrNumTRACONSECGOO019() As String + Get + Return Me._strNumTRACONSECGOO019 + End Get + Set + Me._strNumTRACONSECGOO019 = Value + End Set + End Property + + Public Property PosCodTRACONSECGOO018() As String + Get + Return Me._posCodTRACONSECGOO018 + End Get + Set + Me._posCodTRACONSECGOO018 = Value + End Set + End Property + + Public Property CityTRACONSECGOO014() As String + Get + Return Me._cityTRACONSECGOO014 + End Get + Set + Me._cityTRACONSECGOO014 = Value + End Set + End Property + + Public Property CouCodTRACONSECGOO015() As String + Get + Return Me._couCodTRACONSECGOO015 + End Get + Set + Me._couCodTRACONSECGOO015 = Value + End Set + End Property + + Public Property TRACONSECGOO013LNG() As String + Get + Return Me._tRACONSECGOO013LNG + End Get + Set + Me._tRACONSECGOO013LNG = Value + End Set + End Property + + Public Property TINTRACONSECGOO020() As String + Get + Return Me._tINTRACONSECGOO020 + End Get + Set + Me._tINTRACONSECGOO020 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONSECGOO013)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONSECGOO013 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONSECGOO013 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONSECGOO013 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONSECGOO013, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONSECGOO013) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONSECGOO013) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONSECGOO013 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONSECGOO013) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONSECGOO013 + Return CType(Serializer.Deserialize(s), TRACONSECGOO013) + End Function +#End Region + + ''' + ''' Serializes current TRACONSECGOO013 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONSECGOO013 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONSECGOO013 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONSECGOO013, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONSECGOO013) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONSECGOO013) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONSECGOO013 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GOOITEGDSAUTODETAIL + +#Region "Private fields" + Private _autoName As String + + Private _autoBrand As String + + Private _autoMod As String + + Private _autoType As String + + Private _autoRegDate As String + + Private _autoNumPas As String + + Private _autoLoadCap As String + + Private _autoCol As String + + Private _autoWorCap As String + + Private _autoPow As String + + Private _autoTypPow As String + + Private _autoEngNum As String + + Private _autoChasNum As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property AutoName() As String + Get + Return Me._autoName + End Get + Set + Me._autoName = Value + End Set + End Property + + Public Property AutoBrand() As String + Get + Return Me._autoBrand + End Get + Set + Me._autoBrand = Value + End Set + End Property + + Public Property AutoMod() As String + Get + Return Me._autoMod + End Get + Set + Me._autoMod = Value + End Set + End Property + + Public Property AutoType() As String + Get + Return Me._autoType + End Get + Set + Me._autoType = Value + End Set + End Property + + Public Property AutoRegDate() As String + Get + Return Me._autoRegDate + End Get + Set + Me._autoRegDate = Value + End Set + End Property + + Public Property AutoNumPas() As String + Get + Return Me._autoNumPas + End Get + Set + Me._autoNumPas = Value + End Set + End Property + + Public Property AutoLoadCap() As String + Get + Return Me._autoLoadCap + End Get + Set + Me._autoLoadCap = Value + End Set + End Property + + Public Property AutoCol() As String + Get + Return Me._autoCol + End Get + Set + Me._autoCol = Value + End Set + End Property + + Public Property AutoWorCap() As String + Get + Return Me._autoWorCap + End Get + Set + Me._autoWorCap = Value + End Set + End Property + + Public Property AutoPow() As String + Get + Return Me._autoPow + End Get + Set + Me._autoPow = Value + End Set + End Property + + Public Property AutoTypPow() As String + Get + Return Me._autoTypPow + End Get + Set + Me._autoTypPow = Value + End Set + End Property + + Public Property AutoEngNum() As String + Get + Return Me._autoEngNum + End Get + Set + Me._autoEngNum = Value + End Set + End Property + + Public Property AutoChasNum() As String + Get + Return Me._autoChasNum + End Get + Set + Me._autoChasNum = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GOOITEGDSAUTODETAIL)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GOOITEGDSAUTODETAIL object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GOOITEGDSAUTODETAIL object + ''' + ''' string workflow markup to deserialize + ''' Output GOOITEGDSAUTODETAIL object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSAUTODETAIL, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSAUTODETAIL) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSAUTODETAIL) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GOOITEGDSAUTODETAIL + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GOOITEGDSAUTODETAIL) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GOOITEGDSAUTODETAIL + Return CType(Serializer.Deserialize(s), GOOITEGDSAUTODETAIL) + End Function +#End Region + + ''' + ''' Serializes current GOOITEGDSAUTODETAIL object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GOOITEGDSAUTODETAIL object + ''' + ''' string xml file to load and deserialize + ''' Output GOOITEGDSAUTODETAIL object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSAUTODETAIL, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSAUTODETAIL) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSAUTODETAIL) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GOOITEGDSAUTODETAIL + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GOOITEGDSSpanishSummaryDischarges + +#Region "Private fields" + Private _spanishSummaryDischarge As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._spanishSummaryDischarge = New GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge() + End Sub + + Public Property SpanishSummaryDischarge() As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + Get + Return Me._spanishSummaryDischarge + End Get + Set + Me._spanishSummaryDischarge = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GOOITEGDSSpanishSummaryDischarges)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GOOITEGDSSpanishSummaryDischarges object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GOOITEGDSSpanishSummaryDischarges object + ''' + ''' string workflow markup to deserialize + ''' Output GOOITEGDSSpanishSummaryDischarges object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSSpanishSummaryDischarges, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSSpanishSummaryDischarges) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSSpanishSummaryDischarges) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GOOITEGDSSpanishSummaryDischarges + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GOOITEGDSSpanishSummaryDischarges) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GOOITEGDSSpanishSummaryDischarges + Return CType(Serializer.Deserialize(s), GOOITEGDSSpanishSummaryDischarges) + End Function +#End Region + + ''' + ''' Serializes current GOOITEGDSSpanishSummaryDischarges object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GOOITEGDSSpanishSummaryDischarges object + ''' + ''' string xml file to load and deserialize + ''' Output GOOITEGDSSpanishSummaryDischarges object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSSpanishSummaryDischarges, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSSpanishSummaryDischarges) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSSpanishSummaryDischarges) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GOOITEGDSSpanishSummaryDischarges + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + +#Region "Private fields" + Private _dischargingType As Object + + Private _docRefNumber As Object + + Private _dischargingItemQuantity As Object + + Private _isPartialDischarge As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property DischargingType() As Object + Get + Return Me._dischargingType + End Get + Set + Me._dischargingType = Value + End Set + End Property + + Public Property DocRefNumber() As Object + Get + Return Me._docRefNumber + End Get + Set + Me._docRefNumber = Value + End Set + End Property + + Public Property DischargingItemQuantity() As Object + Get + Return Me._dischargingItemQuantity + End Get + Set + Me._dischargingItemQuantity = Value + End Set + End Property + + Public Property isPartialDischarge() As Object + Get + Return Me._isPartialDischarge + End Get + Set + Me._isPartialDischarge = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object + ''' + ''' string workflow markup to deserialize + ''' Output GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + Return CType(Serializer.Deserialize(s), GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) + End Function +#End Region + + ''' + ''' Serializes current GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object + ''' + ''' string xml file to load and deserialize + ''' Output GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GOOITEGDSSpanishSummaryDischargesSpanishSummaryDischarge + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GOOITEGDSACMA2 + +#Region "Private fields" + Private _iddtext As Object + + Private _nartnumart As Object + + Private _nartnumart1 As Object + + Private _qamv As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Iddtext() As Object + Get + Return Me._iddtext + End Get + Set + Me._iddtext = Value + End Set + End Property + + Public Property Nartnumart() As Object + Get + Return Me._nartnumart + End Get + Set + Me._nartnumart = Value + End Set + End Property + + Public Property Nartnumart1() As Object + Get + Return Me._nartnumart1 + End Get + Set + Me._nartnumart1 = Value + End Set + End Property + + Public Property Qamv() As Object + Get + Return Me._qamv + End Get + Set + Me._qamv = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GOOITEGDSACMA2)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GOOITEGDSACMA2 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GOOITEGDSACMA2 object + ''' + ''' string workflow markup to deserialize + ''' Output GOOITEGDSACMA2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSACMA2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSACMA2) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GOOITEGDSACMA2) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GOOITEGDSACMA2 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GOOITEGDSACMA2) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GOOITEGDSACMA2 + Return CType(Serializer.Deserialize(s), GOOITEGDSACMA2) + End Function +#End Region + + ''' + ''' Serializes current GOOITEGDSACMA2 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GOOITEGDSACMA2 object + ''' + ''' string xml file to load and deserialize + ''' Output GOOITEGDSACMA2 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSACMA2, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GOOITEGDSACMA2) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GOOITEGDSACMA2) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GOOITEGDSACMA2 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CARTRA100 + +#Region "Private fields" + Private _namCARTRA121 As String + + Private _strAndNumCARTRA254 As String + + Private _posCodCARTRA121 As String + + Private _citCARTRA789 As String + + Private _couCodCARTRA587 As String + + Private _nADCARTRA121 As String + + Private _tINCARTRA254 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamCARTRA121() As String + Get + Return Me._namCARTRA121 + End Get + Set + Me._namCARTRA121 = Value + End Set + End Property + + Public Property StrAndNumCARTRA254() As String + Get + Return Me._strAndNumCARTRA254 + End Get + Set + Me._strAndNumCARTRA254 = Value + End Set + End Property + + Public Property PosCodCARTRA121() As String + Get + Return Me._posCodCARTRA121 + End Get + Set + Me._posCodCARTRA121 = Value + End Set + End Property + + Public Property CitCARTRA789() As String + Get + Return Me._citCARTRA789 + End Get + Set + Me._citCARTRA789 = Value + End Set + End Property + + Public Property CouCodCARTRA587() As String + Get + Return Me._couCodCARTRA587 + End Get + Set + Me._couCodCARTRA587 = Value + End Set + End Property + + Public Property NADCARTRA121() As String + Get + Return Me._nADCARTRA121 + End Get + Set + Me._nADCARTRA121 = Value + End Set + End Property + + Public Property TINCARTRA254() As String + Get + Return Me._tINCARTRA254 + End Get + Set + Me._tINCARTRA254 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CARTRA100)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CARTRA100 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CARTRA100 object + ''' + ''' string workflow markup to deserialize + ''' Output CARTRA100 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CARTRA100, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CARTRA100) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CARTRA100) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CARTRA100 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CARTRA100) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CARTRA100 + Return CType(Serializer.Deserialize(s), CARTRA100) + End Function +#End Region + + ''' + ''' Serializes current CARTRA100 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CARTRA100 object + ''' + ''' string xml file to load and deserialize + ''' Output CARTRA100 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CARTRA100, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CARTRA100) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CARTRA100) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CARTRA100 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ITI + +#Region "Private fields" + Private _couOfRouCodITI1 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property CouOfRouCodITI1() As String + Get + Return Me._couOfRouCodITI1 + End Get + Set + Me._couOfRouCodITI1 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ITI)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ITI object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ITI object + ''' + ''' string workflow markup to deserialize + ''' Output ITI object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ITI, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ITI) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ITI) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ITI + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ITI) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ITI + Return CType(Serializer.Deserialize(s), ITI) + End Function +#End Region + + ''' + ''' Serializes current ITI object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ITI object + ''' + ''' string xml file to load and deserialize + ''' Output ITI object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ITI, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ITI) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ITI) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ITI + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACORSEC037 + +#Region "Private fields" + Private _namTRACORSEC041 As String + + Private _strNumTRACORSEC043 As String + + Private _posCodTRACORSEC042 As String + + Private _citTRACORSEC038 As String + + Private _couCodTRACORSEC039 As String + + Private _tRACORSEC037LNG As String + + Private _tINTRACORSEC044 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamTRACORSEC041() As String + Get + Return Me._namTRACORSEC041 + End Get + Set + Me._namTRACORSEC041 = Value + End Set + End Property + + Public Property StrNumTRACORSEC043() As String + Get + Return Me._strNumTRACORSEC043 + End Get + Set + Me._strNumTRACORSEC043 = Value + End Set + End Property + + Public Property PosCodTRACORSEC042() As String + Get + Return Me._posCodTRACORSEC042 + End Get + Set + Me._posCodTRACORSEC042 = Value + End Set + End Property + + Public Property CitTRACORSEC038() As String + Get + Return Me._citTRACORSEC038 + End Get + Set + Me._citTRACORSEC038 = Value + End Set + End Property + + Public Property CouCodTRACORSEC039() As String + Get + Return Me._couCodTRACORSEC039 + End Get + Set + Me._couCodTRACORSEC039 = Value + End Set + End Property + + Public Property TRACORSEC037LNG() As String + Get + Return Me._tRACORSEC037LNG + End Get + Set + Me._tRACORSEC037LNG = Value + End Set + End Property + + Public Property TINTRACORSEC044() As String + Get + Return Me._tINTRACORSEC044 + End Get + Set + Me._tINTRACORSEC044 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACORSEC037)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACORSEC037 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACORSEC037 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACORSEC037 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACORSEC037, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACORSEC037) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACORSEC037) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACORSEC037 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACORSEC037) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACORSEC037 + Return CType(Serializer.Deserialize(s), TRACORSEC037) + End Function +#End Region + + ''' + ''' Serializes current TRACORSEC037 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACORSEC037 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACORSEC037 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACORSEC037, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACORSEC037) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACORSEC037) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACORSEC037 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRACONSEC029 + +#Region "Private fields" + Private _nameTRACONSEC033 As String + + Private _strNumTRACONSEC035 As String + + Private _posCodTRACONSEC034 As String + + Private _citTRACONSEC030 As String + + Private _couCodTRACONSEC031 As String + + Private _tRACONSEC029LNG As String + + Private _tINTRACONSEC036 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NameTRACONSEC033() As String + Get + Return Me._nameTRACONSEC033 + End Get + Set + Me._nameTRACONSEC033 = Value + End Set + End Property + + Public Property StrNumTRACONSEC035() As String + Get + Return Me._strNumTRACONSEC035 + End Get + Set + Me._strNumTRACONSEC035 = Value + End Set + End Property + + Public Property PosCodTRACONSEC034() As String + Get + Return Me._posCodTRACONSEC034 + End Get + Set + Me._posCodTRACONSEC034 = Value + End Set + End Property + + Public Property CitTRACONSEC030() As String + Get + Return Me._citTRACONSEC030 + End Get + Set + Me._citTRACONSEC030 = Value + End Set + End Property + + Public Property CouCodTRACONSEC031() As String + Get + Return Me._couCodTRACONSEC031 + End Get + Set + Me._couCodTRACONSEC031 = Value + End Set + End Property + + Public Property TRACONSEC029LNG() As String + Get + Return Me._tRACONSEC029LNG + End Get + Set + Me._tRACONSEC029LNG = Value + End Set + End Property + + Public Property TINTRACONSEC036() As String + Get + Return Me._tINTRACONSEC036 + End Get + Set + Me._tINTRACONSEC036 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRACONSEC029)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRACONSEC029 object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRACONSEC029 object + ''' + ''' string workflow markup to deserialize + ''' Output TRACONSEC029 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONSEC029, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONSEC029) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRACONSEC029) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRACONSEC029 + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRACONSEC029) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRACONSEC029 + Return CType(Serializer.Deserialize(s), TRACONSEC029) + End Function +#End Region + + ''' + ''' Serializes current TRACONSEC029 object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRACONSEC029 object + ''' + ''' string xml file to load and deserialize + ''' Output TRACONSEC029 object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONSEC029, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRACONSEC029) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRACONSEC029) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRACONSEC029 + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ACMA + +#Region "Private fields" + Private _disInd As String + + Private _idsoext As String + + Private _wareInd As String + + Private _ltitref As String + + Private _wareCod As String + + Private _titlNum As String + + Private _disQty As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property DisInd() As String + Get + Return Me._disInd + End Get + Set + Me._disInd = Value + End Set + End Property + + Public Property Idsoext() As String + Get + Return Me._idsoext + End Get + Set + Me._idsoext = Value + End Set + End Property + + Public Property WareInd() As String + Get + Return Me._wareInd + End Get + Set + Me._wareInd = Value + End Set + End Property + + Public Property Ltitref() As String + Get + Return Me._ltitref + End Get + Set + Me._ltitref = Value + End Set + End Property + + Public Property WareCod() As String + Get + Return Me._wareCod + End Get + Set + Me._wareCod = Value + End Set + End Property + + + Public Property TitlNum() As String + Get + Return Me._titlNum + End Get + Set + Me._titlNum = Value + End Set + End Property + + + Public Property DisQty() As String + Get + Return Me._disQty + End Get + Set + Me._disQty = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ACMA)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ACMA object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ACMA object + ''' + ''' string workflow markup to deserialize + ''' Output ACMA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ACMA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ACMA) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ACMA) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ACMA + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ACMA) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ACMA + Return CType(Serializer.Deserialize(s), ACMA) + End Function +#End Region + + ''' + ''' Serializes current ACMA object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ACMA object + ''' + ''' string xml file to load and deserialize + ''' Output ACMA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ACMA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ACMA) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ACMA) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ACMA + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GUAGUA + +#Region "Private fields" + Private _guaTypGUA1 As String + + Private _gUAREFREF As List(Of GUAREFREF) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._gUAREFREF = New List(Of GUAREFREF)() + End Sub + + Public Property GuaTypGUA1() As String + Get + Return Me._guaTypGUA1 + End Get + Set + Me._guaTypGUA1 = Value + End Set + End Property + + + Public Property GUAREFREF() As List(Of GUAREFREF) + Get + Return Me._gUAREFREF + End Get + Set + Me._gUAREFREF = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GUAGUA)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GUAGUA object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GUAGUA object + ''' + ''' string workflow markup to deserialize + ''' Output GUAGUA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GUAGUA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GUAGUA) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GUAGUA) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GUAGUA + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GUAGUA) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GUAGUA + Return CType(Serializer.Deserialize(s), GUAGUA) + End Function +#End Region + + ''' + ''' Serializes current GUAGUA object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GUAGUA object + ''' + ''' string xml file to load and deserialize + ''' Output GUAGUA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GUAGUA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GUAGUA) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GUAGUA) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GUAGUA + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class GUAREFREF + +#Region "Private fields" + Private _guaRefNumGRNREF1 As String + + Private _othGuaRefREF4 As String + + Private _accCodREF6 As String + + Private _curREF8 As String + + Private _amoConREF7 As String + + Private _vALLIMECVLE As VALLIMECVLE + + Private _vALLIMNONECLIM As List(Of VALLIMNONECLIM) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._vALLIMNONECLIM = New List(Of VALLIMNONECLIM)() + Me._vALLIMECVLE = New VALLIMECVLE() + End Sub + + Public Property GuaRefNumGRNREF1() As String + Get + Return Me._guaRefNumGRNREF1 + End Get + Set + Me._guaRefNumGRNREF1 = Value + End Set + End Property + + Public Property OthGuaRefREF4() As String + Get + Return Me._othGuaRefREF4 + End Get + Set + Me._othGuaRefREF4 = Value + End Set + End Property + + Public Property AccCodREF6() As String + Get + Return Me._accCodREF6 + End Get + Set + Me._accCodREF6 = Value + End Set + End Property + + Public Property CurREF8() As String + Get + Return Me._curREF8 + End Get + Set + Me._curREF8 = Value + End Set + End Property + + + Public Property AmoConREF7() As String + Get + Return Me._amoConREF7 + End Get + Set + Me._amoConREF7 = Value + End Set + End Property + + Public Property VALLIMECVLE() As VALLIMECVLE + Get + Return Me._vALLIMECVLE + End Get + Set + Me._vALLIMECVLE = Value + End Set + End Property + + + Public Property VALLIMNONECLIM() As List(Of VALLIMNONECLIM) + Get + Return Me._vALLIMNONECLIM + End Get + Set + Me._vALLIMNONECLIM = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(GUAREFREF)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current GUAREFREF object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an GUAREFREF object + ''' + ''' string workflow markup to deserialize + ''' Output GUAREFREF object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GUAREFREF, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GUAREFREF) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As GUAREFREF) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As GUAREFREF + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), GUAREFREF) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As GUAREFREF + Return CType(Serializer.Deserialize(s), GUAREFREF) + End Function +#End Region + + ''' + ''' Serializes current GUAREFREF object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an GUAREFREF object + ''' + ''' string xml file to load and deserialize + ''' Output GUAREFREF object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GUAREFREF, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, GUAREFREF) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As GUAREFREF) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As GUAREFREF + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VALLIMECVLE + +#Region "Private fields" + Private _notValForECVLE1 As Constraints4.cl27 + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NotValForECVLE1() As Constraints4.cl27 + Get + Return Me._notValForECVLE1 + End Get + Set + Me._notValForECVLE1 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VALLIMECVLE)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VALLIMECVLE object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VALLIMECVLE object + ''' + ''' string workflow markup to deserialize + ''' Output VALLIMECVLE object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VALLIMECVLE, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VALLIMECVLE) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VALLIMECVLE) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VALLIMECVLE + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VALLIMECVLE) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VALLIMECVLE + Return CType(Serializer.Deserialize(s), VALLIMECVLE) + End Function +#End Region + + ''' + ''' Serializes current VALLIMECVLE object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VALLIMECVLE object + ''' + ''' string xml file to load and deserialize + ''' Output VALLIMECVLE object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VALLIMECVLE, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VALLIMECVLE) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VALLIMECVLE) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VALLIMECVLE + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VALLIMNONECLIM + +#Region "Private fields" + Private _notValForOthConPLIM2 As Codelists.CL71 + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NotValForOthConPLIM2() As Codelists.CL71 + Get + Return Me._notValForOthConPLIM2 + End Get + Set + Me._notValForOthConPLIM2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VALLIMNONECLIM)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VALLIMNONECLIM object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VALLIMNONECLIM object + ''' + ''' string workflow markup to deserialize + ''' Output VALLIMNONECLIM object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VALLIMNONECLIM, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VALLIMNONECLIM) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VALLIMNONECLIM) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VALLIMNONECLIM + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VALLIMNONECLIM) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VALLIMNONECLIM + Return CType(Serializer.Deserialize(s), VALLIMNONECLIM) + End Function +#End Region + + ''' + ''' Serializes current VALLIMNONECLIM object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VALLIMNONECLIM object + ''' + ''' string xml file to load and deserialize + ''' Output VALLIMNONECLIM object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VALLIMNONECLIM, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VALLIMNONECLIM) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VALLIMNONECLIM) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VALLIMNONECLIM + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class TRAAUTCONTRA + +#Region "Private fields" + Private _tINTRA59 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property TINTRA59() As String + Get + Return Me._tINTRA59 + End Get + Set + Me._tINTRA59 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(TRAAUTCONTRA)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current TRAAUTCONTRA object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an TRAAUTCONTRA object + ''' + ''' string workflow markup to deserialize + ''' Output TRAAUTCONTRA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRAAUTCONTRA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRAAUTCONTRA) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As TRAAUTCONTRA) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As TRAAUTCONTRA + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), TRAAUTCONTRA) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As TRAAUTCONTRA + Return CType(Serializer.Deserialize(s), TRAAUTCONTRA) + End Function +#End Region + + ''' + ''' Serializes current TRAAUTCONTRA object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an TRAAUTCONTRA object + ''' + ''' string xml file to load and deserialize + ''' Output TRAAUTCONTRA object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRAAUTCONTRA, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, TRAAUTCONTRA) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As TRAAUTCONTRA) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As TRAAUTCONTRA + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class CONRESERS + +#Region "Private fields" + Private _conResCodERS16 As String + + Private _datLimERS69 As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ConResCodERS16() As String + Get + Return Me._conResCodERS16 + End Get + Set + Me._conResCodERS16 = Value + End Set + End Property + + + Public Property DatLimERS69() As String + Get + Return Me._datLimERS69 + End Get + Set + Me._datLimERS69 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(CONRESERS)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current CONRESERS object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an CONRESERS object + ''' + ''' string workflow markup to deserialize + ''' Output CONRESERS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CONRESERS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CONRESERS) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As CONRESERS) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As CONRESERS + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), CONRESERS) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As CONRESERS + Return CType(Serializer.Deserialize(s), CONRESERS) + End Function +#End Region + + ''' + ''' Serializes current CONRESERS object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an CONRESERS object + ''' + ''' string xml file to load and deserialize + ''' Output CONRESERS object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CONRESERS, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, CONRESERS) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As CONRESERS) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As CONRESERS + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class REPREP + +#Region "Private fields" + Private _namREP5 As String + + Private _repCapREP18 As String + + Private _repCapREP18LNG As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property NamREP5() As String + Get + Return Me._namREP5 + End Get + Set + Me._namREP5 = Value + End Set + End Property + + Public Property RepCapREP18() As String + Get + Return Me._repCapREP18 + End Get + Set + Me._repCapREP18 = Value + End Set + End Property + + Public Property RepCapREP18LNG() As String + Get + Return Me._repCapREP18LNG + End Get + Set + Me._repCapREP18LNG = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(REPREP)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current REPREP object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an REPREP object + ''' + ''' string workflow markup to deserialize + ''' Output REPREP object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As REPREP, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, REPREP) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As REPREP) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As REPREP + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), REPREP) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As REPREP + Return CType(Serializer.Deserialize(s), REPREP) + End Function +#End Region + + ''' + ''' Serializes current REPREP object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an REPREP object + ''' + ''' string xml file to load and deserialize + ''' Output REPREP object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As REPREP, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, REPREP) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As REPREP) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As REPREP + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class SEAIDSID + +#Region "Private fields" + Private _seaIdeSID1 As String + + Private _seaIdeSID1LNG As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property SeaIdeSID1() As String + Get + Return Me._seaIdeSID1 + End Get + Set + Me._seaIdeSID1 = Value + End Set + End Property + + Public Property SeaIdeSID1LNG() As String + Get + Return Me._seaIdeSID1LNG + End Get + Set + Me._seaIdeSID1LNG = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(SEAIDSID)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current SEAIDSID object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an SEAIDSID object + ''' + ''' string workflow markup to deserialize + ''' Output SEAIDSID object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SEAIDSID, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SEAIDSID) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As SEAIDSID) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As SEAIDSID + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), SEAIDSID) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As SEAIDSID + Return CType(Serializer.Deserialize(s), SEAIDSID) + End Function +#End Region + + ''' + ''' Serializes current SEAIDSID object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an SEAIDSID object + ''' + ''' string xml file to load and deserialize + ''' Output SEAIDSID object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SEAIDSID, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, SEAIDSID) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As SEAIDSID) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As SEAIDSID + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class OB + +#Region "Private fields" + Private _aCMA As List(Of ACMA) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._aCMA = New List(Of ACMA)() + End Sub + + + Public Property ACMA() As List(Of ACMA) + Get + Return Me._aCMA + End Get + Set + Me._aCMA = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(OB)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current OB object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an OB object + ''' + ''' string workflow markup to deserialize + ''' Output OB object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As OB, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, OB) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As OB) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As OB + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), OB) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As OB + Return CType(Serializer.Deserialize(s), OB) + End Function +#End Region + + ''' + ''' Serializes current OB object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an OB object + ''' + ''' string xml file to load and deserialize + ''' Output OB object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As OB, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, OB) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As OB) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As OB + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.xsd new file mode 100644 index 0000000..c25dd9e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/CC015B_TR_EXT_V4_3.xsd @@ -0,0 +1,1930 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invoice amount + + + + + invoice currency + + + + + + + + + + + + + + + + + + + + + + + + + Used for BG country. + + + + + + + + + + + + + + + + + + + + + + Used for ES country. + + + + + + + + + + + + + + + + + + + + + + Iddtext : Export/Entrepot Declaration ID + + + + + Nartnumart : Discharging Item Number/Line + + + + + Nartnumart1 : Warehouse Code + + + + + Qamv : Discharging Item Quantity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + this tag takes 0 or 1 and used for RO + + + + + this tag takes 0 or 1 and used for RO + + + + + group vessel name + + + + + dateFormat - ddMMyyyy + + + + + this tag takes 0 or 1 + + + + + this tag takes 0 or 1 + + + + + for simplified procedure and it can have any value defined at TNet + + + + + dateFormat - yyyymmdd + + + + + + + + + + + 0 or 1 + + + + + 0 or 1 + + + + + + + + + 0 or 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Previous Document Registration Position + + + + + Previous Document Registration Number + + + + + Previous Document Number Of Packages + + + + + + + + + + + + + + + + YYYY used in Italy + + + + + = IT fixed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.Designer.vb new file mode 100644 index 0000000..d5d362f --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.Designer.vb @@ -0,0 +1,1289 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' CodelistsListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace Codelists + + + Public Enum CL32 + + ''' + + Item4 + + ''' + + Item7 + End Enum + + + Public Enum CL14 + + ''' + + Item235 + + ''' + + Item270 + + ''' + + Item271 + + ''' + + Item325 + + ''' + + Item380 + + ''' + + Item703 + + ''' + + Item704 + + ''' + + Item705 + + ''' + + Item720 + + ''' + + Item722 + + ''' + + Item730 + + ''' + + Item740 + + ''' + + Item741 + + ''' + + Item750 + + ''' + + Item760 + + ''' + + Item785 + + ''' + + Item787 + + ''' + + Item820 + + ''' + + Item821 + + ''' + + Item822 + + ''' + + Item823 + + ''' + + Item952 + + ''' + + Item955 + + ''' + CLE + + ''' + IF3 + + ''' + IF8 + + ''' + MNS + + ''' + T2F + + ''' + T2L + + ''' + T2ATA + + ''' + T2 + + ''' + T2M + + ''' + T2CIM + + ''' + T2TIR + + ''' + EX + + ''' + IM + + ''' + CO + + ''' + EU + + ''' + ZZZ + End Enum + + + Public Enum CL25 + + ''' + L + + ''' + S + End Enum + + + Public Enum CL82 + + ''' + + Item0 + + ''' + + Item1 + + ''' + + Item2 + End Enum + + + Public Enum CL70 + + ''' + AD + + ''' + AT + + ''' + BE + + ''' + BG + + ''' + CH + + ''' + CY + + ''' + CZ + + ''' + DE + + ''' + DK + + ''' + EE + + ''' + ES + + ''' + FI + + ''' + FR + + ''' + GB + + ''' + GR + + ''' + HU + + ''' + IE + + ''' + [IS] + + ''' + IT + + ''' + LT + + ''' + LU + + ''' + LV + + ''' + MT + + ''' + NL + + ''' + NO + + ''' + PL + + ''' + PT + + ''' + RO + + ''' + SE + + ''' + SI + + ''' + SK + + ''' + SM + End Enum + + + Public Enum CL68 + + ''' + A + + ''' + B + + ''' + C + + ''' + D + + ''' + E + + ''' + F + + ''' + G + + ''' + H + + ''' + I + + ''' + J + + ''' + K + + ''' + L + + ''' + M + + ''' + N + + ''' + O + + ''' + P + + ''' + Q + + ''' + S + + ''' + T + + ''' + U + + ''' + V + + ''' + W + End Enum + + + Public Enum CL79 + + ''' + N + + ''' + S + + ''' + U + End Enum + + + Public Enum CL105 + + ''' + + Item1 + + ''' + + Item2 + + ''' + + Item3 + + ''' + + Item4 + + ''' + + Item5 + + ''' + + Item6 + + ''' + + Item7 + End Enum + + + Public Enum CL23 + + ''' + + Item12 + + ''' + + Item13 + + ''' + + Item14 + + ''' + + Item15 + + ''' + + Item16 + + ''' + + Item18 + + ''' + + Item19 + + ''' + + Item2 + + ''' + + Item21 + + ''' + + Item22 + + ''' + + Item23 + + ''' + + Item26 + + ''' + + Item28 + + ''' + + Item29 + + ''' + + Item3 + + ''' + + Item32 + + ''' + + Item33 + + ''' + + Item35 + + ''' + + Item36 + + ''' + + Item37 + + ''' + + Item38 + + ''' + + Item39 + + ''' + + Item40 + + ''' + + Item6 + + ''' + + Item7 + End Enum + + + Public Enum CL49 + + ''' + + Item12 + + ''' + + Item13 + + ''' + + Item14 + + ''' + + Item15 + + ''' + + Item19 + + ''' + + Item26 + + ''' + + Item35 + + ''' + + Item37 + + ''' + + Item38 + + ''' + + Item39 + + ''' + + Item40 + + ''' + + Item90 + + ''' + + Item91 + + ''' + + Item92 + + ''' + + Item93 + End Enum + + + Public Enum CL28 + + ''' + F + + ''' + L + End Enum + + + Public Enum CL33 + + ''' + UNB + + ''' + UNZ + End Enum + + + Public Enum CL37 + + ''' + EC + + ''' + UN + End Enum + + + Public Enum CL36 + + ''' + + Item96B + End Enum + + + Public Enum CL34 + + ''' + UNH + + ''' + UNT + End Enum + + + Public Enum CL60 + + ''' + CC004A + + ''' + CC005A + + ''' + CC007A + + ''' + CC008A + + ''' + CC009A + + ''' + CC013B + + ''' + CC014A + + ''' + CC015A + + ''' + CC015B + + ''' + CC016A + + ''' + CC017B + + ''' + CC019A + + ''' + CC021A + + ''' + CC023A + + ''' + CC025A + + ''' + CC026A + + ''' + CC028A + + ''' + CC029B + + ''' + CC035A + + ''' + CC043A + + ''' + CC044A + + ''' + CC045A + + ''' + CC051B + + ''' + CC054A + + ''' + CC055A + + ''' + CC058A + + ''' + CC060A + + ''' + CC062A + + ''' + CC100A + + ''' + CC140A + + ''' + CC141A + + ''' + CC224A + + ''' + CC225A + + ''' + CC228A + + ''' + CC229A + + ''' + CC231A + + ''' + CC304A + + ''' + CC305A + + ''' + CC313A + + ''' + CC315A + + ''' + CC316A + + ''' + CC323A + + ''' + CC324A + + ''' + CC325A + + ''' + CC328A + + ''' + CC351A + + ''' + CC928A + + ''' + CD001B + + ''' + CD002A + + ''' + CD003B + + ''' + CD006A + + ''' + CD010A + + ''' + CD011A + + ''' + CD018A + + ''' + CD020A + + ''' + CD024A + + ''' + CD027A + + ''' + CD030B + + ''' + CD031B + + ''' + CD032B + + ''' + CD034A + + ''' + CD037A + + ''' + CD038B + + ''' + CD050B + + ''' + CD059A + + ''' + CD063A + + ''' + CD106A + + ''' + CD111A + + ''' + CD112A + + ''' + CD114A + + ''' + CD115B + + ''' + CD118A + + ''' + CD12A + + ''' + CD142A + + ''' + CD143A + + ''' + CD144A + + ''' + CD145A + + ''' + CD150A + + ''' + CD151A + + ''' + CD152A + + ''' + CD200A + + ''' + CD201A + + ''' + CD203A + + ''' + CD204A + + ''' + CD205A + + ''' + CD209A + + ''' + CD301A + + ''' + CD302A + + ''' + CD303A + + ''' + CD319A + + ''' + CD411A + + ''' + CD501A + + ''' + CD501B + + ''' + CD502A + + ''' + CD503A + + ''' + CD503B + + ''' + CD510A + + ''' + CD518A + + ''' + CD518B + + ''' + CD524A + + ''' + CD527A + + ''' + CD538A + + ''' + CD584A + + ''' + CD586A + + ''' + CD599A + + ''' + CD601A + + ''' + CD603A + + ''' + CD901B + + ''' + CD904A + + ''' + CD905A + + ''' + CD906A + + ''' + CD907A + + ''' + CD912A + + ''' + CD913A + + ''' + CD914A + + ''' + CD916A + + ''' + CD917A + + ''' + CD918A + + ''' + CD919A + + ''' + CD931B + + ''' + CD932B + + ''' + CDS01A + End Enum + + + Public Enum CL1 + + ''' + BANSTA + + ''' + CUSDEC + + ''' + CUSRES + + ''' + FINSTA + + ''' + GENRAL + + ''' + GESMES + + ''' + PARTTC + + ''' + SANCRT + End Enum + + + Public Enum CL35 + + ''' + D + End Enum + + + Public Enum CL26 + + ''' + + Item01 + + ''' + + Item02 + + ''' + + Item03 + + ''' + + Item04 + + ''' + + Item05 + + ''' + + Item06 + + ''' + + Item07 + + ''' + + Item08 + + ''' + + Item09 + + ''' + + Item10 + + ''' + + Item11 + + ''' + + Item12 + End Enum + + + Public Enum CL71 + + ''' + AD + + ''' + CH + + ''' + [IS] + + ''' + NO + + ''' + SM + End Enum + + + Public Enum CL24 + + ''' + C + + ''' + D + + ''' + U + End Enum + + + Public Enum CL83 + + ''' + CA + + ''' + DE + + ''' + DS + + ''' + HA + + ''' + NR + + ''' + TR + End Enum + + + Public Enum CL117 + + ''' + + Item1 + End Enum + + + Public Enum CL64 + + ''' + + Item1 + End Enum + + + Public Enum CL84 + + ''' + + Item1 + + ''' + + Item2 + + ''' + + Item3 + + ''' + + Item4 + + ''' + + Item5 + + ''' + + Item6 + End Enum + + + Public Enum CL81 + + ''' + CM + + ''' + CN + + ''' + NF + + ''' + PN + + ''' + UM + + ''' + UQ + + ''' + UR + + ''' + W0 + + ''' + W8 + End Enum + + + Public Enum CL21 + + ''' + UNOC + End Enum + + + Public Enum CL22 + + ''' + + Item3 + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.xsd new file mode 100644 index 0000000..f64cfea --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Codelists.xsd @@ -0,0 +1,516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.Designer.vb new file mode 100644 index 0000000..50f9f39 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.Designer.vb @@ -0,0 +1,33 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' Constraints4ListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace Constraints4 + + + Public Enum CL27 + + ''' + + Item0 + + ''' + + Item1 + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.xsd new file mode 100644 index 0000000..477a030 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/Constraints4.xsd @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/cSGSInterface.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/cSGSInterface.vb new file mode 100644 index 0000000..258f149 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/SGS/cSGSInterface.vb @@ -0,0 +1,1543 @@ + + +Public Class cSGSInterface + + + + Shared Function generateVersandanmeldungNCTS(cDY As cNCTS_TR, ByRef saveFile As String, DY_ACTION As String) As Boolean + Try + + Dim Interface_VERSION = "003" + Dim ObjectAktion = DY_ACTION + + Dim XML As New CC015B_TR_EXT_V4_3.CC015B + + 'Transaktion: + XML.HEAHEA.RefNumHEA4 = cDY.ncts_ObjectName + + + + ' Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + Dim saveDir = "\\share01\Datenarchiv\SGS\SEND\" + If Not System.IO.Directory.Exists(saveDir) Then + System.IO.Directory.CreateDirectory(saveDir) + End If + + saveFile = saveDir & "SGS_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + 'MsgBox(saveFile) + XML.SaveToFile(saveFile) + + replaceNullDateXML(saveFile) + + + Return False 'TEST! + + + + Return True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + + + 'XML.Transaktion.IOPartner = getIOPartner(cDY.ncts_firma) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + 'XML.Transaktion.IODatumZeit = Now + 'XML.Transaktion.IOReferenz = cDY.ncts_Trans_Referenz + 'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.ncts_firma) '"SUW" + 'XML.Transaktion.Version = Interface_VERSION + + 'XML.EinzelVersandanmeldung = New VersandanmeldungNCTSDE.EinzelVersandanmeldungTyp + + ''ObjektIdentifizierung: + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.NameAbsendendesSystem = "VERAG_ZOLL" + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung = New VersandanmeldungNCTSDE.ObjektIdentifizierungVATyp + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektName = cDY.ncts_ObjectName + 'If cDY.ncts_ObjectAlias IsNot Nothing Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektAliasname = cDY.ncts_ObjectAlias + 'Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + 'XML.EinzelVersandanmeldung.ObjektIdentifizierung.ObjektAktion = ObjektAktion + 'If If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") <> "" Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.Bearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB + + 'If cDY.ncts_BezugsnummerVorblendung IsNot Nothing Then XML.EinzelVersandanmeldung.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.ncts_BezugsnummerVorblendung + + ''Kopfdaten: + 'XML.EinzelVersandanmeldung.KopfDaten = New VersandanmeldungNCTSDE.KopfDatenVersandanmeldungTyp + 'If cDY.ncts_AbgangsDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.AbgangsstelleDienststellnummer = cDY.ncts_AbgangsDienststellennummer + 'If cDY.ncts_BestimmungsstelleDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BestimmungsstelleDienststellnummer = cDY.ncts_BestimmungsstelleDienststellennummer + 'If cDY.ncts_VersendungsLandCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.VersendungslandCode = cDY.ncts_VersendungsLandCode + 'If cDY.ncts_BestimmungslandCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BestimmungslandCode = cDY.ncts_BestimmungslandCode + 'If cDY.ncts_ArtAnmeldung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.ArtAnmeldungKopfCode = cDY.ncts_ArtAnmeldung + 'If cDY.ncts_BeladungsOrt IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.BeladungsOrt = cDY.ncts_BeladungsOrt + 'XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer = New List(Of String) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer1) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer2) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer3) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer4) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer5) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer6) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer7) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer8) + 'If cDY.ncts_DurchgangszollstelleDienststellnummer9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.DurchgangszollstelleDienststellnummer.Add(cDY.ncts_DurchgangszollstelleDienststellnummer9) + 'If cDY.ncts_AbgangsDienststellennummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.AbgangsstelleDienststellnummer = cDY.ncts_AbgangsDienststellennummer + 'If cDY.ncts_Wiedergestellungsdatum IsNot Nothing AndAlso IsDate(cDY.ncts_Wiedergestellungsdatum) Then + ' XML.EinzelVersandanmeldung.KopfDaten.Wiedergestellungsdatum = cDY.ncts_Wiedergestellungsdatum + 'Else + ' XML.EinzelVersandanmeldung.KopfDaten.Wiedergestellungsdatum = Nothing + 'End If + + 'If cDY.ncts_KzVereinfachtesVerfahren IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.KzVereinfachtesVerfahren = CInt(Int(cDY.ncts_KzVereinfachtesVerfahren)) ' sonst true = -1 + ''GesRoh -> auto + ''GesPk -> auto + + ''Verschluss: + 'If cDY.ncts_Verschluss_ArtCode IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Verschluss = New VersandanmeldungNCTSDE.VerschlussVATyp + ' If cDY.ncts_Verschluss_ArtCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.ArtCode = cDY.ncts_Verschluss_ArtCode + ' If cDY.ncts_Verschluss_Anzahl IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Anzahl = cDY.ncts_Verschluss_Anzahl + + ' If cDY.ncts_Verschluss_Zeichen1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen1) + ' If cDY.ncts_Verschluss_Zeichen2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen2) + ' If cDY.ncts_Verschluss_Zeichen3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen3) + ' If cDY.ncts_Verschluss_Zeichen4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen4) + ' If cDY.ncts_Verschluss_Zeichen5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen5) + ' If cDY.ncts_Verschluss_Zeichen6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen6) + ' If cDY.ncts_Verschluss_Zeichen7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen7) + ' If cDY.ncts_Verschluss_Zeichen8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen8) + ' If cDY.ncts_Verschluss_Zeichen9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen9) + ' If cDY.ncts_Verschluss_Zeichen10 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen10) + ' If cDY.ncts_Verschluss_Zeichen11 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen11) + ' If cDY.ncts_Verschluss_Zeichen12 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen12) + ' If cDY.ncts_Verschluss_Zeichen13 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen13) + ' If cDY.ncts_Verschluss_Zeichen14 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen14) + ' If cDY.ncts_Verschluss_Zeichen15 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen15) + ' If cDY.ncts_Verschluss_Zeichen16 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Verschluss.Zeichen.Add(cDY.ncts_Verschluss_Zeichen16) + 'End If + + ''Sicherheitsangaben: + 'If cDY.ncts_SICHERHEITSANGABEN.Count > 0 Then + ' XML.EinzelVersandanmeldung.KopfDaten.Sicherheitsangaben = New List(Of VersandanmeldungNCTSDE.SicherheitsangabenVATyp) + ' For Each s In cDY.ncts_SICHERHEITSANGABEN + ' Dim SA As New VersandanmeldungNCTSDE.SicherheitsangabenVATyp + ' If s.nctsSA_ArtCode IsNot Nothing Then SA.ArtCode = s.nctsSA_ArtCode + ' If s.nctsSA_BezeichnungBescheinigun IsNot Nothing Then SA.BezeichnungBescheinigung = s.nctsSA_BezeichnungBescheinigun + ' If s.nctsSA_AbgabenBetrag IsNot Nothing Then SA.Abgabenbetrag = s.nctsSA_AbgabenBetrag + ' If s.nctsSA_GRN IsNot Nothing Then + ' SA.GRN = s.nctsSA_GRN + ' If If(s.nctsSA_GRN, "") = "05AT510000G000FP7" Then + ' If If(s.nctsSA_Zugriffcode, "").replace("0000", "").length <> 4 Then + ' s.nctsSA_Zugriffcode = InputBox("Bitte geben Sie den Zugriffscode für die AT-Bürgschaft ein:", "Zugriffscode", "") + ' If s.nctsSA_Zugriffcode.length > 4 Then + ' s.nctsSA_Zugriffcode = s.nctsSA_Zugriffcode.ToString.Substring(0, 4) + ' End If + ' End If + ' End If + ' If s.nctsSA_Zugriffcode IsNot Nothing Then SA.Zugriffscode = s.nctsSA_Zugriffcode + + ' ' If s.nctsSA_TIN IsNot Nothing Then SA.TIN = s.nctsSA_TIN ---> Fehler, das Feld wird in ausl. TIN geschreiben --> muss aber leer bleiben + ' XML.EinzelVersandanmeldung.KopfDaten.Sicherheitsangaben.Add(SA) + ' End If + ' Next + 'End If + + ''Beförderungsmittel: + '' If cDY.ncts_Befoerderungsmittel_KennzeichenAbgang Or cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode isnot nothing then + 'XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel = New VersandanmeldungNCTSDE.BefoerderungsmittelVATyp + 'If cDY.ncts_Befoerderungsmittel_KennzeichenAbgang IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.KennzeichenAbgang = cDY.ncts_Befoerderungsmittel_KennzeichenAbgang + 'If cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.StaatszugehoerigkeitAbgangCode = cDY.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode + + 'If cDY.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.VerkehrszweigGrenzueberschreitent = cDY.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent + 'If cDY.ncts_Befoerderungsmittel_ArtGrenzueberschreitung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.ArtGrenzueberschreitentCode = cDY.ncts_Befoerderungsmittel_ArtGrenzueberschreitung + 'If cDY.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.KennzeichenGrenzueberschreitend = cDY.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend + 'If cDY.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Befoerderungsmittel.StaatszugehoerigkeitGrenzueberschreitendCode = cDY.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode + ''End If + + ''Adressen + 'XML.EinzelVersandanmeldung.KopfDaten.Adressen = New VersandanmeldungNCTSDE.AdressenVATyp + 'If cDY.ncts_Versender_EORI IsNot Nothing Or cDY.ncts_Versender_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If cDY.ncts_Versender_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.EORI = cDY.ncts_Versender_EORI + ' If cDY.ncts_Versender_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Versender_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.NLNR = cDY.ncts_Versender_NLNR + ' If cDY.ncts_Versender_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Name = cDY.ncts_Versender_Name + ' If cDY.ncts_Versender_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.StrasseHausnummer = cDY.ncts_Versender_StrasseHausnummer + ' If cDY.ncts_Versender_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.PLZ = cDY.ncts_Versender_PLZ + ' If cDY.ncts_Versender_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Ort = cDY.ncts_Versender_Ort + ' If cDY.ncts_Versender_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.Land = cDY.ncts_Versender_Land + ' If cDY.ncts_Versender_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Versender.TIN = cDY.ncts_Versender_TIN + 'End If + 'If cDY.ncts_Empfaenger_EORI IsNot Nothing Or cDY.ncts_Empfaenger_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If cDY.ncts_Empfaenger_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.EORI = cDY.ncts_Empfaenger_EORI + ' If cDY.ncts_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Empfaenger_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.NLNR = cDY.ncts_Empfaenger_NLNR + ' If cDY.ncts_Empfaenger_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Name = cDY.ncts_Empfaenger_Name + ' If cDY.ncts_Empfaenger_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.StrasseHausnummer = cDY.ncts_Empfaenger_StrasseHausnummer + ' If cDY.ncts_Empfaenger_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.PLZ = cDY.ncts_Empfaenger_PLZ + ' If cDY.ncts_Empfaenger_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Ort = cDY.ncts_Empfaenger_Ort + ' If cDY.ncts_Empfaenger_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.Land = cDY.ncts_Empfaenger_Land + ' If cDY.ncts_Empfaenger_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Empfaenger.TIN = cDY.ncts_Empfaenger_TIN + 'End If + 'If cDY.ncts_Hauptverpflichteter_EORI IsNot Nothing Or cDY.ncts_Hauptverpflichteter_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter = New VersandanmeldungNCTSDE.HauptverpflichteterVATyp + ' If cDY.ncts_Hauptverpflichteter_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.EORI = cDY.ncts_Hauptverpflichteter_EORI + ' If cDY.ncts_Hauptverpflichteter_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_Hauptverpflichteter_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.NLNR = cDY.ncts_Hauptverpflichteter_NLNR + ' If cDY.ncts_Hauptverpflichteter_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Name = cDY.ncts_Hauptverpflichteter_Name + ' If cDY.ncts_Hauptverpflichteter_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.StrasseHausnummer = cDY.ncts_Hauptverpflichteter_StrasseHausnummer + ' If cDY.ncts_Hauptverpflichteter_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.PLZ = cDY.ncts_Hauptverpflichteter_PLZ + ' If cDY.ncts_Hauptverpflichteter_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Ort = cDY.ncts_Hauptverpflichteter_Ort + ' If cDY.ncts_Hauptverpflichteter_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.Land = cDY.ncts_Hauptverpflichteter_Land + ' If cDY.ncts_Hauptverpflichteter_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.TIN = cDY.ncts_Hauptverpflichteter_TIN + ' If cDY.ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.BewilligungsnummerVersender = cDY.ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender + ' If cDY.ncts_ZugelassenerEmpfaenger_IDCarnet IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.Adressen.Hauptverpflichteter.IDCarnet = cDY.ncts_ZugelassenerEmpfaenger_IDCarnet + 'End If + + + + + ''SumA + 'XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit = New VersandanmeldungNCTSDE.SumASicherheitVATyp + + 'If cDY.ncts_SumA_KzSumASicherheit IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.KzSumASicherheit = CInt(Int(cDY.ncts_SumA_KzSumASicherheit)) ' sonst true = -1 + 'If cDY.ncts_SumA_KennnummerSendung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.KennnummerSendung = cDY.ncts_SumA_KennnummerSendung + + 'If cDY.ncts_SumA_BesondereUmstaende IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BesondereUmstaende = cDY.ncts_SumA_BesondereUmstaende + 'If cDY.ncts_SumA_NummerBefoerderung IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.NummerBefoerderung = cDY.ncts_SumA_NummerBefoerderung + 'If cDY.ncts_SumA_Ladeort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Ladeort = cDY.ncts_SumA_Ladeort + + 'If cDY.ncts_SumA_Entladeort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Entladeort = cDY.ncts_SumA_Entladeort + 'If cDY.ncts_SumA_BefoerderungskostenZahlungsweise IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungskostenZahlungsweise = cDY.ncts_SumA_BefoerderungskostenZahlungsweise + 'If cDY.ncts_SumA_BefoerderungsrouteLand1 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand1) + 'If cDY.ncts_SumA_BefoerderungsrouteLand2 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand2) + 'If cDY.ncts_SumA_BefoerderungsrouteLand3 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand3) + 'If cDY.ncts_SumA_BefoerderungsrouteLand4 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand4) + 'If cDY.ncts_SumA_BefoerderungsrouteLand5 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand5) + 'If cDY.ncts_SumA_BefoerderungsrouteLand6 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand6) + 'If cDY.ncts_SumA_BefoerderungsrouteLand7 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand7) + 'If cDY.ncts_SumA_BefoerderungsrouteLand8 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand8) + 'If cDY.ncts_SumA_BefoerderungsrouteLand9 IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.BefoerderungsrouteLand.Add(cDY.ncts_SumA_BefoerderungsrouteLand9) + 'If cDY.ncts_SumA_Versender_EORI IsNot Nothing Or cDY.ncts_SumA_Versender_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Versender_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.EORI = cDY.ncts_SumA_Versender_EORI + ' If cDY.ncts_SumA_Versender_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Versender_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.NLNR = cDY.ncts_SumA_Versender_NLNR + ' If cDY.ncts_SumA_Versender_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Name = cDY.ncts_SumA_Versender_Name + ' If cDY.ncts_SumA_Versender_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.StrasseHausnummer = cDY.ncts_SumA_Versender_StrasseHausnummer + ' If cDY.ncts_SumA_Versender_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.PLZ = cDY.ncts_SumA_Versender_PLZ + ' If cDY.ncts_SumA_Versender_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Ort = cDY.ncts_SumA_Versender_Ort + ' If cDY.ncts_SumA_Versender_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.Land = cDY.ncts_SumA_Versender_Land + ' If cDY.ncts_SumA_Versender_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Versender.TIN = cDY.ncts_SumA_Versender_TIN + 'End If + 'If cDY.ncts_SumA_Empfaenger_EORI IsNot Nothing Or cDY.ncts_SumA_Empfaenger_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Empfaenger_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.EORI = cDY.ncts_SumA_Empfaenger_EORI + ' If cDY.ncts_SumA_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Empfaenger_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.NLNR = cDY.ncts_SumA_Empfaenger_NLNR + ' If cDY.ncts_SumA_Empfaenger_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Name = cDY.ncts_SumA_Empfaenger_Name + ' If cDY.ncts_SumA_Empfaenger_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.StrasseHausnummer = cDY.ncts_SumA_Empfaenger_StrasseHausnummer + ' If cDY.ncts_SumA_Empfaenger_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.PLZ = cDY.ncts_SumA_Empfaenger_PLZ + ' If cDY.ncts_SumA_Empfaenger_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Ort = cDY.ncts_SumA_Empfaenger_Ort + ' If cDY.ncts_SumA_Empfaenger_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.Land = cDY.ncts_SumA_Empfaenger_Land + ' If cDY.ncts_SumA_Empfaenger_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Empfaenger.TIN = cDY.ncts_SumA_Empfaenger_TIN + 'End If + 'If cDY.ncts_SumA_Befoerderer_EORI IsNot Nothing Or cDY.ncts_SumA_Befoerderer_Name IsNot Nothing Then + ' XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer = New VersandanmeldungNCTSDE.AdresseVATyp + ' If cDY.ncts_SumA_Befoerderer_EORI IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.EORI = cDY.ncts_SumA_Befoerderer_EORI + ' If cDY.ncts_SumA_Befoerderer_NLNR IsNot Nothing AndAlso IsNumeric(cDY.ncts_SumA_Befoerderer_NLNR) Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.NLNR = cDY.ncts_SumA_Befoerderer_NLNR + ' If cDY.ncts_SumA_Befoerderer_Name IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Name = cDY.ncts_SumA_Befoerderer_Name + ' If cDY.ncts_SumA_Befoerderer_StrasseHausnummer IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.StrasseHausnummer = cDY.ncts_SumA_Befoerderer_StrasseHausnummer + ' If cDY.ncts_SumA_Befoerderer_PLZ IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.PLZ = cDY.ncts_SumA_Befoerderer_PLZ + ' If cDY.ncts_SumA_Befoerderer_Ort IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Ort = cDY.ncts_SumA_Befoerderer_Ort + ' If cDY.ncts_SumA_Befoerderer_Land IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.Land = cDY.ncts_SumA_Befoerderer_Land + ' If cDY.ncts_SumA_Befoerderer_TIN IsNot Nothing Then XML.EinzelVersandanmeldung.KopfDaten.SumASicherheit.Befoerderer.TIN = cDY.ncts_SumA_Befoerderer_TIN + 'End If + + ''Warenposition: + 'If cDY.ncts_WARENPOS IsNot Nothing AndAlso cDY.ncts_WARENPOS.Count > 0 Then + ' XML.EinzelVersandanmeldung.WarenPosition = New List(Of VersandanmeldungNCTSDE.WarenPositionVersandanmeldungTyp) + ' For Each p In cDY.ncts_WARENPOS + ' Dim WP As New VersandanmeldungNCTSDE.WarenPositionVersandanmeldungTyp + ' If p.nctsWP_PositionsNummer IsNot Nothing Then WP.Positionsnummer = p.nctsWP_PositionsNummer + ' If p.nctsWP_Warennummer IsNot Nothing Then WP.Warennummer = p.nctsWP_Warennummer + ' If p.nctsWP_ArtAnmeldungPositionCode IsNot Nothing Then WP.ArtAnmeldungPositionCode = p.nctsWP_ArtAnmeldungPositionCode + ' If p.nctsWP_Warenbezeichnung IsNot Nothing Then WP.Warenbezeichnung = p.nctsWP_Warenbezeichnung + ' If p.nctsWP_Warenwert IsNot Nothing Then WP.Warenwert = p.nctsWP_Warenwert.ToString.Replace(",", ".") 'AndAlso IsNumeric(p.nctsWP_Warenwert) Then WP.Warenwert = CDbl(p.nctsWP_Warenwert) + ' If p.nctsWP_WarenwertWaehrung IsNot Nothing Then WP.WarenwertWaehrung = p.nctsWP_WarenwertWaehrung 'AndAlso IsNumeric(p.nctsWP_Warenwert) Then WP.Warenwert = CDbl(p.nctsWP_Warenwert) + ' If p.nctsWP_WarenwertProzent IsNot Nothing Then WP.WarenwertProzent = p.nctsWP_WarenwertProzent + ' If p.nctsWP_SchaetzKz IsNot Nothing Then WP.SchaetzKz = p.nctsWP_SchaetzKz + ' If p.nctsWP_VersendungslandPositionCode IsNot Nothing Then WP.VersendungslandPositionCode = p.nctsWP_VersendungslandPositionCode + ' If p.nctsWP_BestimmungslandPositionCode IsNot Nothing Then WP.BestimmungslandPositionCode = p.nctsWP_BestimmungslandPositionCode + ' If p.nctsWP_Rohmasse IsNot Nothing Then WP.Rohmasse = p.nctsWP_Rohmasse + ' If p.nctsWP_Eigenmasse IsNot Nothing AndAlso CDbl(p.nctsWP_Eigenmasse) > 0 Then WP.Eigenmasse = p.nctsWP_Eigenmasse + + + ' If p.nctsWP_BesondereVermeke_ExportAusEU IsNot Nothing Then WP.BesondereVermerke.ExportAusEU = CInt(Int(p.nctsWP_BesondereVermeke_ExportAusEU)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_ExportAusLand IsNot Nothing Then WP.BesondereVermerke.ExportAusLand = p.nctsWP_BesondereVermeke_ExportAusLand + ' If p.nctsWP_BesondereVermeke_Export IsNot Nothing Then WP.BesondereVermerke.Export = CInt(Int(p.nctsWP_BesondereVermeke_Export)) ' sonst true = -1 + + ' If p.nctsWP_BesondereVermeke_ExportBeschraenkung IsNot Nothing Then WP.BesondereVermerke.ExportBeschraenkung = CInt(Int(p.nctsWP_BesondereVermeke_ExportBeschraenkung)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_ExportAbgaben IsNot Nothing Then WP.BesondereVermerke.ExportAbgaben = CInt(Int(p.nctsWP_BesondereVermeke_ExportAbgaben)) ' sonst true = -1 + ' If p.nctsWP_BesondereVermeke_Vermerk IsNot Nothing Then WP.BesondereVermerke.Vermerk = p.nctsWP_BesondereVermeke_Vermerk + ' If p.nctsWP_BesondereVermeke_Kz10600 IsNot Nothing Then WP.BesondereVermerke.Kz10600 = CInt(Int(p.nctsWP_BesondereVermeke_Kz10600)) ' sonst true = -1 + + + ' If p.nctsWP_Versender_EORI IsNot Nothing Or p.nctsWP_Versender_Name IsNot Nothing Then + ' WP.AdressenPosition.Versender = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If p.nctsWP_Versender_EORI IsNot Nothing Then WP.AdressenPosition.Versender.EORI = p.nctsWP_Versender_EORI + ' If p.nctsWP_Versender_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_Versender_NLNR) Then WP.AdressenPosition.Versender.NLNR = p.nctsWP_Versender_NLNR + ' If p.nctsWP_Versender_Name IsNot Nothing Then WP.AdressenPosition.Versender.Name = p.nctsWP_Versender_Name + ' If p.nctsWP_Versender_StrasseHausnummer IsNot Nothing Then WP.AdressenPosition.Versender.StrasseHausnummer = p.nctsWP_Versender_StrasseHausnummer + ' If p.nctsWP_Versender_PLZ IsNot Nothing Then WP.AdressenPosition.Versender.PLZ = p.nctsWP_Versender_PLZ + ' If p.nctsWP_Versender_Ort IsNot Nothing Then WP.AdressenPosition.Versender.Ort = p.nctsWP_Versender_Ort + ' If p.nctsWP_Versender_Land IsNot Nothing Then WP.AdressenPosition.Versender.Land = p.nctsWP_Versender_Land + ' If p.nctsWP_Versender_TIN IsNot Nothing Then WP.AdressenPosition.Versender.TIN = p.nctsWP_Versender_TIN + ' End If + ' If p.nctsWP_Empfaenger_EORI IsNot Nothing Or p.nctsWP_Empfaenger_Name IsNot Nothing Then + ' WP.AdressenPosition.Empfaenger = New VersandanmeldungNCTSDE.AdresseVA1Typ + ' If p.nctsWP_Empfaenger_EORI IsNot Nothing Then WP.AdressenPosition.Empfaenger.EORI = p.nctsWP_Empfaenger_EORI + ' If p.nctsWP_Empfaenger_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_Empfaenger_NLNR) Then WP.AdressenPosition.Empfaenger.NLNR = p.nctsWP_Empfaenger_NLNR + ' If p.nctsWP_Empfaenger_Name IsNot Nothing Then WP.AdressenPosition.Empfaenger.Name = p.nctsWP_Empfaenger_Name + ' If p.nctsWP_Empfaenger_StrasseHausnummer IsNot Nothing Then WP.AdressenPosition.Empfaenger.StrasseHausnummer = p.nctsWP_Empfaenger_StrasseHausnummer + ' If p.nctsWP_Empfaenger_PLZ IsNot Nothing Then WP.AdressenPosition.Empfaenger.PLZ = p.nctsWP_Empfaenger_PLZ + ' If p.nctsWP_Empfaenger_Ort IsNot Nothing Then WP.AdressenPosition.Empfaenger.Ort = p.nctsWP_Empfaenger_Ort + ' If p.nctsWP_Empfaenger_Land IsNot Nothing Then WP.AdressenPosition.Empfaenger.Land = p.nctsWP_Empfaenger_Land + ' If p.nctsWP_Empfaenger_TIN IsNot Nothing Then WP.AdressenPosition.Empfaenger.TIN = p.nctsWP_Empfaenger_TIN + ' End If + + + ' If p.nctsWP_SumAKennnummerSendung IsNot Nothing Then WP.SumASicherheit.KennnummerSendung = p.nctsWP_SumAKennnummerSendung + ' If p.nctsWP_SumABefoerderungskostenZahlungsweise IsNot Nothing Then WP.SumASicherheit.BefoerderungskostenZahlungsweise = p.nctsWP_SumABefoerderungskostenZahlungsweise + ' If p.nctsWP_SumAUNGefahrgutnummer IsNot Nothing Then WP.SumASicherheit.UNGefahrgutnummer = p.nctsWP_SumAUNGefahrgutnummer + + ' If p.nctsWP_SumAVersender_EORI IsNot Nothing Or p.nctsWP_SumAVersender_Name IsNot Nothing Then + ' WP.SumASicherheit.Versender = New VersandanmeldungNCTSDE.AdresseVATyp + ' If p.nctsWP_SumAVersender_EORI IsNot Nothing Then WP.SumASicherheit.Versender.EORI = p.nctsWP_SumAVersender_EORI + ' If p.nctsWP_SumAVersender_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_SumAVersender_NLNR) Then WP.SumASicherheit.Versender.NLNR = p.nctsWP_SumAVersender_NLNR + ' If p.nctsWP_SumAVersender_Name IsNot Nothing Then WP.SumASicherheit.Versender.Name = p.nctsWP_SumAVersender_Name + ' If p.nctsWP_SumAVersender_StrasseHausnummer IsNot Nothing Then WP.SumASicherheit.Versender.StrasseHausnummer = p.nctsWP_SumAVersender_StrasseHausnummer + ' If p.nctsWP_SumAVersender_PLZ IsNot Nothing Then WP.SumASicherheit.Versender.PLZ = p.nctsWP_SumAVersender_PLZ + ' If p.nctsWP_SumAVersender_Ort IsNot Nothing Then WP.SumASicherheit.Versender.Ort = p.nctsWP_SumAVersender_Ort + ' If p.nctsWP_SumAVersender_Land IsNot Nothing Then WP.SumASicherheit.Versender.Land = p.nctsWP_SumAVersender_Land + ' If p.nctsWP_SumAVersender_TIN IsNot Nothing Then WP.SumASicherheit.Versender.TIN = p.nctsWP_SumAVersender_TIN + ' End If + ' If p.nctsWP_SumAEmpfaenger_EORI IsNot Nothing Or p.nctsWP_SumAEmpfaenger_Name IsNot Nothing Then + ' WP.SumASicherheit.Empfaenger = New VersandanmeldungNCTSDE.AdresseVATyp + ' If p.nctsWP_SumAEmpfaenger_EORI IsNot Nothing Then WP.SumASicherheit.Empfaenger.EORI = p.nctsWP_SumAEmpfaenger_EORI + ' If p.nctsWP_SumAEmpfaenger_NLNR IsNot Nothing AndAlso IsNumeric(p.nctsWP_SumAEmpfaenger_NLNR) Then WP.SumASicherheit.Empfaenger.NLNR = p.nctsWP_SumAEmpfaenger_NLNR + ' If p.nctsWP_SumAEmpfaenger_Name IsNot Nothing Then WP.SumASicherheit.Empfaenger.Name = p.nctsWP_SumAEmpfaenger_Name + ' If p.nctsWP_SumAEmpfaenger_StrasseHausnummer IsNot Nothing Then WP.SumASicherheit.Empfaenger.StrasseHausnummer = p.nctsWP_SumAEmpfaenger_StrasseHausnummer + ' If p.nctsWP_SumAEmpfaenger_PLZ IsNot Nothing Then WP.SumASicherheit.Empfaenger.PLZ = p.nctsWP_SumAEmpfaenger_PLZ + ' If p.nctsWP_SumAEmpfaenger_Ort IsNot Nothing Then WP.SumASicherheit.Empfaenger.Ort = p.nctsWP_SumAEmpfaenger_Ort + ' If p.nctsWP_SumAEmpfaenger_Land IsNot Nothing Then WP.SumASicherheit.Empfaenger.Land = p.nctsWP_SumAEmpfaenger_Land + ' If p.nctsWP_SumAEmpfaenger_TIN IsNot Nothing Then WP.SumASicherheit.Empfaenger.TIN = p.nctsWP_SumAEmpfaenger_TIN + ' End If + + + ' If p.nctsWP_PACKSTUECKE IsNot Nothing AndAlso p.nctsWP_PACKSTUECKE.Count > 0 Then + ' WP.Packstueck = New List(Of VersandanmeldungNCTSDE.PackstueckVATyp) + ' For Each w In p.nctsWP_PACKSTUECKE + ' Dim PK As New VersandanmeldungNCTSDE.PackstueckVATyp + ' If w.nctsWpPk_PackstueckeAnzahl IsNot Nothing Then PK.Anzahl = w.nctsWpPk_PackstueckeAnzahl.ToString.Replace(".", "") + ' If w.nctsWpPk_Verpackungsart IsNot Nothing Then PK.Verpackungsart = w.nctsWpPk_Verpackungsart + ' If w.nctsWpPk_ZeichenNummern IsNot Nothing Then PK.ZeichenNummern = w.nctsWpPk_ZeichenNummern + ' WP.Packstueck.Add(PK) + ' Next + ' End If + + + ' If p.nctsWP_VorpapierTyp IsNot Nothing Then + ' WP.Vorpapier = New VersandanmeldungNCTSDE.VorpapierVATyp + ' WP.Vorpapier.Typ = If(p.nctsWP_VorpapierTyp, "") + + ' WP.Vorpapier.VorpapierAngaben = New List(Of VersandanmeldungNCTSDE.VorpapierAngabenVATyp) + ' If p.nctsWP_VorpapierReferenz1 IsNot Nothing And p.nctsWP_VorpapierReferenz1 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz1, "") + ' If p.nctsWP_VorpapierZusatz1 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz1, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz2 IsNot Nothing And p.nctsWP_VorpapierReferenz2 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz2, "") + ' If p.nctsWP_VorpapierZusatz2 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz2, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz3 IsNot Nothing And p.nctsWP_VorpapierReferenz3 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz3, "") + ' If p.nctsWP_VorpapierZusatz3 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz3, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz4 IsNot Nothing And p.nctsWP_VorpapierReferenz4 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz4, "") + ' If p.nctsWP_VorpapierZusatz4 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz4, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz5 IsNot Nothing And p.nctsWP_VorpapierReferenz5 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz5, "") + ' If p.nctsWP_VorpapierZusatz5 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz5, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz6 IsNot Nothing And p.nctsWP_VorpapierReferenz6 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz6, "") + ' If p.nctsWP_VorpapierZusatz6 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz6, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz7 IsNot Nothing And p.nctsWP_VorpapierReferenz7 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz7, "") + ' If p.nctsWP_VorpapierZusatz7 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz7, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz8 IsNot Nothing And p.nctsWP_VorpapierReferenz8 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz8, "") + ' If p.nctsWP_VorpapierZusatz8 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz8, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' If p.nctsWP_VorpapierReferenz9 IsNot Nothing And p.nctsWP_VorpapierReferenz9 <> "" Then + ' Dim vp = New VersandanmeldungNCTSDE.VorpapierAngabenVATyp + ' vp.Referenz = If(p.nctsWP_VorpapierReferenz9, "") + ' If p.nctsWP_VorpapierZusatz9 IsNot Nothing Then vp.Zusatz = If(p.nctsWP_VorpapierZusatz9, "") + ' WP.Vorpapier.VorpapierAngaben.Add(vp) + ' End If + ' End If + + ' If p.nctsWP_UNTERLAGEN IsNot Nothing AndAlso p.nctsWP_UNTERLAGEN.Count > 0 Then + ' WP.VorgelegteUnterlagen = New List(Of VersandanmeldungNCTSDE.VorgelegteUnterlBeschGenehmVATyp) + ' For Each w In p.nctsWP_UNTERLAGEN + ' Dim UL As New VersandanmeldungNCTSDE.VorgelegteUnterlBeschGenehmVATyp + ' If w.nctsWpUl_Typ IsNot Nothing Then UL.Typ = w.nctsWpUl_Typ + ' If w.nctsWpUl_Referenz IsNot Nothing Then UL.Referenz = w.nctsWpUl_Referenz + ' If w.nctsWpUl_Zusatz IsNot Nothing Then UL.Zusatz = w.nctsWpUl_Zusatz + ' WP.VorgelegteUnterlagen.Add(UL) + ' Next + ' End If + + + ' XML.EinzelVersandanmeldung.WarenPosition.Add(WP) + ' Next + 'End If + + 'Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + 'If Not System.IO.Directory.Exists(saveDir) Then + ' System.IO.Directory.CreateDirectory(saveDir) + 'End If + + 'saveFile = saveDir & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ''MsgBox(saveFile) + 'XML.SaveToFile(saveFile) + + 'replaceNullDateXML(saveFile) + + 'Return True + End Function + + + Shared Sub replaceNullDateXML(XMLFile As String) + Try + If Not System.IO.File.Exists(XMLFile) Then Exit Sub + Dim lines() As String = System.IO.File.ReadAllLines(XMLFile) + Using writer = New System.IO.StreamWriter(XMLFile, False) + For Each line In lines + If Not line.Contains("0001-01-01") Then writer.WriteLine(line) + Next + End Using + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + + + + 'Shared Function loadInClass_VersandanmeldungAES(ByRef cDY As cDakosyAES, USRCNTL As usrCntlATLAS_AES, cDYAnm As cDakosy_Zollanmeldungen) As cDakosyAES + ' Try + + ' cDY.aes_Trans_Partner = "VERA" + ' cDY.aes_Trans_DatumZeit = Now + ' 'cDY.aes_Gestellt = False + ' cDY.aes_Status = "00" + ' cDY.aes_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.aes_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.aes_ObjectAlias = If(USRCNTL.AVISO IsNot Nothing, USRCNTL.AVISO.AvisoID, Nothing) + ' 'cDY.aes_Trans_Version = "003" + ' cDY.aes_Trans_Div1 = "ATILLA" + + ' ' cDY.aes_Stammreferenz = isLeerNothing(USRCNTL.cboStammreferenz._value) + ' ' cDY.aes_BezugsnummerVorblendung = cDY.aes_Stammreferenz + ' cDY.aes_BezugsnummerVorblendung = isLeerNothing(USRCNTL.cboStammreferenz._value) + + ' 'cDY.aes_Trans_Div1 = "ATILLA" + ' 'cDY.aes_Trans_Div1 = "ATILLA" + + ' cDY.aes_ObjectName = USRCNTL.BezugsNr + ' 'cDY.aes_ObjectAlias = USRCNTL.AVISO.AvisoID + ' USRCNTL.ALLG.getValues(cDY) + ' USRCNTL.ADRESSEN.getValues(cDY) + ' 'USRCNTL.POSITIONEN.getValues(cDY) + + ' ' cDY.aes_SICHERHEITSANGABEN = USRCNTL.SICHERHEIT.getValues() + ' 'USRCNTL.VERSCHLUESSE.getValues(cDY) + ' 'cDY.aes_WARENPOS=USRCNTL.POSITIONEN.getValues() + ' '-------------------------------- + + ' cDY.aes_WARENPOS.Clear() + + + ' Return cDY + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return Nothing + ' End Try + 'End Function + + + + 'Shared Function loadInClass_VersandanmeldungEZA(ByRef cDY As cDakosyEZA, USRCNTL As usrCntlATLAS_EZA, cDYAnm As cDakosy_Zollanmeldungen) As cDakosyEZA + ' Try + + ' cDY.eza_Trans_Partner = "VERA" + ' cDY.eza_Trans_DatumZeit = Now + ' 'cDY.EZA_Gestellt = False + ' cDY.eza_Status = "00" + ' cDY.eza_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.eza_Trans_Referenz = USRCNTL.BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig + ' cDY.eza_ObjectAlias = If(USRCNTL.AVISO IsNot Nothing, USRCNTL.AVISO.AvisoID, Nothing) + ' 'cDY.EZA_Trans_Version = "003" + ' cDY.eza_Trans_Div1 = "VERAG" + ' 'cDY.EZA_Trans_Div1 = "ATILLA" + ' 'cDY.EZA_Trans_Div1 = "ATILLA" + + ' ' cDY.eza_Stammreferenz = isLeerNothing(USRCNTL.cboStammreferenz._value) + ' cDY.eza_BezugsnummerVorblendung = isLeerNothing(USRCNTL.cboStammreferenz._value) + + ' cDY.eza_ObjectName = USRCNTL.BezugsNr + ' 'cDY.EZA_ObjectAlias = USRCNTL.AVISO.AvisoID + ' USRCNTL.ALLG.getValues(cDY) + ' USRCNTL.ADRESSEN.getValues(cDY) + ' USRCNTL.POSITIONEN.getValues(cDY) + ' USRCNTL.DV1.getValues(cDY) + + ' ' MsgBox(cDY.eza_WARENPOS.Count) + ' ' cDY.EZA_SICHERHEITSANGABEN = USRCNTL.SICHERHEIT.getValues() + ' 'USRCNTL.VERSCHLUESSE.getValues(cDY) + ' 'cDY.EZA_WARENPOS=USRCNTL.POSITIONEN.getValues() + ' '-------------------------------- + + ' ' cDY.eza_WARENPOS.Clear() + + + ' Return cDY + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return Nothing + ' End Try + 'End Function + + + + 'Shared Function getDivision(FIRMA_DY, Optional fiskal = False) As String + ' If If(FIRMA_DY, "") = "" Then FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + ' Return "SUB" + ' Else + ' Select Case FIRMA_DY + ' Case "ATILLA" + ' Return "SUW" + ' Case "AMBAR" + ' Return "AMBWO" + ' Case "VERAG" + ' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung + ' Case "SUB" : Return "SUB" + ' Case "SBG" : Return "SBG" + ' Case "NKD" : Return "NKD" + ' Case "NEU" : Return "NEU" + ' Case "WAI" : Return "WAI" + ' Case Else : Return "SUB" + ' End Select + + ' Case "UNISPED" + ' Return ""'"ATSP" + ' Case "IMEX" + ' If fiskal Then + ' Return "GLO" + ' Else + ' Return "IME" + ' End If + ' Case Else : Return "SUB" + ' End Select + ' End If + + 'End Function + + 'Shared Function getIOPartner(FIRMA_DY) As String + ' If If(FIRMA_DY, "") = "" Then FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + ' Return "VERA" + ' Else + ' Select Case FIRMA_DY + ' Case "ATILLA" + ' Return "VERG" + ' Case "VERAG" + ' Return "VERG" + ' Case "DURMAZ" + ' Return "DUR" + ' Case "IMEX" + ' Return "IMEX" + ' Case "UNISPED" + ' Return "UNAT" + ' Case Else : Return "VERG" + ' End Select + ' End If + + 'End Function + ''If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + + 'Shared Function generateVersandanmeldungEZA(cDY As cDakosyEZA, ByRef saveFile As String, DY_ACTION As String) As Boolean + ' Dim Interface_VERSION = "004" + ' Dim ObjectAktion = DY_ACTION + + + ' Dim XML As New DAKOSY_Worker.FreierVerkehrAktVeredelUmwandlung_004.FreierVerkehrAktVeredelUmwandlungAVUVTyp + + + ' 'Transaktion: + ' XML.Transaktion = New FreierVerkehrAktVeredelUmwandlung_004.TransaktionFreierVerkehrTyp + ' XML.Transaktion.IOPartner = getIOPartner(cDY.eza_firma) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + ' XML.Transaktion.IODatumZeit = Now + ' XML.Transaktion.IOReferenz = cDY.eza_Trans_Referenz + ' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.eza_firma, CBool(If(cDY.eza_FiskalvertretungKz, False))) + ' XML.Transaktion.Version = Interface_VERSION + + ' Dim EA = New FreierVerkehrAktVeredelUmwandlung_004.EinzelEinfuhrUnvollstaendigeAnmeldungTyp + + ' EA.ObjektIdentifizierung.AbsenderSystemName = "VERAG_ZOLL" + + ' 'ObjektIdentifizierung: + ' EA.ObjektIdentifizierung = New FreierVerkehrAktVeredelUmwandlung_004.ObjektIdentifizierungAVUVTyp + ' EA.ObjektIdentifizierung.ObjektName = cDY.eza_ObjectName + ' If cDY.eza_ObjectAlias IsNot Nothing Then EA.ObjektIdentifizierung.ObjektAlias = cDY.eza_ObjectAlias + ' Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + ' EA.ObjektIdentifizierung.ObjektAktion = ObjektAktion + ' EA.ObjektIdentifizierung.Bearbeiter = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME.Length > 20, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME) + ' 'EA.ObjektIdentifizierung.CompliancePruefung= + ' EA.ObjektIdentifizierung.ObjektName = cDY.eza_ObjectName + ' If cDY.eza_Bearbeiter IsNot Nothing Then EA.ObjektIdentifizierung.Bearbeiter = cDY.eza_Bearbeiter + ' If cDY.eza_CompliancePruefung IsNot Nothing Then EA.ObjektIdentifizierung.CompliancePruefung = cDY.eza_CompliancePruefung + ' If cDY.eza_BezugsnummerVorblendung IsNot Nothing Then EA.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.eza_BezugsnummerVorblendung + + ' EA.ObjektIdentifizierung.AnmeldungArt = If(cDY.eza_AnmeldungArt, "EZA-A") 'Pflichtfeld + + + ' 'KopfDaten + ' EA.KopfDaten = New FreierVerkehrAktVeredelUmwandlung_004.KopfDatenEinfuhrUnvollstaendigeAnmeldungTyp + ' If cDY.eza_AdressierteZollstelle IsNot Nothing Then EA.KopfDaten.AdressierteZollstelle = cDY.eza_AdressierteZollstelle + ' If cDY.eza_AnmelderistEmpfaenger IsNot Nothing Then EA.KopfDaten.AnmelderIstEmpfaenger = cDY.eza_AnmelderistEmpfaenger + ' If cDY.eza_VertretungsVerhaeltnisCode IsNot Nothing Then EA.KopfDaten.VertretungsverhaeltnisCode = cDY.eza_VertretungsVerhaeltnisCode + ' If cDY.eza_Vorsteuerabzug IsNot Nothing Then EA.KopfDaten.Vorsteuerabzug = cDY.eza_Vorsteuerabzug + ' If cDY.eza_AnmeldenderBearbeiterName IsNot Nothing Then EA.KopfDaten.NameAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterName + ' If cDY.eza_AnmeldenderBearbeiterTel IsNot Nothing Then EA.KopfDaten.TelefonnummerAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterTel + ' If cDY.eza_AnmeldenderBearbeiterStellung IsNot Nothing Then EA.KopfDaten.StellungAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterStellung + ' If cDY.eza_AnmeldenderBearbeiterEMail IsNot Nothing Then EA.KopfDaten.EmailAdresseAnmeldenderBearbeiter = cDY.eza_AnmeldenderBearbeiterEMail + ' If cDY.eza_FiskalvertretungKz IsNot Nothing Then EA.KopfDaten.FiskalvertretungKz = CInt(Int(cDY.eza_FiskalvertretungKz)) + ' If cDY.eza_Ausstellungsort IsNot Nothing Then EA.KopfDaten.Ausstellungsort = cDY.eza_Ausstellungsort + ' If cDY.eza_ZollrechtlicherStatus IsNot Nothing Then EA.KopfDaten.ZollrechtlicherStatus = cDY.eza_ZollrechtlicherStatus + ' If cDY.eza_GesamtRohmasse IsNot Nothing AndAlso IsNumeric(cDY.eza_GesamtRohmasse) Then EA.KopfDaten.GesamtRohMasse = CDbl(CDbl(cDY.eza_GesamtRohmasse).ToString("N1")) + ' If cDY.eza_VerfahrenBeantragtCode IsNot Nothing Then EA.KopfDaten.VerfahrenBeantragtCode = cDY.eza_VerfahrenBeantragtCode + ' If cDY.eza_VerkehrszweigInland IsNot Nothing Then EA.KopfDaten.VerkehrszweigInland = cDY.eza_VerkehrszweigInland + ' If cDY.eza_VerkehrszweigGrenze IsNot Nothing Then EA.KopfDaten.VerkehrszweigGrenze = cDY.eza_VerkehrszweigGrenze + ' If cDY.eza_VersendungsLandCode IsNot Nothing Then EA.KopfDaten.VersendungslandCode = cDY.eza_VersendungsLandCode + ' If cDY.eza_Bestimmungsland IsNot Nothing Then EA.KopfDaten.Bestimmungsland = cDY.eza_Bestimmungsland + ' If cDY.eza_Bestimmungsbundesland IsNot Nothing Then EA.KopfDaten.Bestimmungsbundesland = cDY.eza_Bestimmungsbundesland + ' If cDY.eza_KennzeichenNameBefoerderungsmittelAnkunft IsNot Nothing Then EA.KopfDaten.KennzeichenNameBefoerderungsmittelAnkunft = cDY.eza_KennzeichenNameBefoerderungsmittelAnkunft + ' If cDY.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenzeStaatszugehoerigkeitCode = cDY.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode + ' If cDY.eza_BeförderungsmittelGrenzeArt IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenzeArt = cDY.eza_BeförderungsmittelGrenzeArt + ' If cDY.eza_BeförderungsmittelGrenze IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze = cDY.eza_BeförderungsmittelGrenze + ' If cDY.eza_LieferbedingungCode IsNot Nothing Then EA.KopfDaten.LieferbedingungCode = cDY.eza_LieferbedingungCode + ' If cDY.eza_LieferbedingungText IsNot Nothing Then EA.KopfDaten.LieferbedingungText = cDY.eza_LieferbedingungText + ' If cDY.eza_LieferbedingungSchluessel IsNot Nothing Then EA.KopfDaten.LieferbedingungSchluessel = cDY.eza_LieferbedingungSchluessel + ' If cDY.eza_LieferbedingungOrt IsNot Nothing Then EA.KopfDaten.LieferbedingungOrt = cDY.eza_LieferbedingungOrt + ' If cDY.eza_VorpapierArtCode IsNot Nothing Then EA.KopfDaten.VorpapierArtCode = cDY.eza_VorpapierArtCode + ' If cDY.eza_VorpapierNr IsNot Nothing Then EA.KopfDaten.VorpapierNr = cDY.eza_VorpapierNr + ' If cDY.eza_ArtGeschaeftCode IsNot Nothing Then EA.KopfDaten.ArtGeschaeftCode = cDY.eza_ArtGeschaeftCode + ' If cDY.eza_Statistikstatus IsNot Nothing Then EA.KopfDaten.StatistikStatus = cDY.eza_Statistikstatus + ' If cDY.eza_Warenort IsNot Nothing Then EA.KopfDaten.Warenort = cDY.eza_Warenort + ' If cDY.eza_Rechnungspreis IsNot Nothing Then EA.KopfDaten.Rechnungspreis = cDY.eza_Rechnungspreis + ' If cDY.eza_Rechnungswaehrung IsNot Nothing Then EA.KopfDaten.Rechnungswaehrung = cDY.eza_Rechnungswaehrung + ' If If(cDY.eza_DV1Kz, False) Then + ' If cDY.eza_DV1Kz IsNot Nothing Then EA.KopfDaten.DV1Angaben.DV1Kz = CInt(Int(cDY.eza_DV1Kz)) + ' If cDY.eza_DV1Vertretungsverhaeltnis IsNot Nothing Then EA.KopfDaten.DV1Angaben.Vertretungsverhaeltnis = cDY.eza_DV1Vertretungsverhaeltnis + ' If cDY.eza_DV1FruehereEntscheidungen IsNot Nothing Then EA.KopfDaten.DV1Angaben.FruehereEntscheidungen = cDY.eza_DV1FruehereEntscheidungen + ' If cDY.eza_DV1Verbundenheit IsNot Nothing Then EA.KopfDaten.DV1Angaben.Verbundenheit = cDY.eza_DV1Verbundenheit + ' If cDY.eza_DV1VerbungenheitEinzelheiten IsNot Nothing Then EA.KopfDaten.DV1Angaben.VerbundenheitEinzelheiten = cDY.eza_DV1VerbungenheitEinzelheiten + ' If cDY.eza_DV1EinschraenkungenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.EinschraenkungenKz = cDY.eza_DV1EinschraenkungenKz + ' If cDY.eza_DV1BedingungenLeistungenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.BedingungenLeistungenKz = cDY.eza_DV1BedingungenLeistungenKz + ' If cDY.eza_DV1BedingungenLeistungenArt IsNot Nothing Then EA.KopfDaten.DV1Angaben.BedingungenLeistungenArt = cDY.eza_DV1BedingungenLeistungenArt + ' If cDY.eza_DV1LizenzgebuehrenKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.LizenzgebuehrenKz = cDY.eza_DV1LizenzgebuehrenKz + ' If cDY.eza_DV1LizenzgebuehrenUmstand IsNot Nothing Then EA.KopfDaten.DV1Angaben.LizenzgebuehrenUmstand = cDY.eza_DV1LizenzgebuehrenUmstand + ' If cDY.eza_DV1SpezielleVereinbarungKz IsNot Nothing Then EA.KopfDaten.DV1Angaben.SpezielleVereinbarungKz = cDY.eza_DV1SpezielleVereinbarungKz + ' If cDY.eza_DV1SpezielleVereinbarungUmstand IsNot Nothing Then EA.KopfDaten.DV1Angaben.SpezielleVereinbarungUmstand = cDY.eza_DV1SpezielleVereinbarungUmstand + ' End If + + ' If cDY.eza_UNTERLAGEN.Count > 0 Then + ' EA.KopfDaten.Unterlage = New List(Of FreierVerkehrAktVeredelUmwandlung_004.UnterlageVzKopfAVUVTyp) + ' For Each u In cDY.eza_UNTERLAGEN + ' Dim UNTERLAGE As New FreierVerkehrAktVeredelUmwandlung_004.UnterlageVzKopfAVUVTyp + ' If u.ezaUl_Bereich IsNot Nothing Then UNTERLAGE.Bereich = u.ezaUl_Bereich + ' If u.ezaUl_Art IsNot Nothing Then UNTERLAGE.Art = u.ezaUl_Art + ' If u.ezaUl_Nummer IsNot Nothing Then UNTERLAGE.Nummer = u.ezaUl_Nummer + ' If u.ezaUl_DatumAusstellung IsNot Nothing Then UNTERLAGE.DatumAusstellung = u.ezaUl_DatumAusstellung + ' EA.KopfDaten.Unterlage.Add(UNTERLAGE) + ' Next + ' End If + + + ' If cDY.eza_ZusatzangabenAnmeldung IsNot Nothing Then EA.KopfDaten.ZusatzAngabenAnmeldung = cDY.eza_ZusatzangabenAnmeldung + ' If cDY.eza_KzAutoBestaetigung IsNot Nothing Then EA.KopfDaten.KzAutoBestaetigung = CInt(Int(cDY.eza_KzAutoBestaetigung)) + ' If cDY.eza_AnschreibungDatum IsNot Nothing Then EA.KopfDaten.AnschreibungDatum = cDY.eza_AnschreibungDatum + ' If cDY.eza_Eingangszollstelle IsNot Nothing Then EA.KopfDaten.Eingangszollstelle = cDY.eza_Eingangszollstelle + ' If cDY.eza_Zahlungsart IsNot Nothing Then EA.KopfDaten.Zahlungsart = cDY.eza_Zahlungsart + + ' If cDY.eza_AUFSCHUB.Count > 0 Then + ' EA.KopfDaten.Aufschub = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AufschubAVUVTyp) + ' For Each u In cDY.eza_AUFSCHUB + ' Dim AUFSCHUB As New FreierVerkehrAktVeredelUmwandlung_004.AufschubAVUVTyp + ' If u.ezaAfb_ArtAufschubantrag IsNot Nothing Then AUFSCHUB.ArtAufschubantrag = u.ezaAfb_ArtAufschubantrag + ' If u.ezaAfb_Aufschubart IsNot Nothing Then AUFSCHUB.Aufschubart = u.ezaAfb_Aufschubart + ' If u.ezaAfb_AufschubnehmerEORI IsNot Nothing Then AUFSCHUB.AufschubnehmerEORI = u.ezaAfb_AufschubnehmerEORI + ' 'If u.ezaAfb_KontoNr IsNot Nothing Then AUFSCHUB.KontoNr = u.ezaAfb_KontoNr 'ohne Funktion + ' If u.ezaAfb_AufschuBIN IsNot Nothing Then AUFSCHUB.AufschubBIN = u.ezaAfb_AufschuBIN + ' EA.KopfDaten.Aufschub.Add(AUFSCHUB) + ' Next + ' End If + + ' If cDY.eza_SUMABA.Count > 0 Then + ' EA.KopfDaten.SumABeendigungsAnteil = New List(Of FreierVerkehrAktVeredelUmwandlung_004.SumABeendigungsAnteilAVUVTyp) + ' For Each u In cDY.eza_SUMABA + ' Dim SUMA As New FreierVerkehrAktVeredelUmwandlung_004.SumABeendigungsAnteilAVUVTyp + ' If u.ezaBa_SumARegistriernummer IsNot Nothing Then SUMA.SumARegistriernummer = u.ezaBa_SumARegistriernummer + ' If u.ezaBa_SumAPosNr IsNot Nothing Then SUMA.SumAPosNr = u.ezaBa_SumAPosNr + ' If u.ezaBa_BeendigungsPackstueckzahl IsNot Nothing Then SUMA.BeendigungsPackstueckzahl = u.ezaBa_BeendigungsPackstueckzahl.ToString.Replace(".", "") + ' If u.ezaBa_Artidentifikation IsNot Nothing Then SUMA.ArtIdentifikation = u.ezaBa_Artidentifikation + ' If u.ezaBa_VerwahrerEORI IsNot Nothing Then SUMA.VerwahrerEORI = u.ezaBa_VerwahrerEORI + ' If u.ezaBa_SpezifOrdnungsbegriff IsNot Nothing Then SUMA.SpezifOrdnungsbegriff = u.ezaBa_SpezifOrdnungsbegriff + ' If u.ezaBa_SpezifOrdnungsbegriffArt IsNot Nothing Then SUMA.SpezifOrdnungsbegriffArt = u.ezaBa_SpezifOrdnungsbegriffArt + ' EA.KopfDaten.SumABeendigungsAnteil.Add(SUMA) + ' Next + ' End If + + + + ' If cDY.eza_ContainerNr1 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr1) + ' If cDY.eza_ContainerNr2 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr2) + ' If cDY.eza_ContainerNr3 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr3) + ' If cDY.eza_ContainerNr4 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr4) + ' If cDY.eza_ContainerNr5 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr5) + ' If cDY.eza_ContainerNr6 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr6) + ' If cDY.eza_ContainerNr7 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr7) + ' If cDY.eza_ContainerNr8 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr8) + ' If cDY.eza_ContainerNr9 IsNot Nothing Then EA.KopfDaten.ContainerNr.Add(cDY.eza_ContainerNr9) + + ' If cDY.eza_BeendigungsanteilArtCode IsNot Nothing Then EA.KopfDaten.BeendigungsAnteilArtCode = cDY.eza_BeendigungsanteilArtCode + ' If cDY.eza_BewilligungsIDZLAVUV IsNot Nothing Then EA.KopfDaten.BewilligungsIDZLAVUV = cDY.eza_BewilligungsIDZLAVUV + ' If cDY.eza_BezugsnummerBEAnteilZL IsNot Nothing Then EA.KopfDaten.BezugsnummerBEAnteilZL = cDY.eza_BezugsnummerBEAnteilZL + + + ' 'Property eza_BEA_ZLAvuv As New List(Of cDakosy_EZA_BEAnteilZLAVUV) + + ' If cDY.eza_BEA_ZLAvuv.Count > 0 Then + ' EA.KopfDaten.BEAnteilZLAVUV = New List(Of FreierVerkehrAktVeredelUmwandlung_004.BEAnteilZLAVUVPositionAVUVTyp) + ' For Each u In cDY.eza_BEA_ZLAvuv + ' Dim BEA As New FreierVerkehrAktVeredelUmwandlung_004.BEAnteilZLAVUVPositionAVUVTyp + ' If u.ezaBAZ_RegistrierNummerZugang IsNot Nothing Then BEA.RegistriernummerZugang = u.ezaBAZ_RegistrierNummerZugang + ' If u.ezaBAZ_PositionZugang IsNot Nothing Then BEA.PositionZugang = u.ezaBAZ_PositionZugang + ' If u.ezaBAZ_ArtikelCodeATZL IsNot Nothing Then BEA.ArtikelcodeATZL = u.ezaBAZ_ArtikelCodeATZL + ' If u.ezaBAZ_AtlasKz IsNot Nothing Then BEA.AtlasKz = CInt(Int(u.ezaBAZ_AtlasKz)) + ' If u.ezaBAZ_EigentuemerATUL IsNot Nothing Then BEA.EigentuemerATZL = u.ezaBAZ_EigentuemerATUL + ' If u.ezaBAZ_ChargennummerATZL IsNot Nothing Then BEA.ChargennummerATZL = u.ezaBAZ_ChargennummerATZL + ' If u.ezaBAZ_UrsprungslandATZL IsNot Nothing Then BEA.UrsprungslandATZL = u.ezaBAZ_UrsprungslandATZL + ' If u.ezaBAZ_UeblicheBehandlungKz IsNot Nothing Then BEA.UeblicheBehandlungKz = CInt(Int(u.ezaBAZ_UeblicheBehandlungKz)) + ' If u.ezaBAZ_Handelsmenge IsNot Nothing Then BEA.Handelsmenge = u.ezaBAZ_Handelsmenge + ' If u.ezaBAZ_MasseinheitHandelsmenge IsNot Nothing Then BEA.MasseinheitHandelsmenge = u.ezaBAZ_MasseinheitHandelsmenge + ' If u.ezaBAZ_Wartennummer IsNot Nothing Then BEA.Warennummer = u.ezaBAZ_Wartennummer + ' If u.ezaBAZ_QualifikatorHandelsmenge IsNot Nothing Then BEA.QualifikatorHandelsmenge = u.ezaBAZ_QualifikatorHandelsmenge + ' If u.ezaBAZ_Abgangsmenge IsNot Nothing Then BEA.Abgangsmenge = u.ezaBAZ_Abgangsmenge + ' If u.ezaBAZ_MasseinheitAbgangsmenge IsNot Nothing Then BEA.MasseinheitAbgangsmenge = u.ezaBAZ_MasseinheitAbgangsmenge + ' If u.ezaBAZ_QualifikatorAbgangsmenge IsNot Nothing Then BEA.QualifikatorAbgangsmenge = u.ezaBAZ_QualifikatorAbgangsmenge + ' If u.ezaBAZ_Positionszusatz IsNot Nothing Then BEA.Positionszusatz = u.ezaBAZ_Positionszusatz + ' If u.ezaBAZ_WarenbezogeneAngaben IsNot Nothing Then BEA.WarenbezogeneAngaben = u.ezaBAZ_WarenbezogeneAngaben + ' EA.KopfDaten.BEAnteilZLAVUV.Add(BEA) + ' Next + ' End If + + + ' If cDY.eza_ADRESSEN.Count > 0 Then + ' EA.KopfDaten.Adressen = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AdressenVzImportAVUVTyp) + ' For Each u In cDY.eza_ADRESSEN + ' Dim ADR As New FreierVerkehrAktVeredelUmwandlung_004.AdressenVzImportAVUVTyp + ' If u.ezaAd_AdressTyp IsNot Nothing Then ADR.AdressTyp = u.ezaAd_AdressTyp + ' If u.ezaAd_AdressCode IsNot Nothing Then ADR.AdressCode = u.ezaAd_AdressCode + ' If u.ezaAd_TeilnehmerEORI IsNot Nothing Then ADR.TeilnehmerEORI = u.ezaAd_TeilnehmerEORI + ' If u.ezaAd_TeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(u.ezaAd_TeilnehmerNLNR) Then ADR.TeilnehmerNLNR = u.ezaAd_TeilnehmerNLNR + ' If u.ezaAd_NameFirma1 IsNot Nothing Then + ' ADR.NameFirma = u.ezaAd_NameFirma1 & If(u.ezaAd_NameFirma2, "") & If(u.ezaAd_NameFirma3, "") + ' End If + ' 'If u.ezaAd_NameFirma1 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma1) + ' 'If u.ezaAd_NameFirma2 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma2) + ' 'If u.ezaAd_NameFirma3 IsNot Nothing Then ADR.NameFirma.Add(u.ezaAd_NameFirma3) + ' If u.ezaAd_StrasseHausNr1 IsNot Nothing Then + ' ADR.StrasseHausNr = u.ezaAd_StrasseHausNr1 & If(u.ezaAd_StrasseHausNr2, "") + ' End If + ' 'If u.ezaAd_StrasseHausNr1 IsNot Nothing Then ADR.StrasseHausNr.Add(u.ezaAd_StrasseHausNr1) + ' 'If u.ezaAd_StrasseHausNr2 IsNot Nothing Then ADR.StrasseHausNr.Add(u.ezaAd_StrasseHausNr2) + ' If u.ezaAd_Ortsteil IsNot Nothing Then ADR.Ortsteil = u.ezaAd_Ortsteil + ' If u.ezaAd_LandCode IsNot Nothing Then ADR.LandCode = u.ezaAd_LandCode + ' If u.ezaAd_PLZ IsNot Nothing Then ADR.PLZS = u.ezaAd_PLZ + ' If u.ezaAd_Ort IsNot Nothing Then ADR.OrtS = u.ezaAd_Ort + ' If u.ezaAd_UStIDAnmelder IsNot Nothing Then ADR.UStIDAnmelder = u.ezaAd_UStIDAnmelder + ' If u.ezaAd_FinanzamtIDAnmelder IsNot Nothing Then ADR.FinanzamtIDAnmelder = u.ezaAd_FinanzamtIDAnmelder + ' If u.ezaAd_Bewilligungsnummer IsNot Nothing Then ADR.Bewilligungsnummer = u.ezaAd_Bewilligungsnummer + ' If u.ezaAd_BewilligungsFachVerfahren IsNot Nothing Then ADR.BewilligungFachVerfahren = u.ezaAd_BewilligungsFachVerfahren + ' If u.ezaAd_BewilligungsnummerEndverwender IsNot Nothing Then ADR.BewilligungsnummerEndverwender = u.ezaAd_BewilligungsnummerEndverwender + ' EA.KopfDaten.Adressen.Add(ADR) + ' Next + ' End If + + + ' If cDY.eza_WARENPOS.Count > 0 Then + ' EA.WarenPosition = New List(Of FreierVerkehrAktVeredelUmwandlung_004.PositionEinfuhrUnvollstaendigeAnmeldungTyp) + ' For Each u In cDY.eza_WARENPOS + ' Dim WP As New FreierVerkehrAktVeredelUmwandlung_004.PositionEinfuhrUnvollstaendigeAnmeldungTyp + ' If u.ezaWP_PositionsNummer IsNot Nothing Then WP.Positionsnummer = u.ezaWP_PositionsNummer + ' If u.ezaWP_Artikelnummer IsNot Nothing Then WP.ArtikelNummer = u.ezaWP_Artikelnummer + ' If u.ezaWP_WarennummerEZT IsNot Nothing Then WP.WarenNummerEZT = u.ezaWP_WarennummerEZT + ' If u.ezaWP_Warennummerzusatz1 IsNot Nothing Then WP.WarenNummerZusatz1 = u.ezaWP_Warennummerzusatz1 + ' If u.ezaWP_Warennummerzusatz2 IsNot Nothing Then WP.WarenNummerZusatz2 = u.ezaWP_Warennummerzusatz2 + + ' If u.ezaWP_WarennummerZusatzCode1 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode1) + ' If u.ezaWP_WarennummerZusatzCode2 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode2) + ' If u.ezaWP_WarennummerZusatzCode3 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode3) + ' If u.ezaWP_WarennummerZusatzCode4 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode4) + ' If u.ezaWP_WarennummerZusatzCode5 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode5) + ' If u.ezaWP_WarennummerZusatzCode6 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode6) + ' If u.ezaWP_WarennummerZusatzCode7 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode7) + ' If u.ezaWP_WarennummerZusatzCode8 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode8) + ' If u.ezaWP_WarennummerZusatzCode9 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode9) + ' If u.ezaWP_WarennummerZusatzCode10 IsNot Nothing Then WP.WarenNummerZusatzCode.Add(u.ezaWP_WarennummerZusatzCode10) + + ' If u.ezaWP_Warenbezeichnung IsNot Nothing Then WP.WarenBezeichnung = u.ezaWP_Warenbezeichnung + ' If u.ezaWP_VerfahrensCodeVorangegangenesVerfahren IsNot Nothing Then WP.VerfahrenscodeVorangegangenesVerfahren = u.ezaWP_VerfahrensCodeVorangegangenesVerfahren + ' If u.ezaWP_AbgabensteuerungKz IsNot Nothing Then WP.AbgabensteuerungKz = CInt(Int(u.ezaWP_AbgabensteuerungKz)) + ' If u.ezaWP_EUCode IsNot Nothing Then WP.EUCode = u.ezaWP_EUCode + ' If u.ezaWP_UrsprungslandCode IsNot Nothing Then WP.UrsprungslandCode = u.ezaWP_UrsprungslandCode + + ' If cDY.eza_WARENPOS.Count > 1 Then + ' WP.Rohmasse = Nothing + ' Else + ' If u.ezaWP_Rohmasse IsNot Nothing Then WP.Rohmasse = u.ezaWP_Rohmasse + ' End If + + ' If u.ezaWP_Eigenmasse IsNot Nothing Then WP.Eigenmasse = u.ezaWP_Eigenmasse + ' If u.ezaWP_AHStatMenge IsNot Nothing Then WP.AHStatMenge = u.ezaWP_AHStatMenge + ' If u.ezaWP_AHStatMengeMasseinheit IsNot Nothing Then WP.AHStatMengeMasseinheit = u.ezaWP_AHStatMengeMasseinheit + ' If u.ezaWP_AHStatMengeQualifier IsNot Nothing Then WP.AHStatMengeQualifier = u.ezaWP_AHStatMengeQualifier + ' If u.ezaWP_AHStatWert IsNot Nothing AndAlso IsNumeric(u.ezaWP_AHStatWert) Then WP.AHStatWert = CInt(u.ezaWP_AHStatWert) + ' If u.ezaWP_AHStatWertManuellKZ IsNot Nothing Then WP.AHStatWertManuellKZ = CInt(Int(u.ezaWP_AHStatWertManuellKZ)) + ' If u.ezaWP_KostenEUSt IsNot Nothing Then WP.KostenEUSt = u.ezaWP_KostenEUSt + ' If u.ezaWP_PackstueckAnzahl IsNot Nothing Then WP.PackstueckAnzahl = u.ezaWP_PackstueckAnzahl.ToString.Replace(".", "") + ' If u.ezaWP_PackstueckArt IsNot Nothing Then WP.PackstueckArt = u.ezaWP_PackstueckArt + ' If u.ezaWP_PackstueckZeichen IsNot Nothing Then WP.PackstueckZeichen = u.ezaWP_PackstueckZeichen + + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' WP.WarenMenge = New List(Of FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp) + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge1 + ' If u.ezaWP_WarenMasseinheit1 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit1 + ' If u.ezaWP_WarenQualifier1 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier1 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge2 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge2 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge2 + ' If u.ezaWP_WarenMasseinheit2 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit2 + ' If u.ezaWP_WarenQualifier2 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier2 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge3 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge3 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge3 + ' If u.ezaWP_WarenMasseinheit3 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit3 + ' If u.ezaWP_WarenQualifier3 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier3 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge4 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge4 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge4 + ' If u.ezaWP_WarenMasseinheit4 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit4 + ' If u.ezaWP_WarenQualifier4 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier4 + ' WP.WarenMenge.Add(WM) + ' End If + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then + ' Dim WM As New FreierVerkehrAktVeredelUmwandlung_004.WarenMengeAVUVTyp + ' If u.ezaWP_Warenmenge1 IsNot Nothing Then WM.Menge = u.ezaWP_Warenmenge1 + ' If u.ezaWP_WarenMasseinheit1 IsNot Nothing Then WM.Masseinheit = u.ezaWP_WarenMasseinheit1 + ' If u.ezaWP_WarenQualifier1 IsNot Nothing Then WM.Qualifier = u.ezaWP_WarenQualifier1 + ' WP.WarenMenge.Add(WM) + ' End If + ' End If + + ' If u.ezaWP_BeguenstigungBenatragtCode IsNot Nothing Then WP.BeguenstigungBeantragtCode = u.ezaWP_BeguenstigungBenatragtCode + ' If u.ezaWP_Kentigentnummer1 IsNot Nothing Then WP.Kontingentnummer.Add(u.ezaWP_Kentigentnummer1) + ' If u.ezaWP_Kentigentnummer2 IsNot Nothing Then WP.Kontingentnummer.Add(u.ezaWP_Kentigentnummer2) + ' If u.ezaWP_PositionsZusatz IsNot Nothing Then WP.PositionsZusatz = u.ezaWP_PositionsZusatz + ' If u.ezaWP_Artikelpreis IsNot Nothing Then WP.Artikelpreis = u.ezaWP_Artikelpreis + ' If u.ezaWP_OrtVerbringens IsNot Nothing Then WP.OrtVerbringens = u.ezaWP_OrtVerbringens + ' If u.ezaWP_AbflughafenIATACode IsNot Nothing Then WP.AbflughafenIATACode = u.ezaWP_AbflughafenIATACode + ' If u.ezaWP_WarenmengeAVUVZugang IsNot Nothing Then WP.WarenmengeAVUVZugang = u.ezaWP_WarenmengeAVUVZugang + ' If u.ezaWP_WarenmengeAVUVZugangMasseinheit IsNot Nothing Then WP.WarenmengeAVUVZugangMasseinheit = u.ezaWP_WarenmengeAVUVZugangMasseinheit + ' If u.ezaWP_WarenmengeAVUVZugangMasseinheitQualifier IsNot Nothing Then WP.WarenmengeAVUVZugangMasseinheitQualifier = u.ezaWP_WarenmengeAVUVZugangMasseinheitQualifier + ' If u.ezaWP_Sachbereich IsNot Nothing Then WP.Sachbereich = u.ezaWP_Sachbereich + ' If u.ezaWP_SachbereichCode IsNot Nothing Then WP.SachbereichCode = u.ezaWP_SachbereichCode + ' If u.ezaWP_BedingungCode IsNot Nothing Then WP.BedingungCode = u.ezaWP_BedingungCode + ' If u.ezaWP_VeredelungWertsteigerung IsNot Nothing Then WP.VeredelungWertsteigerung = u.ezaWP_VeredelungWertsteigerung + ' If u.ezaWP_TabakSteuerzeichenID IsNot Nothing Then WP.TabakSteuerzeichenID = u.ezaWP_TabakSteuerzeichenID + + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' WP.Gehaltsangaben = New List(Of FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp) + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode1 + ' If u.ezaWP_GehaltsAngabenGradProzent1 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent1 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode2 + ' If u.ezaWP_GehaltsAngabenGradProzent2 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent2 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then + ' Dim GA As New FreierVerkehrAktVeredelUmwandlung_004.GehaltsangabenAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then GA.ArtCode = u.ezaWP_GehaltsAngabenArtCode3 + ' If u.ezaWP_GehaltsAngabenGradProzent3 IsNot Nothing Then GA.GradProzent = u.ezaWP_GehaltsAngabenGradProzent3 + ' WP.Gehaltsangaben.Add(GA) + ' End If + ' End If + ' If u.ezaWP_BeguenstigungsMengeMenge IsNot Nothing Then + ' WP.Beguenstigungsmenge = New FreierVerkehrAktVeredelUmwandlung_004.BeguenstigungsMengeAVUVTyp + ' If u.ezaWP_BeguenstigungsMengeMenge IsNot Nothing Then WP.Beguenstigungsmenge.Menge = u.ezaWP_BeguenstigungsMengeMenge + ' If u.ezaWP_BeguenstigungsMengeMasseinheitCode IsNot Nothing Then WP.Beguenstigungsmenge.MasseinheitCode = u.ezaWP_BeguenstigungsMengeMasseinheitCode + ' If u.ezaWP_BeguenstigungsMengeQualifier IsNot Nothing Then WP.Beguenstigungsmenge.MasseinheitQualifier = u.ezaWP_BeguenstigungsMengeQualifier + ' End If + + ' If u.ezaWP_VERBRAUCHSSTEUER.Count > 0 Then + ' WP.Verbrauchssteuer = New List(Of FreierVerkehrAktVeredelUmwandlung_004.VerbrauchssteuerAVUVTyp) + ' For Each v In u.ezaWP_VERBRAUCHSSTEUER + ' Dim VS As New FreierVerkehrAktVeredelUmwandlung_004.VerbrauchssteuerAVUVTyp + ' If v.ezaWpVs_VerbrauchsteuerCode IsNot Nothing Then VS.VerbrauchsteuerCode = v.ezaWpVs_VerbrauchsteuerCode + ' If v.ezaWpVs_VerbrauchssteuerMenge IsNot Nothing Then VS.VerbrauchssteuerMenge = v.ezaWpVs_VerbrauchssteuerMenge + ' If v.ezaWpVs_VerbrauchssteuerMasseinheitCode IsNot Nothing Then VS.VerbrauchssteuerMasseinheitCode = v.ezaWpVs_VerbrauchssteuerMasseinheitCode + ' If v.ezaWpVs_VerbrauchssteuerMasseinheitQualifier IsNot Nothing Then VS.VerbrauchssteuerMasseinheitQualifier = v.ezaWpVs_VerbrauchssteuerMasseinheitQualifier + ' If v.ezaWpVs_GradProzent IsNot Nothing Then VS.GradProzent = v.ezaWpVs_GradProzent + ' If v.ezaWpVs_VerbrauchssteuerWertbasis IsNot Nothing Then VS.VerbrauchssteuerWertBasis = v.ezaWpVs_VerbrauchssteuerWertbasis + ' WP.Verbrauchssteuer.Add(VS) + ' Next + ' End If + + ' 'Abgabenminderiung + ' If u.ezaWP_Abgabenminderung_AbgabengruppeCode1 IsNot Nothing Then + ' WP.Abgabenminderung = New List(Of FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp) + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode1 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode1 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag1 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag1 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode2 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode2 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag2 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag2 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then + ' Dim AM As New FreierVerkehrAktVeredelUmwandlung_004.AbgabenminderungAVUVTyp + ' If u.ezaWP_GehaltsAngabenArtCode3 IsNot Nothing Then AM.AbgabengruppeCode = u.ezaWP_GehaltsAngabenArtCode3 + ' If u.ezaWP_Abgabenminderung_Minderungsbetrag3 IsNot Nothing Then AM.Minderungsbetrag = u.ezaWP_Abgabenminderung_Minderungsbetrag3 + ' WP.Abgabenminderung.Add(AM) + ' End If + ' End If + + ' 'Sonderfalldaten + ' If u.ezaWP_SONDERFALLDATEN.Count > 0 Then + ' WP.Sonderfalldaten = New List(Of FreierVerkehrAktVeredelUmwandlung_004.SonderfalldatenAVUVTyp) + ' For Each v In u.ezaWP_SONDERFALLDATEN + ' Dim SD As New FreierVerkehrAktVeredelUmwandlung_004.SonderfalldatenAVUVTyp + ' If v.ezaWpSfd_SonderabgabenGruppeCode IsNot Nothing Then SD.SonderabgabenGruppeCode = v.ezaWpSfd_SonderabgabenGruppeCode + ' If v.ezaWpSfd_AnwendungArt IsNot Nothing Then SD.AnwendungArt = v.ezaWpSfd_AnwendungArt + ' If v.ezaWpSfd_SatzBetragFaktor IsNot Nothing Then SD.SatzBetragFaktor = v.ezaWpSfd_SatzBetragFaktor + ' WP.Sonderfalldaten.Add(SD) + ' Next + ' End If + + ' 'unterlagen + ' If u.ezaWP_UNTERLAGEN.Count > 0 Then + ' WP.Unterlage = New List(Of FreierVerkehrAktVeredelUmwandlung_004.UnterlageVZPositionAVUVTyp) + ' For Each v In u.ezaWP_UNTERLAGEN + ' Dim UL As New FreierVerkehrAktVeredelUmwandlung_004.UnterlageVZPositionAVUVTyp + ' If v.ezaWpUl_Bereich IsNot Nothing Then UL.Bereich = v.ezaWpUl_Bereich + ' If v.ezaWpUl_Art IsNot Nothing Then UL.Art = v.ezaWpUl_Art + ' If v.ezaWpUl_Nummer IsNot Nothing Then UL.Nummer = v.ezaWpUl_Nummer + ' If v.ezaWpUl_DatumAusstellung IsNot Nothing Then UL.DatumAusstellung = v.ezaWpUl_DatumAusstellung + ' If v.ezaWpUl_VorlageKz IsNot Nothing Then UL.VorlageKz = CInt(Int(v.ezaWpUl_VorlageKz)) + ' If v.ezaWpUl_AbschreibungsMenge IsNot Nothing Then UL.AbschreibungsMenge = v.ezaWpUl_AbschreibungsMenge + ' If v.ezaWpUl_AbschreibungsMengeMasseinheit IsNot Nothing Then UL.AbschreibungsMengeMasseinheit = v.ezaWpUl_AbschreibungsMengeMasseinheit + ' If v.ezaWpUl_AbschreibungsMengeMasseinheitQualifier IsNot Nothing Then UL.AbschreibungsMengeMasseinheitQualifier = v.ezaWpUl_AbschreibungsMengeMasseinheitQualifier + ' WP.Unterlage.Add(UL) + ' Next + ' End If + + ' 'Besondere Wertangabe + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then + ' WP.BesondereWertangabe = New List(Of FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp) + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode1 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode1 + ' If u.ezaWP_BesondereWertangabe_Wert1 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert1 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode2 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode2 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode2 + ' If u.ezaWP_BesondereWertangabe_Wert2 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert2 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode3 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode3 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode3 + ' If u.ezaWP_BesondereWertangabe_Wert3 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert3 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode4 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode4 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode4 + ' If u.ezaWP_BesondereWertangabe_Wert4 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert4 + ' WP.BesondereWertangabe.Add(BW) + ' End If + ' If u.ezaWP_BesondereWertangabe_PreisartCode5 IsNot Nothing Then + ' Dim BW As New FreierVerkehrAktVeredelUmwandlung_004.BesondereWertangabeAVUVTyp + ' If u.ezaWP_BesondereWertangabe_PreisartCode5 IsNot Nothing Then BW.PreisartCode = u.ezaWP_BesondereWertangabe_PreisartCode5 + ' If u.ezaWP_BesondereWertangabe_Wert5 IsNot Nothing Then BW.Wert = u.ezaWP_BesondereWertangabe_Wert5 + ' WP.BesondereWertangabe.Add(BW) + ' End If + + ' End If + + + ' If u.ezaWP_VZAStatus IsNot Nothing Then WP.VZAStatus = u.ezaWP_VZAStatus + ' If u.ezaWP_EGZStatus IsNot Nothing Then WP.EGZStatus = u.ezaWP_EGZStatus + ' If u.ezaWP_DV1Status IsNot Nothing Then WP.DV1Status = u.ezaWP_DV1Status + ' If u.ezaWP_AnmeldeArt IsNot Nothing Then WP.AnmeldeArt = u.ezaWP_AnmeldeArt + ' If u.ezaWP_BefundDatum IsNot Nothing Then WP.BefundDatum = u.ezaWP_BefundDatum + ' If u.ezaWP_Zollverfahren IsNot Nothing Then WP.Zollverfahren = u.ezaWP_Zollverfahren + ' If u.ezaWP_AbrechnungszollstelleCode IsNot Nothing Then WP.AbrechnungszollstelleCode = u.ezaWP_AbrechnungszollstelleCode + ' If u.ezaWP_SachbereichCode IsNot Nothing Then WP.SachbereichCode = u.ezaWP_SachbereichCode + ' If u.ezaWP_RegistriernummerZA IsNot Nothing Then WP.RegistriernummervZA = u.ezaWP_RegistriernummerZA + ' If u.ezaWP_AnmeldeVErfahren IsNot Nothing Then WP.AnmeldeVerfahren = u.ezaWP_AnmeldeVErfahren + ' If u.ezaWP_Bewilligungsnummer IsNot Nothing Then WP.Bewilligungsnummer = u.ezaWP_Bewilligungsnummer + ' If u.ezaWP_BewilligungsnummerEndverwenderEGZDurchDritte IsNot Nothing Then WP.BewilligungsnummerEndverwenderEGZDurchDritte = u.ezaWP_BewilligungsnummerEndverwenderEGZDurchDritte + ' If u.ezaWP_Zollwert IsNot Nothing Then WP.Zollwert = u.ezaWP_Zollwert + ' If u.ezaWP_LuftfrachtkostenGesamt IsNot Nothing Then WP.LuftfrachtkostenGesamt = u.ezaWP_LuftfrachtkostenGesamt + ' If u.ezaWP_LuftfrachtkostenGesamtWaehrung IsNot Nothing Then WP.LuftfrachtkostenGesamtWaehrung = u.ezaWP_LuftfrachtkostenGesamtWaehrung + ' If u.ezaWP_IATAKursKz IsNot Nothing Then WP.IATAKursKz = CInt(Int(u.ezaWP_IATAKursKz)) + ' If u.ezaWP_KursVereinbartKz IsNot Nothing Then WP.KursBetragVereinbart = CInt(Int(u.ezaWP_KursVereinbartKz)) + ' If u.ezaWP_KursBetragVereinbart IsNot Nothing Then WP.KursBetragVereinbart = u.ezaWP_KursBetragVereinbart + ' If u.ezaWP_KursDatum IsNot Nothing Then WP.KursDatum = u.ezaWP_KursDatum + + + ' 'ABZUGHINZURECHNUNG nicht vorgesehen + + ' If u.ezaWP_Aussenhandelsstatistik_VerkehrszweigInland IsNot Nothing Then WP.Aussenhandelsstatistik.VerkehrszweigInland = u.ezaWP_Aussenhandelsstatistik_VerkehrszweigInland + ' If u.ezaWP_Aussenhandelsstatistik_VerkehrszweigGrenze IsNot Nothing Then WP.Aussenhandelsstatistik.VerkehrszweigGrenze = u.ezaWP_Aussenhandelsstatistik_VerkehrszweigGrenze + ' If u.ezaWP_Aussenhandelsstatistik_Versendungsland IsNot Nothing Then WP.Aussenhandelsstatistik.Versendungsland = u.ezaWP_Aussenhandelsstatistik_Versendungsland + ' If u.ezaWP_Aussenhandelsstatistik_BEstimmungsbundesland IsNot Nothing Then WP.Aussenhandelsstatistik.Bestimmungsbundesland = u.ezaWP_Aussenhandelsstatistik_BEstimmungsbundesland + ' If u.ezaWP_Aussenhandelsstatistik_Bestimmungsland IsNot Nothing Then WP.Aussenhandelsstatistik.Bestimmungsland = u.ezaWP_Aussenhandelsstatistik_Bestimmungsland + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGranzeStaatszugehoeriglkeitCode IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelGrenzeStaatszugehoerigkeitCode = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGranzeStaatszugehoeriglkeitCode + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGrenzeArt IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelGrenzeArt = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelGrenzeArt + ' If u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelBeschreibung IsNot Nothing Then WP.Aussenhandelsstatistik.BefoerderungsmittelBeschreibung = u.ezaWP_Aussenhandelsstatistik_BefoerderungsmittelBeschreibung + ' If u.ezaWP_Aussenhandelsstatistik_ArtGeschaeft IsNot Nothing Then WP.Aussenhandelsstatistik.ArtGeschaeft = u.ezaWP_Aussenhandelsstatistik_ArtGeschaeft + ' If u.ezaWP_Aussenhandelsstatistik_Statistikstatus IsNot Nothing Then WP.Aussenhandelsstatistik.Statistikstatus = u.ezaWP_Aussenhandelsstatistik_Statistikstatus + + ' 'DV1 + ' If u.ezaWP_Artikelpreis IsNot Nothing Then + + ' Dim ABZHRG As New FreierVerkehrAktVeredelUmwandlung_004.AbzugHinzurechnungAVUVTyp + ' ABZHRG.Betrag = u.ezaWP_Artikelpreis + ' ABZHRG.Waehrung = u.ezaWP_ArtikelpreisWaehrung + ' ABZHRG.ArtCode = "R" + ' If If(ABZHRG.Waehrung, "") = "EUR" Then ABZHRG.KursAuslandswaehrung = 1 + + ' WP.Artikelpreis = u.ezaWP_Artikelpreis + ' WP.AbzugHinzurechnung.Add(ABZHRG) + ' End If + + + ' EA.WarenPosition.Add(WP) + ' Next + ' End If + + + ' XML.EinzelAnmeldung.Add(EA) + + + + ' saveFile = cDakosyFunftions.getDefaultFolder_SEND() & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ' 'MsgBox(saveFile) + ' XML.SaveToFile(saveFile) + + ' replaceNullDateXML(saveFile) + ' Return True + 'End Function + + + 'Shared Function isLeerNothing(o As String) As Object + ' If o Is Nothing OrElse o = "" Then + ' Return Nothing + ' Else + ' Return o + ' End If + 'End Function + + + + + 'Shared Function generateVersandanmeldungAES(cDY As cDakosyAES, ByRef saveFile As String, DY_ACTION As String) As Boolean + ' Dim Interface_VERSION = "003" + ' Dim ObjectAktion = DY_ACTION + + + ' Dim XML As New DAKOSY_Worker.VollstaendigeAusfuhrAnmeldung.VollstaendigeAusfuhrAnmeldungEVTyp + + + ' 'Transaktion: + ' XML.Transaktion = New VollstaendigeAusfuhrAnmeldung.TransaktionExportTyp + ' XML.Transaktion.IOPartner = getIOPartner(cDY.aes_firma) ' If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + ' XML.Transaktion.IODatumZeit = Now + ' XML.Transaktion.IOReferenz = cDY.aes_Trans_Referenz + ' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = getDivision(cDY.aes_firma) ' + ' XML.Transaktion.Version = Interface_VERSION + + ' Dim EA = New VollstaendigeAusfuhrAnmeldung.EinzelVollstaendigeAusfuhrAnmeldungTyp + + ' EA.ObjektIdentifizierung.AbsenderSystemName = "VERAG_ZOLL" + + ' 'ObjektIdentifizierung: + ' EA.ObjektIdentifizierung = New VollstaendigeAusfuhrAnmeldung.ObjektIdentifizierungEVTyp + ' EA.ObjektIdentifizierung.ObjektName = cDY.aes_ObjectName + ' If cDY.aes_ObjectAlias IsNot Nothing Then EA.ObjektIdentifizierung.ObjektAliasname = cDY.aes_ObjectAlias + ' Dim ObjektAktion As New List(Of String) : ObjektAktion.Add(ObjectAktion) + ' EA.ObjektIdentifizierung.ObjektAktion = ObjektAktion + ' EA.ObjektIdentifizierung.Bearbeiter = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME.Length > 20, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME) + ' 'EA.ObjektIdentifizierung.CompliancePruefung= + ' EA.ObjektIdentifizierung.ObjektName = cDY.aes_ObjectName + ' If cDY.aes_BezugsnummerVorblendung IsNot Nothing Then EA.ObjektIdentifizierung.BezugsnummerVorblendung = cDY.aes_BezugsnummerVorblendung + + ' 'KopfDaten + ' EA.KopfDaten = New VollstaendigeAusfuhrAnmeldung.KopfDatenVollstaendigeAusfuhranmeldungTyp + ' If cDY.aes_AnmeldeArtAusfuhrCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtAusfuhrCode = cDY.aes_AnmeldeArtAusfuhrCode + ' If cDY.aes_AnmeldeArtVerfahrensCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtVerfahrenCode = cDY.aes_AnmeldeArtVerfahrensCode + ' If cDY.aes_AnmeldeArtUeberfuehrungCode IsNot Nothing Then EA.KopfDaten.AnmeldeArtUeberfuehrungCode = cDY.aes_AnmeldeArtUeberfuehrungCode + ' If cDY.aes_Ausfuhrland IsNot Nothing Then EA.KopfDaten.AusfuhrlandCode = cDY.aes_Ausfuhrland + ' If cDY.aes_BestimmungslandCode IsNot Nothing Then EA.KopfDaten.BestimmungslandCode = cDY.aes_BestimmungslandCode + ' If cDY.aes_AnmeldedatumZeit IsNot Nothing Then EA.KopfDaten.AnmeldeDatumZeit = cDY.aes_AnmeldedatumZeit + ' If cDY.aes_DatumAusgang IsNot Nothing Then EA.KopfDaten.DatumAusgang = cDY.aes_DatumAusgang + + ' If cDY.aes_MassgeblichesDatum IsNot Nothing Then EA.KopfDaten.MassgeblichesDatum = cDY.aes_MassgeblichesDatum + + ' If cDY.aes_BesondereUmstaende IsNot Nothing Then EA.KopfDaten.BesondereUmstaende = cDY.aes_BesondereUmstaende + ' If cDY.aes_Zahlungsweisebefoerderungskosten IsNot Nothing Then EA.KopfDaten.ZahlungsweiseBefoerderungskosten = cDY.aes_Zahlungsweisebefoerderungskosten + ' If cDY.aes_ContainerIndikator IsNot Nothing Then EA.KopfDaten.ContainerIndikator = cDY.aes_ContainerIndikator + ' If cDY.aes_BeteiligteKonstellation IsNot Nothing Then EA.KopfDaten.BeteiligtenKonstellation = cDY.aes_BeteiligteKonstellation + ' 'If cDY.aes_AdressdatenKonstellation IsNot Nothing Then EA.KopfDaten.AdressatenKonstellation = cDY.aes_AdressdatenKonstellation --> OHNE FUNK + ' If cDY.aes_GesamtRohmasse IsNot Nothing AndAlso IsNumeric(cDY.aes_GesamtRohmasse) Then EA.KopfDaten.GesamtRohMasse = CDbl(CDbl(cDY.aes_GesamtRohmasse).ToString("N1")) + ' If cDY.aes_RegistriernummerFremdsystem IsNot Nothing Then EA.KopfDaten.RegistrierNummerFremdSystem = cDY.aes_RegistriernummerFremdsystem + ' If cDY.aes_Vermerk IsNot Nothing Then EA.KopfDaten.Vermerk = cDY.aes_Vermerk + ' If cDY.aes_KennnummerSendung IsNot Nothing Then EA.KopfDaten.KennnummerSendung = cDY.aes_KennnummerSendung + ' If cDY.aes_AnzahlPositionen IsNot Nothing Then EA.KopfDaten.AnzahlPositionen = cDY.aes_AnzahlPositionen + ' If cDY.aes_BewiligungsnummerAusfuhr IsNot Nothing Then EA.KopfDaten.BewilligungsnummerAusfuhr = cDY.aes_BewiligungsnummerAusfuhr + ' If cDY.aes_BewiligungsnummerAnschreibeverfahren IsNot Nothing Then EA.KopfDaten.BewilligungsnummerAnschreibeverfahren = cDY.aes_BewiligungsnummerAnschreibeverfahren + ' If cDY.aes_BewiligungsnummerPassiveVeredelung IsNot Nothing Then EA.KopfDaten.BewilligungsnummerPassiveVeredelung = cDY.aes_BewiligungsnummerPassiveVeredelung + ' If cDY.aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer IsNot Nothing Then EA.KopfDaten.BewilligungsnummerVertrauenswuerdigerAusfuehrer = cDY.aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer + ' If cDY.aes_VerkehrszweigInland IsNot Nothing Then EA.KopfDaten.VerkehrszweigInland = cDY.aes_VerkehrszweigInland + ' If cDY.aes_VerkehrszweigGrenze IsNot Nothing Then EA.KopfDaten.VerkehrszweigGrenze = cDY.aes_VerkehrszweigGrenze + + ' 'BefoerderungsmittelAbgang + ' If cDY.aes_BefoerderungsmittelAbgangArtCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.ArtCode = cDY.aes_BefoerderungsmittelAbgangArtCode + ' If cDY.aes_BefoerderungsmittelAbgangKennzeichen IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.Kennzeichen = cDY.aes_BefoerderungsmittelAbgangKennzeichen + ' If cDY.aes_BefoerderungsmittelAbgangStaatCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelAbgang.StaatCode = cDY.aes_BefoerderungsmittelAbgangStaatCode + + ' 'BefoerderungsmittelGrenze + ' If cDY.aes_BefoerderungsmittelGrenzeArtCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.ArtCode = cDY.aes_BefoerderungsmittelGrenzeArtCode + ' If cDY.aes_BefoerderungsmittelGrenzeKennzeichen IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.Kennzeichen = cDY.aes_BefoerderungsmittelGrenzeKennzeichen + ' If cDY.aes_BefoerderungsmittelGrenzeStaatCode IsNot Nothing Then EA.KopfDaten.BefoerderungsmittelGrenze.StaatCode = cDY.aes_BefoerderungsmittelGrenzeStaatCode + + ' 'Ladeort + ' 'If cDY.aes_LadeortOrt IsNot Nothing Then EA.KopfDaten.Ladeort = cDY.aes_LadeortOrt ---> ÜBERBEGRIFF + ' If cDY.aes_LadeortOrtId IsNot Nothing Then EA.KopfDaten.Ladeort.OrtID = cDY.aes_LadeortOrtId + ' If cDY.aes_LadeortStrasse IsNot Nothing Then EA.KopfDaten.Ladeort.Strasse = cDY.aes_LadeortStrasse + ' If cDY.aes_LadeortOrt IsNot Nothing Then EA.KopfDaten.Ladeort.Ort = cDY.aes_LadeortOrt + ' If cDY.aes_LadeortPLZ IsNot Nothing Then EA.KopfDaten.Ladeort.PLZ = cDY.aes_LadeortPLZ + ' If cDY.aes_LadeortZusatz IsNot Nothing Then EA.KopfDaten.Ladeort.Zusatz = cDY.aes_LadeortZusatz + + ' If cDY.aes_AusfuhrZollstelleID IsNot Nothing Then EA.KopfDaten.AusfuhrZollstelleID = cDY.aes_AusfuhrZollstelleID + ' If cDY.aes_AusgangszollstelleID IsNot Nothing Then EA.KopfDaten.AusgangZollstelleID = cDY.aes_AusgangszollstelleID + ' If cDY.aes_TatsaechlicheAusgangZollstelleID IsNot Nothing Then EA.KopfDaten.TatsaechlicheAusgangZollstelleID = cDY.aes_TatsaechlicheAusgangZollstelleID + ' If cDY.aes_GeschaeftartCode IsNot Nothing Then EA.KopfDaten.GeschaeftArtCode = cDY.aes_GeschaeftartCode + ' If cDY.aes_Rechnungspreis IsNot Nothing Then EA.KopfDaten.Rechnungspreis = cDY.aes_Rechnungspreis.replace(",", ".") + ' If cDY.aes_Rechnungwaehrung IsNot Nothing Then EA.KopfDaten.Rechnungswaehrung = cDY.aes_Rechnungwaehrung + ' If cDY.aes_BesondererTatbestand IsNot Nothing Then EA.KopfDaten.BesondererTatbestand = cDY.aes_BesondererTatbestand + + ' 'Verschluss + ' If cDY.aes_VerschlussArtCode IsNot Nothing Then EA.KopfDaten.Verschluss.ArtCode = cDY.aes_VerschlussArtCode + ' If cDY.aes_VerschlussAnzahl IsNot Nothing Then EA.KopfDaten.Verschluss.Anzahl = cDY.aes_VerschlussAnzahl + ' EA.KopfDaten.Verschluss.Zeichen = New List(Of String) + ' If cDY.aes_VerschlussZeichen1 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen1) + ' If cDY.aes_VerschlussZeichen2 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen2) + ' If cDY.aes_VerschlussZeichen3 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen3) + ' If cDY.aes_VerschlussZeichen4 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen4) + ' If cDY.aes_VerschlussZeichen5 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen5) + ' If cDY.aes_VerschlussZeichen6 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen6) + ' If cDY.aes_VerschlussZeichen7 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen7) + ' If cDY.aes_VerschlussZeichen8 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen8) + ' If cDY.aes_VerschlussZeichen9 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen9) + ' If cDY.aes_VerschlussZeichen10 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen10) + ' If cDY.aes_VerschlussZeichen11 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen11) + ' If cDY.aes_VerschlussZeichen12 IsNot Nothing Then EA.KopfDaten.Verschluss.Zeichen.Add(cDY.aes_VerschlussZeichen12) + + ' If cDY.aes_GestellungsfristAnfangDatumZeit IsNot Nothing Then EA.KopfDaten.Gestellungsfrist.AnfangDatumZeit = cDY.aes_GestellungsfristAnfangDatumZeit + ' If cDY.aes_GestellungsfristEndeDatumZeit IsNot Nothing Then EA.KopfDaten.Gestellungsfrist.EndeDatumZeit = cDY.aes_GestellungsfristEndeDatumZeit + + ' 'Ausfuehrer + ' If (cDY.aes_AusfuehrerTeilnehmerEORI IsNot Nothing Or cDY.aes_AusfuehrerTeilnehmerName <> "") Then + ' If cDY.aes_AusfuehrerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Ausfuehrer.TeilnehmerEORI = cDY.aes_AusfuehrerTeilnehmerEORI + ' If cDY.aes_AusfuehrerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_AusfuehrerTeilnehmerNLNR) Then EA.KopfDaten.Ausfuehrer.TeilnehmerNLNR = cDY.aes_AusfuehrerTeilnehmerNLNR + ' If cDY.aes_AusfuehrerTeilnehmerName IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Name = cDY.aes_AusfuehrerTeilnehmerName + ' If cDY.aes_AusfuehrerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Strasse = cDY.aes_AusfuehrerTeilnehmerStrasse + ' If cDY.aes_AusfuehrerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ort = cDY.aes_AusfuehrerTeilnehmerOrt + ' If cDY.aes_AusfuehrerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Ausfuehrer.PLZ = cDY.aes_AusfuehrerTeilnehmerPLZ + ' If cDY.aes_AusfuehrerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Ausfuehrer.LandCode = cDY.aes_AusfuehrerTeilnehmerLandCode + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Sachbearbeiter = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Telefonnummer = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Telefaxnummer = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.EmailAdresse = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.Ausfuehrer.Ansprechpartner.Stellung = cDY.aes_AusfuehrerTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'Empfaenger + ' If (cDY.aes_EmpfaengerTeilnehmerEORI IsNot Nothing Or cDY.aes_EmpfaengerTeilnehmerName <> "") Then + ' If cDY.aes_EmpfaengerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Empfaenger.TeilnehmerEORI = cDY.aes_EmpfaengerTeilnehmerEORI + ' If cDY.aes_EmpfaengerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_EmpfaengerTeilnehmerNLNR) Then EA.KopfDaten.Empfaenger.TeilnehmerNLNR = cDY.aes_EmpfaengerTeilnehmerNLNR + ' If cDY.aes_EmpfaengerTeilnehmerName IsNot Nothing Then EA.KopfDaten.Empfaenger.Name = cDY.aes_EmpfaengerTeilnehmerName + ' If cDY.aes_EmpfaengerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Empfaenger.Strasse = cDY.aes_EmpfaengerTeilnehmerStrasse + ' If cDY.aes_EmpfaengerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Empfaenger.Ort = cDY.aes_EmpfaengerTeilnehmerOrt + ' If cDY.aes_EmpfaengerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Empfaenger.PLZ = cDY.aes_EmpfaengerTeilnehmerPLZ + ' If cDY.aes_EmpfaengerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Empfaenger.LandCode = cDY.aes_EmpfaengerTeilnehmerLandCode + ' End If + + ' 'Anmelder + ' If (cDY.aes_AnmelderTeilnehmerEORI IsNot Nothing Or cDY.aes_AnmelderTeilnehmerName <> "") Then + ' If cDY.aes_AnmelderTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.Anmelder.TeilnehmerEORI = cDY.aes_AnmelderTeilnehmerEORI + ' If cDY.aes_AnmelderTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_AnmelderTeilnehmerNLNR) Then EA.KopfDaten.Anmelder.TeilnehmerNLNR = cDY.aes_AnmelderTeilnehmerNLNR + ' If cDY.aes_AnmelderTeilnehmerName IsNot Nothing Then EA.KopfDaten.Anmelder.Name = cDY.aes_AnmelderTeilnehmerName + ' If cDY.aes_AnmelderTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.Anmelder.Strasse = cDY.aes_AnmelderTeilnehmerStrasse + ' If cDY.aes_AnmelderTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.Anmelder.Ort = cDY.aes_AnmelderTeilnehmerOrt + ' If cDY.aes_AnmelderTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.Anmelder.PLZ = cDY.aes_AnmelderTeilnehmerPLZ + ' If cDY.aes_AnmelderTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.Anmelder.LandCode = cDY.aes_AnmelderTeilnehmerLandCode + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Sachbearbeiter = cDY.aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Telefonnummer = cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Telefaxnummer = cDY.aes_AnmelderTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.EmailAdresse = cDY.aes_AnmelderTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_AnmelderTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.Anmelder.Ansprechpartner.Stellung = cDY.aes_AnmelderTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'VertreterAnmelder + ' If (cDY.aes_VertreterAnmelderTeilnehmerEORI IsNot Nothing Or cDY.aes_VertreterAnmelderTeilnehmerName <> "") Then + ' If cDY.aes_VertreterAnmelderTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.TeilnehmerEORI = cDY.aes_VertreterAnmelderTeilnehmerEORI + ' If cDY.aes_VertreterAnmelderTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_VertreterAnmelderTeilnehmerNLNR) Then EA.KopfDaten.VertreterAnmelder.TeilnehmerNLNR = cDY.aes_VertreterAnmelderTeilnehmerNLNR + ' If cDY.aes_VertreterAnmelderTeilnehmerName IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Name = cDY.aes_VertreterAnmelderTeilnehmerName + ' If cDY.aes_VertreterAnmelderTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Strasse = cDY.aes_VertreterAnmelderTeilnehmerStrasse + ' If cDY.aes_VertreterAnmelderTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ort = cDY.aes_VertreterAnmelderTeilnehmerOrt + ' If cDY.aes_VertreterAnmelderTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.PLZ = cDY.aes_VertreterAnmelderTeilnehmerPLZ + ' If cDY.aes_VertreterAnmelderTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.LandCode = cDY.aes_VertreterAnmelderTeilnehmerLandCode + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Sachbearbeiter = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Telefonnummer = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Telefaxnummer = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.EmailAdresse = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.VertreterAnmelder.Ansprechpartner.Stellung = cDY.aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'Subunternehmer + ' If (cDY.aes_SubunternehmerTeilnehmerEORI IsNot Nothing Or cDY.aes_SubunternehmerTeilnehmerName <> "") Then + ' If cDY.aes_SubunternehmerTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.SubUnternehmer.TeilnehmerEORI = cDY.aes_SubunternehmerTeilnehmerEORI + ' If cDY.aes_SubunternehmerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_SubunternehmerTeilnehmerNLNR) Then EA.KopfDaten.SubUnternehmer.TeilnehmerNLNR = cDY.aes_SubunternehmerTeilnehmerNLNR + ' If cDY.aes_SubunternehmerTeilnehmerName IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Name = cDY.aes_SubunternehmerTeilnehmerName + ' If cDY.aes_SubunternehmerTeilnehmerStrasse IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Strasse = cDY.aes_SubunternehmerTeilnehmerStrasse + ' If cDY.aes_SubunternehmerTeilnehmerOrt IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ort = cDY.aes_SubunternehmerTeilnehmerOrt + ' If cDY.aes_SubunternehmerTeilnehmerPLZ IsNot Nothing Then EA.KopfDaten.SubUnternehmer.PLZ = cDY.aes_SubunternehmerTeilnehmerPLZ + ' If cDY.aes_SubunternehmerTeilnehmerLandCode IsNot Nothing Then EA.KopfDaten.SubUnternehmer.LandCode = cDY.aes_SubunternehmerTeilnehmerLandCode + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Sachbearbeiter = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Telefonnummer = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Telefaxnummer = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.EmailAdresse = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.SubUnternehmer.Ansprechpartner.Stellung = cDY.aes_SubunternehmerTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'VerfahrensinhaberPV + ' If (cDY.aes_VerfahrensinhaberPVTeilnehmerEORI) Then + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerEORI IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.TeilnehmerEORI = cDY.aes_VerfahrensinhaberPVTeilnehmerEORI + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR) Then EA.KopfDaten.VerfahrensinhaberPV.TeilnehmerNLNR = cDY.aes_VerfahrensinhaberPVTeilnehmerNLNR + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Sachbearbeiter = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Telefonnummer = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Telefaxnummer = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.EmailAdresse = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail + ' If cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung IsNot Nothing Then EA.KopfDaten.VerfahrensinhaberPV.Ansprechpartner.Stellung = cDY.aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung + ' End If + + ' 'BefoerderungsrouteLand + ' EA.KopfDaten.BefoerderungsrouteLand = New List(Of String) + ' If cDY.aes_BefoerderungsrouteLand1 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand1) + ' If cDY.aes_BefoerderungsrouteLand2 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand2) + ' If cDY.aes_BefoerderungsrouteLand3 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand3) + ' If cDY.aes_BefoerderungsrouteLand4 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand4) + ' If cDY.aes_BefoerderungsrouteLand5 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand5) + ' If cDY.aes_BefoerderungsrouteLand6 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand6) + ' If cDY.aes_BefoerderungsrouteLand7 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand7) + ' If cDY.aes_BefoerderungsrouteLand8 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand8) + ' If cDY.aes_BefoerderungsrouteLand9 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand9) + ' If cDY.aes_BefoerderungsrouteLand10 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand10) + ' If cDY.aes_BefoerderungsrouteLand11 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand11) + ' If cDY.aes_BefoerderungsrouteLand12 IsNot Nothing Then EA.KopfDaten.BefoerderungsrouteLand.Add(cDY.aes_BefoerderungsrouteLand12) + + ' 'Warenpositionen + ' EA.WarenPosition = New List(Of VollstaendigeAusfuhrAnmeldung.PositionVollstaendigeAusfuhranmeldungTyp) + ' If cDY.aes_WARENPOS IsNot Nothing AndAlso cDY.aes_WARENPOS.Count > 0 Then + ' For Each WP In cDY.aes_WARENPOS + ' Dim WP_DY As New VollstaendigeAusfuhrAnmeldung.PositionVollstaendigeAusfuhranmeldungTyp + ' If WP.aesWP_PositionsNummer IsNot Nothing Then WP_DY.Positionsnummer = WP.aesWP_PositionsNummer + ' If WP.aesWP_WarennummerKN8 IsNot Nothing Then WP_DY.WarenNummerKN8 = WP.aesWP_WarennummerKN8 + ' If WP.aesWP_WarennummerTARIC IsNot Nothing Then WP_DY.WarenNummerTARIC = WP.aesWP_WarennummerTARIC + ' If WP.aesWP_WarennummerZusatz1 IsNot Nothing Then WP_DY.WarenNummerZusatz1 = WP.aesWP_WarennummerZusatz1 + ' If WP.aesWP_WarennummerZusatz2 IsNot Nothing Then WP_DY.WarenNummerZusatz2 = WP.aesWP_WarennummerZusatz2 + ' If WP.aesWP_WarennummerNational IsNot Nothing Then WP_DY.WarenNummerNational = WP.aesWP_WarennummerNational + ' If WP.aesWP_RegisternummerFremdsystem IsNot Nothing Then WP_DY.RegistrierNummerFremdSystem = WP.aesWP_RegisternummerFremdsystem + ' If WP.aesWP_Vermerk IsNot Nothing Then WP_DY.Vermerk = WP.aesWP_Vermerk + ' If WP.aesWP_KennungSendung IsNot Nothing Then WP_DY.KennnummerSendung = WP.aesWP_KennungSendung + ' If WP.aesWP_UrsprungsbundeslandCode IsNot Nothing Then WP_DY.UrsprungsbundeslandCode = WP.aesWP_UrsprungsbundeslandCode + ' If WP.aesWP_Eigenmasse IsNot Nothing Then WP_DY.Eigenmasse = WP.aesWP_Eigenmasse + ' If WP.aesWP_Rohmasse IsNot Nothing Then WP_DY.Rohmasse = WP.aesWP_Rohmasse + + ' If WP.aesWP_Gefahrgutnummer IsNot Nothing Then WP_DY.Gefahrgutnummer = WP.aesWP_Gefahrgutnummer + ' If WP.aesWP_ZahlungsweiseBefoerderungskosten IsNot Nothing Then WP_DY.ZahlungsweiseBefoerderungskosten = WP.aesWP_ZahlungsweiseBefoerderungskosten + ' If WP.aesWP_VerfahrenAngemeldetCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenAngemeldetCode = WP.aesWP_VerfahrenAngemeldetCode + ' If WP.aesWP_VerfahrenVorangegangenCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenVorangegangenCode = WP.aesWP_VerfahrenVorangegangenCode + ' If WP.aesWP_VerfahrenNationalCode IsNot Nothing Then WP_DY.Verfahren.VerfahrenNationalCode = WP.aesWP_VerfahrenNationalCode + ' If WP.aesWP_AusfuhrerstattungVerfahrensCode IsNot Nothing Then WP_DY.AusfuhrerstattungVerfahrenscode = WP.aesWP_AusfuhrerstattungVerfahrensCode + ' If WP.aesWP_Menge IsNot Nothing Then WP_DY.Menge = WP.aesWP_Menge + ' If WP.aesWP_Wert IsNot Nothing Then WP_DY.Wert = WP.aesWP_Wert + + ' WP_DY.Vorpapier = New List(Of VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp) + ' If WP.aesWP_VorpapierTypCode1 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode1 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode1 + ' If WP.aesWP_ReferenzID1 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID1 + ' If WP.aesWP_Zusatz1 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz1 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode2 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode2 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode2 + ' If WP.aesWP_ReferenzID2 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID2 + ' If WP.aesWP_Zusatz2 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz2 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode3 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode3 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode3 + ' If WP.aesWP_ReferenzID3 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID3 + ' If WP.aesWP_Zusatz3 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz3 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode4 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode4 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode4 + ' If WP.aesWP_ReferenzID4 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID4 + ' If WP.aesWP_Zusatz4 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz4 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode5 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode5 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode5 + ' If WP.aesWP_ReferenzID5 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID5 + ' If WP.aesWP_Zusatz5 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz5 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode6 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode6 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode6 + ' If WP.aesWP_ReferenzID6 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID6 + ' If WP.aesWP_Zusatz6 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz6 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode7 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode7 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode7 + ' If WP.aesWP_ReferenzID7 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID7 + ' If WP.aesWP_Zusatz7 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz7 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode8 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode8 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode8 + ' If WP.aesWP_ReferenzID8 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID8 + ' If WP.aesWP_Zusatz8 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz8 + ' WP_DY.Vorpapier.Add(VP) + ' End If + ' If WP.aesWP_VorpapierTypCode9 IsNot Nothing Then + ' Dim VP As New VollstaendigeAusfuhrAnmeldung.VorpapierEVTyp + ' If WP.aesWP_VorpapierTypCode9 IsNot Nothing Then VP.TypCode = WP.aesWP_VorpapierTypCode9 + ' If WP.aesWP_ReferenzID9 IsNot Nothing Then VP.ReferenzID = WP.aesWP_ReferenzID9 + ' If WP.aesWP_Zusatz9 IsNot Nothing Then VP.Zusatz = WP.aesWP_Zusatz9 + ' WP_DY.Vorpapier.Add(VP) + ' End If + + ' 'Packstueck + ' WP_DY.Packstueck = New List(Of VollstaendigeAusfuhrAnmeldung.PackstueckEVTyp) + ' If WP.aesWP_PACKSTUECKE IsNot Nothing AndAlso WP.aesWP_PACKSTUECKE.Count > 0 Then + ' For Each PK In WP.aesWP_PACKSTUECKE + ' Dim PK_DY As New VollstaendigeAusfuhrAnmeldung.PackstueckEVTyp + ' If PK.aesWpPk_PackstueckeAnzahl IsNot Nothing Then PK_DY.Anzahl = PK.aesWpPk_PackstueckeAnzahl.ToString.Replace(".", "") + ' If PK.aesWpPk_Verpackungsart IsNot Nothing Then PK_DY.VerpackungsartCode = PK.aesWpPk_Verpackungsart + ' If PK.aesWpPk_Kennzeichnung IsNot Nothing Then PK_DY.Kennzeichnung = PK.aesWpPk_Kennzeichnung + ' WP_DY.Packstueck.Add(PK_DY) + ' Next + ' End If + + ' 'Container + ' WP_DY.ContainerNummer = New List(Of String) + ' If WP.aesWP_Containernummer1 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer1) + ' If WP.aesWP_Containernummer2 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer2) + ' If WP.aesWP_Containernummer3 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer3) + ' If WP.aesWP_Containernummer4 IsNot Nothing Then WP_DY.ContainerNummer.Add(WP.aesWP_Containernummer4) + + ' 'Unterlage + ' WP_DY.Unterlage = New List(Of VollstaendigeAusfuhrAnmeldung.UnterlageEVTyp) + ' If WP.aesWP_UNTERLAGEN IsNot Nothing AndAlso WP.aesWP_UNTERLAGEN.Count > 0 Then + ' For Each UL In WP.aesWP_UNTERLAGEN + ' Dim UL_DY As New VollstaendigeAusfuhrAnmeldung.UnterlageEVTyp + ' If UL.aesWpUl_Typ IsNot Nothing Then UL_DY.TypCode = UL.aesWpUl_Typ + ' If UL.aesWpUl_QualifierCode IsNot Nothing Then UL_DY.QualifierCode = UL.aesWpUl_QualifierCode + ' If UL.aesWpUl_ReferenzID IsNot Nothing Then UL_DY.ReferenzID = UL.aesWpUl_ReferenzID + ' If UL.aesWpUl_Zusatz IsNot Nothing Then UL_DY.Zusatz = UL.aesWpUl_Zusatz + ' If UL.aesWpUl_Detail IsNot Nothing Then UL_DY.Detail = UL.aesWpUl_Detail + ' If UL.aesWpUl_DatumAusstellung IsNot Nothing Then UL_DY.DatumAusstellung = UL.aesWpUl_DatumAusstellung + ' If UL.aesWpUl_DatumEndeGueltigkeit IsNot Nothing Then UL_DY.DatumEndeGueltigkeit = UL.aesWpUl_DatumEndeGueltigkeit + ' If UL.aesWpUl_Wert IsNot Nothing Then UL_DY.Wert = UL.aesWpUl_Wert + ' If UL.aesWpUl_Abschreibungsmenge IsNot Nothing Then UL_DY.Abschreibungsmenge = UL.aesWpUl_Abschreibungsmenge + ' If UL.aesWpUl_Masseinheit IsNot Nothing Then UL_DY.Masseinheit = UL.aesWpUl_Masseinheit + ' WP_DY.Unterlage.Add(UL_DY) + ' Next + ' End If + + ' If WP.aesWP_AusfuhrerstattungVerfahrensCode IsNot Nothing Then WP_DY.AusfuhrerstattungVerfahrenscode = WP.aesWP_AusfuhrerstattungVerfahrensCode + + ' 'Empfaenger + ' If (WP.aesWP_EmpfaengerTeilnehmerEORI IsNot Nothing Or WP.aesWP_EmpfaengerTeilnehmerName <> "") Then + ' If WP.aesWP_EmpfaengerTeilnehmerEORI IsNot Nothing Then WP_DY.Empfaenger.TeilnehmerEORI = WP.aesWP_EmpfaengerTeilnehmerEORI + ' If WP.aesWP_EmpfaengerTeilnehmerNLNR IsNot Nothing AndAlso IsNumeric(WP.aesWP_EmpfaengerTeilnehmerNLNR) Then WP_DY.Empfaenger.TeilnehmerNLNR = WP.aesWP_EmpfaengerTeilnehmerNLNR + ' If WP.aesWP_EmpfaengerTeilnehmerName IsNot Nothing Then WP_DY.Empfaenger.Name = WP.aesWP_EmpfaengerTeilnehmerName + ' If WP.aesWP_EmpfaengerTeilnehmerStrasse IsNot Nothing Then WP_DY.Empfaenger.Strasse = WP.aesWP_EmpfaengerTeilnehmerStrasse + ' If WP.aesWP_EmpfaengerTeilnehmerOrt IsNot Nothing Then WP_DY.Empfaenger.Ort = WP.aesWP_EmpfaengerTeilnehmerOrt + ' If WP.aesWP_EmpfaengerTeilnehmerPLZ IsNot Nothing Then WP_DY.Empfaenger.PLZ = WP.aesWP_EmpfaengerTeilnehmerPLZ + ' If WP.aesWP_EmpfaengerTeilnehmerLandCode IsNot Nothing Then WP_DY.Empfaenger.LandCode = WP.aesWP_EmpfaengerTeilnehmerLandCode + ' End If + + + ' EA.WarenPosition.Add(WP_DY) + ' Next + ' End If + + + ' 'Lieferbedingungen + ' If cDY.aes_LieferbedingungenCode IsNot Nothing Then + ' EA.KopfDaten.Lieferbedingung = New VollstaendigeAusfuhrAnmeldung.LieferbedingungEVTyp + ' If cDY.aes_LieferbedingungenCode IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermCode = cDY.aes_LieferbedingungenCode + ' If cDY.aes_LieferbedingungenText IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermText = cDY.aes_LieferbedingungenText + ' If cDY.aes_LieferbedingungenOrt IsNot Nothing Then EA.KopfDaten.Lieferbedingung.IncotermOrt = cDY.aes_LieferbedingungenOrt + ' End If + + + ' XML.EinzelAnmeldung.Add(EA) + + ' Dim saveDir = Application.StartupPath & "\Dakosy_SEND\" + ' If Not System.IO.Directory.Exists(saveDir) Then + ' System.IO.Directory.CreateDirectory(saveDir) + ' End If + + ' saveFile = saveDir & "DY_" & Now.ToString("yyMMdd_HHmmss") & ".xml" + + ' 'MsgBox(saveFile) + ' XML.SaveToFile(saveFile) + + ' replaceNullDateXML(saveFile) + ' Return True + 'End Function + + + 'Shared Function exportVERAGKunde(kdNr() As String) As Boolean + + ' Dim XML As New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORT + + ' For Each s In kdNr + ' Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(s) + ' Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(s) + ' If KUNDE IsNot Nothing And ADRESSE IsNot Nothing Then + ' Dim XML_KD As New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDaten + ' If ADRESSE.Ordnungsbegriff IsNot Nothing Then XML_KD.Kurzname = ADRESSE.Ordnungsbegriff + ' If ADRESSE.Name_1 IsNot Nothing Then XML_KD.Name1 = ADRESSE.Name_1 + ' If ADRESSE.Name_2 IsNot Nothing Then XML_KD.Name2 = ADRESSE.Name_2 + ' If KUNDE.EORITIN IsNot Nothing Then XML_KD.EORI = KUNDE.EORITIN : XML_KD.EORI_Niederlassung = "0000" + + ' If ADRESSE.UstIdKz IsNot Nothing And ADRESSE.UstIdKz IsNot Nothing Then XML_KD.UID_Nr = ADRESSE.UstIdKz & ADRESSE.UstIdNr + ' XML_KD.Kontakt = New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDatenKontakt + ' If ADRESSE.Telefon IsNot Nothing Then XML_KD.Kontakt.Tel = ADRESSE.Telefon + ' If ADRESSE.Telefax IsNot Nothing Then XML_KD.Kontakt.Fax = ADRESSE.Telefax + ' If ADRESSE.E_Mail IsNot Nothing Then XML_KD.Kontakt.EMail = ADRESSE.E_Mail + ' If ADRESSE.Ansprechpartner IsNot Nothing Then XML_KD.Kontakt.Ansprechpartner = ADRESSE.Ansprechpartner + + ' XML_KD.Adresse = New VERAG_Kundenstamm_IMPORT.VERAG_Kundenstamm_IMPORTKundenDatenAdresse + ' If ADRESSE.Straße IsNot Nothing Then XML_KD.Adresse.Strasse = ADRESSE.Straße + ' If ADRESSE.PLZ IsNot Nothing Then XML_KD.Adresse.Plz = ADRESSE.PLZ + ' If ADRESSE.Ort IsNot Nothing Then XML_KD.Adresse.Ort = ADRESSE.Ort + ' If ADRESSE.LandKz IsNot Nothing Then XML_KD.Adresse.LandKz = ADRESSE.LandKz + + ' XML.KundenDaten.Add(XML_KD) + ' End If + ' Next + + ' XML.SaveToFile("C:\Users\DEVELOPER1\Desktop\test\KD_TEST.xml") + + ' Return True + 'End Function +End Class + + +'Class DY_ObjektAktion +' Shared Property OBJ_CREATE As String = "CREATE" +' Shared Property OBJ_CHANGE As String = "CHANGE" +' Shared Property OBJ_CANCEL As String = "CANCEL" +' Shared Property OBJ_SEND As String = "SEND" +' End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.Designer.vb new file mode 100644 index 0000000..cb61c7a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.Designer.vb @@ -0,0 +1,8659 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' TESTJSONListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace TESTJSON + + + Partial Public Class BeyannameBilgi + +#Region "Private fields" + Private _beyanname_no As String + + Private _rejim As String + + Private _gUMRUK As String + + Private _basitlestirilmis_usul As String + + Private _yuk_belgeleri_sayisi As Integer + + Private _kap_adedi As Integer + + Private _ticaret_ulkesi As String + + Private _referans_no As String + + Private _birlik_kayit_numarasi As String + + Private _birlik_kripto_numarasi As String + + Private _cikis_ulkesi As String + + Private _gidecegi_ulke As String + + Private _gidecegi_sevk_ulkesi As String + + Private _cikistaki_aracin_tipi As String + + Private _cikistaki_aracin_kimligi As String + + Private _cikistaki_aracin_ulkesi As String + + Private _teslim_sekli As String + + Private _teslim_yeri As String + + Private _konteyner As String + + Private _sinirdaki_aracin_tipi As String + + Private _sinirdaki_aracin_kimligi As String + + Private _sinirdaki_aracin_ulkesi As String + + Private _toplam_fatura_dovizi As String + + Private _toplan_navlun_dovizi As String + + Private _sinirdaki_tasima_sekli As String + + Private _alici_satici_iliskisi As String + + Private _toplam_sigorta_dovizi As String + + Private _yukleme_bosaltma_yeri As String + + Private _toplam_yurt_disi_harcamalarin_dovizi As String + + Private _banka_kodu As String + + Private _esyanin_bulundugu_yer As String + + Private _varis_gumruk_idaresi As String + + Private _antrepo_kodu As String + + Private _tasarlanan_guzergah As String + + Private _giris_gumruk_idaresi As String + + Private _islemin_niteligi As String + + Private _aciklamalar As String + + Private _kullanici_kodu As String + + Private _referans_tarihi As String + + Private _odeme As String + + Private _odeme_araci As String + + Private _musavir_referansi As String + + Private _gonderici_vergi_no As String + + Private _alici_vergi_no As String + + Private _beyan_sahibi_vergi_no As String + + Private _musavir_vergi_no As String + + Private _asil_sorumlu_vergi_no As String + + Private _firma_bilgi As ArrayOfFirma + + Private _teminat As ArrayOfTeminat + + Private _ozetbeyanlar As ArrayOfOzetbeyan + + Private _kalemler As ArrayOfKalem + + Private _sorular_cevaplar As ArrayOfSoru_Cevap + + Private _dokumanlar As ArrayOfDokuman + + Private _vergiler As ArrayOfVergi + + Private _kiymetBildirim As ArrayOfKiymet + + Private _mail1 As String + + Private _mail2 As String + + Private _mail3 As String + + Private _mobil1 As String + + Private _mobil2 As String + + Private _fazlaMesaiID As String + + Private _limanKodu As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._kiymetBildirim = New ArrayOfKiymet() + Me._vergiler = New ArrayOfVergi() + Me._dokumanlar = New ArrayOfDokuman() + Me._sorular_cevaplar = New ArrayOfSoru_Cevap() + Me._kalemler = New ArrayOfKalem() + Me._ozetbeyanlar = New ArrayOfOzetbeyan() + Me._teminat = New ArrayOfTeminat() + Me._firma_bilgi = New ArrayOfFirma() + End Sub + + + Public Property Beyanname_no() As String + Get + Return Me._beyanname_no + End Get + Set + Me._beyanname_no = Value + End Set + End Property + + + Public Property Rejim() As String + Get + Return Me._rejim + End Get + Set + Me._rejim = Value + End Set + End Property + + + Public Property GUMRUK() As String + Get + Return Me._gUMRUK + End Get + Set + Me._gUMRUK = Value + End Set + End Property + + + Public Property Basitlestirilmis_usul() As String + Get + Return Me._basitlestirilmis_usul + End Get + Set + Me._basitlestirilmis_usul = Value + End Set + End Property + + + Public Property Yuk_belgeleri_sayisi() As Integer + Get + Return Me._yuk_belgeleri_sayisi + End Get + Set + Me._yuk_belgeleri_sayisi = Value + End Set + End Property + + + Public Property Kap_adedi() As Integer + Get + Return Me._kap_adedi + End Get + Set + Me._kap_adedi = Value + End Set + End Property + + + Public Property Ticaret_ulkesi() As String + Get + Return Me._ticaret_ulkesi + End Get + Set + Me._ticaret_ulkesi = Value + End Set + End Property + + + Public Property Referans_no() As String + Get + Return Me._referans_no + End Get + Set + Me._referans_no = Value + End Set + End Property + + + Public Property Birlik_kayit_numarasi() As String + Get + Return Me._birlik_kayit_numarasi + End Get + Set + Me._birlik_kayit_numarasi = Value + End Set + End Property + + + Public Property Birlik_kripto_numarasi() As String + Get + Return Me._birlik_kripto_numarasi + End Get + Set + Me._birlik_kripto_numarasi = Value + End Set + End Property + + + Public Property Cikis_ulkesi() As String + Get + Return Me._cikis_ulkesi + End Get + Set + Me._cikis_ulkesi = Value + End Set + End Property + + + Public Property Gidecegi_ulke() As String + Get + Return Me._gidecegi_ulke + End Get + Set + Me._gidecegi_ulke = Value + End Set + End Property + + + Public Property Gidecegi_sevk_ulkesi() As String + Get + Return Me._gidecegi_sevk_ulkesi + End Get + Set + Me._gidecegi_sevk_ulkesi = Value + End Set + End Property + + + Public Property Cikistaki_aracin_tipi() As String + Get + Return Me._cikistaki_aracin_tipi + End Get + Set + Me._cikistaki_aracin_tipi = Value + End Set + End Property + + + Public Property Cikistaki_aracin_kimligi() As String + Get + Return Me._cikistaki_aracin_kimligi + End Get + Set + Me._cikistaki_aracin_kimligi = Value + End Set + End Property + + + Public Property Cikistaki_aracin_ulkesi() As String + Get + Return Me._cikistaki_aracin_ulkesi + End Get + Set + Me._cikistaki_aracin_ulkesi = Value + End Set + End Property + + + Public Property Teslim_sekli() As String + Get + Return Me._teslim_sekli + End Get + Set + Me._teslim_sekli = Value + End Set + End Property + + + Public Property Teslim_yeri() As String + Get + Return Me._teslim_yeri + End Get + Set + Me._teslim_yeri = Value + End Set + End Property + + + Public Property Konteyner() As String + Get + Return Me._konteyner + End Get + Set + Me._konteyner = Value + End Set + End Property + + + Public Property Sinirdaki_aracin_tipi() As String + Get + Return Me._sinirdaki_aracin_tipi + End Get + Set + Me._sinirdaki_aracin_tipi = Value + End Set + End Property + + + Public Property Sinirdaki_aracin_kimligi() As String + Get + Return Me._sinirdaki_aracin_kimligi + End Get + Set + Me._sinirdaki_aracin_kimligi = Value + End Set + End Property + + + Public Property Sinirdaki_aracin_ulkesi() As String + Get + Return Me._sinirdaki_aracin_ulkesi + End Get + Set + Me._sinirdaki_aracin_ulkesi = Value + End Set + End Property + + + Public Property Toplam_fatura_dovizi() As String + Get + Return Me._toplam_fatura_dovizi + End Get + Set + Me._toplam_fatura_dovizi = Value + End Set + End Property + + + Public Property Toplan_navlun_dovizi() As String + Get + Return Me._toplan_navlun_dovizi + End Get + Set + Me._toplan_navlun_dovizi = Value + End Set + End Property + + + Public Property Sinirdaki_tasima_sekli() As String + Get + Return Me._sinirdaki_tasima_sekli + End Get + Set + Me._sinirdaki_tasima_sekli = Value + End Set + End Property + + + Public Property Alici_satici_iliskisi() As String + Get + Return Me._alici_satici_iliskisi + End Get + Set + Me._alici_satici_iliskisi = Value + End Set + End Property + + + Public Property Toplam_sigorta_dovizi() As String + Get + Return Me._toplam_sigorta_dovizi + End Get + Set + Me._toplam_sigorta_dovizi = Value + End Set + End Property + + + Public Property Yukleme_bosaltma_yeri() As String + Get + Return Me._yukleme_bosaltma_yeri + End Get + Set + Me._yukleme_bosaltma_yeri = Value + End Set + End Property + + + Public Property Toplam_yurt_disi_harcamalarin_dovizi() As String + Get + Return Me._toplam_yurt_disi_harcamalarin_dovizi + End Get + Set + Me._toplam_yurt_disi_harcamalarin_dovizi = Value + End Set + End Property + + + Public Property Banka_kodu() As String + Get + Return Me._banka_kodu + End Get + Set + Me._banka_kodu = Value + End Set + End Property + + + Public Property Esyanin_bulundugu_yer() As String + Get + Return Me._esyanin_bulundugu_yer + End Get + Set + Me._esyanin_bulundugu_yer = Value + End Set + End Property + + + Public Property Varis_gumruk_idaresi() As String + Get + Return Me._varis_gumruk_idaresi + End Get + Set + Me._varis_gumruk_idaresi = Value + End Set + End Property + + + Public Property Antrepo_kodu() As String + Get + Return Me._antrepo_kodu + End Get + Set + Me._antrepo_kodu = Value + End Set + End Property + + + Public Property Tasarlanan_guzergah() As String + Get + Return Me._tasarlanan_guzergah + End Get + Set + Me._tasarlanan_guzergah = Value + End Set + End Property + + + Public Property Giris_gumruk_idaresi() As String + Get + Return Me._giris_gumruk_idaresi + End Get + Set + Me._giris_gumruk_idaresi = Value + End Set + End Property + + + Public Property Islemin_niteligi() As String + Get + Return Me._islemin_niteligi + End Get + Set + Me._islemin_niteligi = Value + End Set + End Property + + + Public Property Aciklamalar() As String + Get + Return Me._aciklamalar + End Get + Set + Me._aciklamalar = Value + End Set + End Property + + + Public Property Kullanici_kodu() As String + Get + Return Me._kullanici_kodu + End Get + Set + Me._kullanici_kodu = Value + End Set + End Property + + + Public Property Referans_tarihi() As String + Get + Return Me._referans_tarihi + End Get + Set + Me._referans_tarihi = Value + End Set + End Property + + + Public Property Odeme() As String + Get + Return Me._odeme + End Get + Set + Me._odeme = Value + End Set + End Property + + + Public Property Odeme_araci() As String + Get + Return Me._odeme_araci + End Get + Set + Me._odeme_araci = Value + End Set + End Property + + + Public Property Musavir_referansi() As String + Get + Return Me._musavir_referansi + End Get + Set + Me._musavir_referansi = Value + End Set + End Property + + + Public Property Gonderici_vergi_no() As String + Get + Return Me._gonderici_vergi_no + End Get + Set + Me._gonderici_vergi_no = Value + End Set + End Property + + + Public Property Alici_vergi_no() As String + Get + Return Me._alici_vergi_no + End Get + Set + Me._alici_vergi_no = Value + End Set + End Property + + + Public Property Beyan_sahibi_vergi_no() As String + Get + Return Me._beyan_sahibi_vergi_no + End Get + Set + Me._beyan_sahibi_vergi_no = Value + End Set + End Property + + + Public Property Musavir_vergi_no() As String + Get + Return Me._musavir_vergi_no + End Get + Set + Me._musavir_vergi_no = Value + End Set + End Property + + + Public Property Asil_sorumlu_vergi_no() As String + Get + Return Me._asil_sorumlu_vergi_no + End Get + Set + Me._asil_sorumlu_vergi_no = Value + End Set + End Property + + + Public Property Firma_bilgi() As ArrayOfFirma + Get + Return Me._firma_bilgi + End Get + Set + Me._firma_bilgi = Value + End Set + End Property + + + Public Property Teminat() As ArrayOfTeminat + Get + Return Me._teminat + End Get + Set + Me._teminat = Value + End Set + End Property + + + Public Property Ozetbeyanlar() As ArrayOfOzetbeyan + Get + Return Me._ozetbeyanlar + End Get + Set + Me._ozetbeyanlar = Value + End Set + End Property + + + Public Property Kalemler() As ArrayOfKalem + Get + Return Me._kalemler + End Get + Set + Me._kalemler = Value + End Set + End Property + + + Public Property Sorular_cevaplar() As ArrayOfSoru_Cevap + Get + Return Me._sorular_cevaplar + End Get + Set + Me._sorular_cevaplar = Value + End Set + End Property + + + Public Property Dokumanlar() As ArrayOfDokuman + Get + Return Me._dokumanlar + End Get + Set + Me._dokumanlar = Value + End Set + End Property + + + Public Property Vergiler() As ArrayOfVergi + Get + Return Me._vergiler + End Get + Set + Me._vergiler = Value + End Set + End Property + + + Public Property KiymetBildirim() As ArrayOfKiymet + Get + Return Me._kiymetBildirim + End Get + Set + Me._kiymetBildirim = Value + End Set + End Property + + + Public Property mail1() As String + Get + Return Me._mail1 + End Get + Set + Me._mail1 = Value + End Set + End Property + + + Public Property mail2() As String + Get + Return Me._mail2 + End Get + Set + Me._mail2 = Value + End Set + End Property + + + Public Property mail3() As String + Get + Return Me._mail3 + End Get + Set + Me._mail3 = Value + End Set + End Property + + + Public Property mobil1() As String + Get + Return Me._mobil1 + End Get + Set + Me._mobil1 = Value + End Set + End Property + + + Public Property mobil2() As String + Get + Return Me._mobil2 + End Get + Set + Me._mobil2 = Value + End Set + End Property + + + Public Property FazlaMesaiID() As String + Get + Return Me._fazlaMesaiID + End Get + Set + Me._fazlaMesaiID = Value + End Set + End Property + + + Public Property LimanKodu() As String + Get + Return Me._limanKodu + End Get + Set + Me._limanKodu = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(BeyannameBilgi)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current BeyannameBilgi object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an BeyannameBilgi object + ''' + ''' string workflow markup to deserialize + ''' Output BeyannameBilgi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As BeyannameBilgi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, BeyannameBilgi) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As BeyannameBilgi) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As BeyannameBilgi + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), BeyannameBilgi) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As BeyannameBilgi + Return CType(Serializer.Deserialize(s), BeyannameBilgi) + End Function +#End Region + + ''' + ''' Serializes current BeyannameBilgi object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an BeyannameBilgi object + ''' + ''' string xml file to load and deserialize + ''' Output BeyannameBilgi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As BeyannameBilgi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, BeyannameBilgi) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As BeyannameBilgi) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As BeyannameBilgi + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfFirma + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfFirma)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfFirma object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfFirma object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfFirma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfFirma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfFirma) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfFirma) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfFirma + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfFirma) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfFirma + Return CType(Serializer.Deserialize(s), ArrayOfFirma) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfFirma object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfFirma object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfFirma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfFirma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfFirma) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfFirma) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfFirma + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfKiymet + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfKiymet)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfKiymet object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfKiymet object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfKiymet object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKiymet, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKiymet) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKiymet) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfKiymet + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfKiymet) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfKiymet + Return CType(Serializer.Deserialize(s), ArrayOfKiymet) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfKiymet object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfKiymet object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfKiymet object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKiymet, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKiymet) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKiymet) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfKiymet + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfVergi + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfVergi)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfVergi object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfVergi object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfVergi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfVergi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfVergi) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfVergi) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfVergi + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfVergi) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfVergi + Return CType(Serializer.Deserialize(s), ArrayOfVergi) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfVergi object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfVergi object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfVergi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfVergi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfVergi) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfVergi) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfVergi + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfDokuman + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfDokuman)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfDokuman object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfDokuman object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfDokuman object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfDokuman, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfDokuman) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfDokuman) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfDokuman + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfDokuman) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfDokuman + Return CType(Serializer.Deserialize(s), ArrayOfDokuman) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfDokuman object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfDokuman object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfDokuman object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfDokuman, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfDokuman) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfDokuman) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfDokuman + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfSoru_Cevap + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfSoru_Cevap)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfSoru_Cevap object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfSoru_Cevap object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfSoru_Cevap object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfSoru_Cevap, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfSoru_Cevap) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfSoru_Cevap) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfSoru_Cevap + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfSoru_Cevap) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfSoru_Cevap + Return CType(Serializer.Deserialize(s), ArrayOfSoru_Cevap) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfSoru_Cevap object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfSoru_Cevap object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfSoru_Cevap object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfSoru_Cevap, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfSoru_Cevap) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfSoru_Cevap) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfSoru_Cevap + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfKalem + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfKalem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfKalem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfKalem object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKalem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKalem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfKalem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfKalem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfKalem + Return CType(Serializer.Deserialize(s), ArrayOfKalem) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfKalem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfKalem object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKalem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKalem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfKalem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfOzetbeyan + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfOzetbeyan)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfOzetbeyan object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfOzetbeyan object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfOzetbeyan object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfOzetbeyan, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfOzetbeyan) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfOzetbeyan) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfOzetbeyan + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfOzetbeyan) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfOzetbeyan + Return CType(Serializer.Deserialize(s), ArrayOfOzetbeyan) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfOzetbeyan object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfOzetbeyan object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfOzetbeyan object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfOzetbeyan, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfOzetbeyan) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfOzetbeyan) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfOzetbeyan + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfTeminat + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfTeminat)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfTeminat object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfTeminat object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfTeminat object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTeminat, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTeminat) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTeminat) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfTeminat + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfTeminat) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfTeminat + Return CType(Serializer.Deserialize(s), ArrayOfTeminat) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfTeminat object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfTeminat object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfTeminat object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTeminat, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTeminat) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTeminat) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfTeminat + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class firma + +#Region "Private fields" + Private _tip As String + + Private _ulke_kodu As String + + Private _posta_kodu As String + + Private _kimlik_turu As String + + Private _faks As String + + Private _no As String + + Private _adi_unvani As String + + Private _cadde_s_no As String + + Private _telefon As String + + Private _il_ilce As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Tip() As String + Get + Return Me._tip + End Get + Set + Me._tip = Value + End Set + End Property + + + Public Property Ulke_kodu() As String + Get + Return Me._ulke_kodu + End Get + Set + Me._ulke_kodu = Value + End Set + End Property + + + Public Property Posta_kodu() As String + Get + Return Me._posta_kodu + End Get + Set + Me._posta_kodu = Value + End Set + End Property + + + Public Property Kimlik_turu() As String + Get + Return Me._kimlik_turu + End Get + Set + Me._kimlik_turu = Value + End Set + End Property + + + Public Property Faks() As String + Get + Return Me._faks + End Get + Set + Me._faks = Value + End Set + End Property + + + Public Property No() As String + Get + Return Me._no + End Get + Set + Me._no = Value + End Set + End Property + + + Public Property Adi_unvani() As String + Get + Return Me._adi_unvani + End Get + Set + Me._adi_unvani = Value + End Set + End Property + + + Public Property Cadde_s_no() As String + Get + Return Me._cadde_s_no + End Get + Set + Me._cadde_s_no = Value + End Set + End Property + + + Public Property Telefon() As String + Get + Return Me._telefon + End Get + Set + Me._telefon = Value + End Set + End Property + + + Public Property Il_ilce() As String + Get + Return Me._il_ilce + End Get + Set + Me._il_ilce = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(firma)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current firma object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an firma object + ''' + ''' string workflow markup to deserialize + ''' Output firma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As firma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, firma) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As firma) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As firma + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), firma) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As firma + Return CType(Serializer.Deserialize(s), firma) + End Function +#End Region + + ''' + ''' Serializes current firma object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an firma object + ''' + ''' string xml file to load and deserialize + ''' Output firma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As firma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, firma) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As firma) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As firma + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Teminat + +#Region "Private fields" + Private _teminat_sekli As String + + Private _global_teminat_no As String + + Private _aciklama As String + + Private _diger_tutar_referansi As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Teminat_sekli() As String + Get + Return Me._teminat_sekli + End Get + Set + Me._teminat_sekli = Value + End Set + End Property + + + Public Property Global_teminat_no() As String + Get + Return Me._global_teminat_no + End Get + Set + Me._global_teminat_no = Value + End Set + End Property + + + Public Property Aciklama() As String + Get + Return Me._aciklama + End Get + Set + Me._aciklama = Value + End Set + End Property + + + Public Property Diger_tutar_referansi() As String + Get + Return Me._diger_tutar_referansi + End Get + Set + Me._diger_tutar_referansi = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Teminat)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Teminat object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Teminat object + ''' + ''' string workflow markup to deserialize + ''' Output Teminat object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Teminat, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Teminat) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Teminat) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Teminat + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Teminat) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Teminat + Return CType(Serializer.Deserialize(s), Teminat) + End Function +#End Region + + ''' + ''' Serializes current Teminat object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Teminat object + ''' + ''' string xml file to load and deserialize + ''' Output Teminat object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Teminat, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Teminat) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Teminat) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Teminat + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Ozetbeyan + +#Region "Private fields" + Private _ozbyacma_bilgi As ArrayOfTasimasenetleri + + Private _ozetbeyan_no As String + + Private _ozetbeyan_islem_kapsami As String + + Private _ambar_ici As String + + Private _baska_rejim As String + + Private _aciklama As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._ozbyacma_bilgi = New ArrayOfTasimasenetleri() + End Sub + + + Public Property ozbyacma_bilgi() As ArrayOfTasimasenetleri + Get + Return Me._ozbyacma_bilgi + End Get + Set + Me._ozbyacma_bilgi = Value + End Set + End Property + + + Public Property Ozetbeyan_no() As String + Get + Return Me._ozetbeyan_no + End Get + Set + Me._ozetbeyan_no = Value + End Set + End Property + + + Public Property Ozetbeyan_islem_kapsami() As String + Get + Return Me._ozetbeyan_islem_kapsami + End Get + Set + Me._ozetbeyan_islem_kapsami = Value + End Set + End Property + + + Public Property Ambar_ici() As String + Get + Return Me._ambar_ici + End Get + Set + Me._ambar_ici = Value + End Set + End Property + + + Public Property Baska_rejim() As String + Get + Return Me._baska_rejim + End Get + Set + Me._baska_rejim = Value + End Set + End Property + + + Public Property Aciklama() As String + Get + Return Me._aciklama + End Get + Set + Me._aciklama = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Ozetbeyan)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Ozetbeyan object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Ozetbeyan object + ''' + ''' string workflow markup to deserialize + ''' Output Ozetbeyan object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Ozetbeyan, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Ozetbeyan) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Ozetbeyan) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Ozetbeyan + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Ozetbeyan) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Ozetbeyan + Return CType(Serializer.Deserialize(s), Ozetbeyan) + End Function +#End Region + + ''' + ''' Serializes current Ozetbeyan object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Ozetbeyan object + ''' + ''' string xml file to load and deserialize + ''' Output Ozetbeyan object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Ozetbeyan, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Ozetbeyan) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Ozetbeyan) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Ozetbeyan + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfTasimasenetleri + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfTasimasenetleri)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfTasimasenetleri object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfTasimasenetleri object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfTasimasenetleri object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTasimasenetleri, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTasimasenetleri) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTasimasenetleri) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfTasimasenetleri + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfTasimasenetleri) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfTasimasenetleri + Return CType(Serializer.Deserialize(s), ArrayOfTasimasenetleri) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfTasimasenetleri object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfTasimasenetleri object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfTasimasenetleri object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTasimasenetleri, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTasimasenetleri) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTasimasenetleri) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfTasimasenetleri + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class tasimasenetleri + +#Region "Private fields" + Private _tasima_senedi_no As String + + Private _tasimasatir_bilgi As ArrayOfTasimasatirlari + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._tasimasatir_bilgi = New ArrayOfTasimasatirlari() + End Sub + + + Public Property Tasima_senedi_no() As String + Get + Return Me._tasima_senedi_no + End Get + Set + Me._tasima_senedi_no = Value + End Set + End Property + + + Public Property tasimasatir_bilgi() As ArrayOfTasimasatirlari + Get + Return Me._tasimasatir_bilgi + End Get + Set + Me._tasimasatir_bilgi = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(tasimasenetleri)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current tasimasenetleri object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an tasimasenetleri object + ''' + ''' string workflow markup to deserialize + ''' Output tasimasenetleri object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tasimasenetleri, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tasimasenetleri) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tasimasenetleri) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As tasimasenetleri + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), tasimasenetleri) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As tasimasenetleri + Return CType(Serializer.Deserialize(s), tasimasenetleri) + End Function +#End Region + + ''' + ''' Serializes current tasimasenetleri object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an tasimasenetleri object + ''' + ''' string xml file to load and deserialize + ''' Output tasimasenetleri object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tasimasenetleri, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tasimasenetleri) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tasimasenetleri) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As tasimasenetleri + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfTasimasatirlari + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfTasimasatirlari)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfTasimasatirlari object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfTasimasatirlari object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfTasimasatirlari object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTasimasatirlari, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTasimasatirlari) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTasimasatirlari) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfTasimasatirlari + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfTasimasatirlari) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfTasimasatirlari + Return CType(Serializer.Deserialize(s), ArrayOfTasimasatirlari) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfTasimasatirlari object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfTasimasatirlari object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfTasimasatirlari object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTasimasatirlari, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTasimasatirlari) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTasimasatirlari) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfTasimasatirlari + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class tasimasatirlari + +#Region "Private fields" + Private _tasima_satir_no As String + + Private _ambar_kodu As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Tasima_satir_no() As String + Get + Return Me._tasima_satir_no + End Get + Set + Me._tasima_satir_no = Value + End Set + End Property + + + Public Property Ambar_kodu() As String + Get + Return Me._ambar_kodu + End Get + Set + Me._ambar_kodu = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(tasimasatirlari)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current tasimasatirlari object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an tasimasatirlari object + ''' + ''' string workflow markup to deserialize + ''' Output tasimasatirlari object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tasimasatirlari, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tasimasatirlari) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tasimasatirlari) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As tasimasatirlari + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), tasimasatirlari) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As tasimasatirlari + Return CType(Serializer.Deserialize(s), tasimasatirlari) + End Function +#End Region + + ''' + ''' Serializes current tasimasatirlari object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an tasimasatirlari object + ''' + ''' string xml file to load and deserialize + ''' Output tasimasatirlari object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tasimasatirlari, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tasimasatirlari) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tasimasatirlari) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As tasimasatirlari + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class kalem + +#Region "Private fields" + Private _tamamlayici_bilgi As ArrayOfTamamlayici + + Private _tcgbacmakapatma_bilgi As ArrayOfTcgbacmakapatma + + Private _marka_model_bilgi As ArrayOfMarka + + Private _konteyner_Bilgi As ArrayOfKonteyner + + Private _vergiMuafiyetleri As ArrayOfVergiMuafiyeti + + Private _havacilikYakitTurleri As ArrayOfHavacilikYakitTuru + + Private _odemeSekilleri As ArrayOfOdemeSekli + + Private _gtip As String + + Private _imalatci_firma_bilgisi As String + + Private _kalem_sira_no As Integer + + Private _mensei_ulke As String + + Private _tamamlayici_olcu_birimi As String + + Private _uluslararasi_anlasma As String + + Private _algilama_birimi_1 As String + + Private _algilama_birimi_2 As String + + Private _muafiyetler_1 As String + + Private _muafiyetler_2 As String + + Private _muafiyetler_3 As String + + Private _muafiyetler_4 As String + + Private _muafiyetler_5 As String + + Private _algilama_birimi_3 As String + + Private _teslim_sekli As String + + Private _ek_kod As String + + Private _ozellik As String + + Private _fatura_miktarinin_dovizi As String + + Private _navlun_miktarinin_dovizi As String + + Private _sigorta_miktarinin_dovizi As String + + Private _tarifedeki_tanimi As String + + Private _ticari_tanimi As String + + Private _marka As String + + Private _numara As String + + Private _cinsi As String + + Private _miktar_birimi As String + + Private _mahrece_iade As String + + Private _ikincil_islem As String + + Private _satir_no As String + + Private _kdv_orani As String + + Private _kullanilmis_esya As String + + Private _aciklama_44 As String + + Private _imalatci_Vergino As String + + Private _yurtici_Diger_Aciklama As String + + Private _muafiyet_Aciklamasi As String + + Private _referans_Tarihi As String + + Private _yurtDisi_Komisyon_Dovizi As String + + Private _yurtDisi_Demuraj_Dovizi As String + + Private _yurtDisi_Royalti_Dovizi As String + + Private _yurtDisi_Faiz_Dovizi As String + + Private _yurtDisi_Diger_Dovizi As String + + Private _yurtDisi_Diger_Aciklama As String + + Private _kalem_Islem_Niteligi As String + + Private _giris_Cikis_Amaci As String + + Private _giris_Cikis_Amaci_Aciklama As String + + Private _sTM_IlKodu As String + + Private _esyaGeriGelmeSebebi As String + + Private _esyaGeriGelmeSebebiAciklamasi As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._odemeSekilleri = New ArrayOfOdemeSekli() + Me._havacilikYakitTurleri = New ArrayOfHavacilikYakitTuru() + Me._vergiMuafiyetleri = New ArrayOfVergiMuafiyeti() + Me._konteyner_Bilgi = New ArrayOfKonteyner() + Me._marka_model_bilgi = New ArrayOfMarka() + Me._tcgbacmakapatma_bilgi = New ArrayOfTcgbacmakapatma() + Me._tamamlayici_bilgi = New ArrayOfTamamlayici() + End Sub + + + Public Property tamamlayici_bilgi() As ArrayOfTamamlayici + Get + Return Me._tamamlayici_bilgi + End Get + Set + Me._tamamlayici_bilgi = Value + End Set + End Property + + + Public Property tcgbacmakapatma_bilgi() As ArrayOfTcgbacmakapatma + Get + Return Me._tcgbacmakapatma_bilgi + End Get + Set + Me._tcgbacmakapatma_bilgi = Value + End Set + End Property + + + Public Property marka_model_bilgi() As ArrayOfMarka + Get + Return Me._marka_model_bilgi + End Get + Set + Me._marka_model_bilgi = Value + End Set + End Property + + + Public Property konteyner_Bilgi() As ArrayOfKonteyner + Get + Return Me._konteyner_Bilgi + End Get + Set + Me._konteyner_Bilgi = Value + End Set + End Property + + + Public Property VergiMuafiyetleri() As ArrayOfVergiMuafiyeti + Get + Return Me._vergiMuafiyetleri + End Get + Set + Me._vergiMuafiyetleri = Value + End Set + End Property + + + Public Property HavacilikYakitTurleri() As ArrayOfHavacilikYakitTuru + Get + Return Me._havacilikYakitTurleri + End Get + Set + Me._havacilikYakitTurleri = Value + End Set + End Property + + + Public Property OdemeSekilleri() As ArrayOfOdemeSekli + Get + Return Me._odemeSekilleri + End Get + Set + Me._odemeSekilleri = Value + End Set + End Property + + + Public Property Gtip() As String + Get + Return Me._gtip + End Get + Set + Me._gtip = Value + End Set + End Property + + + Public Property Imalatci_firma_bilgisi() As String + Get + Return Me._imalatci_firma_bilgisi + End Get + Set + Me._imalatci_firma_bilgisi = Value + End Set + End Property + + + Public Property Kalem_sira_no() As Integer + Get + Return Me._kalem_sira_no + End Get + Set + Me._kalem_sira_no = Value + End Set + End Property + + + Public Property Mensei_ulke() As String + Get + Return Me._mensei_ulke + End Get + Set + Me._mensei_ulke = Value + End Set + End Property + + + Public Property Tamamlayici_olcu_birimi() As String + Get + Return Me._tamamlayici_olcu_birimi + End Get + Set + Me._tamamlayici_olcu_birimi = Value + End Set + End Property + + + Public Property Uluslararasi_anlasma() As String + Get + Return Me._uluslararasi_anlasma + End Get + Set + Me._uluslararasi_anlasma = Value + End Set + End Property + + + Public Property Algilama_birimi_1() As String + Get + Return Me._algilama_birimi_1 + End Get + Set + Me._algilama_birimi_1 = Value + End Set + End Property + + + Public Property Algilama_birimi_2() As String + Get + Return Me._algilama_birimi_2 + End Get + Set + Me._algilama_birimi_2 = Value + End Set + End Property + + + Public Property Muafiyetler_1() As String + Get + Return Me._muafiyetler_1 + End Get + Set + Me._muafiyetler_1 = Value + End Set + End Property + + + Public Property Muafiyetler_2() As String + Get + Return Me._muafiyetler_2 + End Get + Set + Me._muafiyetler_2 = Value + End Set + End Property + + + Public Property Muafiyetler_3() As String + Get + Return Me._muafiyetler_3 + End Get + Set + Me._muafiyetler_3 = Value + End Set + End Property + + + Public Property Muafiyetler_4() As String + Get + Return Me._muafiyetler_4 + End Get + Set + Me._muafiyetler_4 = Value + End Set + End Property + + + Public Property Muafiyetler_5() As String + Get + Return Me._muafiyetler_5 + End Get + Set + Me._muafiyetler_5 = Value + End Set + End Property + + + Public Property Algilama_birimi_3() As String + Get + Return Me._algilama_birimi_3 + End Get + Set + Me._algilama_birimi_3 = Value + End Set + End Property + + + Public Property Teslim_sekli() As String + Get + Return Me._teslim_sekli + End Get + Set + Me._teslim_sekli = Value + End Set + End Property + + + Public Property Ek_kod() As String + Get + Return Me._ek_kod + End Get + Set + Me._ek_kod = Value + End Set + End Property + + + Public Property Ozellik() As String + Get + Return Me._ozellik + End Get + Set + Me._ozellik = Value + End Set + End Property + + + Public Property Fatura_miktarinin_dovizi() As String + Get + Return Me._fatura_miktarinin_dovizi + End Get + Set + Me._fatura_miktarinin_dovizi = Value + End Set + End Property + + + Public Property Navlun_miktarinin_dovizi() As String + Get + Return Me._navlun_miktarinin_dovizi + End Get + Set + Me._navlun_miktarinin_dovizi = Value + End Set + End Property + + + Public Property Sigorta_miktarinin_dovizi() As String + Get + Return Me._sigorta_miktarinin_dovizi + End Get + Set + Me._sigorta_miktarinin_dovizi = Value + End Set + End Property + + + Public Property Tarifedeki_tanimi() As String + Get + Return Me._tarifedeki_tanimi + End Get + Set + Me._tarifedeki_tanimi = Value + End Set + End Property + + + Public Property Ticari_tanimi() As String + Get + Return Me._ticari_tanimi + End Get + Set + Me._ticari_tanimi = Value + End Set + End Property + + + Public Property Marka() As String + Get + Return Me._marka + End Get + Set + Me._marka = Value + End Set + End Property + + + Public Property Numara() As String + Get + Return Me._numara + End Get + Set + Me._numara = Value + End Set + End Property + + + Public Property Cinsi() As String + Get + Return Me._cinsi + End Get + Set + Me._cinsi = Value + End Set + End Property + + + Public Property Miktar_birimi() As String + Get + Return Me._miktar_birimi + End Get + Set + Me._miktar_birimi = Value + End Set + End Property + + + Public Property Mahrece_iade() As String + Get + Return Me._mahrece_iade + End Get + Set + Me._mahrece_iade = Value + End Set + End Property + + + Public Property Ikincil_islem() As String + Get + Return Me._ikincil_islem + End Get + Set + Me._ikincil_islem = Value + End Set + End Property + + + Public Property Satir_no() As String + Get + Return Me._satir_no + End Get + Set + Me._satir_no = Value + End Set + End Property + + + Public Property Kdv_orani() As String + Get + Return Me._kdv_orani + End Get + Set + Me._kdv_orani = Value + End Set + End Property + + + Public Property Kullanilmis_esya() As String + Get + Return Me._kullanilmis_esya + End Get + Set + Me._kullanilmis_esya = Value + End Set + End Property + + + Public Property Aciklama_44() As String + Get + Return Me._aciklama_44 + End Get + Set + Me._aciklama_44 = Value + End Set + End Property + + + Public Property Imalatci_Vergino() As String + Get + Return Me._imalatci_Vergino + End Get + Set + Me._imalatci_Vergino = Value + End Set + End Property + + + Public Property Yurtici_Diger_Aciklama() As String + Get + Return Me._yurtici_Diger_Aciklama + End Get + Set + Me._yurtici_Diger_Aciklama = Value + End Set + End Property + + + Public Property Muafiyet_Aciklamasi() As String + Get + Return Me._muafiyet_Aciklamasi + End Get + Set + Me._muafiyet_Aciklamasi = Value + End Set + End Property + + + Public Property Referans_Tarihi() As String + Get + Return Me._referans_Tarihi + End Get + Set + Me._referans_Tarihi = Value + End Set + End Property + + + Public Property YurtDisi_Komisyon_Dovizi() As String + Get + Return Me._yurtDisi_Komisyon_Dovizi + End Get + Set + Me._yurtDisi_Komisyon_Dovizi = Value + End Set + End Property + + + Public Property YurtDisi_Demuraj_Dovizi() As String + Get + Return Me._yurtDisi_Demuraj_Dovizi + End Get + Set + Me._yurtDisi_Demuraj_Dovizi = Value + End Set + End Property + + + Public Property YurtDisi_Royalti_Dovizi() As String + Get + Return Me._yurtDisi_Royalti_Dovizi + End Get + Set + Me._yurtDisi_Royalti_Dovizi = Value + End Set + End Property + + + Public Property YurtDisi_Faiz_Dovizi() As String + Get + Return Me._yurtDisi_Faiz_Dovizi + End Get + Set + Me._yurtDisi_Faiz_Dovizi = Value + End Set + End Property + + + Public Property YurtDisi_Diger_Dovizi() As String + Get + Return Me._yurtDisi_Diger_Dovizi + End Get + Set + Me._yurtDisi_Diger_Dovizi = Value + End Set + End Property + + + Public Property YurtDisi_Diger_Aciklama() As String + Get + Return Me._yurtDisi_Diger_Aciklama + End Get + Set + Me._yurtDisi_Diger_Aciklama = Value + End Set + End Property + + + Public Property Kalem_Islem_Niteligi() As String + Get + Return Me._kalem_Islem_Niteligi + End Get + Set + Me._kalem_Islem_Niteligi = Value + End Set + End Property + + + Public Property Giris_Cikis_Amaci() As String + Get + Return Me._giris_Cikis_Amaci + End Get + Set + Me._giris_Cikis_Amaci = Value + End Set + End Property + + + Public Property Giris_Cikis_Amaci_Aciklama() As String + Get + Return Me._giris_Cikis_Amaci_Aciklama + End Get + Set + Me._giris_Cikis_Amaci_Aciklama = Value + End Set + End Property + + + Public Property STM_IlKodu() As String + Get + Return Me._sTM_IlKodu + End Get + Set + Me._sTM_IlKodu = Value + End Set + End Property + + + Public Property EsyaGeriGelmeSebebi() As String + Get + Return Me._esyaGeriGelmeSebebi + End Get + Set + Me._esyaGeriGelmeSebebi = Value + End Set + End Property + + + Public Property EsyaGeriGelmeSebebiAciklamasi() As String + Get + Return Me._esyaGeriGelmeSebebiAciklamasi + End Get + Set + Me._esyaGeriGelmeSebebiAciklamasi = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(kalem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current kalem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an kalem object + ''' + ''' string workflow markup to deserialize + ''' Output kalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As kalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, kalem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As kalem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As kalem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), kalem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As kalem + Return CType(Serializer.Deserialize(s), kalem) + End Function +#End Region + + ''' + ''' Serializes current kalem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an kalem object + ''' + ''' string xml file to load and deserialize + ''' Output kalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As kalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, kalem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As kalem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As kalem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfTamamlayici + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfTamamlayici)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfTamamlayici object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfTamamlayici object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfTamamlayici object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTamamlayici, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTamamlayici) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTamamlayici) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfTamamlayici + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfTamamlayici) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfTamamlayici + Return CType(Serializer.Deserialize(s), ArrayOfTamamlayici) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfTamamlayici object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfTamamlayici object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfTamamlayici object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTamamlayici, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTamamlayici) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTamamlayici) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfTamamlayici + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfTcgbacmakapatma + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfTcgbacmakapatma)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfTcgbacmakapatma object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfTcgbacmakapatma object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfTcgbacmakapatma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTcgbacmakapatma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTcgbacmakapatma) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfTcgbacmakapatma) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfTcgbacmakapatma + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfTcgbacmakapatma) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfTcgbacmakapatma + Return CType(Serializer.Deserialize(s), ArrayOfTcgbacmakapatma) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfTcgbacmakapatma object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfTcgbacmakapatma object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfTcgbacmakapatma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTcgbacmakapatma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfTcgbacmakapatma) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfTcgbacmakapatma) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfTcgbacmakapatma + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfMarka + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfMarka)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfMarka object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfMarka object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfMarka object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfMarka, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfMarka) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfMarka) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfMarka + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfMarka) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfMarka + Return CType(Serializer.Deserialize(s), ArrayOfMarka) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfMarka object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfMarka object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfMarka object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfMarka, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfMarka) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfMarka) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfMarka + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfKonteyner + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfKonteyner)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfKonteyner object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfKonteyner object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfKonteyner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKonteyner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKonteyner) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKonteyner) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfKonteyner + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfKonteyner) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfKonteyner + Return CType(Serializer.Deserialize(s), ArrayOfKonteyner) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfKonteyner object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfKonteyner object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfKonteyner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKonteyner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKonteyner) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKonteyner) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfKonteyner + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfVergiMuafiyeti + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfVergiMuafiyeti)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfVergiMuafiyeti object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfVergiMuafiyeti object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfVergiMuafiyeti object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfVergiMuafiyeti, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfVergiMuafiyeti) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfVergiMuafiyeti) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfVergiMuafiyeti + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfVergiMuafiyeti) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfVergiMuafiyeti + Return CType(Serializer.Deserialize(s), ArrayOfVergiMuafiyeti) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfVergiMuafiyeti object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfVergiMuafiyeti object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfVergiMuafiyeti object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfVergiMuafiyeti, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfVergiMuafiyeti) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfVergiMuafiyeti) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfVergiMuafiyeti + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfHavacilikYakitTuru + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfHavacilikYakitTuru)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfHavacilikYakitTuru object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfHavacilikYakitTuru object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfHavacilikYakitTuru object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfHavacilikYakitTuru, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfHavacilikYakitTuru) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfHavacilikYakitTuru) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfHavacilikYakitTuru + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfHavacilikYakitTuru) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfHavacilikYakitTuru + Return CType(Serializer.Deserialize(s), ArrayOfHavacilikYakitTuru) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfHavacilikYakitTuru object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfHavacilikYakitTuru object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfHavacilikYakitTuru object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfHavacilikYakitTuru, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfHavacilikYakitTuru) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfHavacilikYakitTuru) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfHavacilikYakitTuru + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfOdemeSekli + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfOdemeSekli)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfOdemeSekli object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfOdemeSekli object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfOdemeSekli object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfOdemeSekli, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfOdemeSekli) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfOdemeSekli) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfOdemeSekli + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfOdemeSekli) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfOdemeSekli + Return CType(Serializer.Deserialize(s), ArrayOfOdemeSekli) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfOdemeSekli object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfOdemeSekli object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfOdemeSekli object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfOdemeSekli, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfOdemeSekli) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfOdemeSekli) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfOdemeSekli + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class tamamlayici + +#Region "Private fields" + Private _tamamlayici_bilgi As String + + Private _tamamlayici_bilgi_orani As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Tamamlayici_bilgi() As String + Get + Return Me._tamamlayici_bilgi + End Get + Set + Me._tamamlayici_bilgi = Value + End Set + End Property + + + Public Property Tamamlayici_bilgi_orani() As String + Get + Return Me._tamamlayici_bilgi_orani + End Get + Set + Me._tamamlayici_bilgi_orani = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(tamamlayici)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current tamamlayici object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an tamamlayici object + ''' + ''' string workflow markup to deserialize + ''' Output tamamlayici object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tamamlayici, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tamamlayici) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tamamlayici) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As tamamlayici + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), tamamlayici) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As tamamlayici + Return CType(Serializer.Deserialize(s), tamamlayici) + End Function +#End Region + + ''' + ''' Serializes current tamamlayici object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an tamamlayici object + ''' + ''' string xml file to load and deserialize + ''' Output tamamlayici object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tamamlayici, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tamamlayici) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tamamlayici) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As tamamlayici + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class tcgbacmakapatma + +#Region "Private fields" + Private _kapatilan_beyanname_no As String + + Private _kapatilan_kalem_no As Integer + + Private _aciklama As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Kapatilan_beyanname_no() As String + Get + Return Me._kapatilan_beyanname_no + End Get + Set + Me._kapatilan_beyanname_no = Value + End Set + End Property + + + Public Property Kapatilan_kalem_no() As Integer + Get + Return Me._kapatilan_kalem_no + End Get + Set + Me._kapatilan_kalem_no = Value + End Set + End Property + + + Public Property Aciklama() As String + Get + Return Me._aciklama + End Get + Set + Me._aciklama = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(tcgbacmakapatma)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current tcgbacmakapatma object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an tcgbacmakapatma object + ''' + ''' string workflow markup to deserialize + ''' Output tcgbacmakapatma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tcgbacmakapatma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tcgbacmakapatma) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As tcgbacmakapatma) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As tcgbacmakapatma + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), tcgbacmakapatma) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As tcgbacmakapatma + Return CType(Serializer.Deserialize(s), tcgbacmakapatma) + End Function +#End Region + + ''' + ''' Serializes current tcgbacmakapatma object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an tcgbacmakapatma object + ''' + ''' string xml file to load and deserialize + ''' Output tcgbacmakapatma object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tcgbacmakapatma, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, tcgbacmakapatma) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As tcgbacmakapatma) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As tcgbacmakapatma + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Marka + +#Region "Private fields" + Private _marka_Turu As String + + Private _marka_Tescil_No As String + + Private _marka_Adi As String + + Private _referans_No As String + + Private _model_Yili As String + + Private _model As String + + Private _motor_hacmi As String + + Private _silindir_adedi As Integer + + Private _renk As String + + Private _motorTipi As String + + Private _motorNo As String + + Private _motorGucu As Integer + + Private _vites As String + + Private _iMEINo As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Marka_Turu() As String + Get + Return Me._marka_Turu + End Get + Set + Me._marka_Turu = Value + End Set + End Property + + + Public Property Marka_Tescil_No() As String + Get + Return Me._marka_Tescil_No + End Get + Set + Me._marka_Tescil_No = Value + End Set + End Property + + + Public Property Marka_Adi() As String + Get + Return Me._marka_Adi + End Get + Set + Me._marka_Adi = Value + End Set + End Property + + + Public Property Referans_No() As String + Get + Return Me._referans_No + End Get + Set + Me._referans_No = Value + End Set + End Property + + + Public Property Model_Yili() As String + Get + Return Me._model_Yili + End Get + Set + Me._model_Yili = Value + End Set + End Property + + + Public Property Model() As String + Get + Return Me._model + End Get + Set + Me._model = Value + End Set + End Property + + + Public Property Motor_hacmi() As String + Get + Return Me._motor_hacmi + End Get + Set + Me._motor_hacmi = Value + End Set + End Property + + + Public Property Silindir_adedi() As Integer + Get + Return Me._silindir_adedi + End Get + Set + Me._silindir_adedi = Value + End Set + End Property + + + Public Property Renk() As String + Get + Return Me._renk + End Get + Set + Me._renk = Value + End Set + End Property + + + Public Property MotorTipi() As String + Get + Return Me._motorTipi + End Get + Set + Me._motorTipi = Value + End Set + End Property + + + Public Property MotorNo() As String + Get + Return Me._motorNo + End Get + Set + Me._motorNo = Value + End Set + End Property + + + Public Property MotorGucu() As Integer + Get + Return Me._motorGucu + End Get + Set + Me._motorGucu = Value + End Set + End Property + + + Public Property Vites() As String + Get + Return Me._vites + End Get + Set + Me._vites = Value + End Set + End Property + + + Public Property IMEINo() As String + Get + Return Me._iMEINo + End Get + Set + Me._iMEINo = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Marka)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Marka object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Marka object + ''' + ''' string workflow markup to deserialize + ''' Output Marka object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Marka, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Marka) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Marka) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Marka + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Marka) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Marka + Return CType(Serializer.Deserialize(s), Marka) + End Function +#End Region + + ''' + ''' Serializes current Marka object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Marka object + ''' + ''' string xml file to load and deserialize + ''' Output Marka object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Marka, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Marka) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Marka) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Marka + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Konteyner + +#Region "Private fields" + Private _konteyner_No As String + + Private _ulke_Kodu As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Konteyner_No() As String + Get + Return Me._konteyner_No + End Get + Set + Me._konteyner_No = Value + End Set + End Property + + + Public Property Ulke_Kodu() As String + Get + Return Me._ulke_Kodu + End Get + Set + Me._ulke_Kodu = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Konteyner)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Konteyner object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Konteyner object + ''' + ''' string workflow markup to deserialize + ''' Output Konteyner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Konteyner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Konteyner) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Konteyner) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Konteyner + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Konteyner) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Konteyner + Return CType(Serializer.Deserialize(s), Konteyner) + End Function +#End Region + + ''' + ''' Serializes current Konteyner object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Konteyner object + ''' + ''' string xml file to load and deserialize + ''' Output Konteyner object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Konteyner, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Konteyner) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Konteyner) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Konteyner + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VergiMuafiyeti + +#Region "Private fields" + Private _vergiMuafiyetKodu As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property VergiMuafiyetKodu() As String + Get + Return Me._vergiMuafiyetKodu + End Get + Set + Me._vergiMuafiyetKodu = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VergiMuafiyeti)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VergiMuafiyeti object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VergiMuafiyeti object + ''' + ''' string workflow markup to deserialize + ''' Output VergiMuafiyeti object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VergiMuafiyeti, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VergiMuafiyeti) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VergiMuafiyeti) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VergiMuafiyeti + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VergiMuafiyeti) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VergiMuafiyeti + Return CType(Serializer.Deserialize(s), VergiMuafiyeti) + End Function +#End Region + + ''' + ''' Serializes current VergiMuafiyeti object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VergiMuafiyeti object + ''' + ''' string xml file to load and deserialize + ''' Output VergiMuafiyeti object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VergiMuafiyeti, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VergiMuafiyeti) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VergiMuafiyeti) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VergiMuafiyeti + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class HavacilikYakitTuru + +#Region "Private fields" + Private _vergiNumarasi As String + + Private _faturaTarihi As String + + Private _faturaNumarasi As String + + Private _toplamFaturaMiktar As String + + Private _yakitTuru As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property VergiNumarasi() As String + Get + Return Me._vergiNumarasi + End Get + Set + Me._vergiNumarasi = Value + End Set + End Property + + + Public Property FaturaTarihi() As String + Get + Return Me._faturaTarihi + End Get + Set + Me._faturaTarihi = Value + End Set + End Property + + + Public Property FaturaNumarasi() As String + Get + Return Me._faturaNumarasi + End Get + Set + Me._faturaNumarasi = Value + End Set + End Property + + + Public Property ToplamFaturaMiktar() As String + Get + Return Me._toplamFaturaMiktar + End Get + Set + Me._toplamFaturaMiktar = Value + End Set + End Property + + + Public Property YakitTuru() As String + Get + Return Me._yakitTuru + End Get + Set + Me._yakitTuru = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(HavacilikYakitTuru)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current HavacilikYakitTuru object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an HavacilikYakitTuru object + ''' + ''' string workflow markup to deserialize + ''' Output HavacilikYakitTuru object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HavacilikYakitTuru, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HavacilikYakitTuru) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As HavacilikYakitTuru) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As HavacilikYakitTuru + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), HavacilikYakitTuru) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As HavacilikYakitTuru + Return CType(Serializer.Deserialize(s), HavacilikYakitTuru) + End Function +#End Region + + ''' + ''' Serializes current HavacilikYakitTuru object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an HavacilikYakitTuru object + ''' + ''' string xml file to load and deserialize + ''' Output HavacilikYakitTuru object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HavacilikYakitTuru, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, HavacilikYakitTuru) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As HavacilikYakitTuru) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As HavacilikYakitTuru + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class OdemeSekli + +#Region "Private fields" + Private _odemeSekliKodu As String + + Private _tBFID As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property OdemeSekliKodu() As String + Get + Return Me._odemeSekliKodu + End Get + Set + Me._odemeSekliKodu = Value + End Set + End Property + + + Public Property TBFID() As String + Get + Return Me._tBFID + End Get + Set + Me._tBFID = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(OdemeSekli)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current OdemeSekli object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an OdemeSekli object + ''' + ''' string workflow markup to deserialize + ''' Output OdemeSekli object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As OdemeSekli, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, OdemeSekli) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As OdemeSekli) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As OdemeSekli + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), OdemeSekli) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As OdemeSekli + Return CType(Serializer.Deserialize(s), OdemeSekli) + End Function +#End Region + + ''' + ''' Serializes current OdemeSekli object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an OdemeSekli object + ''' + ''' string xml file to load and deserialize + ''' Output OdemeSekli object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As OdemeSekli, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, OdemeSekli) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As OdemeSekli) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As OdemeSekli + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Soru_Cevap + +#Region "Private fields" + Private _kalem_no As Integer + + Private _soru_no As String + + Private _cevap As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Kalem_no() As Integer + Get + Return Me._kalem_no + End Get + Set + Me._kalem_no = Value + End Set + End Property + + + Public Property Soru_no() As String + Get + Return Me._soru_no + End Get + Set + Me._soru_no = Value + End Set + End Property + + + Public Property Cevap() As String + Get + Return Me._cevap + End Get + Set + Me._cevap = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Soru_Cevap)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Soru_Cevap object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Soru_Cevap object + ''' + ''' string workflow markup to deserialize + ''' Output Soru_Cevap object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Soru_Cevap, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Soru_Cevap) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Soru_Cevap) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Soru_Cevap + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Soru_Cevap) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Soru_Cevap + Return CType(Serializer.Deserialize(s), Soru_Cevap) + End Function +#End Region + + ''' + ''' Serializes current Soru_Cevap object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Soru_Cevap object + ''' + ''' string xml file to load and deserialize + ''' Output Soru_Cevap object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Soru_Cevap, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Soru_Cevap) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Soru_Cevap) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Soru_Cevap + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Dokuman + +#Region "Private fields" + Private _kalem_no As Integer + + Private _kod As String + + Private _dogrulama As String + + Private _belge_tarihi As String + + Private _referans As String + + Private _vize_Tarihi As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Kalem_no() As Integer + Get + Return Me._kalem_no + End Get + Set + Me._kalem_no = Value + End Set + End Property + + + Public Property Kod() As String + Get + Return Me._kod + End Get + Set + Me._kod = Value + End Set + End Property + + + Public Property Dogrulama() As String + Get + Return Me._dogrulama + End Get + Set + Me._dogrulama = Value + End Set + End Property + + + Public Property Belge_tarihi() As String + Get + Return Me._belge_tarihi + End Get + Set + Me._belge_tarihi = Value + End Set + End Property + + + Public Property Referans() As String + Get + Return Me._referans + End Get + Set + Me._referans = Value + End Set + End Property + + + Public Property Vize_Tarihi() As String + Get + Return Me._vize_Tarihi + End Get + Set + Me._vize_Tarihi = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Dokuman)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Dokuman object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Dokuman object + ''' + ''' string workflow markup to deserialize + ''' Output Dokuman object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Dokuman, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Dokuman) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Dokuman) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Dokuman + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Dokuman) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Dokuman + Return CType(Serializer.Deserialize(s), Dokuman) + End Function +#End Region + + ''' + ''' Serializes current Dokuman object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Dokuman object + ''' + ''' string xml file to load and deserialize + ''' Output Dokuman object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Dokuman, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Dokuman) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Dokuman) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Dokuman + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Vergi + +#Region "Private fields" + Private _kalem_no As Integer + + Private _kod As String + + Private _aciklama As String + + Private _oran As String + + Private _odeme_sekli As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property Kalem_no() As Integer + Get + Return Me._kalem_no + End Get + Set + Me._kalem_no = Value + End Set + End Property + + + Public Property Kod() As String + Get + Return Me._kod + End Get + Set + Me._kod = Value + End Set + End Property + + + Public Property Aciklama() As String + Get + Return Me._aciklama + End Get + Set + Me._aciklama = Value + End Set + End Property + + + Public Property Oran() As String + Get + Return Me._oran + End Get + Set + Me._oran = Value + End Set + End Property + + + Public Property Odeme_sekli() As String + Get + Return Me._odeme_sekli + End Get + Set + Me._odeme_sekli = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Vergi)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Vergi object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Vergi object + ''' + ''' string workflow markup to deserialize + ''' Output Vergi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Vergi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Vergi) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Vergi) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Vergi + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Vergi) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Vergi + Return CType(Serializer.Deserialize(s), Vergi) + End Function +#End Region + + ''' + ''' Serializes current Vergi object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Vergi object + ''' + ''' string xml file to load and deserialize + ''' Output Vergi object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Vergi, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Vergi) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Vergi) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Vergi + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class Kiymet + +#Region "Private fields" + Private _teslimSekli As String + + Private _faturaTarihiSayisi As String + + Private _sozlesmeTarihiSayisi As String + + Private _gumrukIdaresiKarari As String + + Private _aliciSatici As String + + Private _munasebet As String + + Private _emsal As String + + Private _aliciSaticiAyrintilar As String + + Private _kisitlamalar As String + + Private _edim As String + + Private _kisitlamalarAyrintilar As String + + Private _royalti As String + + Private _royaltiKosullar As String + + Private _saticiyaIntikal As String + + Private _saticiyaIntikalKosullar As String + + Private _sehirYer As String + + Private _taahutname As String + + Private _kiymetKalemler As ArrayOfKiymetKalem + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._kiymetKalemler = New ArrayOfKiymetKalem() + End Sub + + + Public Property TeslimSekli() As String + Get + Return Me._teslimSekli + End Get + Set + Me._teslimSekli = Value + End Set + End Property + + + Public Property FaturaTarihiSayisi() As String + Get + Return Me._faturaTarihiSayisi + End Get + Set + Me._faturaTarihiSayisi = Value + End Set + End Property + + + Public Property SozlesmeTarihiSayisi() As String + Get + Return Me._sozlesmeTarihiSayisi + End Get + Set + Me._sozlesmeTarihiSayisi = Value + End Set + End Property + + + Public Property GumrukIdaresiKarari() As String + Get + Return Me._gumrukIdaresiKarari + End Get + Set + Me._gumrukIdaresiKarari = Value + End Set + End Property + + + Public Property AliciSatici() As String + Get + Return Me._aliciSatici + End Get + Set + Me._aliciSatici = Value + End Set + End Property + + + Public Property Munasebet() As String + Get + Return Me._munasebet + End Get + Set + Me._munasebet = Value + End Set + End Property + + + Public Property Emsal() As String + Get + Return Me._emsal + End Get + Set + Me._emsal = Value + End Set + End Property + + + Public Property AliciSaticiAyrintilar() As String + Get + Return Me._aliciSaticiAyrintilar + End Get + Set + Me._aliciSaticiAyrintilar = Value + End Set + End Property + + + Public Property Kisitlamalar() As String + Get + Return Me._kisitlamalar + End Get + Set + Me._kisitlamalar = Value + End Set + End Property + + + Public Property Edim() As String + Get + Return Me._edim + End Get + Set + Me._edim = Value + End Set + End Property + + + Public Property KisitlamalarAyrintilar() As String + Get + Return Me._kisitlamalarAyrintilar + End Get + Set + Me._kisitlamalarAyrintilar = Value + End Set + End Property + + + Public Property Royalti() As String + Get + Return Me._royalti + End Get + Set + Me._royalti = Value + End Set + End Property + + + Public Property RoyaltiKosullar() As String + Get + Return Me._royaltiKosullar + End Get + Set + Me._royaltiKosullar = Value + End Set + End Property + + + Public Property SaticiyaIntikal() As String + Get + Return Me._saticiyaIntikal + End Get + Set + Me._saticiyaIntikal = Value + End Set + End Property + + + Public Property SaticiyaIntikalKosullar() As String + Get + Return Me._saticiyaIntikalKosullar + End Get + Set + Me._saticiyaIntikalKosullar = Value + End Set + End Property + + + Public Property SehirYer() As String + Get + Return Me._sehirYer + End Get + Set + Me._sehirYer = Value + End Set + End Property + + + Public Property Taahutname() As String + Get + Return Me._taahutname + End Get + Set + Me._taahutname = Value + End Set + End Property + + + Public Property KiymetKalemler() As ArrayOfKiymetKalem + Get + Return Me._kiymetKalemler + End Get + Set + Me._kiymetKalemler = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(Kiymet)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current Kiymet object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an Kiymet object + ''' + ''' string workflow markup to deserialize + ''' Output Kiymet object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Kiymet, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Kiymet) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As Kiymet) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As Kiymet + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), Kiymet) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As Kiymet + Return CType(Serializer.Deserialize(s), Kiymet) + End Function +#End Region + + ''' + ''' Serializes current Kiymet object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an Kiymet object + ''' + ''' string xml file to load and deserialize + ''' Output Kiymet object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Kiymet, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, Kiymet) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As Kiymet) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As Kiymet + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class ArrayOfKiymetKalem + +#Region "Private fields" + Private Shared sSerializer As XmlSerializer +#End Region + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(ArrayOfKiymetKalem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current ArrayOfKiymetKalem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an ArrayOfKiymetKalem object + ''' + ''' string workflow markup to deserialize + ''' Output ArrayOfKiymetKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKiymetKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKiymetKalem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As ArrayOfKiymetKalem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As ArrayOfKiymetKalem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), ArrayOfKiymetKalem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As ArrayOfKiymetKalem + Return CType(Serializer.Deserialize(s), ArrayOfKiymetKalem) + End Function +#End Region + + ''' + ''' Serializes current ArrayOfKiymetKalem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an ArrayOfKiymetKalem object + ''' + ''' string xml file to load and deserialize + ''' Output ArrayOfKiymetKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKiymetKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, ArrayOfKiymetKalem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As ArrayOfKiymetKalem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As ArrayOfKiymetKalem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class KiymetKalem + +#Region "Private fields" + Private _kiymetKalemNo As Integer + + Private _beyannameKalemNo As Integer + + Private _digerOdemelerNiteligi As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property KiymetKalemNo() As Integer + Get + Return Me._kiymetKalemNo + End Get + Set + Me._kiymetKalemNo = Value + End Set + End Property + + + Public Property BeyannameKalemNo() As Integer + Get + Return Me._beyannameKalemNo + End Get + Set + Me._beyannameKalemNo = Value + End Set + End Property + + + Public Property DigerOdemelerNiteligi() As String + Get + Return Me._digerOdemelerNiteligi + End Get + Set + Me._digerOdemelerNiteligi = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(KiymetKalem)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current KiymetKalem object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an KiymetKalem object + ''' + ''' string workflow markup to deserialize + ''' Output KiymetKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As KiymetKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, KiymetKalem) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As KiymetKalem) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As KiymetKalem + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), KiymetKalem) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As KiymetKalem + Return CType(Serializer.Deserialize(s), KiymetKalem) + End Function +#End Region + + ''' + ''' Serializes current KiymetKalem object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an KiymetKalem object + ''' + ''' string xml file to load and deserialize + ''' Output KiymetKalem object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As KiymetKalem, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, KiymetKalem) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As KiymetKalem) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As KiymetKalem + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.json b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.json new file mode 100644 index 0000000..cb245e8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.json @@ -0,0 +1,1576 @@ +{ + "$id": "BeyannameBilgi.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "This JSON Schema file was generated from ./BeyannameBilgi.xsd on Fri Jan 31 2020 10:35:11 GMT+0300 (GMT+03:00). For more information please see http://www.xsd2jsonschema.org", + "description": "Schema tag attributes: xmlns:tns='http://tempuri.org/' elementFormDefault='qualified' targetNamespace='http://tempuri.org/' xmlns:xs='http://www.w3.org/2001/XMLSchema'", + "type": "object", + "anyOf": [ + { + "required": ["BeyannameBilgi"] + }, + { + "required": ["BeyannameBilgi"] + }, + { + "required": ["ArrayOfFirma"] + }, + { + "required": ["firma"] + }, + { + "required": ["ArrayOfTeminat"] + }, + { + "required": ["Teminat"] + }, + { + "required": ["ArrayOfOzetbeyan"] + }, + { + "required": ["Ozetbeyan"] + }, + { + "required": ["ArrayOfTasimasenetleri"] + }, + { + "required": ["tasimasenetleri"] + }, + { + "required": ["ArrayOfTasimasatirlari"] + }, + { + "required": ["tasimasatirlari"] + }, + { + "required": ["ArrayOfKalem"] + }, + { + "required": ["kalem"] + }, + { + "required": ["ArrayOfTamamlayici"] + }, + { + "required": ["tamamlayici"] + }, + { + "required": ["ArrayOfTcgbacmakapatma"] + }, + { + "required": ["tcgbacmakapatma"] + }, + { + "required": ["ArrayOfMarka"] + }, + { + "required": ["Marka"] + }, + { + "required": ["ArrayOfKonteyner"] + }, + { + "required": ["Konteyner"] + }, + { + "required": ["ArrayOfVergiMuafiyeti"] + }, + { + "required": ["VergiMuafiyeti"] + }, + { + "required": ["ArrayOfHavacilikYakitTuru"] + }, + { + "required": ["HavacilikYakitTuru"] + }, + { + "required": ["ArrayOfOdemeSekli"] + }, + { + "required": ["OdemeSekli"] + }, + { + "required": ["ArrayOfSoru_Cevap"] + }, + { + "required": ["Soru_Cevap"] + }, + { + "required": ["ArrayOfDokuman"] + }, + { + "required": ["Dokuman"] + }, + { + "required": ["ArrayOfVergi"] + }, + { + "required": ["Vergi"] + }, + { + "required": ["ArrayOfKiymet"] + }, + { + "required": ["Kiymet"] + }, + { + "required": ["ArrayOfKiymetKalem"] + }, + { + "required": ["KiymetKalem"] + } + ], + "properties": { + "BeyannameBilgi": { + "$ref": "#/definitions/BeyannameBilgi" + }, + "ArrayOfFirma": { + "$ref": "#/definitions/ArrayOfFirma" + }, + "firma": { + "$ref": "#/definitions/firma" + }, + "ArrayOfTeminat": { + "$ref": "#/definitions/ArrayOfTeminat" + }, + "Teminat": { + "$ref": "#/definitions/Teminat" + }, + "ArrayOfOzetbeyan": { + "$ref": "#/definitions/ArrayOfOzetbeyan" + }, + "Ozetbeyan": { + "$ref": "#/definitions/Ozetbeyan" + }, + "ArrayOfTasimasenetleri": { + "$ref": "#/definitions/ArrayOfTasimasenetleri" + }, + "tasimasenetleri": { + "$ref": "#/definitions/tasimasenetleri" + }, + "ArrayOfTasimasatirlari": { + "$ref": "#/definitions/ArrayOfTasimasatirlari" + }, + "tasimasatirlari": { + "$ref": "#/definitions/tasimasatirlari" + }, + "ArrayOfKalem": { + "$ref": "#/definitions/ArrayOfKalem" + }, + "kalem": { + "$ref": "#/definitions/kalem" + }, + "ArrayOfTamamlayici": { + "$ref": "#/definitions/ArrayOfTamamlayici" + }, + "tamamlayici": { + "$ref": "#/definitions/tamamlayici" + }, + "ArrayOfTcgbacmakapatma": { + "$ref": "#/definitions/ArrayOfTcgbacmakapatma" + }, + "tcgbacmakapatma": { + "$ref": "#/definitions/tcgbacmakapatma" + }, + "ArrayOfMarka": { + "$ref": "#/definitions/ArrayOfMarka" + }, + "Marka": { + "$ref": "#/definitions/Marka" + }, + "ArrayOfKonteyner": { + "$ref": "#/definitions/ArrayOfKonteyner" + }, + "Konteyner": { + "$ref": "#/definitions/Konteyner" + }, + "ArrayOfVergiMuafiyeti": { + "$ref": "#/definitions/ArrayOfVergiMuafiyeti" + }, + "VergiMuafiyeti": { + "$ref": "#/definitions/VergiMuafiyeti" + }, + "ArrayOfHavacilikYakitTuru": { + "$ref": "#/definitions/ArrayOfHavacilikYakitTuru" + }, + "HavacilikYakitTuru": { + "$ref": "#/definitions/HavacilikYakitTuru" + }, + "ArrayOfOdemeSekli": { + "$ref": "#/definitions/ArrayOfOdemeSekli" + }, + "OdemeSekli": { + "$ref": "#/definitions/OdemeSekli" + }, + "ArrayOfSoru_Cevap": { + "$ref": "#/definitions/ArrayOfSoru_Cevap" + }, + "Soru_Cevap": { + "$ref": "#/definitions/Soru_Cevap" + }, + "ArrayOfDokuman": { + "$ref": "#/definitions/ArrayOfDokuman" + }, + "Dokuman": { + "$ref": "#/definitions/Dokuman" + }, + "ArrayOfVergi": { + "$ref": "#/definitions/ArrayOfVergi" + }, + "Vergi": { + "$ref": "#/definitions/Vergi" + }, + "ArrayOfKiymet": { + "$ref": "#/definitions/ArrayOfKiymet" + }, + "Kiymet": { + "$ref": "#/definitions/Kiymet" + }, + "ArrayOfKiymetKalem": { + "$ref": "#/definitions/ArrayOfKiymetKalem" + }, + "KiymetKalem": { + "$ref": "#/definitions/KiymetKalem" + } + }, + "definitions": { + "BeyannameBilgi": { + "type": "object", + "properties": { + "Beyanname_no": { + "type": "string" + }, + "Rejim": { + "type": "string" + }, + "GUMRUK": { + "type": "string" + }, + "Basitlestirilmis_usul": { + "type": "string" + }, + "Yuk_belgeleri_sayisi": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Kap_adedi": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Ticaret_ulkesi": { + "type": "string" + }, + "Referans_no": { + "type": "string" + }, + "Birlik_kayit_numarasi": { + "type": "string" + }, + "Birlik_kripto_numarasi": { + "type": "string" + }, + "Cikis_ulkesi": { + "type": "string" + }, + "Gidecegi_ulke": { + "type": "string" + }, + "Gidecegi_sevk_ulkesi": { + "type": "string" + }, + "Cikistaki_aracin_tipi": { + "type": "string" + }, + "Cikistaki_aracin_kimligi": { + "type": "string" + }, + "Cikistaki_aracin_ulkesi": { + "type": "string" + }, + "Teslim_sekli": { + "type": "string" + }, + "Teslim_yeri": { + "type": "string" + }, + "Konteyner": { + "type": "string" + }, + "Sinirdaki_aracin_tipi": { + "type": "string" + }, + "Sinirdaki_aracin_kimligi": { + "type": "string" + }, + "Sinirdaki_aracin_ulkesi": { + "type": "string" + }, + "Toplam_fatura": { + "type": "number" + }, + "Toplam_fatura_dovizi": { + "type": "string" + }, + "Toplam_navlun": { + "type": "number" + }, + "Toplan_navlun_dovizi": { + "type": "string" + }, + "Sinirdaki_tasima_sekli": { + "type": "string" + }, + "Alici_satici_iliskisi": { + "type": "string" + }, + "Toplam_sigorta": { + "type": "number" + }, + "Toplam_sigorta_dovizi": { + "type": "string" + }, + "Yukleme_bosaltma_yeri": { + "type": "string" + }, + "Toplam_yurt_disi_harcamalar": { + "type": "number" + }, + "Toplam_yurt_disi_harcamalarin_dovizi": { + "type": "string" + }, + "Toplam_yurt_ici_harcamalar": { + "type": "number" + }, + "Banka_kodu": { + "type": "string" + }, + "Esyanin_bulundugu_yer": { + "type": "string" + }, + "Varis_gumruk_idaresi": { + "type": "string" + }, + "Antrepo_kodu": { + "type": "string" + }, + "Tasarlanan_guzergah": { + "type": "string" + }, + "Telafi_edici_vergi": { + "type": "number" + }, + "Giris_gumruk_idaresi": { + "type": "string" + }, + "Islemin_niteligi": { + "type": "string" + }, + "Aciklamalar": { + "type": "string" + }, + "Kullanici_kodu": { + "type": "string" + }, + "Referans_tarihi": { + "type": "string" + }, + "Odeme": { + "type": "string" + }, + "Odeme_araci": { + "type": "string" + }, + "Musavir_referansi": { + "type": "string" + }, + "Gonderici_vergi_no": { + "type": "string" + }, + "Alici_vergi_no": { + "type": "string" + }, + "Beyan_sahibi_vergi_no": { + "type": "string" + }, + "Musavir_vergi_no": { + "type": "string" + }, + "Asil_sorumlu_vergi_no": { + "type": "string" + }, + "Firma_bilgi": { + "$ref": "#/definitions/ArrayOfFirma" + }, + "Teminat": { + "$ref": "#/definitions/ArrayOfTeminat" + }, + "Ozetbeyanlar": { + "$ref": "#/definitions/ArrayOfOzetbeyan" + }, + "Kalemler": { + "$ref": "#/definitions/ArrayOfKalem" + }, + "Sorular_cevaplar": { + "$ref": "#/definitions/ArrayOfSoru_Cevap" + }, + "Dokumanlar": { + "$ref": "#/definitions/ArrayOfDokuman" + }, + "Vergiler": { + "$ref": "#/definitions/ArrayOfVergi" + }, + "KiymetBildirim": { + "$ref": "#/definitions/ArrayOfKiymet" + }, + "mail1": { + "type": "string" + }, + "mail2": { + "type": "string" + }, + "mail3": { + "type": "string" + }, + "mobil1": { + "type": "string" + }, + "mobil2": { + "type": "string" + }, + "FazlaMesaiID": { + "type": "string" + }, + "LimanKodu": { + "type": "string" + } + }, + "required": [ + "Yuk_belgeleri_sayisi", + "Kap_adedi", + "Toplam_fatura", + "Toplam_navlun", + "Toplam_sigorta", + "Toplam_yurt_disi_harcamalar", + "Toplam_yurt_ici_harcamalar", + "Telafi_edici_vergi", + "Firma_bilgi", + "Teminat", + "Ozetbeyanlar", + "Kalemler", + "Sorular_cevaplar", + "Dokumanlar", + "Vergiler", + "KiymetBildirim" + ] + }, + "ArrayOfFirma": { + "type": "object", + "properties": { + "firma": { + "oneOf": [ + { + "$ref": "#/definitions/firma" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/firma" + } + } + ] + } + } + }, + "firma": { + "type": "object", + "properties": { + "Tip": { + "type": "string" + }, + "Ulke_kodu": { + "type": "string" + }, + "Posta_kodu": { + "type": "string" + }, + "Kimlik_turu": { + "type": "string" + }, + "Faks": { + "type": "string" + }, + "No": { + "type": "string" + }, + "Adi_unvani": { + "type": "string" + }, + "Cadde_s_no": { + "type": "string" + }, + "Telefon": { + "type": "string" + }, + "Il_ilce": { + "type": "string" + } + } + }, + "ArrayOfTeminat": { + "type": "object", + "properties": { + "Teminat": { + "oneOf": [ + { + "$ref": "#/definitions/Teminat" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Teminat" + } + } + ] + } + } + }, + "Teminat": { + "type": "object", + "properties": { + "Teminat_sekli": { + "type": "string" + }, + "Teminat_orani": { + "type": "number" + }, + "Banka_mektubu_tutari": { + "type": "number" + }, + "Nakdi_teminat_tutari": { + "type": "number" + }, + "Diger_tutar": { + "type": "number" + }, + "Global_teminat_no": { + "type": "string" + }, + "Aciklama": { + "type": "string" + }, + "Diger_tutar_referansi": { + "type": "string" + } + }, + "required": [ + "Teminat_orani", + "Banka_mektubu_tutari", + "Nakdi_teminat_tutari", + "Diger_tutar" + ] + }, + "ArrayOfOzetbeyan": { + "type": "object", + "properties": { + "Ozetbeyan": { + "oneOf": [ + { + "$ref": "#/definitions/Ozetbeyan" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Ozetbeyan" + } + } + ] + } + } + }, + "Ozetbeyan": { + "type": "object", + "properties": { + "ozbyacma_bilgi": { + "$ref": "#/definitions/ArrayOfTasimasenetleri" + }, + "Ozetbeyan_no": { + "type": "string" + }, + "Ozetbeyan_islem_kapsami": { + "type": "string" + }, + "Ambar_ici": { + "type": "string" + }, + "Baska_rejim": { + "type": "string" + }, + "Aciklama": { + "type": "string" + } + }, + "required": ["ozbyacma_bilgi"] + }, + "ArrayOfTasimasenetleri": { + "type": "object", + "properties": { + "tasimasenetleri": { + "oneOf": [ + { + "$ref": "#/definitions/tasimasenetleri" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/tasimasenetleri" + } + } + ] + } + } + }, + "tasimasenetleri": { + "type": "object", + "properties": { + "Tasima_senedi_no": { + "type": "string" + }, + "tasimasatir_bilgi": { + "$ref": "#/definitions/ArrayOfTasimasatirlari" + } + }, + "required": ["tasimasatir_bilgi"] + }, + "ArrayOfTasimasatirlari": { + "type": "object", + "properties": { + "tasimasatirlari": { + "oneOf": [ + { + "$ref": "#/definitions/tasimasatirlari" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/tasimasatirlari" + } + } + ] + } + } + }, + "tasimasatirlari": { + "type": "object", + "properties": { + "Tasima_satir_no": { + "type": "string" + }, + "Ambar_kodu": { + "type": "string" + }, + "Acilacak_miktar": { + "type": "number" + } + }, + "required": ["Acilacak_miktar"] + }, + "ArrayOfKalem": { + "type": "object", + "properties": { + "kalem": { + "oneOf": [ + { + "$ref": "#/definitions/kalem" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/kalem" + } + } + ] + } + } + }, + "kalem": { + "type": "object", + "properties": { + "tamamlayici_bilgi": { + "$ref": "#/definitions/ArrayOfTamamlayici" + }, + "tcgbacmakapatma_bilgi": { + "$ref": "#/definitions/ArrayOfTcgbacmakapatma" + }, + "marka_model_bilgi": { + "$ref": "#/definitions/ArrayOfMarka" + }, + "konteyner_Bilgi": { + "$ref": "#/definitions/ArrayOfKonteyner" + }, + "VergiMuafiyetleri": { + "$ref": "#/definitions/ArrayOfVergiMuafiyeti" + }, + "HavacilikYakitTurleri": { + "$ref": "#/definitions/ArrayOfHavacilikYakitTuru" + }, + "OdemeSekilleri": { + "$ref": "#/definitions/ArrayOfOdemeSekli" + }, + "Gtip": { + "type": "string" + }, + "Imalatci_firma_bilgisi": { + "type": "string" + }, + "Kalem_sira_no": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Mensei_ulke": { + "type": "string" + }, + "Brut_agirlik": { + "type": "number" + }, + "Net_agirlik": { + "type": "number" + }, + "Tamamlayici_olcu_birimi": { + "type": "string" + }, + "Istatistiki_miktar": { + "type": "number" + }, + "Uluslararasi_anlasma": { + "type": "string" + }, + "Algilama_birimi_1": { + "type": "string" + }, + "Algilama_miktari_1": { + "type": "number" + }, + "Algilama_birimi_2": { + "type": "string" + }, + "Algilama_miktari_2": { + "type": "number" + }, + "Muafiyetler_1": { + "type": "string" + }, + "Muafiyetler_2": { + "type": "string" + }, + "Muafiyetler_3": { + "type": "string" + }, + "Muafiyetler_4": { + "type": "string" + }, + "Muafiyetler_5": { + "type": "string" + }, + "Algilama_birimi_3": { + "type": "string" + }, + "Algilama_miktari_3": { + "type": "number" + }, + "Teslim_sekli": { + "type": "string" + }, + "Ek_kod": { + "type": "string" + }, + "Ozellik": { + "type": "string" + }, + "Fatura_miktari": { + "type": "number" + }, + "Fatura_miktarinin_dovizi": { + "type": "string" + }, + "Sinir_gecis_ucreti": { + "type": "number" + }, + "Navlun_miktari": { + "type": "number" + }, + "Navlun_miktarinin_dovizi": { + "type": "string" + }, + "Istatistiki_kiymet": { + "type": "number" + }, + "Sigorta_miktari": { + "type": "number" + }, + "Sigorta_miktarinin_dovizi": { + "type": "string" + }, + "Tarifedeki_tanimi": { + "type": "string" + }, + "Ticari_tanimi": { + "type": "string" + }, + "Marka": { + "type": "string" + }, + "Numara": { + "type": "string" + }, + "Cinsi": { + "type": "string" + }, + "Adedi": { + "type": "number" + }, + "Miktar_birimi": { + "type": "string" + }, + "Mahrece_iade": { + "type": "string" + }, + "Ikincil_islem": { + "type": "string" + }, + "Satir_no": { + "type": "string" + }, + "Miktar": { + "type": "number" + }, + "Kdv_orani": { + "type": "string" + }, + "Kullanilmis_esya": { + "type": "string" + }, + "Aciklama_44": { + "type": "string" + }, + "Imalatci_Vergino": { + "type": "string" + }, + "Yurtici_Diger": { + "type": "number" + }, + "Yurtici_Banka": { + "type": "number" + }, + "Yurtici_Depolama": { + "type": "number" + }, + "Yurtici_Tahliye": { + "type": "number" + }, + "Yurtici_Liman": { + "type": "number" + }, + "Yurtici_Kultur": { + "type": "number" + }, + "Yurtici_Kkdf": { + "type": "number" + }, + "Yurtici_Cevre": { + "type": "number" + }, + "Yurtici_Diger_Aciklama": { + "type": "string" + }, + "Muafiyet_Aciklamasi": { + "type": "string" + }, + "Referans_Tarihi": { + "type": "string" + }, + "YurtDisi_Komisyon": { + "type": "number" + }, + "YurtDisi_Demuraj": { + "type": "number" + }, + "YurtDisi_Royalti": { + "type": "number" + }, + "YurtDisi_Faiz": { + "type": "number" + }, + "YurtDisi_Diger": { + "type": "number" + }, + "YurtDisi_Komisyon_Dovizi": { + "type": "string" + }, + "YurtDisi_Demuraj_Dovizi": { + "type": "string" + }, + "YurtDisi_Royalti_Dovizi": { + "type": "string" + }, + "YurtDisi_Faiz_Dovizi": { + "type": "string" + }, + "YurtDisi_Diger_Dovizi": { + "type": "string" + }, + "YurtDisi_Diger_Aciklama": { + "type": "string" + }, + "Kalem_Islem_Niteligi": { + "type": "string" + }, + "Giris_Cikis_Amaci": { + "type": "string" + }, + "Giris_Cikis_Amaci_Aciklama": { + "type": "string" + }, + "STM_IlKodu": { + "type": "string" + }, + "EsyaGeriGelmeSebebi": { + "type": "string" + }, + "EsyaGeriGelmeSebebiAciklamasi": { + "type": "string" + } + }, + "required": [ + "tamamlayici_bilgi", + "tcgbacmakapatma_bilgi", + "marka_model_bilgi", + "konteyner_Bilgi", + "VergiMuafiyetleri", + "HavacilikYakitTurleri", + "OdemeSekilleri", + "Kalem_sira_no", + "Brut_agirlik", + "Net_agirlik", + "Istatistiki_miktar", + "Algilama_miktari_1", + "Algilama_miktari_2", + "Algilama_miktari_3", + "Fatura_miktari", + "Sinir_gecis_ucreti", + "Navlun_miktari", + "Istatistiki_kiymet", + "Sigorta_miktari", + "Adedi", + "Miktar", + "Yurtici_Diger", + "Yurtici_Banka", + "Yurtici_Depolama", + "Yurtici_Tahliye", + "Yurtici_Liman", + "Yurtici_Kultur", + "Yurtici_Kkdf", + "Yurtici_Cevre", + "Yurtici_Diger_Aciklama", + "Muafiyet_Aciklamasi", + "Referans_Tarihi", + "YurtDisi_Komisyon", + "YurtDisi_Demuraj", + "YurtDisi_Royalti", + "YurtDisi_Faiz", + "YurtDisi_Diger", + "YurtDisi_Komisyon_Dovizi", + "YurtDisi_Demuraj_Dovizi", + "YurtDisi_Royalti_Dovizi", + "YurtDisi_Faiz_Dovizi", + "YurtDisi_Diger_Dovizi", + "YurtDisi_Diger_Aciklama", + "Kalem_Islem_Niteligi", + "Giris_Cikis_Amaci", + "Giris_Cikis_Amaci_Aciklama", + "STM_IlKodu", + "EsyaGeriGelmeSebebi", + "EsyaGeriGelmeSebebiAciklamasi" + ] + }, + "ArrayOfTamamlayici": { + "type": "object", + "properties": { + "tamamlayici": { + "oneOf": [ + { + "$ref": "#/definitions/tamamlayici" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/tamamlayici" + } + } + ] + } + } + }, + "tamamlayici": { + "type": "object", + "properties": { + "Tamamlayici_bilgi": { + "type": "string" + }, + "Tamamlayici_bilgi_orani": { + "type": "string" + } + } + }, + "ArrayOfTcgbacmakapatma": { + "type": "object", + "properties": { + "tcgbacmakapatma": { + "oneOf": [ + { + "$ref": "#/definitions/tcgbacmakapatma" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/tcgbacmakapatma" + } + } + ] + } + } + }, + "tcgbacmakapatma": { + "type": "object", + "properties": { + "Kapatilan_beyanname_no": { + "type": "string" + }, + "Kapatilan_kalem_no": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Kapatilan_miktar": { + "type": "number" + }, + "Aciklama": { + "type": "string" + } + }, + "required": ["Kapatilan_kalem_no", "Kapatilan_miktar"] + }, + "ArrayOfMarka": { + "type": "object", + "properties": { + "Marka": { + "oneOf": [ + { + "$ref": "#/definitions/Marka" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Marka" + } + } + ] + } + } + }, + "Marka": { + "type": "object", + "properties": { + "Marka_Turu": { + "type": "string" + }, + "Marka_Tescil_No": { + "type": "string" + }, + "Marka_Adi": { + "type": "string" + }, + "Marka_Kiymeti": { + "type": "number" + }, + "Referans_No": { + "type": "string" + }, + "Model_Yili": { + "type": "string" + }, + "Model": { + "type": "string" + }, + "Motor_hacmi": { + "type": "string" + }, + "Silindir_adedi": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Renk": { + "type": "string" + }, + "MotorTipi": { + "type": "string" + }, + "MotorNo": { + "type": "string" + }, + "MotorGucu": { + "type": "integer" + }, + "Vites": { + "type": "string" + }, + "IMEINo": { + "type": "string" + } + }, + "required": ["Marka_Kiymeti"] + }, + "ArrayOfKonteyner": { + "type": "object", + "properties": { + "Konteyner": { + "oneOf": [ + { + "$ref": "#/definitions/Konteyner" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Konteyner" + } + } + ] + } + } + }, + "Konteyner": { + "type": "object", + "properties": { + "Konteyner_No": { + "type": "string" + }, + "Ulke_Kodu": { + "type": "string" + } + } + }, + "ArrayOfVergiMuafiyeti": { + "type": "object", + "properties": { + "VergiMuafiyeti": { + "oneOf": [ + { + "$ref": "#/definitions/VergiMuafiyeti" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/VergiMuafiyeti" + } + } + ] + } + } + }, + "VergiMuafiyeti": { + "type": "object", + "properties": { + "VergiMuafiyetKodu": { + "type": "string" + } + } + }, + "ArrayOfHavacilikYakitTuru": { + "type": "object", + "properties": { + "HavacilikYakitTuru": { + "oneOf": [ + { + "$ref": "#/definitions/HavacilikYakitTuru" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/HavacilikYakitTuru" + } + } + ] + } + } + }, + "HavacilikYakitTuru": { + "type": "object", + "properties": { + "VergiNumarasi": { + "type": "string" + }, + "FaturaTarihi": { + "type": "string" + }, + "FaturaNumarasi": { + "type": "string" + }, + "ToplamFaturaMiktar": { + "type": "string" + }, + "YakitTuru": { + "type": "string" + } + }, + "required": [ + "VergiNumarasi", + "FaturaTarihi", + "FaturaNumarasi", + "ToplamFaturaMiktar", + "YakitTuru" + ] + }, + "ArrayOfOdemeSekli": { + "type": "object", + "properties": { + "OdemeSekli": { + "oneOf": [ + { + "$ref": "#/definitions/OdemeSekli" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/OdemeSekli" + } + } + ] + } + } + }, + "OdemeSekli": { + "type": "object", + "properties": { + "OdemeSekliKodu": { + "type": "string" + }, + "OdemeTutari": { + "type": "number" + }, + "TBFID": { + "type": "string" + } + } + }, + "ArrayOfSoru_Cevap": { + "type": "object", + "properties": { + "Soru_Cevap": { + "oneOf": [ + { + "$ref": "#/definitions/Soru_Cevap" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Soru_Cevap" + } + } + ] + } + } + }, + "Soru_Cevap": { + "type": "object", + "properties": { + "Kalem_no": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Soru_no": { + "type": "string" + }, + "Cevap": { + "type": "string" + } + }, + "required": ["Kalem_no"] + }, + "ArrayOfDokuman": { + "type": "object", + "properties": { + "Dokuman": { + "oneOf": [ + { + "$ref": "#/definitions/Dokuman" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Dokuman" + } + } + ] + } + } + }, + "Dokuman": { + "type": "object", + "properties": { + "Kalem_no": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Kod": { + "type": "string" + }, + "Dogrulama": { + "type": "string" + }, + "Belge_tarihi": { + "type": "string" + }, + "Referans": { + "type": "string" + }, + "Vize_Tarihi": { + "type": "string" + } + }, + "required": ["Kalem_no"] + }, + "ArrayOfVergi": { + "type": "object", + "properties": { + "Vergi": { + "oneOf": [ + { + "$ref": "#/definitions/Vergi" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Vergi" + } + } + ] + } + } + }, + "Vergi": { + "type": "object", + "properties": { + "Kalem_no": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "Kod": { + "type": "string" + }, + "Aciklama": { + "type": "string" + }, + "Miktar": { + "type": "number" + }, + "Oran": { + "type": "string" + }, + "Odeme_sekli": { + "type": "string" + }, + "Vergi_matrahi": { + "type": "number" + } + }, + "required": ["Kalem_no", "Miktar", "Vergi_matrahi"] + }, + "ArrayOfKiymet": { + "type": "object", + "properties": { + "Kiymet": { + "oneOf": [ + { + "$ref": "#/definitions/Kiymet" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Kiymet" + } + } + ] + } + } + }, + "Kiymet": { + "type": "object", + "properties": { + "TeslimSekli": { + "type": "string" + }, + "FaturaTarihiSayisi": { + "type": "string" + }, + "SozlesmeTarihiSayisi": { + "type": "string" + }, + "GumrukIdaresiKarari": { + "type": "string" + }, + "AliciSatici": { + "type": "string" + }, + "Munasebet": { + "type": "string" + }, + "Emsal": { + "type": "string" + }, + "AliciSaticiAyrintilar": { + "type": "string" + }, + "Kisitlamalar": { + "type": "string" + }, + "Edim": { + "type": "string" + }, + "KisitlamalarAyrintilar": { + "type": "string" + }, + "Royalti": { + "type": "string" + }, + "RoyaltiKosullar": { + "type": "string" + }, + "SaticiyaIntikal": { + "type": "string" + }, + "SaticiyaIntikalKosullar": { + "type": "string" + }, + "SehirYer": { + "type": "string" + }, + "Taahutname": { + "type": "string" + }, + "KiymetKalemler": { + "$ref": "#/definitions/ArrayOfKiymetKalem" + } + } + }, + "ArrayOfKiymetKalem": { + "type": "object", + "properties": { + "KiymetKalem": { + "oneOf": [ + { + "$ref": "#/definitions/KiymetKalem" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/KiymetKalem" + } + } + ] + } + } + }, + "KiymetKalem": { + "type": "object", + "properties": { + "KiymetKalemNo": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "BeyannameKalemNo": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "DolayliOdeme": { + "type": "number" + }, + "Komisyon": { + "type": "number" + }, + "Tellaliye": { + "type": "number" + }, + "KapAmbalajBedeli": { + "type": "number" + }, + "IthalaKatilanMalzeme": { + "type": "number" + }, + "IthalaUretimAraclar": { + "type": "number" + }, + "IthalaUretimTuketimMalzemesi": { + "type": "number" + }, + "PlanTaslak": { + "type": "number" + }, + "RoyaltiLisans": { + "type": "number" + }, + "DolayliIntikal": { + "type": "number" + }, + "Nakliye": { + "type": "number" + }, + "Sigorta": { + "type": "number" + }, + "GirisSonrasiNakliye": { + "type": "number" + }, + "TeknikYardim": { + "type": "number" + }, + "DigerOdemeler": { + "type": "number" + }, + "DigerOdemelerNiteligi": { + "type": "string" + }, + "VergiHarcFon": { + "type": "number" + } + }, + "required": [ + "KiymetKalemNo", + "BeyannameKalemNo", + "DolayliOdeme", + "Komisyon", + "Tellaliye", + "KapAmbalajBedeli", + "IthalaKatilanMalzeme", + "IthalaUretimAraclar", + "IthalaUretimTuketimMalzemesi", + "PlanTaslak", + "RoyaltiLisans", + "DolayliIntikal", + "Nakliye", + "Sigorta", + "GirisSonrasiNakliye", + "TeknikYardim", + "DigerOdemeler", + "VergiHarcFon" + ] + } + } +} diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.xsd new file mode 100644 index 0000000..c35478a --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/BeyannameBilgi.xsd @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.json b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.json new file mode 100644 index 0000000..12fbf14 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.json @@ -0,0 +1,1362 @@ +{ + $id: 'BeyannameBilgi.json', + $schema: 'http://json-schema.org/draft-07/schema#', + title: + 'This JSON Schema file was generated from ./BeyannameBilgi.xsd on Fri Jan 31 2020 10:35:11 GMT+0300 (GMT+03:00). For more information please see http://www.xsd2jsonschema.org', + description: + "Schema tag attributes: xmlns:tns='http://tempuri.org/' elementFormDefault='qualified' targetNamespace='http://tempuri.org/' xmlns:xs='http://www.w3.org/2001/XMLSchema'", + type: 'object', + anyOf: [ + { + required: ['DeclarationInfo'], + }, + { + required: ['DeclarationInfo'], + }, + { + required: ['ArrayOfParty'], + }, + { + required: ['party'], + }, + { + required: ['ArrayOfGuarantee'], + }, + { + required: ['Guarantee'], + }, + { + required: ['ArrayOfSummaryDeclaration'], + }, + { + required: ['summaryDeclaration'], + }, + { + required: ['ArrayOfTransportBills'], + }, + { + required: ['transportBills'], + }, + { + required: ['ArrayOfTransportItems'], + }, + { + required: ['TransportItems'], + }, + { + required: ['ArrayOfItem'], + }, + { + required: ['item'], + }, + { + required: ['ArrayOfComlementary'], + }, + { + required: ['Comlementary'], + }, + { + required: ['ArrayOfTcgbOpenClose'], + }, + { + required: ['TcgbOpenClose'], + }, + { + required: ['ArrayOfTradeMark'], + }, + { + required: ['TradeMark'], + }, + { + required: ['ArrayOfContainer'], + }, + { + required: ['Container'], + }, + { + required: ['ArrayOfDutyExemption'], + }, + { + required: ['DutyExemption'], + }, + { + required: ['ArrayOfAviationFuelType'], + }, + { + required: ['AviationFuelType'], + }, + { + required: ['ArrayOfPaymentMeans'], + }, + { + required: ['PaymentMeans'], + }, + { + required: ['ArrayOfQuestion'], + }, + { + required: ['Question'], + }, + { + required: ['ArrayOfDocument'], + }, + { + required: ['Document'], + }, + { + required: ['ArrayOfDuty'], + }, + { + required: ['Duty'], + }, + { + required: ['ArrayOfValue'], + }, + { + required: ['Value'], + }, + { + required: ['ArrayOfValueItem'], + }, + { + required: ['ValueItem'], + }, + ], + properties: { + DeclarationInfo: { + $ref: '#/definitions/DeclarationInfo', + }, + ArrayOfParty: { + $ref: '#/definitions/ArrayOfParty', + }, + party: { + $ref: '#/definitions/party', + }, + ArrayOfGuarantee: { + $ref: '#/definitions/ArrayOfGuarantee', + }, + Guarantee: { + $ref: '#/definitions/Guarantee', + }, + ArrayOfSummaryDeclaration: { + $ref: '#/definitions/ArrayOfSummaryDeclaration', + }, + SummaryDeclaration: { + $ref: '#/definitions/SummaryDeclaration', + }, + ArrayOfTransportBills: { + $ref: '#/definitions/ArrayOfTransportBills', + }, + transportBills: { + $ref: '#/definitions/transportBills', + }, + ArrayOfTransportItems: { + $ref: '#/definitions/ArrayOfTransportItems', + }, + transportItems: { + $ref: '#/definitions/transportItems', + }, + ArrayOfItem: { + $ref: '#/definitions/ArrayOfItem', + }, + Item: { + $ref: '#/definitions/item', + }, + ArrayOfComlementary: { + $ref: '#/definitions/ArrayOfComlementary', + }, + Comlementary: { + $ref: '#/definitions/Comlementary', + }, + ArrayOfTcgbOpenClose: { + $ref: '#/definitions/ArrayOfTcgbOpenClose', + }, + TcgbOpenClose: { + $ref: '#/definitions/TcgbOpenClose', + }, + ArrayOfTradeMark: { + $ref: '#/definitions/ArrayOfTradeMark', + }, + TradeMark: { + $ref: '#/definitions/TradeMark', + }, + ArrayOfContainer: { + $ref: '#/definitions/ArrayOfContainer', + }, + Container: { + $ref: '#/definitions/Container', + }, + ArrayOfDutyExemption: { + $ref: '#/definitions/ArrayOfDutyExemption', + }, + DutyExemption: { + $ref: '#/definitions/DutyExemption', + }, + ArrayOfAviationFuelType: { + $ref: '#/definitions/ArrayOfAviationFuelType', + }, + AviationFuelType: { + $ref: '#/definitions/AviationFuelType', + }, + ArrayOfPaymentMeans: { + $ref: '#/definitions/ArrayOfPaymentMeans', + }, + PaymentMeans: { + $ref: '#/definitions/PaymentMeans', + }, + ArrayOfQuestion: { + $ref: '#/definitions/ArrayOfQuestion', + }, + Question: { + $ref: '#/definitions/Question', + }, + ArrayOfDocument: { + $ref: '#/definitions/ArrayOfDocument', + }, + Document: { + $ref: '#/definitions/Document', + }, + ArrayOfDuty: { + $ref: '#/definitions/ArrayOfDuty', + }, + Duty: { + $ref: '#/definitions/Duty', + }, + ArrayOfValue: { + $ref: '#/definitions/ArrayOfValue', + }, + Value: { + $ref: '#/definitions/Value', + }, + ArrayOfValueItem: { + $ref: '#/definitions/ArrayOfValueItem', + }, + ValueItem: { + $ref: '#/definitions/ValueItem', + }, + }, + definitions: { + DeclarationInfo: { + type: 'object', + properties: { + declarationNo: { + type: 'string', + }, + Procedure: { + type: 'string', + }, + customs: { + type: 'string', + }, + simplifiedProcedure: { + type: 'string', + }, + loadingList: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + totalPackageQuantity: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + tradeCountry: { + type: 'string', + }, + referenceNo: { + type: 'string', + }, + associationRegistrationNo: { + type: 'string', + }, + associationCryptoNo: { + type: 'string', + }, + countryOfExit: { + type: 'string', + }, + countryOfDestination: { + type: 'string', + }, + countryOfFirstDestination: { + type: 'string', + }, + exitVehicleType: { + type: 'string', + }, + exitVehicleIdentity: { + type: 'string', + }, + exitVehicleCountry: { + type: 'string', + }, + deliveryTerms: { + type: 'string', + }, + deliveryPlace: { + type: 'string', + }, + Container: { + type: 'string', + }, + borderVehicleType: { + type: 'string', + }, + borderVehicleIdentity: { + type: 'string', + }, + borderVehicleCountry: { + type: 'string', + }, + totalPayableAmount: { + type: 'number', + }, + totalPayableAmountCurrency: { + type: 'string', + }, + totalFreightAmount: { + type: 'number', + }, + totalFreightAmountCurrency: { + type: 'string', + }, + borderTransportMeans: { + type: 'string', + }, + partyRelationshipCode: { + type: 'string', + }, + totalInsurance: { + type: 'number', + }, + totalInsuranceCurrency: { + type: 'string', + }, + transportHandlingPlace: { + type: 'string', + }, + totalForeignExpenditure: { + type: 'number', + }, + totalForeignExpenditureCurrency: { + type: 'string', + }, + totalDomesticExpenditure: { + type: 'number', + }, + bankCode: { + type: 'string', + }, + itemLocation: { + type: 'string', + }, + destinationCustomsOffice: { + type: 'string', + }, + warehouseCode: { + type: 'string', + }, + plannedRoute: { + type: 'string', + }, + compensatoryDuty: { + type: 'number', + }, + exitCustomsOffice: { + type: 'string', + }, + transactionNature: { + type: 'string', + }, + remarks: { + type: 'string', + }, + userCode: { + type: 'string', + }, + referenceDate: { + type: 'string', + }, + payment: { + type: 'string', + }, + paymentMeans: { + type: 'string', + }, + customsBrokerReference: { + type: 'string', + }, + consignorTaxNo: { + type: 'string', + }, + consigneeTaxNo: { + type: 'string', + }, + declarantTaxNo: { + type: 'string', + }, + financialResponsibleTaxNo: { + type: 'string', + }, + personelResponsibleTaxNo: { + type: 'string', + }, + partyInfo: { + $ref: '#/definitions/ArrayOfParty', + }, + guarantee: { + $ref: '#/definitions/ArrayOfGuarantee', + }, + summaryDeclarations: { + $ref: '#/definitions/ArrayOfSummaryDeclaration', + }, + items: { + $ref: '#/definitions/ArrayOfItem', + }, + questions: { + $ref: '#/definitions/ArrayOfQuestion', + }, + documents: { + $ref: '#/definitions/ArrayOfDocument', + }, + duties: { + $ref: '#/definitions/ArrayOfDuty', + }, + valueDeclaration: { + $ref: '#/definitions/ArrayOfValue', + }, + electronicMail1: { + type: 'string', + }, + electronicMail2: { + type: 'string', + }, + electronicMail3: { + type: 'string', + }, + mobile1: { + type: 'string', + }, + mobile2: { + type: 'string', + }, + overTimeID: { + type: 'string', + }, + portCode: { + type: 'string', + }, + }, + required: [ + 'loadingList', + 'totalPackageQuantity', + 'totalPayableAmount', + 'totalFreightAmount', + 'totalInsurance', + 'totalForeignExpenditure', + 'totalDomesticExpenditure', + 'compensatoryDuty', + 'partyInfo', + 'guarantee', + 'summaryDeclarations', + 'items', + 'questions', + 'documents', + 'duties', + 'valueDeclaration', + ], + }, + ArrayOfParty: { + type: 'array', + items: { + $ref: '#/definitions/party', + }, + }, + party: { + type: 'object', + properties: { + partyType: { + type: 'string', + }, + countryCode: { + type: 'string', + }, + postalCode: { + type: 'string', + }, + identificationType: { + type: 'string', + }, + telefax: { + type: 'string', + }, + no: { + type: 'string', + }, + nameTitle: { + type: 'string', + }, + streetName: { + type: 'string', + }, + telephone: { + type: 'string', + }, + cityAndCitySubdivisionName: { + type: 'string', + }, + }, + }, + ArrayOfGuarantee: { + type: 'array', + items: { + $ref: '#/definitions/Guarantee', + }, + }, + Guarantee: { + type: 'object', + properties: { + guaranteeType: { + type: 'string', + }, + guaranteeRate: { + type: 'number', + }, + letterOfGuaranteeAmount: { + type: 'number', + }, + cashGuaranteeAmount: { + type: 'number', + }, + otherAmount: { + type: 'number', + }, + globalGuaranteeNo: { + type: 'string', + }, + explanation: { + type: 'string', + }, + otherAmountReference: { + type: 'string', + }, + }, + required: [ + 'guaranteeRate', + 'letterOfGuaranteeAmount', + 'cashGuaranteeAmount', + 'otherAmount', + ], + }, + ArrayOfSummaryDeclaration: { + type: 'array', + items: { + $ref: '#/definitions/SummaryDeclaration', + }, + }, + SummaryDeclaration: { + type: 'object', + properties: { + transportBills: { + $ref: '#/definitions/ArrayOfTransportBills', + }, + summaryDeclarationNo: { + type: 'string', + }, + summaryDeclarationJobScope: { + type: 'string', + }, + innerWhareHouse: { + type: 'string', + }, + otherRegime: { + type: 'string', + }, + explanation: { + type: 'string', + }, + }, + required: ['transportBills'], + }, + ArrayOfTransportBills: { + type: 'array', + items: { + $ref: '#/definitions/transportBills', + }, + }, + transportBills: { + type: 'object', + properties: { + transportIBillNo: { + type: 'string', + }, + transportItems: { + $ref: '#/definitions/ArrayOfTransportItems', + }, + }, + required: ['transportItems'], + }, + ArrayOfTransportItems: { + type: 'array', + items: { + $ref: '#/definitions/transportItems', + }, + }, + transportItems: { + type: 'object', + properties: { + transportItemNo: { + type: 'string', + }, + wharehouseKod: { + type: 'string', + }, + openAmount: { + type: 'number', + }, + }, + required: ['openAmount'], + }, + ArrayOfItem: { + type: 'array', + items: { + $ref: '#/definitions/item', + }, + }, + item: { + type: 'object', + properties: { + supplementaryInfo: { + $ref: '#/definitions/ArrayOfComlementary', + }, + tcgbOpenCloses: { + $ref: '#/definitions/ArrayOfTcgbOpenClose', + }, + tradeMarkInfo: { + $ref: '#/definitions/ArrayOfTradeMark', + }, + containers: { + $ref: '#/definitions/ArrayOfContainer', + }, + dutyExemptions: { + $ref: '#/definitions/ArrayOfDutyExemption', + }, + aviationFuelTypes: { + $ref: '#/definitions/ArrayOfAviationFuelType', + }, + paymentMeans: { + $ref: '#/definitions/ArrayOfPaymentMeans', + }, + HSCode: { + type: 'string', + }, + producer: { + type: 'string', + }, + itemLineNo: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + originCountry: { + type: 'string', + }, + grossWeight: { + type: 'number', + }, + netWeight: { + type: 'number', + }, + statisticalQuantityUnit: { + type: 'string', + }, + statisticalQuantity: { + type: 'number', + }, + internationalTreaty: { + type: 'string', + }, + detectionUnit1: { + type: 'string', + }, + detectionAmount1: { + type: 'number', + }, + detectionUnit2: { + type: 'string', + }, + detectionAmount2: { + type: 'number', + }, + exemptions1: { + type: 'string', + }, + exemptions2: { + type: 'string', + }, + exemptions3: { + type: 'string', + }, + exemptions4: { + type: 'string', + }, + exemptions5: { + type: 'string', + }, + detectionUnit3: { + type: 'string', + }, + detectionAmount3: { + type: 'number', + }, + deliveryTerms: { + type: 'string', + }, + additionalCode: { + type: 'string', + }, + specification: { + type: 'string', + }, + invoiceAmount: { + type: 'number', + }, + invoiceAmountCurrency: { + type: 'string', + }, + borderPassFee: { + type: 'number', + }, + freightAmount: { + type: 'number', + }, + freightAmountCurrency: { + type: 'string', + }, + statisticalValue: { + type: 'number', + }, + insuranceAmount: { + type: 'number', + }, + insuranceAmountCurrency: { + type: 'string', + }, + tariffDefinition: { + type: 'string', + }, + itemDescription: { + type: 'string', + }, + brandName: { + type: 'string', + }, + itemNo: { + type: 'string', + }, + packagingType: { + type: 'string', + }, + packageQuantity: { + type: 'number', + }, + itemUnitOfMeasure: { + type: 'string', + }, + returnToOrigin: { + type: 'string', + }, + secondaryProcess: { + type: 'string', + }, + lineNumber: { + type: 'string', + }, + itemQuantity: { + type: 'number', + }, + vatRate: { + type: 'string', + }, + usedGoods: { + type: 'string', + }, + description44: { + type: 'string', + }, + producerTaxNo: { + type: 'string', + }, + domesticOther: { + type: 'number', + }, + domesticBank: { + type: 'number', + }, + domesticStorage: { + type: 'number', + }, + domesticDischarge: { + type: 'number', + }, + domesticPort: { + type: 'number', + }, + domesticCulture: { + type: 'number', + }, + domesticRUSF: { + type: 'number', + }, + domesticEnvironment: { + type: 'number', + }, + domesticOtherExplanation: { + type: 'string', + }, + exemptionExplanation: { + type: 'string', + }, + referenceDate: { + type: 'string', + }, + foreignCommission: { + type: 'number', + }, + foreignDemurrage: { + type: 'number', + }, + foreignRoyalty: { + type: 'number', + }, + foreignInterest: { + type: 'number', + }, + foreignOther: { + type: 'number', + }, + foreignComissionCurrency: { + type: 'string', + }, + foreignDemurrageCurrency: { + type: 'string', + }, + foreignRoyaltyCurrency: { + type: 'string', + }, + foreignInterestCurrency: { + type: 'string', + }, + foreignOtherCurrency: { + type: 'string', + }, + foreignOtherExplanation: { + type: 'string', + }, + itemProcessType: { + type: 'string', + }, + reasonForEntryOrExit: { + type: 'string', + }, + reasonForEntryOrExitExplanation: { + type: 'string', + }, + stmProvinceCode: { + type: 'string', + }, + itemReturnReason: { + type: 'string', + }, + itemReturnReasonExplanation: { + type: 'string', + }, + }, + required: [ + 'supplementaryInfo', + 'tcgbOpenCloses', + 'tradeMarkInfo', + 'containers', + 'dutyExemptions', + 'aviationFuelTypes', + 'paymentMeans', + 'itemLineNo', + 'grossWeight', + 'netWeight', + 'statisticalQuantity', + 'detectionUnit1', + 'detectionUnit2', + 'detectionUnit3', + 'invoiceAmount', + 'borderPassFee', + 'freightAmount', + 'statisticalValue', + 'insuranceAmount', + 'packageQuantity', + 'itemQuantity', + 'domesticOther', + 'domesticBank', + 'domesticStorage', + 'domesticDischarge', + 'domesticPort', + 'domesticCulture', + 'domesticRUSF', + 'domesticEnvironment', + 'domesticOtherExplanation', + 'exemptionExplanation', + 'referenceDate', + 'foreignCommission', + 'foreignDemurrage', + 'foreignRoyalty', + 'foreignInterest', + 'foreignOther', + 'foreignComissionCurrency', + 'foreignDemurrageCurrency', + 'foreignRoyaltyCurrency', + 'foreignInterestCurrency', + 'foreignOtherCurrency', + 'foreignOtherExplanation', + 'itemProcessType', + 'reasonForEntryOrExit', + 'reasonForEntryOrExitExplanation', + 'stmProvinceCode', + 'itemReturnReason', + 'itemReturnReasonExplanation', + ], + }, + ArrayOfComlementary: { + type: 'array', + items: { + $ref: '#/definitions/Comlementary', + }, + }, + Comlementary: { + type: 'object', + properties: { + supplementaryInfo: { + type: 'string', + }, + statisticalQuantityUnit: { + type: 'string', + }, + }, + }, + ArrayOfTcgbOpenClose: { + type: 'array', + items: { + $ref: '#/definitions/TcgbOpenClose', + }, + }, + TcgbOpenClose: { + type: 'object', + properties: { + closedDeclarationNo: { + type: 'string', + }, + closedItemNo: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + closedAmount: { + type: 'number', + }, + description: { + type: 'string', + }, + }, + required: ['closedItemNo', 'closedAmount'], + }, + ArrayOfTradeMark: { + type: 'array', + items: { + $ref: '#/definitions/TradeMark', + }, + }, + TradeMark: { + type: 'object', + properties: { + tradeMarkType: { + type: 'string', + }, + tradeMarkRegistrationNo: { + type: 'string', + }, + tradeMarkName: { + type: 'string', + }, + tradeMarkValue: { + type: 'number', + }, + referanceNo: { + type: 'string', + }, + modelYear: { + type: 'string', + }, + model: { + type: 'string', + }, + engineVolume: { + type: 'string', + }, + engineCylinderQuantity: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + color: { + type: 'string', + }, + engineType: { + type: 'string', + }, + engineNo: { + type: 'string', + }, + horsePower: { + type: 'integer', + }, + gear: { + type: 'string', + }, + IMEINo: { + type: 'string', + }, + }, + required: ['tradeMarkValue'], + }, + ArrayOfContainer: { + type: 'array', + items: { + $ref: '#/definitions/Container', + }, + }, + Container: { + type: 'object', + properties: { + containerNo: { + type: 'string', + }, + countryCode: { + type: 'string', + }, + }, + }, + ArrayOfDutyExemption: { + type: 'array', + items: { + $ref: '#/definitions/DutyExemption', + }, + }, + DutyExemption: { + type: 'object', + properties: { + dutyExemptionCode: { + type: 'string', + }, + }, + }, + ArrayOfAviationFuelType: { + type: 'array', + items: { + $ref: '#/definitions/AviationFuelType', + }, + }, + AviationFuelType: { + type: 'object', + properties: { + taxNo: { + type: 'string', + }, + invoiceDate: { + type: 'string', + }, + invoiceNumber: { + type: 'string', + }, + totalInvoiceAmount: { + type: 'string', + }, + fuelType: { + type: 'string', + }, + }, + required: [ + 'taxNo', + 'invoiceDate', + 'invoiceNumber', + 'totalInvoiceAmount', + 'fuelType', + ], + }, + ArrayOfPaymentMeans: { + type: 'array', + items: { + $ref: '#/definitions/PaymentMeans', + }, + }, + PaymentMeans: { + type: 'object', + properties: { + paymentMeansCode: { + type: 'string', + }, + paymentAmount: { + type: 'number', + }, + TBFID: { + type: 'string', + }, + }, + }, + ArrayOfQuestion: { + type: 'array', + items: { + $ref: '#/definitions/Question', + }, + }, + Question: { + type: 'object', + properties: { + itemNo: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + questionNo: { + type: 'string', + }, + answer: { + type: 'string', + }, + }, + required: ['itemNo'], + }, + ArrayOfDocument: { + type: 'array', + items: { + $ref: '#/definitions/Document', + }, + }, + Document: { + type: 'object', + properties: { + itemNo: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + code: { + type: 'string', + }, + verification: { + type: 'string', + }, + documentDate: { + type: 'string', + }, + reference: { + type: 'string', + }, + visaDate: { + type: 'string', + }, + }, + required: ['itemNo'], + }, + ArrayOfDuty: { + type: 'array', + items: { + $ref: '#/definitions/Duty', + }, + }, + Duty: { + type: 'object', + properties: { + itemNo: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + code: { + type: 'string', + }, + explanation: { + type: 'string', + }, + dutyAmount: { + type: 'number', + }, + dutyRate: { + type: 'string', + }, + paymentMeans: { + type: 'string', + }, + dutyAssesment: { + type: 'number', + }, + }, + required: ['itemNo', 'dutyAmount', 'dutyAssesment'], + }, + ArrayOfValue: { + type: 'array', + items: { + $ref: '#/definitions/Value', + }, + }, + Value: { + type: 'object', + properties: { + deliveryTerms: { + type: 'string', + }, + invoiceDateNo: { + type: 'string', + }, + contractDateNo: { + type: 'string', + }, + customsOfficeNo: { + type: 'string', + }, + buyerSeller: { + type: 'string', + }, + relation: { + type: 'string', + }, + imputed: { + type: 'string', + }, + buyerSellerDetails: { + type: 'string', + }, + constraints: { + type: 'string', + }, + deed: { + type: 'string', + }, + constraintDetails: { + type: 'string', + }, + royalty: { + type: 'string', + }, + royaltyConditions: { + type: 'string', + }, + sellerPass: { + type: 'string', + }, + sellerPassConditions: { + type: 'string', + }, + cityLocation: { + type: 'string', + }, + recognisance: { + type: 'string', + }, + ValueItems: { + $ref: '#/definitions/ArrayOfValueItem', + }, + }, + }, + ArrayOfValueItem: { + type: 'array', + items: { + $ref: '#/definitions/ValueItem', + }, + }, + ValueItem: { + type: 'object', + properties: { + valueItemNumber: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + declarationItemNumber: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + }, + indirectPayment: { + type: 'number', + }, + commission: { + type: 'number', + }, + brokerageCommission: { + type: 'number', + }, + containerPackagePrice: { + type: 'number', + }, + importAddedMaterail: { + type: 'number', + }, + importProductionTools: { + type: 'number', + }, + importProductionConsumptionMaterial: { + type: 'number', + }, + planningTemplate: { + type: 'number', + }, + royaltyLicense: { + type: 'number', + }, + indirectPassing: { + type: 'number', + }, + shipment: { + type: 'number', + }, + insurance: { + type: 'number', + }, + postEntryShipment: { + type: 'number', + }, + technicalAid: { + type: 'number', + }, + otherPayments: { + type: 'number', + }, + otherPaymentKind: { + type: 'string', + }, + taxPaymentFund: { + type: 'number', + }, + }, + required: [ + 'valueItemNumber', + 'declarationItemNumber', + 'indirectPayment', + 'commission', + 'brokerageCommission', + 'containerPackagePrice', + 'importAddedMaterail', + 'importProductionTools', + 'importProductionConsumptionMaterial', + 'planningTemplate', + 'royaltyLicense', + 'indirectPassing', + 'shipment', + 'insurance', + 'postEntryShipment', + 'technicalAid', + 'otherPayments', + 'taxPaymentFund', + ], + }, + }, +} \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.xsd new file mode 100644 index 0000000..577af57 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/ATEZ/TR_EX/declarationJsonSchema.xsd @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_AVISO/cVERAG_in_TRAviso.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_AVISO/cVERAG_in_TRAviso.vb new file mode 100644 index 0000000..9282844 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_AVISO/cVERAG_in_TRAviso.vb @@ -0,0 +1,387 @@ +Imports System.Data.SqlClient +Imports System.Reflection + + +Public Class cVERAG_in_TRAviso + + Public Property Company As String + Public Property Department As String + Public Property PartnerTID As String + Public Property Reference As String + + Public Property TotPackage As Integer = 0 + Public Property TotGrossWeight As Object = Nothing + Public Property TransportModeBorder As Object = Nothing + Public Property TransportLicensePlate As String = "" + Public Property TransportCountryCode As String = "" + Public Property TransportBorderType As Object = Nothing + Public Property FreightCompany As Object = Nothing + Public Property FreightCompanyID As Object = Nothing + Public Property Info As String = "" + + Public Property POSITIONS As New List(Of cVERAG_in_TRAviso_shipments) + Public Property DOCUMENTS As New List(Of cVERAG_in_TRAviso_document) + +End Class + + +Public Class cVERAG_in_TRAviso_Adressen + Public Property AddressCode As String = "" ' VARCHAR (10) NULL, + Public Property CustomerID As String = "" ' VARCHAR (10) NULL, + Public Property EORI As String = "" ' VARCHAR (17) NULL, + Public Property NLNR As String = "" ' DECIMAL (4) NULL, + Public Property Name1 As String = "" ' VARCHAR (120) NULL, + Public Property Name2 As String = "" ' VARCHAR (120) NULL, + Public Property Name3 As String = "" ' VARCHAR (120) NULL, + Public Property Street1 As String = "" ' VARCHAR (35) NULL, + Public Property Street2 As String = "" ' VARCHAR (35) NULL, + Public Property City As String = "" ' VARCHAR (35) NULL, + Public Property CountryCode As String = "" ' VARCHAR (3) NULL, + Public Property PostalCode As String = "" ' VARCHAR (9) NULL, + Public Property UStID As String = "" ' VARCHAR (14) NULL, + +End Class + +Public Class cVERAG_in_TRAviso_shipments + Public Property Nr As Integer = 1 + Public Property Reference As Object = Nothing + + Public Property DeclarationCountry As String = "" + Public Property DeclarationType As String = "" + Public Property CustomsCodeDeparture As String = "" + Public Property CustomsCodeDestination As String = "" + Public Property CountryCodeDeparture As String = "" + Public Property CountryCodeDestination As String = "" + Public Property DEStateCodeDestination As String = "" + Public Property OriginCountryCode As String = "" + Public Property GrossWeight As Object = Nothing + Public Property NetWeight As Object = Nothing + Public Property NumberOfPackages As Integer = 0 + Public Property KindOfPackages As String = "" + Public Property Incoterm As String = "" + Public Property PrePaperCode As String = "" + Public Property PrePaperNr As String = "" + Public Property InvoiceAmount As Object = Nothing + Public Property InvoiceCurrency As String = "" + Public Property ContainerNr1 As String = "" + Public Property ContainerNr2 As String = "" + Public Property ContainerNr3 As String = "" + Public Property ContainerNr4 As String = "" + Public Property GoodsDescription As String = "" + Public Property Info As String = "" + + Public Property DOCUMENTS As New List(Of cVERAG_in_TRAviso_document) + Public Property ADDRESS As New List(Of cVERAG_in_TRAviso_Adressen) + + Sub New() + End Sub +End Class + + +Public Class cVERAG_in_TRAviso_document + Public Property DocumentType As String = "" + Public Property DocumentNr As String = "" + Public Property DocumentDate As Date = CDate("01.01.1800") + Public Property base64BinaryStream As String = "" + Public Property FileName As String = "" + + 'Shared Function SAVE_toDS() As Integer + + ' Return -1 + 'End Function + + +End Class + + + + + +Public Class cVERAG_in_TRAvisoFULL + + Property trAv_Id As Integer + Property trAv_PartnerSystem As Object = Nothing ' VARCHAR(50) Not NULL, + Property trAv_datetime As Object = Nothing ' DATETIME Default (getdate()) Not NULL, + Property trAv_Firma As Object = Nothing ' VARCHAR(50) Not NULL, + Property trAv_Niederlassung As Object = Nothing ' VARCHAR(50) Not NULL, + Property trAv_Reference As Object = Nothing ' VARCHAR(500) Not NULL, + Property trAv_Kennzeichen As Object = Nothing ' VARCHAR(50) NULL, + Property trAv_Nationalitaet As Object = Nothing ' VARCHAR(50) NULL, + Property trAv_Avisierer As Object = Nothing ' VARCHAR(200) NULL, + Property trAv_AvisiererKdNr As Object = Nothing ' INT NULL, + Property trAv_Fraechter As Object = Nothing ' VARCHAR(200) NULL, + Property trAv_FraechterKdNr As Object = Nothing ' INT NULL, + Property trAv_Grenzueberschreitung As Object = Nothing ' INT NULL, + Property trAv_Transportmittel As Object = Nothing ' INT NULL, + Property trAv_colli As Object = Nothing ' FLOAT(53) NULL, + Property trAv_gewicht As Object = Nothing ' FLOAT(53) NULL, + Property trAv_VoraussichtlichesEintreffen As Object = Nothing ' Date NULL, + Property trAv_Info As Object = Nothing ' VARCHAR(max) NULL, + Property trAv_AVISO_einarbeitet As Boolean = False ' VARCHAR(max) NULL, + + + Property ANHAENGE As New List(Of cVERAG_in_TRAvisoAnhaenge) + 'Property SHIPMENTS As New List(Of cVERAG_in_shippment) + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + + + Sub New() + End Sub + + + Sub New(trAv_Id) + Me.trAv_Id = trAv_Id + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Id", trAv_Id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_PartnerSystem", trAv_PartnerSystem)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_datetime", trAv_datetime)) ' DATETIME Default (getdate()) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Firma", trAv_Firma)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Niederlassung", trAv_Niederlassung)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Reference", trAv_Reference)) ' VARCHAR(500) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Kennzeichen", trAv_Kennzeichen)) ' VARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Nationalitaet", trAv_Nationalitaet)) ' VARCHAR(50) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Avisierer", trAv_Avisierer)) ' VARCHAR(200) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_AvisiererKdNr", trAv_AvisiererKdNr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Fraechter", trAv_Fraechter)) ' VARCHAR(200) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_FraechterKdNr", trAv_FraechterKdNr)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Grenzueberschreitung", trAv_Grenzueberschreitung)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Transportmittel", trAv_Transportmittel)) ' INT NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_colli", trAv_colli)) ' FLOAT(53) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_gewicht", trAv_gewicht)) ' FLOAT(53) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_VoraussichtlichesEintreffen", trAv_VoraussichtlichesEintreffen)) ' Date NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Info", trAv_Info)) ' VARCHAR(max) NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_AVISO_einarbeitet", trAv_AVISO_einarbeitet)) ' VARCHAR(max) NULL, + + Return list + End Function + + + + Public Function SAVE(Optional saveAll = True) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTR_Aviso WITH(updlock,serializable) WHERE trAv_Id=@trAv_Id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + trAv_Id = SQL.doSQLVarListID(trAv_Id, sqlstr, "FMZOLL", , list) + If trAv_Id > 0 And saveAll Then + SAVE_Anhaenge() + ' SAVE_Sicherheit() + End If + Return trAv_Id > 0 + End Function + + + + + + Public Sub LOAD(Optional loadALL = True) + Try + If loadALL Then + ANHAENGE.Clear() + End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_Aviso WHERE trAv_Id=@trAv_Id ", conn) + cmd.Parameters.AddWithValue("@trAv_Id", trAv_Id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + If loadALL Then + LOAD_Anhaenge() + End If + End If + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTR_Aviso] SET " & str & " WHERE trAv_Id=@trAv_Id ") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTR_Aviso (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + Shared Function getWaehr(s As String, SQL As VERAG_PROG_ALLGEMEIN.SQL) As String + 'Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([LandNr],-1) FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [Währungscode]='" & s & "'", "FMZOLL") + s = s.Replace("TRY", "TRL") ' Türkische Lira + Return SQL.getValueTxtBySql("SELECT TOP 1 isnull([Währungsschlüssel],-1) FROM [Währungstabelle] WHERE [Währungscode]='" & s & "'", "FMZOLL") + + End Function + + + + Public Sub LOAD_Anhaenge() + Try + ANHAENGE.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_AvisoAnheange WHERE trAvAh_trAvId=@trAv_Id ", conn) + cmd.Parameters.AddWithValue("@trAv_Id", Me.trAv_Id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_TRAvisoAnhaenge + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + 'l.LOAD_Packstücke() + ANHAENGE.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + + + Function DELETE_Anhaenge() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_AvisoAnheange] WHERE trAvAh_trAvId =" & Me.trAv_Id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Public Function SAVE_Anhaenge() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Anhaenge() Then 'And DELETE_PositionsdatenUnterlagen() And DELETE_PositionsdatenVerbrauchssteuer() Then + 'jetzt die Standartofferten einfügen + For Each p In ANHAENGE + p.trAvAh_trAvId = trAv_Id + If p.INSERT() Then + + Else + Return False + End If + Next + Else + Return False + End If + + Return True + End Function + + +End Class + + +Public Class cVERAG_in_TRAvisoAnhaenge + + Property trAvAh_id As Integer + Property trAvAh_trAvId As Integer + Property DocumentType As String = "" + Property DocumentNr As String = "" + Property DocumentDate As Date = CDate("01.01.1800") + Property trAvAh_docID As Integer + + Sub New() + + End Sub + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAvAh_id", trAvAh_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAvAh_trAvId", trAvAh_trAvId)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentType", DocumentType)) ' DATETIME Default (getdate()) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentNr", DocumentNr)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentDate", DocumentDate)) ' VARCHAR(50) Not NULL, + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAvAh_docID", trAvAh_docID)) ' VARCHAR(500) Not NULL, + + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + trAvAh_id = SQL.doSQLVarListID(trAvAh_id, getInsertCmd, "FMZOLL", , list) + Return trAvAh_id > 0 + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTR_AvisoAnheange (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_EZA/cVERAG_in_eza.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_EZA/cVERAG_in_eza.vb new file mode 100644 index 0000000..8b8bb7d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_EZA/cVERAG_in_eza.vb @@ -0,0 +1,864 @@ + +Imports System.Data.SqlClient + Imports System.Reflection + +'Public Class cVERAG_in_eza_position_FULL +' Inherits cVERAG_in_eza_position + +' Property shTrPos_id As Integer = "" +' Property shTrPos_ShTrId As String = "" + + +' Sub New() + +' End Sub + +' Dim SQL As New SQL +'End Class + +Public Class cVERAG_in_eza_FULL + ' Inherits cVERAG_in_eza + + Public EZA As cVERAG_in_eza = Nothing + + Property shTr_id As Integer + Property shTr_Partnersystem As String = "" + Property trAv_Info As String = "" + + + + Property shTr_Status As String = "" + Public Property shTr_TRAvisoId As Object = Nothing + + + Sub New(EZA As cVERAG_in_eza) + setEZA(EZA) + End Sub + + Public Sub setEZA(EZA As cVERAG_in_eza) + Me.EZA = EZA + End Sub + Sub New(shTr_id As Integer) + Me.shTr_id = shTr_id + Me.EZA = New cVERAG_in_eza + LOAD() + End Sub + + Dim SQL As New SQL + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_id", shTr_id, , True, True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Partnersystem", shTr_Partnersystem,,,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Status", shTr_Status,,,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_TRAvisoId", shTr_TRAvisoId,,,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trAv_Info", trAv_Info,,,, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Company", EZA.Company)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Department", EZA.Department)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Reference", EZA.Reference)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DeclarationCountry", EZA.DeclarationCountry)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DeclarationType", EZA.DeclarationType)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TotPackage", EZA.TotPackage)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TotGrossWeight", EZA.TotGrossWeight)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomsCodeDeparture", EZA.CustomsCodeDeparture)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomsCodeDestination", EZA.CustomsCodeDestination)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomsCodeEntry", EZA.CustomsCodeEntry)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransportModeBorder", EZA.TransportModeBorder)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CountryCodeDeparture", EZA.CountryCodeDeparture)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CountryCodeDestination", EZA.CountryCodeDestination)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DEStateCodeDestination", EZA.DEStateCodeDestination)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransportArrivalLicensePlate", EZA.TransportArrivalLicensePlate)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransportArrivalCountryCode", EZA.TransportArrivalCountryCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransportBorderType", EZA.TransportBorderType)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransportBorderLicensePlate", EZA.TransportBorderLicensePlate)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Incoterm", EZA.Incoterm)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PrePaperCode", EZA.PrePaperCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PrePaperNr", EZA.PrePaperNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KindOfBusiness", EZA.KindOfBusiness)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("InvoiceAmount", EZA.InvoiceAmount)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("InvoiceCurrency", EZA.InvoiceCurrency)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ContainerNr1", EZA.ContainerNr1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ContainerNr2", EZA.ContainerNr2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ContainerNr3", EZA.ContainerNr3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ContainerNr4", EZA.ContainerNr4)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FreightCostsEU", EZA.FreightCostsEU)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FreightCostsNonEU", EZA.FreightCostsNonEU)) + + Return list + End Function + + + Function getParameterList_POS(POS As cVERAG_in_eza_position) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPos_id", POS.GoodsTariff, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PosNr", POS.PosNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariff", POS.GoodsTariff)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt1", POS.GoodsTariffExt1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt2", POS.GoodsTariffExt2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt3", POS.GoodsTariffExt3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt4", POS.GoodsTariffExt4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt5", POS.GoodsTariffExt5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt6", POS.GoodsTariffExt6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt7", POS.GoodsTariffExt7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt8", POS.GoodsTariffExt8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffExt9", POS.GoodsTariffExt9)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode1", POS.GoodsTariffYCode1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode2", POS.GoodsTariffYCode2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode3", POS.GoodsTariffYCode3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode4", POS.GoodsTariffYCode4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode5", POS.GoodsTariffYCode5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode6", POS.GoodsTariffYCode6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode7", POS.GoodsTariffYCode7)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode8", POS.GoodsTariffYCode8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode9", POS.GoodsTariffYCode9)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsTariffYCode10", POS.GoodsTariffYCode10)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GoodsDescription", POS.GoodsDescription)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OriginCountryCode", POS.OriginCountryCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GrossWeight", POS.GrossWeight)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NetWeight", POS.NetWeight)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NumberOfPackages", POS.NumberOfPackages)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KindOfPackages", POS.KindOfPackages)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ItemInvoiceAmount", POS.ItemInvoiceAmount)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ItemInvoiceCurrency", POS.ItemInvoiceCurrency)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ItemAmount", POS.ItemAmount)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ItemAmountUnitCode", POS.ItemAmountUnitCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Procedure", POS.Procedure)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPos_ShTrId", Me.shTr_id,,,, True)) + Return list + End Function + + + Function getParameterList_DOC(DOC As cVERAG_in_shipment_Document) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPosDoc_id", POS.GoodsTariff, , True, True)) + + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrDoc_id", Me.shTr_id,,,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrDoc_ShTrId", Me.shTr_id)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentType", DOC.DocumentType)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentNr", DOC.DocumentNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentDate", DOC.DocumentDate)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPosDoc_docID", DOC.shTrPosDoc_docID)) + + Return list + + End Function + + + Function getParameterList_ADR(ADR As cVERAG_in_eza_Adressen) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPos_id", POS.GoodsTariff, , True, True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AdressType", ADR.AdressType)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AddressCode", ADR.AddressCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomerID", ADR.CustomerID)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORI", ADR.EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NLNR", ADR.NLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name1", ADR.Name1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name2", ADR.Name2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name3", ADR.Name3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Street1", ADR.Street1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Street2", ADR.Street2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("City", ADR.City)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CountryCode", ADR.CountryCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PostalCode", ADR.PostalCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TaxNo", ADR.TaxNo)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ContactPerson", ADR.ContactPerson)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telefon", ADR.Telefon)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Email", ADR.Email)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrAd_ShTrId", Me.shTr_id,,,, True)) + + + Return list + End Function + + + Function getParameterList_DOC(DOC As cVERAG_in_eza_position_document, ByRef shTrPosDoc_ShTrPosId As Integer) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPosDoc_id", POS.GoodsTariff, , True, True)) + + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentType", DOC.DocumentType)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentNr", DOC.DocumentNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentDate", DOC.DocumentDate)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPosDoc_ShTrId", Me.shTr_id,,,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTrPosDoc_ShTrPosId", shTrPosDoc_ShTrPosId,,,, True)) + Return list + + End Function + Public Function UPDATE_STATUS(status) As Boolean + Me.shTr_Status = status + Return Me.SAVE + End Function + + Public Function SAVE() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTR_Shipment WITH(updlock, serializable) WHERE shTr_id=@shTr_id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + shTr_id = SQL.doSQLVarListID(shTr_id, sqlstr, "FMZOLL", , list) + Return shTr_id > 0 + End Function + + Public Function SAVE_ALL() As Boolean + If EZA Is Nothing Then Return False + If Not SAVE() Then Return False + If Not SAVE_Warenposition() Then Return False + If Not SAVE_Documents() Then Return False + If Not SAVE_Adressen() Then Return False + Return True + End Function + + Public Function LOAD(Optional loadALL As Boolean = True) As Boolean + Try + LOAD = False + If loadALL Then + 'shTr_Unterlagen.Clear() + EZA.POSITIONS.Clear() + + EZA.ADDRESS.Clear() + + End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("Select * FROM tblTR_Shipment WHERE shTr_id=@shTr_id ", conn) + cmd.Parameters.AddWithValue("@shTr_id", shTr_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + If Not l.isonlyForSave Then + + Dim propInfo As PropertyInfo = EZA.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(EZA, Nothing) + Else + propInfo.SetValue(EZA, dr.Item(l.Text)) + End If + + 'List.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_id", shTr_id, , True, True, True)) + 'List.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Partnersystem", shTr_Partnersystem,,,, True)) + 'List.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Status", shTr_Status,,,, True)) + End If + Next + If loadALL Then + LOAD_Warenposition() + LOAD_Adressen() + End If + LOAD = True + End If + dr.Close() + + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return LOAD + End Function + + + Shared Function LOADByReference(Reference As String, Partnersystem As String, loadALL As Boolean) As cVERAG_in_eza_FULL + Try + Dim EZA As New cVERAG_in_eza + + Dim EZA_FULL = New cVERAG_in_eza_FULL(EZA) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblTR_Shipment WHERE shTr_Partnersystem=@Partnersystem and Reference=@Reference ", conn) + cmd.Parameters.AddWithValue("@Partnersystem", Partnersystem) + cmd.Parameters.AddWithValue("@Reference", Reference) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In EZA_FULL.getParameterList() + Dim propInfo As PropertyInfo = EZA.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(EZA, Nothing) + Else + propInfo.SetValue(EZA, dr.Item(l.Text)) + End If + + Next + If loadALL Then + EZA_FULL.LOAD_Warenposition() + EZA_FULL.LOAD_Adressen() + End If + + dr.Close() + Return EZA_FULL + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return Nothing + End Function + + + + Shared Function UPDATE_StatusById(shTr_id As Integer, status As Integer) As String + If shTr_id > 0 Then + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_id", shTr_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Status", status, , True)) + 'dy_Status_KEWILL_Equivalent = status + 'dy_Status = status + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Return SQL.doSQLVarList(" UPDATE [tblTR_Shipment] SET shTr_Status=@shTr_Status WHERE shTr_id=@shTr_id ", "FMZOLL", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + + + Public Function UPDATE_Status(status As Integer) As String + If shTr_id > 0 Then + Try + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_id", shTr_id, , True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("shTr_Status", status, , True)) + shTr_Status = status + + Return SQL.doSQLVarList(" UPDATE [tblTR_Shipment] SET shTr_Status=@shTr_Status WHERE shTr_id=@shTr_id ", "FMZOLL", , list) + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End If + Return "" + End Function + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTR_Shipment] SET " & str & " WHERE shTr_id=@shTr_id ") + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTR_Shipment (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + + + + + Public Sub LOAD_Adressen() + Try + EZA.ADDRESS.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_Shipment_Adressen WHERE shTrAd_ShTrId=@shTrAd_ShTrId ", conn) + cmd.Parameters.AddWithValue("@shTrAd_ShTrId", Me.shTr_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_eza_Adressen + For Each i In getParameterList_ADR(l) + If Not i.isonlyForSave Then + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Or dr.Item(i.Text) Is Nothing Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + End If + Next + EZA.ADDRESS.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD_Warenposition() + Try + EZA.POSITIONS.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_Shipment_Position WHERE shTrPos_ShTrId=@shTrPos_ShTrId ", conn) + cmd.Parameters.AddWithValue("@shTrPos_ShTrId", Me.shTr_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_eza_position() + For Each i In getParameterList_POS(l) + If Not i.isonlyForSave Then + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Or dr.Item(i.Text) Is Nothing Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + End If + Next + + LOAD_WarenpositionUnterlagen(l, dr.Item("shTrPos_id")) + EZA.POSITIONS.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Sub LOAD_WarenpositionUnterlagen(ByRef POS As cVERAG_in_eza_position, shTrPos_id As Integer) + Try + POS.DOCUMENTS.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_Shipment_Position_Document WHERE shTrPosDoc_ShTrPosId=@shTrPosDoc_ShTrPosId ", conn) + cmd.Parameters.AddWithValue("@shTrPosDoc_ShTrPosId", shTrPos_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_eza_position_document + For Each i In getParameterList_DOC(l, -1) + If Not i.isonlyForSave Then + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Or dr.Item(i.Text) Is Nothing Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + End If + Next + POS.DOCUMENTS.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + + End Sub + Function DELETE_Warenpositionen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_Shipment_Position] WHERE shTrPos_ShTrId=" & Me.shTr_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + Function DELETE_Documents() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_Shipment_Document] WHERE [shTrDoc_ShTrId]=" & Me.shTr_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_Shipment_Position_Document] WHERE shTrPosDoc_ShTrId =" & Me.shTr_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Function DELETE_Adressen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_Shipment_Adressen] WHERE shTrAd_ShTrId =" & Me.shTr_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Public Function SAVE_Adressen() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Adressen() Then + 'jetzt die Standartofferten einfügen + If EZA.ADDRESS IsNot Nothing Then + For Each p In EZA.ADDRESS + Dim posId As Integer + If INSERT_Adressen(posId, p) Then + + Else + Return False + End If + Next + End If + Else + Return False + End If + + Return True + End Function + + + Public Function SAVE_Warenposition() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Warenpositionen() And DELETE_WarenpositionUnterlagen() Then + If EZA.POSITIONS IsNot Nothing Then + 'jetzt die Standartofferten einfügen + For Each p In EZA.POSITIONS + Dim posId As Integer + If INSERT_Position(posId, p) Then + SAVE_Warenposition_Documents(p, posId) + Else + Return False + End If + Next + End If + Else + Return False + End If + + Return True + End Function + + Public Function SAVE_Documents() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Documents() Then + If EZA.POSITIONS IsNot Nothing Then + 'jetzt die Standartofferten einfügen + For Each p In EZA.DOCUMENTS + Dim posId As Integer + If INSERT_Documents(posId, p) Then + + Else + Return False + End If + Next + End If + Else + Return False + End If + + Return True + End Function + + + Public Function SAVE_Warenposition_Documents(POS As cVERAG_in_eza_position, posId As Integer) As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + 'jetzt die Standartofferten einfügen + If POS.DOCUMENTS IsNot Nothing Then + For Each p In POS.DOCUMENTS + Dim posdocId As Integer + + If INSERT_Position_Document(posdocId, p, posId) Then + Else + Return False + End If + Next + End If + Return True + End Function + + Public Function INSERT_Adressen(ByRef posId As Integer, ByRef ADR As cVERAG_in_eza_Adressen) As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList_ADR(ADR) + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return SQL.doSQLVarListID(posId, (" INSERT INTO tblTR_Shipment_Adressen (" & str & ") VALUES(" & values & ") "), "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + Public Function INSERT_Position(ByRef posId As Integer, ByRef POS As cVERAG_in_eza_position) As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList_POS(POS) + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return SQL.doSQLVarListID(posId, (" INSERT INTO tblTR_Shipment_Position (" & str & ") VALUES(" & values & ") "), "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + Public Function INSERT_Documents(ByRef docId As Integer, ByRef DOC As cVERAG_in_shipment_Document) As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList_DOC(DOC) + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return SQL.doSQLVarListID(docId, (" INSERT INTO tblTR_Shipment_Document (" & str & ") VALUES(" & values & ") "), "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + + + + Public Function INSERT_Position_Document(ByRef posdocId As Integer, ByRef DOC As cVERAG_in_eza_position_document, posId As Integer) As Boolean + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList_DOC(DOC, posId) + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + + + + SQL.doSQL("insert into tbltest (test) Values('TT:: " & (" INSERT INTO tblTR_Shipment_Position_Document (" & str & ") VALUES(" & values & ") ") & "')", "FMZOLL") + + Return SQL.doSQLVarListID(posdocId, (" INSERT INTO tblTR_Shipment_Position_Document (" & str & ") VALUES(" & values & ") "), "FMZOLL", , list) + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + + + + + + + +End Class + +' +Public Class cVERAG_in_eza + + Public Property Company As String + Public Property Department As String + Public Property Reference As String + + Public Property DeclarationCountry As String = "" + Public Property DeclarationType As String = "" + + Public Property TotPackage As Integer = 0 + Public Property TotGrossWeight As Object = Nothing + + Public Property CustomsCodeDeparture As String = "" ' GesRohmasse + Public Property CustomsCodeDestination As String = "" ' GesRohmasse + Public Property CustomsCodeEntry As String = "" + Public Property TransportModeBorder As Object = Nothing + + Public Property CountryCodeDeparture As String = "" + Public Property CountryCodeDestination As String = "" + Public Property DEStateCodeDestination As String = "" + + Public Property TransportArrivalLicensePlate As String = "" + Public Property TransportArrivalCountryCode As String = "" + Public Property TransportBorderType As Object = Nothing + Public Property TransportBorderLicensePlate As String = "" + Public Property Incoterm As String = "" + + Public Property PrePaperCode As String = "" + Public Property PrePaperNr As String = "" + Public Property KindOfBusiness As Object = Nothing + Public Property InvoiceAmount As Object = Nothing + Public Property InvoiceCurrency As String = "" + + + Public Property ContainerNr1 As String = "" + Public Property ContainerNr2 As String = "" + Public Property ContainerNr3 As String = "" + Public Property ContainerNr4 As String = "" + + Public Property FreightCostsEU As Object = Nothing + Public Property FreightCostsNonEU As Object = Nothing + + + Public Property POSITIONS As New List(Of cVERAG_in_eza_position) + Public Property DOCUMENTS As New List(Of cVERAG_in_shipment_Document) + + Public Property ADDRESS As New List(Of cVERAG_in_eza_Adressen) + + + +End Class + + + + +Public Class cVERAG_in_eza_Adressen + Public Property AddressCode As String = "" ' VARCHAR (10) NULL, + Public Property CustomerID As String = "" ' VARCHAR (10) NULL, + Public Property EORI As String = "" ' VARCHAR (17) NULL, + Public Property NLNR As String = "" ' DECIMAL (4) NULL, + Public Property Name1 As String = "" ' VARCHAR (120) NULL, + Public Property Name2 As String = "" ' VARCHAR (120) NULL, + Public Property Name3 As String = "" ' VARCHAR (120) NULL, + Public Property Street1 As String = "" ' VARCHAR (35) NULL, + Public Property Street2 As String = "" ' VARCHAR (35) NULL, + Public Property City As String = "" ' VARCHAR (35) NULL, + Public Property CountryCode As String = "" ' VARCHAR (3) NULL, + Public Property PostalCode As String = "" ' VARCHAR (9) NULL, + Public Property UStID As String = "" 'NICHT MEHR --> TaxNo + Public Property TaxNo As String = "" ' VARCHAR (14) NULL, + Public Property ContactPerson As String = "" ' VARCHAR (14) NULL, + Public Property Telefon As String = "" ' VARCHAR (14) NULL, + Public Property Email As String = "" ' VARCHAR (14) NULL, + +End Class + + +Public Class cVERAG_in_eza_position + Public Property PosNr As Integer = 1 + Public Property GoodsTariff As Object = Nothing + Public Property GoodsTariffExt1 As Object = Nothing + Public Property GoodsTariffExt2 As Object = Nothing + Public Property GoodsTariffExt3 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt4 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt5 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt6 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt7 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt8 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt9 As Object = Nothing 'NICHT MEHR!!! + Public Property GoodsTariffExt10 As String = "" 'NICHT MEHR!!! + Public Property GoodsTariffYCode1 As String = "" + Public Property GoodsTariffYCode2 As String = "" + Public Property GoodsTariffYCode3 As String = "" + Public Property GoodsTariffYCode4 As String = "" + Public Property GoodsTariffYCode5 As String = "" + Public Property GoodsTariffYCode6 As String = "" + Public Property GoodsTariffYCode7 As String = "" + Public Property GoodsTariffYCode8 As String = "" + Public Property GoodsTariffYCode9 As String = "" + Public Property GoodsTariffYCode10 As String = "" + + + Public Property GoodsDescription As String = "" + Public Property OriginCountryCode As String = "" + Public Property GrossWeight As Object = Nothing + Public Property NetWeight As Object = Nothing + Public Property NumberOfPackages As Integer = 0 + Public Property KindOfPackages As String = "" + Public Property ItemInvoiceAmount As Object = Nothing + Public Property ItemInvoiceCurrency As String = "" + Public Property ItemAmount As Object = Nothing + Public Property ItemAmountUnitCode As String = "" + Public Property Procedure As String = "" + + Public Property DOCUMENTS As New List(Of cVERAG_in_eza_position_document) + + Sub New() + + End Sub +End Class + + +Public Class cVERAG_in_eza_position_document + Public Property DocumentType As String = "" + Public Property DocumentNr As String = "" + Public Property DocumentDate As Date = CDate("01.01.1800") +End Class + + +Public Class cVERAG_in_shipment_Document + Property shTrDoc_id As Integer + Property shTrDoc_ShTrId As Integer + Property DocumentType As String = "" + Property DocumentNr As String = "" + Property DocumentDate As Date = CDate("01.01.1800") + + Property shTrPosDoc_docID As Object = Nothing + + + 'Public Function INSERT() As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + ' shTrDoc_id = SQL.doSQLVarListID(shTrDoc_id, getInsertCmd, "FMZOLL", , list) + ' Return shTrDoc_id > 0 + 'End Function + + 'Public Function getInsertCmd() As String + ' Try + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' Dim str As String = "" + ' Dim values As String = "" + ' For Each i In list + ' If Not i.isPrimaryParam Then + ' str &= "[" & i.Text & "]," + ' values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + ' End If + ' Next + ' str = str.Substring(0, str.Length - 1) 'wg. ',' + ' values = values.Substring(0, values.Length - 1) 'wg. ',' + ' Return (" INSERT INTO tblVERAG_in_shippment_Positionsdaten (" & str & ") VALUES(" & values & ") ") + ' Catch ex As Exception + ' MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + ' Return "" + 'End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_SHIPPMENT/cVERAG_in_shippmentWHAT.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_SHIPPMENT/cVERAG_in_shippmentWHAT.vb new file mode 100644 index 0000000..b4e6419 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/IN_SHIPPMENT/cVERAG_in_shippmentWHAT.vb @@ -0,0 +1,638 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cVERAG_in_shippmentWHST '???????? + + Property in_sh_id As Object = Nothing ' INT Not NULL, + Property in_sh_AvisoId As Object = Nothing ' INT NULL, + Property in_sh_SendungsId As Object = Nothing ' INT NULL, + Property in_sh_Erstellung As Object = Nothing ' DATETIME Default (getdate()) Not NULL, + Property in_sh_firma As Object = Nothing ' VARCHAR(10) NULL, + Property in_sh_niederlassung As Object = Nothing ' VARCHAR(10) NULL, + + 'Property MsgType As Object = Nothing ' VARCHAR(10) NULL, + 'Property dec_ProzessArt As Object = Nothing ' VARCHAR(4) Not NULL, + 'Property dec_Anmelde_ID As Object = Nothing ' INT NULL, + 'Property dec_Template_ID As Object = Nothing ' INT NULL, + 'Property dec_Lager_ID As Object = Nothing ' VARCHAR(6) NULL, + 'Property dec_Lag_IND As Object = Nothing ' BIT NULL, + 'Property dec_CreateDate As Object = Nothing ' DATETIME Not NULL, + 'Property dec_CreatePersonalID As Object = Nothing ' VARCHAR(12) NULL, + 'Property dec_PreDec_IND As Object = Nothing ' BIT NULL, + 'Property dec_TotNet As Object = Nothing ' Decimal (14, 3) NULL, + 'Property dec_TotNetSplit_IND As Object = Nothing ' BIT NULL, + 'Property dec_FillPackList_IND As Object = Nothing ' BIT NULL, + 'Property dec_Memo As Object = Nothing ' VARCHAR(1000) NULL, + 'Property Refs_LRN As Object = Nothing ' VARCHAR(22) Not NULL, + 'Property Refs_CRN As Object = Nothing ' VARCHAR(21) NULL, + 'Property Refs_CSRN As Object = Nothing ' VARCHAR(21) NULL, + 'Property Refs_ERN As Object = Nothing ' VARCHAR(21) NULL, + 'Property Refs_FRN As Object = Nothing ' VARCHAR(21) NULL, + 'Property Refs_Stat As Object = Nothing ' VARCHAR(2) NULL, + Property Hea_DecTy As Object = Nothing ' Type --> T1, T2, EZA + Property Hea_TotItem As Object = Nothing ' Pos gesamt + Property Hea_TotPack As Object = Nothing ' Packstücke gesamt + Property Hea_TotGross As Object = Nothing ' GesRohmasse + 'Property Hea_DepLNG As Object = Nothing ' VARCHAR(2) NULL, + 'Property Hea_DestLNG As Object = Nothing ' VARCHAR(2) NULL, + 'Property Hea_PayTy As Object = Nothing ' VARCHAR(1) NULL, + 'Property Hea_DefPayRef As Object = Nothing ' INT NULL, + 'Property Hea_PerPayRef As Object = Nothing ' INT NULL, + 'Property Hea_PayMet As Object = Nothing ' INT NULL, + 'Property Hea_AExpRef As Object = Nothing ' BIT NULL, + 'Property Hea_Fin As Object = Nothing ' VARCHAR(2) NULL, + 'Property Hea_Simp As Object = Nothing ' BIT Not NULL, + 'Property Hea_IssD As Object = Nothing ' Date NULL, + Property Hea_AuthID As Object = Nothing ' ? ATA + Property Hea_Incoterm As Object = Nothing ' ? Lieferkondition + 'Property Hea_TransDat As Object = Nothing ' BIT NULL, + 'Property Hea_WoffD As Object = Nothing ' Date NULL, + 'Property Hea_DecDT As Object = Nothing ' Date Not NULL, + 'Property Hea_DecPlc As Object = Nothing ' VARCHAR(35) Not NULL, + 'Property Hea_AccDT As Object = Nothing ' DATETIME NULL, + 'Property Hea_SecInd As Object = Nothing ' BIT NULL, + 'Property Hea_ComRef As Object = Nothing ' VARCHAR(70) NULL, + 'Property Hea_ProArrDT As Object = Nothing ' DATETIME NULL, + 'Property Hea_PlaDepDT As Object = Nothing ' DATETIME NULL, + 'Property Locs_TradCtry As Object = Nothing ' VARCHAR(2) NULL, + Property Locs_Disp As Object = Nothing ' VARCHAR(2) NULL, + Property Locs_Dest As Object = Nothing ' VARCHAR(2) NULL, + 'Property Locs_GdsLocCd As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_GdsLoc As Object = Nothing ' VARCHAR(35) NULL, + 'Property Locs_GdsLocAuth As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_LoadPlcCd As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_LoadPlc As Object = Nothing ' VARCHAR(35) NULL, + 'Property Locs_CustPlc As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_ArrLocCd As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_ArrLoc As Object = Nothing ' VARCHAR(35) NULL, + 'Property Locs_ArrLocAuth As Object = Nothing ' VARCHAR(17) NULL, + 'Property Locs_WarTy As Object = Nothing ' VARCHAR(1) NULL, + 'Property Locs_WarCtry As Object = Nothing ' VARCHAR(2) NULL, + 'Property Locs_War As Object = Nothing ' VARCHAR(17) NULL, + Property Transp_InMo As Object = Nothing ' Transportmittel INland + Property Transp_BordMo As Object = Nothing ' Transportmittel Grenze + Property Transp_DepTy As Object = Nothing ' Transportmittel TypAbfahrt + Property Transp_DepIdnt As Object = Nothing ' Transportmittel Kennezeichen Abfahrt + Property Transp_DepNat As Object = Nothing ' Transportmittel Nationalität Abfahrt + Property Transp_CrossTy As Object = Nothing ' Transportmittel Typ Grenze + Property Transp_CrossIdnt As Object = Nothing ' Transportmittel Kennezeichen Grenze + Property Transp_CrossIdntNat As Object = Nothing ' Transportmittel Nationalität Grenze + Property Transp_ContInd As Object = Nothing ' BIT NULL, + 'Property ValData_TermDelCd As Object = Nothing ' VARCHAR(3) NULL, + 'Property ValData_TermDelPlc As Object = Nothing ' VARCHAR(35) NULL, + 'Property ValData_TermDelSit As Object = Nothing ' VARCHAR(1) NULL, + 'Property ValData_InvCurr As Object = Nothing ' VARCHAR(3) NULL, + 'Property ValData_ExRa As Object = Nothing ' Decimal (20, 7) NULL, + 'Property ValData_InvVal As Object = Nothing ' Decimal (18, 2) NULL, + 'Property ValData_TransacCd As Object = Nothing ' INT NULL, + Property ConorTra_Na As Object = Nothing ' ABSENDER + Property ConorTra_Strt As Object = Nothing ' + Property ConorTra_Pst As Object = Nothing ' + Property ConorTra_Cty As Object = Nothing ' + Property ConorTra_Ctry As Object = Nothing ' + Property ConorTra_EORI As Object = Nothing ' + Property ConorTra_UIDCtry As Object = Nothing ' + Property ConorTra_UID As Object = Nothing ' + Property ConeeTra_Na As Object = Nothing ' EMPFÄNGER + Property ConeeTra_Strt As Object = Nothing ' + Property ConeeTra_Pst As Object = Nothing ' + Property ConeeTra_Cty As Object = Nothing ' + Property ConeeTra_Ctry As Object = Nothing ' + Property ConeeTra_EORI As Object = Nothing ' + Property ConeeTra_UIDCtry As Object = Nothing ' + Property ConeeTra_UID As Object = Nothing ' + Property ExpTra_Na As Object = Nothing ' EXPORTEUR + Property ExpTra_Strt As Object = Nothing ' + Property ExpTra_Pst As Object = Nothing ' + Property ExpTra_Cty As Object = Nothing ' + Property ExpTra_Ctry As Object = Nothing ' + Property ExpTra_EORI As Object = Nothing ' + Property ExpTra_UIDCtry As Object = Nothing ' + Property ExpTra_UID As Object = Nothing ' + Property Declarant_Na As Object = Nothing ' ZOLLAGENT + Property Declarant_Strt As Object = Nothing ' + Property Declarant_Pst As Object = Nothing ' + Property Declarant_Cty As Object = Nothing ' + Property Declarant_Ctry As Object = Nothing ' + Property Declarant_EORI As Object = Nothing ' + Property Declarant_UIDCtry As Object = Nothing ' + Property Declarant_UID As Object = Nothing ' + Property Declarant_DecRep As Object = Nothing ' + Property DestCO_Ref As Object = Nothing ' Zielzollstelle + Property DepCO_Ref As Object = Nothing ' Abgangszollstelle + Property CtrlRslt_DLimit As Object = Nothing ' NCTS_GEstellung + + + Property DOCUMENTS As New List(Of cVERAG_in_shipment_Document) + Property POSITIONSDATEN As New List(Of cVERAG_in_shippment_Position) + 'Property SICHERHEIT As New List(Of cVERAG_in_shippment_Sicherheit) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + + + Sub New() + End Sub + + + Sub New(in_sh_id) + Me.in_sh_id = in_sh_id + LOAD() + End Sub + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_sh_id", in_sh_id, , True, True)) + + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_ART", telanm_ART)) ' VARCHAR(50) Not NULL, + + Return list + End Function + + + + Public Function SAVE(Optional saveAll = True) As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTR_Shipment WITH(updlock,serializable) WHERE in_sh_id=@in_sh_id) " & + " BEGIN " & getUpdateCmd() & " End " & + " Else " & + " BEGIN " & getInsertCmd() & " End " & + " commit tran " + + in_sh_id = SQL.doSQLVarListID(in_sh_id, sqlstr, "FMZOLL", , list) + If in_sh_id > 0 And saveAll Then + SAVE_Positionsdaten() + SAVE_Documents() + ' SAVE_Sicherheit() + End If + Return in_sh_id > 0 + End Function + + + + + + Public Sub LOAD(Optional loadALL = True) + Try + If loadALL Then + POSITIONSDATEN.Clear() + DOCUMENTS.Clear() + ' SICHERHEIT.Clear() + End If + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTR_Shipment WHERE in_sh_id=@in_sh_id ", conn) + cmd.Parameters.AddWithValue("@in_sh_id", in_sh_id) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each l In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) + + If dr.Item(l.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(l.Text)) + End If + + Next + If loadALL Then + LOAD_Positionsdaten() + LOAD_Documents() + ' LOAD_Sicherheit() + End If + End If + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + + 'Public Function UPDATE_Status(status As Integer) As String + ' If in_sh_id > 0 Then + ' Try + ' Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_sh_id", in_sh_id, , True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_Status_KEWILL_Equivalent", status, , True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_Status", status, , True)) + ' 'telanm_Status_KEWILL_Equivalent = status + ' 'telanm_Status = status + + ' Return SQL.doSQLVarList(" UPDATE [tblTR_Shipment] SET telanm_Status_KEWILL_Equivalent=@telanm_Status_KEWILL_Equivalent,telanm_Status=@telanm_Status WHERE in_sh_id=@in_sh_id ", "FMZOLL", , list) + + ' Catch ex As Exception + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' End Try + ' End If + ' Return "" + 'End Function + + + 'Shared Function UPDATE_StatusById(in_sh_id As Integer, status As Integer) As String + ' If in_sh_id > 0 Then + ' Try + ' Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_sh_id", in_sh_id, , True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_Status_KEWILL_Equivalent", status, , True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_Status", status, , True)) + ' 'telanm_Status_KEWILL_Equivalent = status + ' 'telanm_Status = status + ' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + ' Return SQL.doSQLVarList(" UPDATE [tblTR_Shipment] SET telanm_Status_KEWILL_Equivalent=@telanm_Status_KEWILL_Equivalent,telanm_Status=@telanm_Status WHERE in_sh_id=@in_sh_id ", "FMZOLL", , list) + + ' Catch ex As Exception + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' End Try + ' End If + ' Return "" + 'End Function + + + + 'Public Sub UPDATE_DATA() + ' Try + ' Select Case telanm_ART + ' Case "T1", "T2" + ' 'SQL, die daten aus den jeweiligen tabellen ausliest und hier aktualisiert + ' Dim Dakosy_NCTSOut As New DAKOSY_Worker.cDakosyNCTSOut + ' Dakosy_NCTSOut.LOADByAnmID(in_sh_id, False) + ' If Dakosy_NCTSOut IsNot Nothing Then + ' Me.telanm_BezugsNr = Dakosy_NCTSOut.ncts_ObjectName + ' Me.telanm_Status = Dakosy_NCTSOut.ncts_Status + ' Me.telanm_Status_KEWILL_Equivalent = Dakosy_NCTSOut.ncts_Status_KEWILL_Equivalent + ' Me.telanm_Erstellung = Dakosy_NCTSOut.ncts_Erstellung + ' Me.telanm_Erstellung_SB = Dakosy_NCTSOut.ncts_Erstellung_SB + ' Me.telanm_LetzteBearbeitung = Dakosy_NCTSOut.ncts_LetzteBearbeitung + ' Me.telanm_LetzteBearbeitung_SB = Dakosy_NCTSOut.ncts_LetzteBearbeitung_SB + ' End If + + ' End Select + + ' Catch ex As Exception + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' End Try + 'End Sub + + + + Public Function getUpdateCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + + Dim str As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + Return (" UPDATE [tblTR_Shipment] SET " & str & " WHERE in_sh_id=@in_sh_id ") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTR_Shipment (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + + + + + + + + + Shared Function getWaehr(s As String, SQL As VERAG_PROG_ALLGEMEIN.SQL) As String + 'Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([LandNr],-1) FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [Währungscode]='" & s & "'", "FMZOLL") + s = s.Replace("TRY", "TRL") ' Türkische Lira + Return SQL.getValueTxtBySql("SELECT TOP 1 isnull([Währungsschlüssel],-1) FROM [Währungstabelle] WHERE [Währungscode]='" & s & "'", "FMZOLL") + + End Function + + + + Public Sub LOAD_Positionsdaten() + Try + POSITIONSDATEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblVERAG_in_shippment_Positionsdaten WHERE in_pos_inShId=@in_sh_id ", conn) + cmd.Parameters.AddWithValue("@in_sh_id", Me.in_sh_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_shippment_Position + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + l.LOAD_Packstücke() + POSITIONSDATEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + Public Sub LOAD_Documents() + 'Try + ' DOCUMENTS.Clear() + ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + ' Using cmd As New SqlCommand("SELECT * FROM tblTR_Shipment_Document WHERE shTrDoc_ShTrId=@in_sh_id ", conn) + ' cmd.Parameters.AddWithValue("@in_sh_id", Me.in_sh_id) + ' Dim dr = cmd.ExecuteReader() + ' While dr.Read + ' Dim l As New cVERAG_in_shipment_Document + ' For Each i In l.getParameterList() + ' Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + ' If dr.Item(i.Text) Is DBNull.Value Then + ' propInfo.SetValue(l, Nothing) + ' Else + ' propInfo.SetValue(l, dr.Item(i.Text)) + ' End If + ' Next + ' DOCUMENTS.Add(l) + ' End While + ' dr.Close() + ' End Using + ' End Using + 'Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + 'End Try + End Sub + + + + Function DELETE_Packstücke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblVERAG_in_shippment_Packstuecke] WHERE in_posPk_inShId =" & Me.in_sh_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Function DELETE_Positionsdaten() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblVERAG_in_shippment_Positionsdaten] WHERE in_pos_inShId =" & Me.in_sh_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + Function DELETE_Documents() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTR_Shipment_Document] WHERE shTrDoc_ShTrId =" & Me.in_sh_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + Public Function SAVE_Positionsdaten() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Positionsdaten() And DELETE_Packstücke() Then 'And DELETE_PositionsdatenUnterlagen() And DELETE_PositionsdatenVerbrauchssteuer() Then + 'jetzt die Standartofferten einfügen + For Each p In POSITIONSDATEN + p.in_pos_inShId = in_sh_id + If p.INSERT() Then + p.INSERT_Packstücke(p.in_pos_id, Me.in_sh_id) + 'p.INSERT_PositionsdatenUnterlagen(p.ezaWP_Id, Me.eza_Id) + 'p.INSERT_PositionsdatenVerbrauchssteuer(p.ezaWP_Id, Me.eza_Id) + Else + Return False + End If + Next + Else + Return False + End If + + Return True + End Function + + Public Function SAVE_Documents() As Boolean + ' 'Zuserst alle OffertenPos von dem Offert löschen + ' If DELETE_Documents() Then 'And DELETE_PositionsdatenUnterlagen() And DELETE_PositionsdatenVerbrauchssteuer() Then + ' 'jetzt die Standartofferten einfügen + ' For Each p In DOCUMENTS + ' p.shTrDoc_ShTrId = in_sh_id + ' If p.INSERT() Then + + ' Else + ' Return False + ' End If + ' Next + ' Else + ' Return False + ' End If + + ' Return True + End Function + +End Class + + +Public Class cVERAG_in_shippment_Position + + Property in_pos_id As Integer + Property in_pos_inShId As Integer + 'Property Mandant_ID As Object = Nothing + 'Property Bereich_ID As Object = Nothing + 'Property Referenz_ID As Object = Nothing + 'Property ComIndicator As Object = Nothing + Property Pos_Nr As Integer + Property Item_GdsDes As Object = Nothing + 'Property Item_Status As Object = Nothing + 'Property Item_ComCd As Object = Nothing + Property Item_TarNr As Object = Nothing + Property Item_Gross As Object = Nothing + Property Item_Net As Object = Nothing + Property Item_Orig As Object = Nothing + 'Property Item_ProcCd As Object = Nothing + 'Property Item_ProcAddCd As Object = Nothing + Property Item_ItVal As Object = Nothing + 'Property Item_Pref As Object = Nothing + 'Property Item_Quota As Object = Nothing + 'Property Item_ValMet As Object = Nothing + 'Property Item_VATInd As Object = Nothing + 'Property Item_StatVal As Object = Nothing + 'Property SurvCO_Ref As Object = Nothing + 'Property Telo_Artikel_ID As Object = Nothing + Property Telo_Artikelmenge As Object = Nothing + Property Telo_ArtikelMEH As Object = Nothing + + Property PACKSTUECKE As New List(Of cVERAG_in_shippment_Packing) + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_pos_id", in_pos_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_pos_inShId", in_pos_inShId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pos_Nr", Pos_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_GdsDes", Item_GdsDes)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_TarNr", Item_TarNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_Gross", Item_Gross)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_Net", Item_Net)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_Orig", Item_Orig)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Item_ItVal", Item_ItVal)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telo_Artikelmenge", Telo_Artikelmenge)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telo_ArtikelMEH", Telo_ArtikelMEH)) + + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + in_pos_id = SQL.doSQLVarListID(in_pos_id, getInsertCmd, "FMZOLL", , list) + Return in_pos_id > 0 + End Function + + Public Function INSERT_Packstücke(in_pos_id, in_sh_id) As Boolean + For Each p In PACKSTUECKE + p.in_posPk_inShId = in_sh_id + p.in_posPk_inPosId = in_pos_id + If Not p.INSERT() Then Return False + Next + Return True + End Function + + Public Sub LOAD_Packstücke() + Try + PACKSTUECKE.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblVERAG_in_shippment_Packstuecke WHERE in_posPk_inPosId=@in_pos_id ", conn) + cmd.Parameters.AddWithValue("@in_pos_id", Me.in_pos_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cVERAG_in_shippment_Packing + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + PACKSTUECKE.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblVERAG_in_shippment_Positionsdaten (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + + + + + +Public Class cVERAG_in_shippment_Packing + + Property in_posPk_id As Integer + Property in_posPk_inShId As Integer + Property in_posPk_inPosId As Integer + Property Pack_Mark As Object = Nothing + Property Pack_Kind As Object = Nothing + Property Pack_Nr As Object = Nothing + Property Pack_Piec As Object = Nothing + Property Telo_Gross As Object = Nothing + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_posPk_id", in_posPk_id, , True, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_posPk_inShId", in_posPk_inShId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("in_posPk_inPosId", in_posPk_inPosId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pack_Mark", Pack_Mark)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pack_Kind", Pack_Kind)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pack_Nr", Pack_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pack_Piec", Pack_Piec)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telo_Gross", Telo_Gross)) + + Return list + End Function + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + in_posPk_id = SQL.doSQLVarListID(in_posPk_id, getInsertCmd, "FMZOLL", , list) + Return in_posPk_id > 0 + End Function + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblVERAG_in_shippment_Packstuecke (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.Designer.vb new file mode 100644 index 0000000..3a120bd --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.Designer.vb @@ -0,0 +1,3210 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' VERAG_OUT_EZAListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace VERAG_OUT_EZA + + + Partial Public Class VERAG_out_eza + +#Region "Private fields" + Private _version As Object + + Private _vERAGCustomerCode As Object + + Private _company As Object + + Private _department As Object + + Private _clientReference As Object + + Private _internalReference As VERAG_out_ezaInternalReference + + Private _processData As VERAG_out_ezaProcessData + + Private _eZA_Data As VERAG_out_ezaEZA_Data + + Private _attachments As List(Of VERAG_out_ezaAttachment) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachments = New List(Of VERAG_out_ezaAttachment)() + Me._eZA_Data = New VERAG_out_ezaEZA_Data() + Me._processData = New VERAG_out_ezaProcessData() + Me._internalReference = New VERAG_out_ezaInternalReference() + End Sub + + Public Property Version() As Object + Get + Return Me._version + End Get + Set + Me._version = Value + End Set + End Property + + Public Property VERAGCustomerCode() As Object + Get + Return Me._vERAGCustomerCode + End Get + Set + Me._vERAGCustomerCode = Value + End Set + End Property + + Public Property Company() As Object + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property Department() As Object + Get + Return Me._department + End Get + Set + Me._department = Value + End Set + End Property + + Public Property ClientReference() As Object + Get + Return Me._clientReference + End Get + Set + Me._clientReference = Value + End Set + End Property + + Public Property InternalReference() As VERAG_out_ezaInternalReference + Get + Return Me._internalReference + End Get + Set + Me._internalReference = Value + End Set + End Property + + Public Property ProcessData() As VERAG_out_ezaProcessData + Get + Return Me._processData + End Get + Set + Me._processData = Value + End Set + End Property + + Public Property EZA_Data() As VERAG_out_ezaEZA_Data + Get + Return Me._eZA_Data + End Get + Set + Me._eZA_Data = Value + End Set + End Property + + + Public Property Attachments() As List(Of VERAG_out_ezaAttachment) + Get + Return Me._attachments + End Get + Set + Me._attachments = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_eza)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_eza object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_eza object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_eza object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_eza, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_eza) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_eza) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_eza + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_eza) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_eza + Return CType(Serializer.Deserialize(s), VERAG_out_eza) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_eza object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_eza object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_eza object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_eza, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_eza) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_eza) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_eza + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaInternalReference + +#Region "Private fields" + Private _officeCode As String + + Private _positionNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property OfficeCode() As String + Get + Return Me._officeCode + End Get + Set + Me._officeCode = Value + End Set + End Property + + + Public Property PositionNumber() As String + Get + Return Me._positionNumber + End Get + Set + Me._positionNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaInternalReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaInternalReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaInternalReference object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaInternalReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaInternalReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaInternalReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaInternalReference + Return CType(Serializer.Deserialize(s), VERAG_out_ezaInternalReference) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaInternalReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaInternalReference object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaInternalReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaInternalReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaProcessData + +#Region "Private fields" + Private _status As Object + + Private _transactionDate As Object + + Private _referenzNumber As Object + + Private _customsReferenzNumber As Object + + Private _procedureCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Status() As Object + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Public Property TransactionDate() As Object + Get + Return Me._transactionDate + End Get + Set + Me._transactionDate = Value + End Set + End Property + + Public Property ReferenzNumber() As Object + Get + Return Me._referenzNumber + End Get + Set + Me._referenzNumber = Value + End Set + End Property + + Public Property CustomsReferenzNumber() As Object + Get + Return Me._customsReferenzNumber + End Get + Set + Me._customsReferenzNumber = Value + End Set + End Property + + Public Property ProcedureCode() As Object + Get + Return Me._procedureCode + End Get + Set + Me._procedureCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaProcessData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaProcessData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaProcessData object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaProcessData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaProcessData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaProcessData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaProcessData + Return CType(Serializer.Deserialize(s), VERAG_out_ezaProcessData) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaProcessData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaProcessData object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaProcessData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaProcessData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_Data + +#Region "Private fields" + Private _licensePlateContainerNo As Object + + Private _sumGrossWeight As Decimal + + Private _sender As VERAG_out_ezaEZA_DataSender + + Private _consignee As VERAG_out_ezaEZA_DataConsignee + + Private _destinationCountry As Object + + Private _departureCountry As Object + + Private _destinationCustomsOffice As Object + + Private _duty As List(Of VERAG_out_ezaEZA_DataDuty) + + Private _position As List(Of VERAG_out_ezaEZA_DataPosition) + + Private _note As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._position = New List(Of VERAG_out_ezaEZA_DataPosition)() + Me._duty = New List(Of VERAG_out_ezaEZA_DataDuty)() + Me._consignee = New VERAG_out_ezaEZA_DataConsignee() + Me._sender = New VERAG_out_ezaEZA_DataSender() + End Sub + + Public Property LicensePlateContainerNo() As Object + Get + Return Me._licensePlateContainerNo + End Get + Set + Me._licensePlateContainerNo = Value + End Set + End Property + + Public Property SumGrossWeight() As Decimal + Get + Return Me._sumGrossWeight + End Get + Set + Me._sumGrossWeight = Value + End Set + End Property + + Public Property Sender() As VERAG_out_ezaEZA_DataSender + Get + Return Me._sender + End Get + Set + Me._sender = Value + End Set + End Property + + Public Property Consignee() As VERAG_out_ezaEZA_DataConsignee + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property DestinationCountry() As Object + Get + Return Me._destinationCountry + End Get + Set + Me._destinationCountry = Value + End Set + End Property + + Public Property DepartureCountry() As Object + Get + Return Me._departureCountry + End Get + Set + Me._departureCountry = Value + End Set + End Property + + Public Property DestinationCustomsOffice() As Object + Get + Return Me._destinationCustomsOffice + End Get + Set + Me._destinationCustomsOffice = Value + End Set + End Property + + + Public Property Duty() As List(Of VERAG_out_ezaEZA_DataDuty) + Get + Return Me._duty + End Get + Set + Me._duty = Value + End Set + End Property + + + Public Property Position() As List(Of VERAG_out_ezaEZA_DataPosition) + Get + Return Me._position + End Get + Set + Me._position = Value + End Set + End Property + + Public Property Note() As Object + Get + Return Me._note + End Get + Set + Me._note = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_Data)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_Data object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_Data object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_Data) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_Data) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_Data + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_Data) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_Data + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_Data) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_Data object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_Data object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_Data) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_Data) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_Data + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataSender + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_ezaEZA_DataSenderAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_ezaEZA_DataSenderAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_ezaEZA_DataSenderAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataSender)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataSender object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataSender object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataSender) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataSender + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataSender) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataSender + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataSender) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataSender object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataSender object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataSender) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataSender + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataSenderAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataSenderAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataSenderAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataSenderAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataSenderAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataSenderAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataSenderAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataSenderAdress + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataSenderAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataSenderAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataSenderAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataSenderAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataSenderAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataConsignee + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_ezaEZA_DataConsigneeAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_ezaEZA_DataConsigneeAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_ezaEZA_DataConsigneeAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataConsignee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataConsignee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataConsignee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataConsignee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataConsignee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataConsignee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataConsignee + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataConsignee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataConsignee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataConsignee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataConsignee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataConsignee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataConsigneeAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataConsigneeAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataConsigneeAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataConsigneeAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataConsigneeAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataConsigneeAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataConsigneeAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataConsigneeAdress + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataConsigneeAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataConsigneeAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataConsigneeAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataConsigneeAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataConsigneeAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataDuty + +#Region "Private fields" + Private _kind As Object + + Private _eORI As Object + + Private _accountNumber As Object + + Private _value As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Kind() As Object + Get + Return Me._kind + End Get + Set + Me._kind = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property AccountNumber() As Object + Get + Return Me._accountNumber + End Get + Set + Me._accountNumber = Value + End Set + End Property + + Public Property Value() As Object + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataDuty)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataDuty object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataDuty object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataDuty object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataDuty, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataDuty) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataDuty) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataDuty + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataDuty) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataDuty + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataDuty) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataDuty object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataDuty object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataDuty object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataDuty, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataDuty) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataDuty) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataDuty + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataPosition + +#Region "Private fields" + Private _posNr As Integer + + Private _quantity As Object + + Private _packaging As Object + + Private _goodsDescription As Object + + Private _grossWeight As Object + + Private _tariffNumber As Object + + Private _goodsValue As VERAG_out_ezaEZA_DataPositionGoodsValue + + Private _documents As VERAG_out_ezaEZA_DataPositionDocuments + + Private _note As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._documents = New VERAG_out_ezaEZA_DataPositionDocuments() + Me._goodsValue = New VERAG_out_ezaEZA_DataPositionGoodsValue() + End Sub + + Public Property PosNr() As Integer + Get + Return Me._posNr + End Get + Set + Me._posNr = Value + End Set + End Property + + Public Property Quantity() As Object + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property Packaging() As Object + Get + Return Me._packaging + End Get + Set + Me._packaging = Value + End Set + End Property + + Public Property GoodsDescription() As Object + Get + Return Me._goodsDescription + End Get + Set + Me._goodsDescription = Value + End Set + End Property + + Public Property GrossWeight() As Object + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Public Property TariffNumber() As Object + Get + Return Me._tariffNumber + End Get + Set + Me._tariffNumber = Value + End Set + End Property + + Public Property GoodsValue() As VERAG_out_ezaEZA_DataPositionGoodsValue + Get + Return Me._goodsValue + End Get + Set + Me._goodsValue = Value + End Set + End Property + + Public Property Documents() As VERAG_out_ezaEZA_DataPositionDocuments + Get + Return Me._documents + End Get + Set + Me._documents = Value + End Set + End Property + + Public Property Note() As Object + Get + Return Me._note + End Get + Set + Me._note = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataPosition)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPosition object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataPosition object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPosition) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataPosition + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataPosition) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataPosition + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataPosition) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPosition object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataPosition object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPosition) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataPosition + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataPositionGoodsValue + +#Region "Private fields" + Private _value As Object + + Private _currency As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Value() As Object + Get + Return Me._value + End Get + Set + Me._value = Value + End Set + End Property + + Public Property Currency() As Object + Get + Return Me._currency + End Get + Set + Me._currency = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataPositionGoodsValue)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionGoodsValue object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataPositionGoodsValue object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataPositionGoodsValue object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionGoodsValue, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionGoodsValue) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionGoodsValue) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataPositionGoodsValue + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataPositionGoodsValue) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataPositionGoodsValue + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataPositionGoodsValue) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionGoodsValue object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataPositionGoodsValue object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataPositionGoodsValue object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionGoodsValue, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionGoodsValue) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionGoodsValue) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataPositionGoodsValue + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataPositionDocuments + +#Region "Private fields" + Private _invoice As VERAG_out_ezaEZA_DataPositionDocumentsInvoice + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._invoice = New VERAG_out_ezaEZA_DataPositionDocumentsInvoice() + End Sub + + Public Property Invoice() As VERAG_out_ezaEZA_DataPositionDocumentsInvoice + Get + Return Me._invoice + End Get + Set + Me._invoice = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataPositionDocuments)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionDocuments object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataPositionDocuments object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataPositionDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionDocuments) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataPositionDocuments + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataPositionDocuments) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataPositionDocuments + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataPositionDocuments) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionDocuments object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataPositionDocuments object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataPositionDocuments object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocuments, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionDocuments) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocuments) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataPositionDocuments + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaEZA_DataPositionDocumentsInvoice + +#Region "Private fields" + Private _invoiceNumber As Object + + Private _invoiceDate As Date + + Private _addition1 As Object + + Private _addition2 As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property InvoiceNumber() As Object + Get + Return Me._invoiceNumber + End Get + Set + Me._invoiceNumber = Value + End Set + End Property + + + Public Property InvoiceDate() As Date + Get + Return Me._invoiceDate + End Get + Set + Me._invoiceDate = Value + End Set + End Property + + Public Property Addition1() As Object + Get + Return Me._addition1 + End Get + Set + Me._addition1 = Value + End Set + End Property + + Public Property Addition2() As Object + Get + Return Me._addition2 + End Get + Set + Me._addition2 = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaEZA_DataPositionDocumentsInvoice)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionDocumentsInvoice object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaEZA_DataPositionDocumentsInvoice object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaEZA_DataPositionDocumentsInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocumentsInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionDocumentsInvoice) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocumentsInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaEZA_DataPositionDocumentsInvoice + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaEZA_DataPositionDocumentsInvoice) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaEZA_DataPositionDocumentsInvoice + Return CType(Serializer.Deserialize(s), VERAG_out_ezaEZA_DataPositionDocumentsInvoice) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaEZA_DataPositionDocumentsInvoice object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaEZA_DataPositionDocumentsInvoice object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaEZA_DataPositionDocumentsInvoice object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocumentsInvoice, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaEZA_DataPositionDocumentsInvoice) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaEZA_DataPositionDocumentsInvoice) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaEZA_DataPositionDocumentsInvoice + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_ezaAttachment + +#Region "Private fields" + Private _referencePosNr As Object + + Private _name As Object + + Private _fileType As Object + + Private _description As Object + + Private _documentType As VERAG_out_ezaAttachmentDocumentType + + Private _base64BinaryStream() As Byte + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property ReferencePosNr() As Object + Get + Return Me._referencePosNr + End Get + Set + Me._referencePosNr = Value + End Set + End Property + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property FileType() As Object + Get + Return Me._fileType + End Get + Set + Me._fileType = Value + End Set + End Property + + Public Property Description() As Object + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Public Property DocumentType() As VERAG_out_ezaAttachmentDocumentType + Get + Return Me._documentType + End Get + Set + Me._documentType = Value + End Set + End Property + + + Public Property base64BinaryStream() As Byte() + Get + Return Me._base64BinaryStream + End Get + Set + Me._base64BinaryStream = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ezaAttachment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ezaAttachment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ezaAttachment object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ezaAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaAttachment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ezaAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ezaAttachment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ezaAttachment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ezaAttachment + Return CType(Serializer.Deserialize(s), VERAG_out_ezaAttachment) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ezaAttachment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ezaAttachment object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ezaAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ezaAttachment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ezaAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ezaAttachment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum VERAG_out_ezaAttachmentDocumentType + + ''' + ATR + + ''' + EUR1 + + ''' + T1 + + ''' + CarnetATA + + ''' + PACK + + ''' + INVOICE + + ''' + CMR + + ''' + OTHER + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.json b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.json new file mode 100644 index 0000000..056feaf --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.json @@ -0,0 +1,370 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Generated by xsd2code++. www.xsd2code.com", + "definitions": {}, + "type": "object", + "additionalProperties": false, + "properties": { + "VERAG_out_eza": { + "type": "object", + "additionalProperties": false, + "properties": { + "Version": { + "type": "object", + "additionalProperties": false + }, + "VERAGCustomerCode": { + "type": "object", + "additionalProperties": false + }, + "Company": { + "type": "object", + "additionalProperties": false + }, + "Department": { + "type": "object", + "additionalProperties": false + }, + "ClientReference": { + "type": "object", + "additionalProperties": false + }, + "InternalReference": { + "type": "object", + "additionalProperties": false, + "properties": { + "OfficeCode": { + "type": "integer" + }, + "PositionNumber": { + "type": "integer" + } + }, + "required": [ + "OfficeCode", + "PositionNumber" + ] + }, + "ProcessData": { + "type": "object", + "additionalProperties": false, + "properties": { + "Status": { + "type": "object", + "additionalProperties": false + }, + "TransactionDate": { + "type": "object", + "additionalProperties": false + }, + "ReferenzNumber": { + "type": "object", + "additionalProperties": false + }, + "CustomsReferenzNumber": { + "type": "object", + "additionalProperties": false + }, + "ProcedureCode": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "Status", + "TransactionDate", + "ReferenzNumber", + "CustomsReferenzNumber", + "ProcedureCode" + ] + }, + "EZA_Data": { + "type": "object", + "additionalProperties": false, + "properties": { + "LicensePlateContainerNo": { + "type": "object", + "additionalProperties": false + }, + "SumGrossWeight": { + "type": "integer" + }, + "Sender": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object", + "additionalProperties": false + }, + "Adress": { + "type": "object", + "additionalProperties": false, + "properties": { + "Country": { + "type": "object", + "additionalProperties": false + }, + "Postcode": { + "type": "object", + "additionalProperties": false + }, + "City": { + "type": "object", + "additionalProperties": false + }, + "Street": { + "type": "object", + "additionalProperties": false + } + } + }, + "EORI": { + "type": "object", + "additionalProperties": false + }, + "EORI_NL": { + "type": "object", + "additionalProperties": false + }, + "UID_Nr": { + "type": "object", + "additionalProperties": false + }, + "CustomerCode": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "Name" + ] + }, + "Consignee": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object" + }, + "Adress": { + "type": "object" + }, + "EORI": { + "type": "object" + }, + "EORI_NL": { + "type": "object" + }, + "UID_Nr": { + "type": "object" + }, + "CustomerCode": { + "type": "object" + } + }, + "required": [ + "Name" + ] + }, + "DestinationCountry": { + "type": "object", + "additionalProperties": false + }, + "DepartureCountry": { + "type": "object", + "additionalProperties": false + }, + "DestinationCustomsOffice": { + "type": "object", + "additionalProperties": false + }, + "Duty": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "Kind": { + "type": "object", + "additionalProperties": false + }, + "EORI": { + "type": "object" + }, + "AccountNumber": { + "type": "object", + "additionalProperties": false + }, + "Value": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "Kind", + "EORI", + "AccountNumber" + ] + }, + "maxItems": 2 + }, + "Position": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "PosNr": { + "type": "integer" + }, + "Quantity": { + "type": "object", + "additionalProperties": false + }, + "Packaging": { + "type": "object", + "additionalProperties": false + }, + "GoodsDescription": { + "type": "object", + "additionalProperties": false + }, + "GrossWeight": { + "type": "object", + "additionalProperties": false + }, + "TariffNumber": { + "type": "object", + "additionalProperties": false + }, + "GoodsValue": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "object" + }, + "Currency": { + "type": "object", + "additionalProperties": false + } + } + }, + "Documents": { + "type": "object", + "additionalProperties": false, + "properties": { + "Invoice": { + "type": "object", + "additionalProperties": false, + "properties": { + "InvoiceNumber": { + "type": "object", + "additionalProperties": false + }, + "InvoiceDate": { + "type": "string" + }, + "Addition1": { + "type": "object", + "additionalProperties": false + }, + "Addition2": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "InvoiceNumber", + "InvoiceDate" + ] + } + } + }, + "Note": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "PosNr" + ] + }, + "minItems": 1, + "maxItems": 999 + }, + "Note": { + "type": "object" + } + }, + "required": [ + "LicensePlateContainerNo" + ] + }, + "Attachments": { + "type": "object", + "additionalProperties": false, + "properties": { + "Attachment": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "ReferencePosNr": { + "type": "object", + "additionalProperties": false + }, + "Name": { + "type": "object" + }, + "FileType": { + "type": "object", + "additionalProperties": false + }, + "Description": { + "type": "object", + "additionalProperties": false + }, + "DocumentType": { + "type": "string", + "enum": [ + "ATR", + "EUR1", + "T1", + "CarnetATA", + "PACK", + "INVOICE", + "CMR", + "OTHER" + ] + }, + "base64BinaryStream": { + "type": "string" + } + }, + "required": [ + "ReferencePosNr", + "Name", + "FileType", + "Description", + "DocumentType", + "base64BinaryStream" + ] + }, + "minItems": 1, + "maxItems": 999 + } + } + } + }, + "required": [ + "Version", + "Company", + "ProcessData", + "EZA_Data" + ] + } + } +} \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.xsd new file mode 100644 index 0000000..84fdac7 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_EZA/VERAG_out_eza.xsd @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.Designer.vb new file mode 100644 index 0000000..670c1d0 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.Designer.vb @@ -0,0 +1,2943 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' VERAG_OUT_NCTSListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace VERAG_OUT_NCTS + + + Partial Public Class VERAG_out_ncts + +#Region "Private fields" + Private _version As Object + + Private _company As Object + + Private _department As Object + + Private _internalReference As VERAG_out_nctsInternalReference + + Private _processData As VERAG_out_nctsProcessData + + Private _nCTS_Data As VERAG_out_nctsNCTS_Data + + Private _attachments As List(Of VERAG_out_nctsAttachment) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachments = New List(Of VERAG_out_nctsAttachment)() + Me._nCTS_Data = New VERAG_out_nctsNCTS_Data() + Me._processData = New VERAG_out_nctsProcessData() + Me._internalReference = New VERAG_out_nctsInternalReference() + End Sub + + Public Property Version() As Object + Get + Return Me._version + End Get + Set + Me._version = Value + End Set + End Property + + Public Property Company() As Object + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property Department() As Object + Get + Return Me._department + End Get + Set + Me._department = Value + End Set + End Property + + Public Property InternalReference() As VERAG_out_nctsInternalReference + Get + Return Me._internalReference + End Get + Set + Me._internalReference = Value + End Set + End Property + + Public Property ProcessData() As VERAG_out_nctsProcessData + Get + Return Me._processData + End Get + Set + Me._processData = Value + End Set + End Property + + Public Property NCTS_Data() As VERAG_out_nctsNCTS_Data + Get + Return Me._nCTS_Data + End Get + Set + Me._nCTS_Data = Value + End Set + End Property + + + Public Property Attachments() As List(Of VERAG_out_nctsAttachment) + Get + Return Me._attachments + End Get + Set + Me._attachments = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ncts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ncts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ncts object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ncts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ncts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ncts + Return CType(Serializer.Deserialize(s), VERAG_out_ncts) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ncts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ncts object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ncts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsInternalReference + +#Region "Private fields" + Private _officeCode As String + + Private _positionNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property OfficeCode() As String + Get + Return Me._officeCode + End Get + Set + Me._officeCode = Value + End Set + End Property + + + Public Property PositionNumber() As String + Get + Return Me._positionNumber + End Get + Set + Me._positionNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsInternalReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsInternalReference object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsInternalReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsInternalReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsInternalReference + Return CType(Serializer.Deserialize(s), VERAG_out_nctsInternalReference) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsInternalReference object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsInternalReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsProcessData + +#Region "Private fields" + Private _status As Object + + Private _transactionDate As Object + + Private _mRN As Object + + Private _referenzNumber As Object + + Private _procedureCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Status() As Object + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Public Property TransactionDate() As Object + Get + Return Me._transactionDate + End Get + Set + Me._transactionDate = Value + End Set + End Property + + Public Property MRN() As Object + Get + Return Me._mRN + End Get + Set + Me._mRN = Value + End Set + End Property + + Public Property ReferenzNumber() As Object + Get + Return Me._referenzNumber + End Get + Set + Me._referenzNumber = Value + End Set + End Property + + Public Property ProcedureCode() As Object + Get + Return Me._procedureCode + End Get + Set + Me._procedureCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsProcessData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsProcessData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsProcessData object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsProcessData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsProcessData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsProcessData + Return CType(Serializer.Deserialize(s), VERAG_out_nctsProcessData) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsProcessData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsProcessData object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsProcessData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_Data + +#Region "Private fields" + Private _datDeterminationLimit As Date + + Private _licensePlate As Object + + Private _departureCustomsOffice As Object + + Private _destinationCustomsOffice As Object + + Private _departureCountry As Object + + Private _destinationCountry As Object + + Private _sender As VERAG_out_nctsNCTS_DataSender + + Private _consignee As VERAG_out_nctsNCTS_DataConsignee + + Private _carrier As VERAG_out_nctsNCTS_DataCarrier + + Private _guarantee As VERAG_out_nctsNCTS_DataGuarantee + + Private _sumGrossWeight As Decimal + + Private _position As List(Of VERAG_out_nctsNCTS_DataPosition) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._position = New List(Of VERAG_out_nctsNCTS_DataPosition)() + Me._guarantee = New VERAG_out_nctsNCTS_DataGuarantee() + Me._carrier = New VERAG_out_nctsNCTS_DataCarrier() + Me._consignee = New VERAG_out_nctsNCTS_DataConsignee() + Me._sender = New VERAG_out_nctsNCTS_DataSender() + End Sub + + + Public Property DatDeterminationLimit() As Date + Get + Return Me._datDeterminationLimit + End Get + Set + Me._datDeterminationLimit = Value + End Set + End Property + + Public Property LicensePlate() As Object + Get + Return Me._licensePlate + End Get + Set + Me._licensePlate = Value + End Set + End Property + + Public Property DepartureCustomsOffice() As Object + Get + Return Me._departureCustomsOffice + End Get + Set + Me._departureCustomsOffice = Value + End Set + End Property + + Public Property DestinationCustomsOffice() As Object + Get + Return Me._destinationCustomsOffice + End Get + Set + Me._destinationCustomsOffice = Value + End Set + End Property + + Public Property DepartureCountry() As Object + Get + Return Me._departureCountry + End Get + Set + Me._departureCountry = Value + End Set + End Property + + Public Property DestinationCountry() As Object + Get + Return Me._destinationCountry + End Get + Set + Me._destinationCountry = Value + End Set + End Property + + Public Property Sender() As VERAG_out_nctsNCTS_DataSender + Get + Return Me._sender + End Get + Set + Me._sender = Value + End Set + End Property + + Public Property Consignee() As VERAG_out_nctsNCTS_DataConsignee + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property Carrier() As VERAG_out_nctsNCTS_DataCarrier + Get + Return Me._carrier + End Get + Set + Me._carrier = Value + End Set + End Property + + Public Property Guarantee() As VERAG_out_nctsNCTS_DataGuarantee + Get + Return Me._guarantee + End Get + Set + Me._guarantee = Value + End Set + End Property + + Public Property SumGrossWeight() As Decimal + Get + Return Me._sumGrossWeight + End Get + Set + Me._sumGrossWeight = Value + End Set + End Property + + + Public Property Position() As List(Of VERAG_out_nctsNCTS_DataPosition) + Get + Return Me._position + End Get + Set + Me._position = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_Data)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_Data object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_Data + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_Data) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_Data + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_Data) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_Data object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_Data + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSender + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataSenderAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataSenderAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataSenderAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSender)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSender + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSender) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSender + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSender) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSender + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSenderAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSenderAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSenderAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSenderAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSenderAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsignee + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataConsigneeAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataConsigneeAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataConsigneeAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsignee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsignee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsignee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsignee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsignee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsignee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsigneeAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsigneeAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsigneeAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsigneeAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsigneeAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrier + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataCarrierAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataCarrierAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataCarrierAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrier)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrier + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrier) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrier + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrier) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrier + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrierAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrierAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrierAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrierAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrierAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataGuarantee + +#Region "Private fields" + Private _gRN As Object + + Private _amount As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property GRN() As Object + Get + Return Me._gRN + End Get + Set + Me._gRN = Value + End Set + End Property + + Public Property Amount() As Object + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataGuarantee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataGuarantee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataGuarantee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataGuarantee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataPosition + +#Region "Private fields" + Private _posNr As Object + + Private _quantity As Object + + Private _packaging As Object + + Private _goodsDescription As Object + + Private _grossWeight As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property PosNr() As Object + Get + Return Me._posNr + End Get + Set + Me._posNr = Value + End Set + End Property + + Public Property Quantity() As Object + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property Packaging() As Object + Get + Return Me._packaging + End Get + Set + Me._packaging = Value + End Set + End Property + + Public Property GoodsDescription() As Object + Get + Return Me._goodsDescription + End Get + Set + Me._goodsDescription = Value + End Set + End Property + + Public Property GrossWeight() As Object + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataPosition)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataPosition + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataPosition) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataPosition + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataPosition) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataPosition + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsAttachment + +#Region "Private fields" + Private _name As Object + + Private _fileType As Object + + Private _description As Object + + Private _documentType As VERAG_out_nctsAttachmentDocumentType + + Private _base64BinaryStream() As Byte + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property FileType() As Object + Get + Return Me._fileType + End Get + Set + Me._fileType = Value + End Set + End Property + + Public Property Description() As Object + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Public Property DocumentType() As VERAG_out_nctsAttachmentDocumentType + Get + Return Me._documentType + End Get + Set + Me._documentType = Value + End Set + End Property + + + Public Property base64BinaryStream() As Byte() + Get + Return Me._base64BinaryStream + End Get + Set + Me._base64BinaryStream = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsAttachment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsAttachment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsAttachment object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsAttachment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsAttachment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsAttachment + Return CType(Serializer.Deserialize(s), VERAG_out_nctsAttachment) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsAttachment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsAttachment object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsAttachment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum VERAG_out_nctsAttachmentDocumentType + + ''' + NCTS + + ''' + OTHER + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.xsd new file mode 100644 index 0000000..841f576 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts.xsd @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.Designer.vb new file mode 100644 index 0000000..1dd4e82 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.Designer.vb @@ -0,0 +1,2976 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' VERAG_OUT_NCTS_V2_0_1ListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace VERAG_OUT_NCTS_V2_0_1 + + + Partial Public Class VERAG_out_ncts + +#Region "Private fields" + Private _version As Object + + Private _company As Object + + Private _department As Object + + Private _internalReference As VERAG_out_nctsInternalReference + + Private _processData As VERAG_out_nctsProcessData + + Private _nCTS_Data As VERAG_out_nctsNCTS_Data + + Private _attachments As List(Of VERAG_out_nctsAttachment) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachments = New List(Of VERAG_out_nctsAttachment)() + Me._nCTS_Data = New VERAG_out_nctsNCTS_Data() + Me._processData = New VERAG_out_nctsProcessData() + Me._internalReference = New VERAG_out_nctsInternalReference() + End Sub + + Public Property Version() As Object + Get + Return Me._version + End Get + Set + Me._version = Value + End Set + End Property + + Public Property Company() As Object + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property Department() As Object + Get + Return Me._department + End Get + Set + Me._department = Value + End Set + End Property + + Public Property InternalReference() As VERAG_out_nctsInternalReference + Get + Return Me._internalReference + End Get + Set + Me._internalReference = Value + End Set + End Property + + Public Property ProcessData() As VERAG_out_nctsProcessData + Get + Return Me._processData + End Get + Set + Me._processData = Value + End Set + End Property + + Public Property NCTS_Data() As VERAG_out_nctsNCTS_Data + Get + Return Me._nCTS_Data + End Get + Set + Me._nCTS_Data = Value + End Set + End Property + + + Public Property Attachments() As List(Of VERAG_out_nctsAttachment) + Get + Return Me._attachments + End Get + Set + Me._attachments = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ncts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ncts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ncts object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ncts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ncts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ncts + Return CType(Serializer.Deserialize(s), VERAG_out_ncts) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ncts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ncts object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ncts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsInternalReference + +#Region "Private fields" + Private _officeCode As String + + Private _positionNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property OfficeCode() As String + Get + Return Me._officeCode + End Get + Set + Me._officeCode = Value + End Set + End Property + + + Public Property PositionNumber() As String + Get + Return Me._positionNumber + End Get + Set + Me._positionNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsInternalReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsInternalReference object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsInternalReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsInternalReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsInternalReference + Return CType(Serializer.Deserialize(s), VERAG_out_nctsInternalReference) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsInternalReference object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsInternalReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsProcessData + +#Region "Private fields" + Private _status As Object + + Private _transactionDate As Object + + Private _mRN As Object + + Private _referenzNumber As Object + + Private _procedureCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Status() As Object + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Public Property TransactionDate() As Object + Get + Return Me._transactionDate + End Get + Set + Me._transactionDate = Value + End Set + End Property + + Public Property MRN() As Object + Get + Return Me._mRN + End Get + Set + Me._mRN = Value + End Set + End Property + + Public Property ReferenzNumber() As Object + Get + Return Me._referenzNumber + End Get + Set + Me._referenzNumber = Value + End Set + End Property + + Public Property ProcedureCode() As Object + Get + Return Me._procedureCode + End Get + Set + Me._procedureCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsProcessData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsProcessData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsProcessData object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsProcessData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsProcessData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsProcessData + Return CType(Serializer.Deserialize(s), VERAG_out_nctsProcessData) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsProcessData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsProcessData object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsProcessData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_Data + +#Region "Private fields" + Private _datDeterminationLimit As Date + + Private _licensePlate As Object + + Private _departureCustomsOffice As Object + + Private _destinationCustomsOffice As Object + + Private _departureCountry As Object + + Private _destinationCountry As Object + + Private _sender As VERAG_out_nctsNCTS_DataSender + + Private _consignee As VERAG_out_nctsNCTS_DataConsignee + + Private _carrier As VERAG_out_nctsNCTS_DataCarrier + + Private _guarantee As VERAG_out_nctsNCTS_DataGuarantee + + Private _sumGrossWeight As Decimal + + Private _position As List(Of VERAG_out_nctsNCTS_DataPosition) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._position = New List(Of VERAG_out_nctsNCTS_DataPosition)() + Me._guarantee = New VERAG_out_nctsNCTS_DataGuarantee() + Me._carrier = New VERAG_out_nctsNCTS_DataCarrier() + Me._consignee = New VERAG_out_nctsNCTS_DataConsignee() + Me._sender = New VERAG_out_nctsNCTS_DataSender() + End Sub + + + Public Property DatDeterminationLimit() As Date + Get + Return Me._datDeterminationLimit + End Get + Set + Me._datDeterminationLimit = Value + End Set + End Property + + Public Property LicensePlate() As Object + Get + Return Me._licensePlate + End Get + Set + Me._licensePlate = Value + End Set + End Property + + Public Property DepartureCustomsOffice() As Object + Get + Return Me._departureCustomsOffice + End Get + Set + Me._departureCustomsOffice = Value + End Set + End Property + + Public Property DestinationCustomsOffice() As Object + Get + Return Me._destinationCustomsOffice + End Get + Set + Me._destinationCustomsOffice = Value + End Set + End Property + + Public Property DepartureCountry() As Object + Get + Return Me._departureCountry + End Get + Set + Me._departureCountry = Value + End Set + End Property + + Public Property DestinationCountry() As Object + Get + Return Me._destinationCountry + End Get + Set + Me._destinationCountry = Value + End Set + End Property + + Public Property Sender() As VERAG_out_nctsNCTS_DataSender + Get + Return Me._sender + End Get + Set + Me._sender = Value + End Set + End Property + + Public Property Consignee() As VERAG_out_nctsNCTS_DataConsignee + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property Carrier() As VERAG_out_nctsNCTS_DataCarrier + Get + Return Me._carrier + End Get + Set + Me._carrier = Value + End Set + End Property + + Public Property Guarantee() As VERAG_out_nctsNCTS_DataGuarantee + Get + Return Me._guarantee + End Get + Set + Me._guarantee = Value + End Set + End Property + + Public Property SumGrossWeight() As Decimal + Get + Return Me._sumGrossWeight + End Get + Set + Me._sumGrossWeight = Value + End Set + End Property + + + Public Property Position() As List(Of VERAG_out_nctsNCTS_DataPosition) + Get + Return Me._position + End Get + Set + Me._position = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_Data)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_Data object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_Data + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_Data) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_Data + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_Data) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_Data object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_Data + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSender + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataSenderAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataSenderAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataSenderAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSender)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSender + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSender) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSender + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSender) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSender + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSenderAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSenderAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSenderAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSenderAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSenderAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsignee + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataConsigneeAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataConsigneeAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataConsigneeAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsignee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsignee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsignee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsignee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsignee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsignee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsigneeAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsigneeAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsigneeAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsigneeAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsigneeAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrier + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataCarrierAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataCarrierAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataCarrierAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrier)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrier + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrier) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrier + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrier) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrier + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrierAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrierAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrierAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrierAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrierAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataGuarantee + +#Region "Private fields" + Private _gRN As Object + + Private _amount As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property GRN() As Object + Get + Return Me._gRN + End Get + Set + Me._gRN = Value + End Set + End Property + + Public Property Amount() As Object + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataGuarantee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataGuarantee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataGuarantee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataGuarantee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataPosition + +#Region "Private fields" + Private _posNr As Object + + Private _quantity As Object + + Private _packaging As Object + + Private _goodsDescription As Object + + Private _grossWeight As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property PosNr() As Object + Get + Return Me._posNr + End Get + Set + Me._posNr = Value + End Set + End Property + + Public Property Quantity() As Object + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property Packaging() As Object + Get + Return Me._packaging + End Get + Set + Me._packaging = Value + End Set + End Property + + Public Property GoodsDescription() As Object + Get + Return Me._goodsDescription + End Get + Set + Me._goodsDescription = Value + End Set + End Property + + Public Property GrossWeight() As Object + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataPosition)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataPosition + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataPosition) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataPosition + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataPosition) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataPosition + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsAttachment + +#Region "Private fields" + Private _name As Object + + Private _fileType As Object + + Private _description As Object + + Private _documentType As VERAG_out_nctsAttachmentDocumentType + + Private _base64BinaryStream() As Byte + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property FileType() As Object + Get + Return Me._fileType + End Get + Set + Me._fileType = Value + End Set + End Property + + Public Property Description() As Object + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Public Property DocumentType() As VERAG_out_nctsAttachmentDocumentType + Get + Return Me._documentType + End Get + Set + Me._documentType = Value + End Set + End Property + + + Public Property base64BinaryStream() As Byte() + Get + Return Me._base64BinaryStream + End Get + Set + Me._base64BinaryStream = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsAttachment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsAttachment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsAttachment object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsAttachment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsAttachment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsAttachment + Return CType(Serializer.Deserialize(s), VERAG_out_nctsAttachment) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsAttachment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsAttachment object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsAttachment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum VERAG_out_nctsAttachmentDocumentType + + ''' + NCTS + + ''' + OTHER + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.json b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.json new file mode 100644 index 0000000..31859c8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.json @@ -0,0 +1,303 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Generated by xsd2code++. www.xsd2code.com", + "definitions": {}, + "type": "object", + "additionalProperties": false, + "properties": { + "VERAG_out_ncts": { + "type": "object", + "additionalProperties": false, + "properties": { + "Version": { + "type": "object", + "additionalProperties": false + }, + "Company": { + "type": "object", + "additionalProperties": false + }, + "Department": { + "type": "object", + "additionalProperties": false + }, + "InternalReference": { + "type": "object", + "additionalProperties": false, + "properties": { + "OfficeCode": { + "type": "integer" + }, + "PositionNumber": { + "type": "integer" + } + }, + "required": [ + "OfficeCode", + "PositionNumber" + ] + }, + "ProcessData": { + "type": "object", + "additionalProperties": false, + "properties": { + "Status": { + "type": "object", + "additionalProperties": false + }, + "TransactionDate": { + "type": "object", + "additionalProperties": false + }, + "MRN": { + "type": "object", + "additionalProperties": false + }, + "ReferenzNumber": { + "type": "object", + "additionalProperties": false + }, + "ProcedureCode": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "Status", + "TransactionDate", + "MRN", + "ReferenzNumber", + "ProcedureCode" + ] + }, + "NCTS_Data": { + "type": "object", + "additionalProperties": false, + "properties": { + "DatDeterminationLimit": { + "type": "string" + }, + "LicensePlate": { + "type": "object", + "additionalProperties": false + }, + "DepartureCustomsOffice": { + "type": "object", + "additionalProperties": false + }, + "DestinationCustomsOffice": { + "type": "object", + "additionalProperties": false + }, + "DepartureCountry": { + "type": "object", + "additionalProperties": false + }, + "DestinationCountry": { + "type": "object", + "additionalProperties": false + }, + "Sender": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object", + "additionalProperties": false + }, + "Adress": { + "type": "object", + "additionalProperties": false, + "properties": { + "Country": { + "type": "object", + "additionalProperties": false + }, + "Postcode": { + "type": "object", + "additionalProperties": false + }, + "City": { + "type": "object", + "additionalProperties": false + }, + "Street": { + "type": "object", + "additionalProperties": false + } + } + }, + "EORI": { + "type": "object", + "additionalProperties": false + }, + "EORI_NL": { + "type": "object", + "additionalProperties": false + }, + "UID_Nr": { + "type": "object", + "additionalProperties": false + }, + "CustomerCode": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "Name" + ] + }, + "Consignee": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object" + }, + "Adress": { + "type": "object" + }, + "EORI": { + "type": "object" + }, + "EORI_NL": { + "type": "object" + }, + "UID_Nr": { + "type": "object" + }, + "CustomerCode": { + "type": "object" + } + }, + "required": [ + "Name" + ] + }, + "Carrier": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object" + }, + "Adress": { + "type": "object" + }, + "EORI": { + "type": "object" + }, + "EORI_NL": { + "type": "object" + }, + "UID_Nr": { + "type": "object" + }, + "CustomerCode": { + "type": "object" + } + }, + "required": [ + "Name" + ] + }, + "Guarantee": { + "type": "object", + "additionalProperties": false, + "properties": { + "GRN": { + "type": "object", + "additionalProperties": false + }, + "Amount": { + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "GRN", + "Amount" + ] + }, + "SumGrossWeight": { + "type": "integer" + }, + "Position": { + "type": "object", + "additionalProperties": false, + "properties": { + "Position": { + "type": "array", + "items": { + "type": "object" + }, + "minItems": 1, + "maxItems": 999 + } + } + } + }, + "required": [ + "DatDeterminationLimit", + "LicensePlate", + "DepartureCustomsOffice", + "DestinationCustomsOffice", + "DepartureCountry", + "DestinationCountry" + ] + }, + "Attachments": { + "type": "object", + "additionalProperties": false, + "properties": { + "Attachment": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "object" + }, + "FileType": { + "type": "object", + "additionalProperties": false + }, + "Description": { + "type": "object", + "additionalProperties": false + }, + "DocumentType": { + "type": "string", + "enum": [ + "NCTS", + "OTHER" + ] + }, + "base64BinaryStream": { + "type": "string" + } + }, + "required": [ + "Name", + "FileType", + "Description", + "DocumentType", + "base64BinaryStream" + ] + }, + "maxItems": 999 + } + } + } + }, + "required": [ + "Version", + "Company", + "ProcessData", + "NCTS_Data" + ] + } + } +} \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.xsd new file mode 100644 index 0000000..f7ea126 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_1.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.Designer.vb new file mode 100644 index 0000000..c667557 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.Designer.vb @@ -0,0 +1,2987 @@ +'' ------------------------------------------------------------------------------ +'' +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com +'' VERAG_OUT_NCTS_V2_0_2ListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse +'' +'' ------------------------------------------------------------------------------ +Imports System +Imports System.Diagnostics +Imports System.Xml.Serialization +Imports System.Collections +Imports System.Xml.Schema +Imports System.ComponentModel +Imports System.IO +Imports System.Text +Imports System.Xml +Imports System.Collections.Generic + +Namespace VERAG_OUT_NCTS_V2_0_2 + + + Partial Public Class VERAG_out_ncts + +#Region "Private fields" + Private _version As Object + + Private _company As Object + + Private _department As Object + + Private _clientReference As Object + + Private _internalReference As VERAG_out_nctsInternalReference + + Private _processData As VERAG_out_nctsProcessData + + Private _nCTS_Data As VERAG_out_nctsNCTS_Data + + Private _attachments As List(Of VERAG_out_nctsAttachment) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._attachments = New List(Of VERAG_out_nctsAttachment)() + Me._nCTS_Data = New VERAG_out_nctsNCTS_Data() + Me._processData = New VERAG_out_nctsProcessData() + Me._internalReference = New VERAG_out_nctsInternalReference() + End Sub + + Public Property Version() As Object + Get + Return Me._version + End Get + Set + Me._version = Value + End Set + End Property + + Public Property Company() As Object + Get + Return Me._company + End Get + Set + Me._company = Value + End Set + End Property + + Public Property Department() As Object + Get + Return Me._department + End Get + Set + Me._department = Value + End Set + End Property + + Public Property ClientReference() As Object + Get + Return Me._clientReference + End Get + Set + Me._clientReference = Value + End Set + End Property + + Public Property InternalReference() As VERAG_out_nctsInternalReference + Get + Return Me._internalReference + End Get + Set + Me._internalReference = Value + End Set + End Property + + Public Property ProcessData() As VERAG_out_nctsProcessData + Get + Return Me._processData + End Get + Set + Me._processData = Value + End Set + End Property + + Public Property NCTS_Data() As VERAG_out_nctsNCTS_Data + Get + Return Me._nCTS_Data + End Get + Set + Me._nCTS_Data = Value + End Set + End Property + + + Public Property Attachments() As List(Of VERAG_out_nctsAttachment) + Get + Return Me._attachments + End Get + Set + Me._attachments = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_ncts)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_ncts object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_ncts object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_ncts + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_ncts) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_ncts + Return CType(Serializer.Deserialize(s), VERAG_out_ncts) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_ncts object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_ncts object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_ncts object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_ncts) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_ncts) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_ncts + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsInternalReference + +#Region "Private fields" + Private _officeCode As String + + Private _positionNumber As String + + Private Shared sSerializer As XmlSerializer +#End Region + + + Public Property OfficeCode() As String + Get + Return Me._officeCode + End Get + Set + Me._officeCode = Value + End Set + End Property + + + Public Property PositionNumber() As String + Get + Return Me._positionNumber + End Get + Set + Me._positionNumber = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsInternalReference)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsInternalReference object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsInternalReference + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsInternalReference) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsInternalReference + Return CType(Serializer.Deserialize(s), VERAG_out_nctsInternalReference) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsInternalReference object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsInternalReference object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsInternalReference object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsInternalReference) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsInternalReference) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsInternalReference + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsProcessData + +#Region "Private fields" + Private _status As Object + + Private _transactionDate As Object + + Private _mRN As Object + + Private _referenzNumber As Object + + Private _procedureCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Status() As Object + Get + Return Me._status + End Get + Set + Me._status = Value + End Set + End Property + + Public Property TransactionDate() As Object + Get + Return Me._transactionDate + End Get + Set + Me._transactionDate = Value + End Set + End Property + + Public Property MRN() As Object + Get + Return Me._mRN + End Get + Set + Me._mRN = Value + End Set + End Property + + Public Property ReferenzNumber() As Object + Get + Return Me._referenzNumber + End Get + Set + Me._referenzNumber = Value + End Set + End Property + + Public Property ProcedureCode() As Object + Get + Return Me._procedureCode + End Get + Set + Me._procedureCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsProcessData)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsProcessData object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsProcessData object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsProcessData + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsProcessData) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsProcessData + Return CType(Serializer.Deserialize(s), VERAG_out_nctsProcessData) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsProcessData object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsProcessData object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsProcessData object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsProcessData) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsProcessData) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsProcessData + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_Data + +#Region "Private fields" + Private _datDeterminationLimit As Date + + Private _licensePlate As Object + + Private _departureCustomsOffice As Object + + Private _destinationCustomsOffice As Object + + Private _departureCountry As Object + + Private _destinationCountry As Object + + Private _sender As VERAG_out_nctsNCTS_DataSender + + Private _consignee As VERAG_out_nctsNCTS_DataConsignee + + Private _carrier As VERAG_out_nctsNCTS_DataCarrier + + Private _guarantee As VERAG_out_nctsNCTS_DataGuarantee + + Private _sumGrossWeight As Decimal + + Private _position As List(Of VERAG_out_nctsNCTS_DataPosition) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._position = New List(Of VERAG_out_nctsNCTS_DataPosition)() + Me._guarantee = New VERAG_out_nctsNCTS_DataGuarantee() + Me._carrier = New VERAG_out_nctsNCTS_DataCarrier() + Me._consignee = New VERAG_out_nctsNCTS_DataConsignee() + Me._sender = New VERAG_out_nctsNCTS_DataSender() + End Sub + + + Public Property DatDeterminationLimit() As Date + Get + Return Me._datDeterminationLimit + End Get + Set + Me._datDeterminationLimit = Value + End Set + End Property + + Public Property LicensePlate() As Object + Get + Return Me._licensePlate + End Get + Set + Me._licensePlate = Value + End Set + End Property + + Public Property DepartureCustomsOffice() As Object + Get + Return Me._departureCustomsOffice + End Get + Set + Me._departureCustomsOffice = Value + End Set + End Property + + Public Property DestinationCustomsOffice() As Object + Get + Return Me._destinationCustomsOffice + End Get + Set + Me._destinationCustomsOffice = Value + End Set + End Property + + Public Property DepartureCountry() As Object + Get + Return Me._departureCountry + End Get + Set + Me._departureCountry = Value + End Set + End Property + + Public Property DestinationCountry() As Object + Get + Return Me._destinationCountry + End Get + Set + Me._destinationCountry = Value + End Set + End Property + + Public Property Sender() As VERAG_out_nctsNCTS_DataSender + Get + Return Me._sender + End Get + Set + Me._sender = Value + End Set + End Property + + Public Property Consignee() As VERAG_out_nctsNCTS_DataConsignee + Get + Return Me._consignee + End Get + Set + Me._consignee = Value + End Set + End Property + + Public Property Carrier() As VERAG_out_nctsNCTS_DataCarrier + Get + Return Me._carrier + End Get + Set + Me._carrier = Value + End Set + End Property + + Public Property Guarantee() As VERAG_out_nctsNCTS_DataGuarantee + Get + Return Me._guarantee + End Get + Set + Me._guarantee = Value + End Set + End Property + + Public Property SumGrossWeight() As Decimal + Get + Return Me._sumGrossWeight + End Get + Set + Me._sumGrossWeight = Value + End Set + End Property + + + Public Property Position() As List(Of VERAG_out_nctsNCTS_DataPosition) + Get + Return Me._position + End Get + Set + Me._position = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_Data)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_Data object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_Data + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_Data) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_Data + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_Data) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_Data object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_Data object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_Data object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_Data) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_Data) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_Data + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSender + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataSenderAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataSenderAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataSenderAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSender)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSender + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSender) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSender + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSender) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSender object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSender object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSender object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSender) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSender) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSender + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataSenderAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataSenderAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataSenderAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataSenderAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataSenderAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataSenderAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataSenderAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataSenderAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataSenderAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataSenderAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataSenderAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsignee + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataConsigneeAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataConsigneeAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataConsigneeAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsignee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsignee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsignee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsignee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsignee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsignee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsignee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsignee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsignee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsignee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsignee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataConsigneeAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataConsigneeAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataConsigneeAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataConsigneeAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataConsigneeAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataConsigneeAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataConsigneeAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataConsigneeAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataConsigneeAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataConsigneeAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrier + +#Region "Private fields" + Private _name As Object + + Private _adress As VERAG_out_nctsNCTS_DataCarrierAdress + + Private _eORI As Object + + Private _eORI_NL As Object + + Private _uID_Nr As Object + + Private _customerCode As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Sub New() + MyBase.New + Me._adress = New VERAG_out_nctsNCTS_DataCarrierAdress() + End Sub + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property Adress() As VERAG_out_nctsNCTS_DataCarrierAdress + Get + Return Me._adress + End Get + Set + Me._adress = Value + End Set + End Property + + Public Property EORI() As Object + Get + Return Me._eORI + End Get + Set + Me._eORI = Value + End Set + End Property + + Public Property EORI_NL() As Object + Get + Return Me._eORI_NL + End Get + Set + Me._eORI_NL = Value + End Set + End Property + + Public Property UID_Nr() As Object + Get + Return Me._uID_Nr + End Get + Set + Me._uID_Nr = Value + End Set + End Property + + Public Property CustomerCode() As Object + Get + Return Me._customerCode + End Get + Set + Me._customerCode = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrier)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrier + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrier) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrier + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrier) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrier object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrier object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrier object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrier) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrier) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrier + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataCarrierAdress + +#Region "Private fields" + Private _country As Object + + Private _postcode As Object + + Private _city As Object + + Private _street As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Country() As Object + Get + Return Me._country + End Get + Set + Me._country = Value + End Set + End Property + + Public Property Postcode() As Object + Get + Return Me._postcode + End Get + Set + Me._postcode = Value + End Set + End Property + + Public Property City() As Object + Get + Return Me._city + End Get + Set + Me._city = Value + End Set + End Property + + Public Property Street() As Object + Get + Return Me._street + End Get + Set + Me._street = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataCarrierAdress)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataCarrierAdress) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataCarrierAdress + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataCarrierAdress) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataCarrierAdress object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataCarrierAdress object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataCarrierAdress object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataCarrierAdress) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataCarrierAdress) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataCarrierAdress + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataGuarantee + +#Region "Private fields" + Private _gRN As Object + + Private _amount As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property GRN() As Object + Get + Return Me._gRN + End Get + Set + Me._gRN = Value + End Set + End Property + + Public Property Amount() As Object + Get + Return Me._amount + End Get + Set + Me._amount = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataGuarantee)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataGuarantee) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataGuarantee + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataGuarantee) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataGuarantee object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataGuarantee object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataGuarantee object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataGuarantee) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataGuarantee) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataGuarantee + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsNCTS_DataPosition + +#Region "Private fields" + Private _posNr As Object + + Private _quantity As Object + + Private _packaging As Object + + Private _goodsDescription As Object + + Private _grossWeight As Object + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property PosNr() As Object + Get + Return Me._posNr + End Get + Set + Me._posNr = Value + End Set + End Property + + Public Property Quantity() As Object + Get + Return Me._quantity + End Get + Set + Me._quantity = Value + End Set + End Property + + Public Property Packaging() As Object + Get + Return Me._packaging + End Get + Set + Me._packaging = Value + End Set + End Property + + Public Property GoodsDescription() As Object + Get + Return Me._goodsDescription + End Get + Set + Me._goodsDescription = Value + End Set + End Property + + Public Property GrossWeight() As Object + Get + Return Me._grossWeight + End Get + Set + Me._grossWeight = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsNCTS_DataPosition)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsNCTS_DataPosition + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsNCTS_DataPosition) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsNCTS_DataPosition + Return CType(Serializer.Deserialize(s), VERAG_out_nctsNCTS_DataPosition) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsNCTS_DataPosition object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsNCTS_DataPosition object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsNCTS_DataPosition object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsNCTS_DataPosition) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsNCTS_DataPosition) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsNCTS_DataPosition + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Partial Public Class VERAG_out_nctsAttachment + +#Region "Private fields" + Private _name As Object + + Private _fileType As Object + + Private _description As Object + + Private _documentType As VERAG_out_nctsAttachmentDocumentType + + Private _base64BinaryStream() As Byte + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Name() As Object + Get + Return Me._name + End Get + Set + Me._name = Value + End Set + End Property + + Public Property FileType() As Object + Get + Return Me._fileType + End Get + Set + Me._fileType = Value + End Set + End Property + + Public Property Description() As Object + Get + Return Me._description + End Get + Set + Me._description = Value + End Set + End Property + + Public Property DocumentType() As VERAG_out_nctsAttachmentDocumentType + Get + Return Me._documentType + End Get + Set + Me._documentType = Value + End Set + End Property + + + Public Property base64BinaryStream() As Byte() + Get + Return Me._base64BinaryStream + End Get + Set + Me._base64BinaryStream = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(VERAG_out_nctsAttachment)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current VERAG_out_nctsAttachment object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an VERAG_out_nctsAttachment object + ''' + ''' string workflow markup to deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As VERAG_out_nctsAttachment + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), VERAG_out_nctsAttachment) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As VERAG_out_nctsAttachment + Return CType(Serializer.Deserialize(s), VERAG_out_nctsAttachment) + End Function +#End Region + + ''' + ''' Serializes current VERAG_out_nctsAttachment object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an VERAG_out_nctsAttachment object + ''' + ''' string xml file to load and deserialize + ''' Output VERAG_out_nctsAttachment object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, VERAG_out_nctsAttachment) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As VERAG_out_nctsAttachment) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As VERAG_out_nctsAttachment + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + + Public Enum VERAG_out_nctsAttachmentDocumentType + + ''' + NCTS + + ''' + OTHER + End Enum +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.xsd new file mode 100644 index 0000000..8813d70 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/VERAG_out_ncts_V2_0_2.xsd @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/cVERAG_out_ncts.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/cVERAG_out_ncts.vb new file mode 100644 index 0000000..25c44a1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/VERAG/OUT_NCTS/cVERAG_out_ncts.vb @@ -0,0 +1,361 @@ +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cVERAG_out_ncts + + + Property ncts_ANR As Object = Nothing + Property ncts_MRN As Object = Nothing + + Property ncts_firma As Object = Nothing + Property ncts_niederlassung As Object = Nothing + + + 'Property ncts_Gestellt As Boolean = False + 'Property ncts_GestelltAm As Object = Nothing + Property ncts_ObjectName As Object = Nothing + Property ncts_ObjectAlias As Object = Nothing + Property ncts_BezugsnummerVorblendung As Object = Nothing + Property ncts_Bearbeiter As Object = Nothing + Property ncts_VersendungsLandCode As Object = Nothing + Property ncts_BestimmungslandCode As Object = Nothing + Property ncts_ArtAnmeldung As Object = Nothing + Property ncts_BeladungsOrt As Object = Nothing + + Property ncts_DurchgangszollstelleDienststellnummer1 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer2 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer3 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer4 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer5 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer6 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer7 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer8 As Object = Nothing + Property ncts_DurchgangszollstelleDienststellnummer9 As Object = Nothing + + Property ncts_BestimmungsstelleDienststellennummer As Object = Nothing + Property ncts_AbgangsDienststellennummer As Object = Nothing + Property ncts_Wiedergestellungsdatum As Object = Nothing + Property ncts_KzVereinfachtesVerfahren As Object = Nothing + Property ncts_GesamtRohmasse As Object = Nothing + Property ncts_GesamtAnzahlPackstuecke As Object = Nothing + Property ncts_Verschluss_ArtCode As Object = Nothing + Property ncts_Verschluss_Anzahl As Object = Nothing + Property ncts_Verschluss_Zeichen1 As Object = Nothing + Property ncts_Verschluss_Zeichen2 As Object = Nothing + Property ncts_Verschluss_Zeichen3 As Object = Nothing + Property ncts_Verschluss_Zeichen4 As Object = Nothing + Property ncts_Verschluss_Zeichen5 As Object = Nothing + Property ncts_Verschluss_Zeichen6 As Object = Nothing + Property ncts_Verschluss_Zeichen7 As Object = Nothing + Property ncts_Verschluss_Zeichen8 As Object = Nothing + Property ncts_Verschluss_Zeichen9 As Object = Nothing + Property ncts_Verschluss_Zeichen10 As Object = Nothing + Property ncts_Verschluss_Zeichen11 As Object = Nothing + Property ncts_Verschluss_Zeichen12 As Object = Nothing + Property ncts_Verschluss_Zeichen13 As Object = Nothing + Property ncts_Verschluss_Zeichen14 As Object = Nothing + Property ncts_Verschluss_Zeichen15 As Object = Nothing + Property ncts_Verschluss_Zeichen16 As Object = Nothing + Property ncts_Befoerderungsmittel_KennzeichenAbgang As Object = Nothing + Property ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode As Object = Nothing + Property ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent As Object = Nothing + Property ncts_Befoerderungsmittel_ArtGrenzueberschreitung As Object = Nothing + Property ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend As Object = Nothing + Property ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode As Object = Nothing + Property ncts_Versender_EORI As Object = Nothing + Property ncts_Versender_NLNR As Object = Nothing + Property ncts_Versender_TIN As Object = Nothing + Property ncts_Versender_Name As Object = Nothing + Property ncts_Versender_StrasseHausnummer As Object = Nothing + Property ncts_Versender_Ort As Object = Nothing + Property ncts_Versender_PLZ As Object = Nothing + Property ncts_Versender_Land As Object = Nothing + Property ncts_Empfaenger_EORI As Object = Nothing + Property ncts_Empfaenger_NLNR As Object = Nothing + Property ncts_Empfaenger_TIN As Object = Nothing + Property ncts_Empfaenger_Name As Object = Nothing + Property ncts_Empfaenger_StrasseHausnummer As Object = Nothing + Property ncts_Empfaenger_Ort As Object = Nothing + Property ncts_Empfaenger_PLZ As Object = Nothing + Property ncts_Empfaenger_Land As Object = Nothing + Property ncts_Hauptverpflichteter_EORI As Object = Nothing + Property ncts_Hauptverpflichteter_NLNR As Object = Nothing + Property ncts_Hauptverpflichteter_TIN As Object = Nothing + Property ncts_Hauptverpflichteter_Name As Object = Nothing + Property ncts_Hauptverpflichteter_StrasseHausnummer As Object = Nothing + Property ncts_Hauptverpflichteter_Ort As Object = Nothing + Property ncts_Hauptverpflichteter_PLZ As Object = Nothing + Property ncts_Hauptverpflichteter_Land As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_IDCarnet As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_EORI As Object = Nothing + Property ncts_ZugelassenerEmpfaenger_TIN As Object = Nothing + + Property ncts_SumA_KzSumASicherheit As Object = Nothing + Property ncts_SumA_KennnummerSendung As Object = Nothing + Property ncts_SumA_BesondereUmstaende As Object = Nothing + Property ncts_SumA_NummerBefoerderung As Object = Nothing + Property ncts_SumA_Ladeort As Object = Nothing + Property ncts_SumA_Entladeort As Object = Nothing + Property ncts_SumA_BefoerderungskostenZahlungsweise As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand1 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand2 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand3 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand4 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand5 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand6 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand7 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand8 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand9 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand10 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand11 As Object = Nothing + Property ncts_SumA_BefoerderungsrouteLand12 As Object = Nothing + Property ncts_SumA_Versender_EORI As Object = Nothing + Property ncts_SumA_Versender_NLNR As Object = Nothing + Property ncts_SumA_Versender_TIN As Object = Nothing + Property ncts_SumA_Versender_Name As Object = Nothing + Property ncts_SumA_Versender_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Versender_Land As Object = Nothing + Property ncts_SumA_Versender_PLZ As Object = Nothing + Property ncts_SumA_Versender_Ort As Object = Nothing + + Property ncts_SumA_Empfaenger_EORI As Object = Nothing + Property ncts_SumA_Empfaenger_NLNR As Object = Nothing + Property ncts_SumA_Empfaenger_TIN As Object = Nothing + Property ncts_SumA_Empfaenger_Name As Object = Nothing + Property ncts_SumA_Empfaenger_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Empfaenger_Land As Object = Nothing + Property ncts_SumA_Empfaenger_PLZ As Object = Nothing + Property ncts_SumA_Empfaenger_Ort As Object = Nothing + + Property ncts_SumA_Befoerderer_EORI As Object = Nothing + Property ncts_SumA_Befoerderer_NLNR As Object = Nothing + Property ncts_SumA_Befoerderer_TIN As Object = Nothing + Property ncts_SumA_Befoerderer_Name As Object = Nothing + Property ncts_SumA_Befoerderer_StrasseHausnummer As Object = Nothing + Property ncts_SumA_Befoerderer_Land As Object = Nothing + Property ncts_SumA_Befoerderer_PLZ As Object = Nothing + Property ncts_SumA_Befoerderer_Ort As Object = Nothing + Property ncts_Stammreferenz As Object = Nothing + + + Property ncts_SICHERHEITSANGABEN As New List(Of cDakosy_NCTSOut_Sicherheitsangaben) + Property ncts_WARENPOS As New List(Of cDakosy_NCTSOut_Warenposition) + +End Class + + + +Public Class cDakosy_NCTSOut_Sicherheitsangaben + + 'Property nctsSA_Id As Integer + 'Property nctsSA_NctsId As Object = Nothing + Property nctsSA_ArtCode As Object = Nothing + Property nctsSA_BezeichnungBescheinigun As Object = Nothing + Property nctsSA_AbgabenBetrag As Object = Nothing + 'Property nctsSA_GRN As Object = Nothing + 'Property nctsSA_Zugriffcode As Object = Nothing + 'Property nctsSA_TIN As Object = Nothing + + + 'Public selButton As Object = Nothing ' Für die GUI + 'Public SA_OBJECT As Object = Nothing ' Für die GUI + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + 'Sub New(nctsSA_Id) + ' Me.nctsSA_Id = nctsSA_Id + ' LOAD() + ' End Sub + + + +End Class + + + Public Class cDakosy_NCTSOut_Warenposition + 'Property nctsWP_Id As Integer + 'Property nctsWP_NctsId As Integer + Property nctsWP_PositionsNummer As Object = Nothing + Property nctsWP_Warennummer As Object = Nothing + Property nctsWP_ArtAnmeldungPositionCode As Object = Nothing + Property nctsWP_Warenbezeichnung As Object = Nothing + Property nctsWP_Warenwert As Object = Nothing + Property nctsWP_WarenwertWaehrung As Object = Nothing + Property nctsWP_SchaetzKz As Object = Nothing + Property nctsWP_WarenwertProzent As Object = Nothing + Property nctsWP_VersendungslandPositionCode As Object = Nothing + Property nctsWP_BestimmungslandPositionCode As Object = Nothing + Property nctsWP_Rohmasse As Object = Nothing + Property nctsWP_Eigenmasse As Object = Nothing + + + Property nctsWP_VorpapierTyp As Object = Nothing + Property nctsWP_VorpapierReferenz1 As Object = Nothing + Property nctsWP_VorpapierZusatz1 As Object = Nothing + Property nctsWP_VorpapierReferenz2 As Object = Nothing + Property nctsWP_VorpapierZusatz2 As Object = Nothing + Property nctsWP_VorpapierReferenz3 As Object = Nothing + Property nctsWP_VorpapierZusatz3 As Object = Nothing + Property nctsWP_VorpapierReferenz4 As Object = Nothing + Property nctsWP_VorpapierZusatz4 As Object = Nothing + Property nctsWP_VorpapierReferenz5 As Object = Nothing + Property nctsWP_VorpapierZusatz5 As Object = Nothing + Property nctsWP_VorpapierReferenz6 As Object = Nothing + Property nctsWP_VorpapierZusatz6 As Object = Nothing + Property nctsWP_VorpapierReferenz7 As Object = Nothing + Property nctsWP_VorpapierZusatz7 As Object = Nothing + Property nctsWP_VorpapierReferenz8 As Object = Nothing + Property nctsWP_VorpapierZusatz8 As Object = Nothing + Property nctsWP_VorpapierReferenz9 As Object = Nothing + Property nctsWP_VorpapierZusatz9 As Object = Nothing + + + + Property nctsWP_BesondereVermeke_ExportAusEU As Object = Nothing + Property nctsWP_BesondereVermeke_ExportAusLand As Object = Nothing + Property nctsWP_BesondereVermeke_Export As Object = Nothing + + Property nctsWP_BesondereVermeke_ExportBeschraenkung As Object = Nothing + Property nctsWP_BesondereVermeke_ExportAbgaben As Object = Nothing + Property nctsWP_BesondereVermeke_Vermerk As Object = Nothing + Property nctsWP_BesondereVermeke_Kz10600 As Object = Nothing + + + Property nctsWP_Versender_EORI As Object = Nothing + Property nctsWP_Versender_NLNR As Object = Nothing + Property nctsWP_Versender_TIN As Object = Nothing + Property nctsWP_Versender_Name As Object = Nothing + Property nctsWP_Versender_StrasseHausnummer As Object = Nothing + Property nctsWP_Versender_Ort As Object = Nothing + Property nctsWP_Versender_PLZ As Object = Nothing + Property nctsWP_Versender_Land As Object = Nothing + Property nctsWP_Empfaenger_EORI As Object = Nothing + Property nctsWP_Empfaenger_NLNR As Object = Nothing + Property nctsWP_Empfaenger_TIN As Object = Nothing + Property nctsWP_Empfaenger_Name As Object = Nothing + Property nctsWP_Empfaenger_StrasseHausnummer As Object = Nothing + Property nctsWP_Empfaenger_Ort As Object = Nothing + Property nctsWP_Empfaenger_PLZ As Object = Nothing + Property nctsWP_Empfaenger_Land As Object = Nothing + Property nctsWP_SumAKennnummerSendung As Object = Nothing + Property nctsWP_SumABefoerderungskostenZahlungsweise As Object = Nothing + Property nctsWP_SumAUNGefahrgutnummer As Object = Nothing + Property nctsWP_SumAVersender_EORI As Object = Nothing + Property nctsWP_SumAVersender_NLNR As Object = Nothing + Property nctsWP_SumAVersender_TIN As Object = Nothing + Property nctsWP_SumAVersender_Name As Object = Nothing + Property nctsWP_SumAVersender_StrasseHausnummer As Object = Nothing + Property nctsWP_SumAVersender_Ort As Object = Nothing + Property nctsWP_SumAVersender_PLZ As Object = Nothing + Property nctsWP_SumAVersender_Land As Object = Nothing + Property nctsWP_SumAEmpfaenger_EORI As Object = Nothing + Property nctsWP_SumAEmpfaenger_NLNR As Object = Nothing + Property nctsWP_SumAEmpfaenger_TIN As Object = Nothing + Property nctsWP_SumAEmpfaenger_Name As Object = Nothing + Property nctsWP_SumAEmpfaenger_StrasseHausnummer As Object = Nothing + Property nctsWP_SumAEmpfaenger_Ort As Object = Nothing + Property nctsWP_SumAEmpfaenger_PLZ As Object = Nothing + Property nctsWP_SumAEmpfaenger_Land As Object = Nothing + + + 'Property nctsWP_KdRefNr As Object = Nothing + + + Property nctsWP_PACKSTUECKE As New List(Of cDakosy_NCTSOut_WarenpositionPackstuecke) + Property nctsWP_UNTERLAGEN As New List(Of cDakosy_NCTSOut_WarenpositionVorgelegteUnterlagen) + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWP_NctsId = nctsWP_NctsId + End Sub + + + +End Class + + + + Public Class cDakosy_NCTSOut_WarenpositionPackstuecke + + 'Property nctsWpPk_Id As Integer + 'Property nctsWpPk_nctsWPId As Integer + 'Property nctsWpPk_NctsId As Integer + + Property nctsWpPk_PackstueckeAnzahl As Object = Nothing + Property nctsWpPk_Verpackungsart As Object = Nothing + Property nctsWpPk_ZeichenNummern As Object = Nothing + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWpPk_nctsWPId = nctsWpPk_nctsWPId + End Sub + + +End Class + + Public Class cDakosy_NCTSOut_WarenpositionVorgelegteUnterlagen + + 'Property nctsWpUl_Id As Integer + 'Property nctsWpUl_nctsWPId As Integer + 'Property nctsWpUl_NctsId As Integer + Property nctsWpUl_Typ As Object = Nothing + Property nctsWpUl_Referenz As Object = Nothing + Property nctsWpUl_Zusatz As Object = Nothing + + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + ' Me.nctsWpUl_nctsWPId = nctsWpUl_nctsWPId + End Sub + + + 'Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Id", nctsWpUl_Id, , True, True)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_nctsWPId", nctsWpUl_nctsWPId)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_NctsId", nctsWpUl_NctsId)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Typ", nctsWpUl_Typ)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Referenz", nctsWpUl_Referenz)) + ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Zusatz", nctsWpUl_Zusatz)) + ' Return list + 'End Function + + + 'Public Function INSERT() As Boolean + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' nctsWpUl_Id = SQL.doSQLVarListID(nctsWpUl_Id, getInsertCmd(), "FMZOLL", , list) + ' Return nctsWpUl_Id > 0 + 'End Function + + 'Public Function getInsertCmd() As String + ' Try + ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + ' Dim str As String = "" + ' Dim values As String = "" + ' For Each i In list + ' If Not i.isPrimaryParam Then + ' str &= "[" & i.Text & "]," + ' values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + ' End If + ' Next + ' str = str.Substring(0, str.Length - 1) 'wg. ',' + ' values = values.Substring(0, values.Length - 1) 'wg. ',' + ' Return (" INSERT INTO tblDakosy_NCTSOut_WarenpositionVorgelegteUnterlagen (" & str & ") VALUES(" & values & ") ") + ' Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + ' End Try + ' Return "" + 'End Function + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cBMD_Interface.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cBMD_Interface.vb new file mode 100644 index 0000000..6c455db --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cBMD_Interface.vb @@ -0,0 +1,572 @@ +Public Class cBMD_Interface + + Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL + 'STAMMDATEN + + + 'Public Shared Function genStammdatenBuRef() As Boolean + ' Try + ' 'RTRIM([Name 1] + ' ' + isnull([Name 2],'')) as [Name] + ' Dim sqlStr = " select adressennr as [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz as [St],PLZ as [Postltz],LTRIM([Ort]) as Ort,isnull(BLZ,'') as [Bankltz],isnull(KTO,'') as [Bankkonto-Nr], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2 " + ' sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + ' sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + ' sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + ' sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + ' sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5501' " + ' sqlStr &= " Order by [Konto-Nr] " + + ' ' "Konto-Nr;Name;UST-Id-Nummer;Strasse;St;Postltz;Ort;Bankltz;Bankkonto-Nr;ZZiel;SPz;STg" + + ' Dim dt As DataTable = SQL.loadDgvBySql(sqlStr, "FMZOLL") + ' If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + ' initKDNr(dt) + ' Dim ExcelPath = cProgramFunctions.genExcelFromDT_NEW(dt, , False,,, False) '{"C1:C" & (dt.Rows.Count + 1), "C1:C" & (dt.Rows.Count + 1)}) + ' If ExcelPath <> "" Then + ' Process.Start(ExcelPath) + ' Return True + ' End If + ' Else + ' Return True ' wenn keine da sind, auch ok... + ' End If + + ' ' UPDATE FiBuSchnittstelle --> 0 + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + ' Return False + 'End Function + + ''BetreibsstammSatz + ''10 Personenkonten + ''100 Beginn Buchungsblock + ''110 Buchungen + ''111 Summe/Ende Buchungsblock + + + 'Public Shared Function genBetreibsstammSatz(Geschaeftsjahr As Integer) As String + ' Return "1,0910,""" & Geschaeftsjahr & """,""0101" & Geschaeftsjahr & """,4,6,""EUR""" + 'End Function + + + 'Public Shared Function genBuchungenBeginn(Geschaeftsjahr As Integer) As String + ' Return "100,""AR "",4,""" & Now.ToString("ddMMyyyy") & """," & Now.AddDays(-1).Month & ",0" + 'End Function + + + 'Public Shared Function genBuchungenEnd(SummeBuchungen As Double) As String + ' Return "111," & SummeBuchungen.ToString("N2").Replace(",", ".") + 'End Function + + 'Public Shared Function genStammdatenANSI(Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True) As Boolean + ' Try + ' 'RTRIM([Name 1] + ' ' + isnull([Name 2],'')) as [Name] + ' Dim bool_DatenVorhanden As Boolean = False + ' Dim Geschaeftsjahr = Now.Year 'If(Now.Month = 1, Now.Year - 1, Now.Year) --> Bei IMEX ist das GJ=Wirtschaftsjahr + ' ' "Konto-Nr;Name;UST-Id-Nummer;Strasse;St;Postltz;Ort;Bankltz;Bankkonto-Nr;ZZiel;SPz;STg" + ' ' Dim Encoding As New System.Text.ASCIIEncoding() + ' ' Dim Encoding As New System.Text.UTF8Encoding(False) + ' Dim file As System.IO.StreamWriter + ' ' Dim path = DATENVERVER_OPTIONS.getTMPPath("dvo", ".txt", , False) + ' Dim path = "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\" + ' Dim pathArchiv = "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\Archiv\" + + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + ' path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir + ' pathArchiv = "" + ' End If + + ' If Not IO.Directory.Exists(path) Then IO.Directory.CreateDirectory(path) + + + ' 'Zuerst alle IMP-Daten löschen, damit es zu keinen Missverständnissen kommt + ' 'For Each f In IO.Directory.GetFiles(path) + ' ' If f.ToString.Contains("DVO_IMP_") Then + ' ' Try + ' ' IO.File.Delete(f) + ' ' Catch ex As Exception + ' ' End Try + ' ' End If + ' 'Next + + ' Dim Dateiname = "DVO_IMP_" & Now.ToString("ddMMyyyy_HHmm") & ".txt" + ' file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15")) + + ' file.WriteLine(genBetreibsstammSatz(Geschaeftsjahr)) + ' If boolKunden Then + ' '----------------- STAMMDATEN ----------------- + ' Dim dt_Stamm As DataTable = getStammdaten() + ' If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then + ' initKDNr(dt_Stamm) + ' For Each r In dt_Stamm.Rows + ' file.WriteLine(getPersonenKto(r)) + ' Next + ' bool_DatenVorhanden = True + ' End If + ' updateFibu() ' UPDATE FiBuSchnittstelle --> 0 + + ' '----------------- STAMMDATEN LG ----------------- + ' Dim dt_StammLG As DataTable = getStammdatenLG() + ' If dt_StammLG IsNot Nothing AndAlso dt_StammLG.Rows.Count > 0 Then + ' initKDNrLG(dt_StammLG) + ' For Each r In dt_StammLG.Rows + ' file.WriteLine(getPersonenKto(r)) + ' Next + ' bool_DatenVorhanden = True + ' End If + ' updateFibuLG() ' UPDATE FiBuSchnittstelleLG --> 0 + ' '---------------------------------- + ' End If + + + ' '----------------- Buchungssätze ----------------- + ' If boolBuchungen Then + ' TrdInvoice_FUNCTIONS.TrdinSchreiben(20) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX ) + ' Dim dt_Buchungen As DataTable = getBuchungen(20) + ' If dt_Buchungen IsNot Nothing AndAlso dt_Buchungen.Rows.Count > 0 Then + ' Try + ' ' initKDNr(dt_Buchungen) + ' Dim SummeBuchungen As Double = 0 + ' file.WriteLine(genBuchungenBeginn(Geschaeftsjahr)) + ' For Each r In dt_Buchungen.Rows + ' file.WriteLine(genBuchungsZeile(r, SummeBuchungen, Geschaeftsjahr)) + ' Next + ' file.WriteLine(genBuchungenEnd(SummeBuchungen)) + ' bool_DatenVorhanden = True + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + ' 'Update Filename TrdIn + ' SQL.doSQL("update [tblTrdinInvoice] set TrdinDateiname='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = 20 AND TrdinDateiname is null ", "FMZOLL") + ' 'SQL.doSQL("update [VERAG].[dbo].[tblTrdinInvoice] set TrdinDateiname='" & Dateiname & "' WHERE [Firma_ID] = 20 AND TrdinDateiname is null ", "FMZOLL") --> Auf 12 Zeichen beschränkt! + ' End If + ' End If + ' '---------------------------------- + + ' file.Close() + + ' 'In Archiv sichern + ' If pathArchiv <> "" Then + ' If Not IO.Directory.Exists(pathArchiv) Then IO.Directory.CreateDirectory(pathArchiv) + ' IO.File.Copy(path & Dateiname, pathArchiv & Dateiname) + ' End If + + ' If bool_DatenVorhanden Then + ' If OpenFile Then Process.Start(path & Dateiname) + ' Else + ' IO.File.Delete(path & Dateiname) + ' End If + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + ' Return False + 'End Function + + + + Shared Function getStammdaten() As DataTable + Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail],[Telefon] " + sqlStr &= " ,Ordnungsbegriff " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5601' " + sqlStr &= " Order by [Konto-Nr] " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + + Shared Function updateFibu() As DataTable + Dim sqlStr = " UPDATE Kunden " + sqlStr &= " SET FiBuSchnittstelle = '0' " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5601' " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + 'Shared Function updateFibuLG() As DataTable + ' Dim sqlStr = " UPDATE tblKundenErweitert " + ' sqlStr &= " SET FiBuSchnittstelleLG = '0' " + ' sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + ' sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + ' sqlStr &= " WHERE FiBuSchnittstelleLG=1 AND Auswahl='A' AND FilialenNr='5501' " + ' Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + 'End Function + + 'Shared Function getStammdatenLG() As DataTable + ' Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail] " + ' sqlStr &= " ,Ordnungsbegriff " + ' sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + ' sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + ' sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + ' sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + ' sqlStr &= " WHERE FiBuSchnittstelleLG=1 AND Auswahl='A' AND FilialenNr='5501' " + ' sqlStr &= " Order by [Konto-Nr] " + ' Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + 'End Function + + Public Shared Function getPersonenKto(row As DataRow) As String + getPersonenKto = "" + getPersonenKto &= row("Konto-Nr") & ";" + getPersonenKto &= FormatStringDVO(row("Name")) & ";" + getPersonenKto &= FormatStringDVO(row("Name2")) & ";" + getPersonenKto &= FormatStringDVO(row("Strasse")) & ";" + + getPersonenKto &= cProgramFunctions.getISO2Land(FormatStringDVO(row("LandKz"))) & ";" + getPersonenKto &= FormatStringDVO(row("PLZ")) & ";" + getPersonenKto &= FormatStringDVO(row("Ort")) & ";" + getPersonenKto &= row("ZZiel") & ";" + getPersonenKto &= FormatStringDVO(row("UST-Id-Nummer")) & ";" + + getPersonenKto &= FormatStringDVO(row("Telefon")) & ";" + getPersonenKto &= FormatStringDVO(row("E-Mail")) & ";" + + + getPersonenKto &= row("BLZ") & ";" + getPersonenKto &= row("KTO") & ";" + + End Function + + + Public Shared Function genDatensatzCSV_Stammdaten(Optional OpenFile As Boolean = False) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean + Try + + Dim bool_DatenVorhanden As Boolean = False + Dim Geschaeftsjahr = Now.Year 'If(Now.Month = 1, Now.Year - 1, Now.Year) --> Bei IMEX ist das GJ=Wirtschaftsjahr + + 'DATEIPFAD für Stammdaten + '------------------------------------------------------------------------------------------- + Dim pathArchivKD = "\\srv07.unisu.at\Unisped Daten\VERAG AR-Daten\" '"\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\" + Dim pathKD = "\\share01\Datenarchiv\UNISPED\BMD\STAMMDATEN\" & Geschaeftsjahr & "\" ' "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\Archiv\" + 'pathKD = pathArchivKD 'TEST + + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + 'path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir + 'pathArchivKD = "" + End If + If Not IO.Directory.Exists(pathKD) Then IO.Directory.CreateDirectory(pathKD) + If Not IO.Directory.Exists(pathArchivKD) Then IO.Directory.CreateDirectory(pathArchivKD) + '------------------------------------------------------------------------------------------- + + + If True Then 'boolKunden Then + '----------------- STAMMDATEN ----------------- + Dim dt_Stamm As DataTable = getStammdaten() + If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then + + Dim fileKD As System.IO.StreamWriter + Dim DateinameKD = "BMD_KD_" & Now.ToString("ddMMyyyy_HHmm") & ".csv" + fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15")) + + + fileKD.WriteLine(genStammdatenBeginn()) + + + + initKDNr(dt_Stamm) + For Each r In dt_Stamm.Rows + fileKD.WriteLine(getPersonenKto(r)) + Next + bool_DatenVorhanden = True + + + fileKD.Close() + + 'In Archiv sichern + If pathArchivKD <> "" Then + If Not IO.Directory.Exists(pathArchivKD) Then IO.Directory.CreateDirectory(pathArchivKD) + If pathKD <> pathArchivKD Then IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD) + End If + + If bool_DatenVorhanden Then + If OpenFile Then Process.Start(pathKD & DateinameKD) + Else + IO.File.Delete(pathKD & DateinameKD) + End If + + updateFibu() ' UPDATE FiBuSchnittstelle --> 0 + + End If + End If + + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + + + Public Shared Function genDatensatzCSV_ALL(Optional OpenFile As Boolean = False, Optional boolKunden As Boolean = True, Optional boolBuchungen As Boolean = True) As Boolean + genDatensatzCSV_ALL = True + If boolKunden Then + If Not genDatensatzCSV_Stammdaten(OpenFile) Then genDatensatzCSV_ALL = False + End If + If boolBuchungen Then + If Not genDatensatzCSV_Buchungen(21, OpenFile) Then genDatensatzCSV_ALL = False + If Not genDatensatzCSV_Buchungen(22, OpenFile) Then genDatensatzCSV_ALL = False + If Not genDatensatzCSV_Buchungen(23, OpenFile) Then genDatensatzCSV_ALL = False + End If + End Function + + Public Shared Function genDatensatzCSV_Buchungen(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean + Try + Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID) + + Dim bool_DatenVorhanden As Boolean = False + Dim Geschaeftsjahr = Now.Year 'If(Now.Month = 1, Now.Year - 1, Now.Year) --> Bei IMEX ist das GJ=Wirtschaftsjahr + + 'DATEIPFAD für Buchungsdaten + '------------------------------------------------------------------------------------------- + Dim pathArchiv = "\\srv07.unisu.at\Unisped Daten\VERAG AR-Daten\" '"\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\" + Dim path = "\\share01\Datenarchiv\UNISPED\BMD\BUCHUNGEN\" & Geschaeftsjahr & "\" ' "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\Archiv\" + ' path = pathArchiv 'TEST + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + 'path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir + 'pathArchiv = "" + End If + If Not IO.Directory.Exists(path) Then IO.Directory.CreateDirectory(path) + If Not IO.Directory.Exists(pathArchiv) Then IO.Directory.CreateDirectory(pathArchiv) + '------------------------------------------------------------------------------------------- + + + Dim NameZusatz = "" + Select Case FIRMA.Firma_ID + Case 21 : NameZusatz = "UNISPED_AT_" + Case 22 : NameZusatz = "UNISPED_DE_" + Case 23 : NameZusatz = "UNISPED_ZS_" + End Select + + + '----------------- Buchungssätze ----------------- + If True Then 'boolBuchungen Then + TrdInvoice_FUNCTIONS.TrdinSchreiben(FIRMA.Firma_ID) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX ) + Dim dt_Buchungen As DataTable = getBuchungen(FIRMA.Firma_ID) + If dt_Buchungen IsNot Nothing AndAlso dt_Buchungen.Rows.Count > 0 Then + Try + Dim file As System.IO.StreamWriter + Dim Dateiname = "BMD_IMP_" & NameZusatz & Now.ToString("ddMMyyyy_HHmm") & ".csv" + file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15")) + + ' initKDNr(dt_Buchungen) + Dim SummeBuchungen As Double = 0 + file.WriteLine(genBuchungenBeginn()) + For Each r In dt_Buchungen.Rows + file.WriteLine(genBuchungsZeile(r, SummeBuchungen, Geschaeftsjahr, FIRMA)) + Next + ' file.WriteLine(genBuchungenEnd(SummeBuchungen)) + bool_DatenVorhanden = True + + 'Update Filename TrdIn + SQL.doSQL("update [tblTrdinInvoice] Set TrdinDateiname='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & FIRMA.Firma_ID & " AND TrdinDateiname is null ", "FMZOLL") + + file.Close() + + 'In Archiv sichern + If pathArchiv <> "" Then + If Not IO.Directory.Exists(pathArchiv) Then IO.Directory.CreateDirectory(pathArchiv) + If path <> pathArchiv Then IO.File.Copy(path & Dateiname, pathArchiv & Dateiname) + End If + + If bool_DatenVorhanden Then + If OpenFile Then Process.Start(path & Dateiname) + Else + IO.File.Delete(path & Dateiname) + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + End If + End If + '---------------------------------- + + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + Shared Function FormatStringDVO(s As Object, Optional length As Integer = -1, Optional defaultValue As String = "") As String + If s Is Nothing Then Return defaultValue + If s Is DBNull.Value Then Return defaultValue + FormatStringDVO = s.ToString.Replace(";", ",") + 'FormatStringDVO = s.ToString.Replace(",", "") + 'FormatStringDVO = s.ToString.Replace("""", "\22") + If length > 0 Then + If FormatStringDVO.Length > length Then FormatStringDVO = FormatStringDVO.Substring(0, length) + End If + End Function + + Shared Function getBuchungen(Firma_ID As Integer) As DataTable + + Dim sqlStr = " SELECT TOP (1000) IVO.Rechnungsdatum,IVO.Rechnungsnummer,min(Speditionsbuch) as Speditionsbuch ,min(FilialenNr) as FilialenNr,min(AbfertigungsNr) as AbfertigungsNr,min(UnterNr) as UnterNr,min(Abfertigungsdatum) as Abfertigungsdatum,min(BelegartenNr) as BelegartenNr + ,min(KundenNrZentrale) as [KundenNrZentrale],min(RechnungsKundenNr) as RechnungsKundenNr,min(RechnungsLandKz) as RechnungsLandKz,min(RechnungsUstIdKz) as RechnungsUstIdKz,min(RechnungsUstIdNr) as RechnungsUstIdNr + ,min(Lastschrift+0) as Lastschrift,min(Steuerschlüssel) as Steuerschlüssel,min([Steuersatz %]) as Steuersatz,min(WährungLokal) as WährungLokal,min(SteuerbetragLokal) as SteuerbetragLokal,min(RechnungsbetragLokal) as RechnungsbetragLokal + ,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor + ,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID ,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal + ,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten + ,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext + FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer + WHERE Firma_ID ='" & Firma_ID & "' AND TrdinDateiname Is Null + group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig + ORDER BY Rechnungsdatum, Rechnungsnummer " + ' --and IVO.Rechnungsnummer=19400002 + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + + End Function + + Public Shared Function genBuchungenBeginn() As String + Return "satzart;konto;gkonto;belegdatum;belegnr;extbelegnr;buchsymbol;buchcode;steuercode;prozent;betrag;steuer;text;zziel;kost" + End Function + Public Shared Function genBuchungenEnd() As String + Return "" + End Function + + + Public Shared Function genStammdatenBeginn() As String + Return "Kto-Nr;Nachname;Zusatzname;Straße;Staat;Plz;Ort;ZZiel;UID-Nummer;Telefonnummer;Mail;IBAN;BIC" + End Function + Public Shared Function genStammdatenEnd() As String + Return "" + End Function + + Public Shared Function genBuchungsZeile(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen) As String + genBuchungsZeile = "0;" + genBuchungsZeile &= (initKDNr2(row("KundenNrZentrale"))) & ";" + genBuchungsZeile &= fill0Stellen(row("Sachkonto"), 4) & ";" + genBuchungsZeile &= "" & CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & ";" + Dim GJ_short = Geschäftsjahr.ToString.Substring(2, 2) + Select Case FIRMA.Firma_ID + Case 21 : genBuchungsZeile &= GJ_short & "-" & FormatStringDVO(row("Rechnungsnummer")) & ";" + Case 22 : genBuchungsZeile &= GJ_short & "-" & FormatStringDVO(row("Rechnungsnummer")) & ";" + Case 23 : genBuchungsZeile &= GJ_short & "-" & FormatStringDVO(row("Rechnungsnummer")) & ";" + End Select + + genBuchungsZeile &= SQL.DLookup("KdAuftragsNr", "Rechnungsausgang", "rechnungsnr=" & row("Rechnungsnummer") & " and Firma_ID=" & FIRMA.Firma_ID & "", "FMZOLL", "") & ";" 'extbelegnr + + genBuchungsZeile &= If(row("BelegartenNr") = "70", "AR", "AG") & ";" ' Rg/GS 70=Rechnung 'AG ???????? + genBuchungsZeile &= If(row("BelegartenNr") = "70", "1", "2") & ";" ' Rg/GS 70=Rechnung 'AG ???????? + + ' genBuchungsZeile &= "1;" 'buchcode === 1 oder 2?? + genBuchungsZeile &= getSteuercode(row, FIRMA) & ";" + If CBool(row("Steuerpflichtig")) Then + genBuchungsZeile &= (getDbl2(row("Steuersatz")) * 100) & ";" 'buchcode === 1 oder 2?? + Else + genBuchungsZeile &= "0;" 'buchcode === 1 oder 2?? + End If + + Dim steuerbetragLokal As Double = 0 + If CBool(row("Steuerpflichtig")) Then + steuerbetragLokal = CDbl((getDbl2(row("SteuerpflichtigerBetragLokal")) * getDbl2(row("Steuersatz")))) + steuerbetragLokal += CDbl((getDbl2(row("SteuerpflichtigerBetragFremd")) * getDbl2(row("Steuersatz")))) + End If + ' If steuerbetragLokal < 0 Then steuerbetragLokal = steuerbetragLokal * -1 --> SONST PROBLKEM BEI UNISPED; DA STEUER vom NETTO abgezogen wird! + + genBuchungsZeile &= getDbltr(getDbl(row("SteuerpflichtigerBetragLokal")) + getDbl(row("SteuerfreierBetragLokal")) + getDbl(row("SteuerpflichtigerBetragFremd")) + getDbl(row("SteuerfreierBetragFremd")) + If(steuerbetragLokal <> 0, getDbltr(steuerbetragLokal), "0")) & ";" 'betrag + steuer (brutto) + genBuchungsZeile &= "" & If(steuerbetragLokal <> 0, getDbltr(steuerbetragLokal), "0") & ";" 'steuer + + genBuchungsZeile &= FormatStringDVO(SQL.DLookup("[Ordnungsbegriff]", "Adressen", " AdressenNr= " & row("KundenNrZentrale"), "FMZOLL", "")) & ";" ' BuchungsText bei UNISPED ist der FIRMENNAME!! + ' genBuchungsZeile &= FormatStringDVO(row("Buchungstext")) & ";" ' Text + genBuchungsZeile &= FormatStringDVO(row("Nettozahlungsziel")) & ";" ' Text + + '... aus ... + SummeBuchungen += getDbl(getDbl(row("SteuerpflichtigerBetragLokal")) + getDbl(row("SteuerfreierBetragLokal"))) + End Function + + Shared Sub initKDNr(ByRef dt As DataTable) + For Each r In dt.Rows + If IsNumeric(r("Konto-Nr")) AndAlso CInt(r("Konto-Nr")) > 2000000 Then r("Konto-Nr") = (CInt(r("Konto-Nr")) - 2000000) + ' MsgBox((CInt(r("Konto-Nr")) - 1000000) + 200000) + Next + End Sub + 'Shared Sub initKDNrLG(ByRef dt As DataTable) + ' For Each r In dt.Rows + ' If IsNumeric(r("Konto-Nr")) AndAlso CInt(r("Konto-Nr")) > 1000000 Then r("Konto-Nr") = (CInt(r("Konto-Nr")) - 1000000) + 500000 + ' ' MsgBox((CInt(r("Konto-Nr")) - 1000000) + 200000) + ' Next + 'End Sub + Shared Function initKDNr2(ktoNr As String) As String + If IsNumeric(ktoNr) AndAlso CInt(ktoNr) > 2000000 Then ktoNr = (CInt(ktoNr) - 2000000) '+ 200000 + Return ktoNr + End Function + ' Trdin=false + + Shared Function getSteuercode(r As DataRow, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen) As String + Select Case r("Sachkonto") + 'Case "3550", "3553", "3558" + ' Return "999" + Case Else + + If Not CBool(r("Steuerpflichtig")) Then + 'Vorher immer return "" - galube es soll bei eu aber 77 sein... + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & r("RechnungsLandKz") & "'", "FMZOLL", False) Then + Return "77" ' EU-LAND + Else + Return "" ' Drittland + End If + Else + If (r("RechnungsLandKz")).ToString.Replace("AT", "A").Replace("DE", "D") = FIRMA.Firma_LandKz Then 'Abhängig von FIRMA --> INLAND!!!!!! + Return "1" 'Steuerpflichtig und AT + Else + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & r("RechnungsLandKz") & "'", "FMZOLL", False) Then + Return "77" ' EU-LAND + Else + Return "" ' Drittland + End If + End If + End If + + End Select + Return "" + End Function + + + + Shared Function getDbl(o As Object) As Double + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o) + Catch ex As Exception + Return 0 + End Try + End Function + Shared Function getDbl2(o As Object) As Double + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o.ToString.Replace(".", ",")) + Catch ex As Exception + Return 0 + End Try + End Function + + + Shared Function getDbltr(o As Object) As String + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o).ToString("N2").Replace(".", "") '.Replace(",", ".") + Catch ex As Exception + Return 0 + End Try + End Function + + Shared Function fill0Stellen(i As Object, l As Integer) As String + If i Is DBNull.Value Then i = "" + If i Is Nothing Then i = "" + While i.ToString.Length < l + i &= "0" + End While + Return i + End Function + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cDVO_Interface.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cDVO_Interface.vb new file mode 100644 index 0000000..80e92a5 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cDVO_Interface.vb @@ -0,0 +1,404 @@ +Public Class cDVO_Interface + + Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Public Shared Function genStammdatenBuRef() As Boolean + Try + 'RTRIM([Name 1] + ' ' + isnull([Name 2],'')) as [Name] + Dim sqlStr = " select adressennr as [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz as [St],PLZ as [Postltz],LTRIM([Ort]) as Ort,isnull(BLZ,'') as [Bankltz],isnull(KTO,'') as [Bankkonto-Nr], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2 " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5501' " + sqlStr &= " Order by [Konto-Nr] " + + ' "Konto-Nr;Name;UST-Id-Nummer;Strasse;St;Postltz;Ort;Bankltz;Bankkonto-Nr;ZZiel;SPz;STg" + + Dim dt As DataTable = SQL.loadDgvBySql(sqlStr, "FMZOLL") + If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + initKDNr(dt) + Dim ExcelPath = cProgramFunctions.genExcelFromDT_NEW(dt, , False,,, False) '{"C1:C" & (dt.Rows.Count + 1), "C1:C" & (dt.Rows.Count + 1)}) + If ExcelPath <> "" Then + Process.Start(ExcelPath) + Return True + End If + Else + Return True ' wenn keine da sind, auch ok... + End If + + ' UPDATE FiBuSchnittstelle --> 0 + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + 'BetreibsstammSatz + '10 Personenkonten + '100 Beginn Buchungsblock + '110 Buchungen + '111 Summe/Ende Buchungsblock + + + Public Shared Function genBetreibsstammSatz(Geschaeftsjahr As Integer) As String + Return "1,0910,""" & Geschaeftsjahr & """,""0101" & Geschaeftsjahr & """,4,6,""EUR""" + End Function + + + Public Shared Function genBuchungenBeginn(Geschaeftsjahr As Integer) As String + Return "100,""AR "",4,""" & Now.ToString("ddMMyyyy") & """," & Now.AddDays(-1).Month & ",0" + End Function + + + Public Shared Function genBuchungenEnd(SummeBuchungen As Double) As String + Return "111," & SummeBuchungen.ToString("N2").Replace(",", ".") + End Function + + Public Shared Function genStammdatenANSI(Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True) As Boolean + Try + 'RTRIM([Name 1] + ' ' + isnull([Name 2],'')) as [Name] + Dim bool_DatenVorhanden As Boolean = False + Dim Geschaeftsjahr = Now.Year 'If(Now.Month = 1, Now.Year - 1, Now.Year) --> Bei IMEX ist das GJ=Wirtschaftsjahr + ' "Konto-Nr;Name;UST-Id-Nummer;Strasse;St;Postltz;Ort;Bankltz;Bankkonto-Nr;ZZiel;SPz;STg" + ' Dim Encoding As New System.Text.ASCIIEncoding() + ' Dim Encoding As New System.Text.UTF8Encoding(False) + Dim file As System.IO.StreamWriter + ' Dim path = DATENVERVER_OPTIONS.getTMPPath("dvo", ".txt", , False) + Dim path = "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\" + Dim pathArchiv = "\\192.168.1.20\Daten\DVO - DATENORDNER MIT IMPORTDATEIEN\Archiv\" + + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir + pathArchiv = "" + End If + + If Not IO.Directory.Exists(path) Then IO.Directory.CreateDirectory(path) + + + 'Zuerst alle IMP-Daten löschen, damit es zu keinen Missverständnissen kommt + 'For Each f In IO.Directory.GetFiles(path) + ' If f.ToString.Contains("DVO_IMP_") Then + ' Try + ' IO.File.Delete(f) + ' Catch ex As Exception + ' End Try + ' End If + 'Next + + Dim Dateiname = "DVO_IMP_" & Now.ToString("ddMMyyyy_HHmm") & ".txt" + file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15")) + + file.WriteLine(genBetreibsstammSatz(Geschaeftsjahr)) + If boolKunden Then + '----------------- STAMMDATEN ----------------- + Dim dt_Stamm As DataTable = getStammdaten() + If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then + initKDNr(dt_Stamm) + For Each r In dt_Stamm.Rows + file.WriteLine(getPersonenKto(r)) + Next + bool_DatenVorhanden = True + End If + updateFibu() ' UPDATE FiBuSchnittstelle --> 0 + + '----------------- STAMMDATEN LG ----------------- + Dim dt_StammLG As DataTable = getStammdatenLG() + If dt_StammLG IsNot Nothing AndAlso dt_StammLG.Rows.Count > 0 Then + initKDNrLG(dt_StammLG) + For Each r In dt_StammLG.Rows + file.WriteLine(getPersonenKto(r)) + Next + bool_DatenVorhanden = True + End If + updateFibuLG() ' UPDATE FiBuSchnittstelleLG --> 0 + '---------------------------------- + End If + + + '----------------- Buchungssätze ----------------- + If boolBuchungen Then + TrdInvoice_FUNCTIONS.TrdinSchreiben(20) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX ) + Dim dt_Buchungen As DataTable = getBuchungen(20) + If dt_Buchungen IsNot Nothing AndAlso dt_Buchungen.Rows.Count > 0 Then + Try + ' initKDNr(dt_Buchungen) + Dim SummeBuchungen As Double = 0 + file.WriteLine(genBuchungenBeginn(Geschaeftsjahr)) + For Each r In dt_Buchungen.Rows + file.WriteLine(genBuchungsZeile(r, SummeBuchungen, Geschaeftsjahr)) + Next + file.WriteLine(genBuchungenEnd(SummeBuchungen)) + bool_DatenVorhanden = True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + 'Update Filename TrdIn + SQL.doSQL("update [tblTrdinInvoice] set TrdinDateiname='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = 20 AND TrdinDateiname is null ", "FMZOLL") + 'SQL.doSQL("update [VERAG].[dbo].[tblTrdinInvoice] set TrdinDateiname='" & Dateiname & "' WHERE [Firma_ID] = 20 AND TrdinDateiname is null ", "FMZOLL") --> Auf 12 Zeichen beschränkt! + End If + End If + '---------------------------------- + + file.Close() + + 'In Archiv sichern + If pathArchiv <> "" Then + If Not IO.Directory.Exists(pathArchiv) Then IO.Directory.CreateDirectory(pathArchiv) + IO.File.Copy(path & Dateiname, pathArchiv & Dateiname) + End If + + If bool_DatenVorhanden Then + If OpenFile Then Process.Start(path & Dateiname) + Else + IO.File.Delete(path & Dateiname) + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + Shared Function FormatStringDVO(s As Object, Optional length As Integer = -1, Optional defaultValue As String = "") As String + If s Is Nothing Then Return defaultValue + If s Is DBNull.Value Then Return defaultValue + FormatStringDVO = s.ToString.Replace(",", "") + FormatStringDVO = s.ToString.Replace("""", "\22") + If length > 0 Then + If FormatStringDVO.Length > length Then FormatStringDVO = FormatStringDVO.Substring(0, length) + End If + End Function + + Shared Function getStammdaten() As DataTable + Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail] " + sqlStr &= " ,Ordnungsbegriff " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5501' " + sqlStr &= " Order by [Konto-Nr] " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + Shared Function updateFibu() As DataTable + Dim sqlStr = " UPDATE Kunden " + sqlStr &= " SET FiBuSchnittstelle = '0' " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FilialenNr='5501' " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + Shared Function updateFibuLG() As DataTable + Dim sqlStr = " UPDATE tblKundenErweitert " + sqlStr &= " SET FiBuSchnittstelleLG = '0' " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " WHERE FiBuSchnittstelleLG=1 AND Auswahl='A' AND FilialenNr='5501' " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + + Shared Function getStammdatenLG() As DataTable + Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail] " + sqlStr &= " ,Ordnungsbegriff " + sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr " + sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr " + sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz " + sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel " + sqlStr &= " WHERE FiBuSchnittstelleLG=1 AND Auswahl='A' AND FilialenNr='5501' " + sqlStr &= " Order by [Konto-Nr] " + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + End Function + + Public Shared Function getPersonenKto(row As DataRow) As String + getPersonenKto = "10," + getPersonenKto &= fill0Stellen(row("Konto-Nr"), 7) & "," + getPersonenKto &= """" & FormatStringDVO(row("Ordnungsbegriff"), 39) & """," + getPersonenKto &= """" & FormatStringDVO(row("Ordnungsbegriff"), 11) & """," + getPersonenKto &= """" & FormatStringDVO(row("UST-Id-Nummer")) & """," + If IsDate(row("UID-Datum")) Then + getPersonenKto &= """" & CDate(row("UID-Datum")).ToString("ddMMyyyy") & """," + Else + getPersonenKto &= "," + End If + getPersonenKto &= "," + getPersonenKto &= """Firma""," + getPersonenKto &= """" & FormatStringDVO(row("Name")) & """," + getPersonenKto &= """" & FormatStringDVO(row("Name2")) & """," + getPersonenKto &= """""," + getPersonenKto &= """""," + getPersonenKto &= """" & FormatStringDVO(row("Strasse")) & """," + getPersonenKto &= """" & cProgramFunctions.getISO2Land(FormatStringDVO(row("LandKz"))) & """," + getPersonenKto &= """" & FormatStringDVO(row("PLZ")) & """," + getPersonenKto &= """" & FormatStringDVO(row("Ort")) & """," + getPersonenKto &= """" & row("BLZ") & """," + getPersonenKto &= """" & row("KTO") & """," + getPersonenKto &= row("ZZiel") & "," + getPersonenKto &= "0," + getPersonenKto &= "," 'getPersonenKto &= FormatStringDVO(row("Zahlungsziel2"),, 0) & "," + getPersonenKto &= "," 'getPersonenKto &= "0," + getPersonenKto &= "," 'getPersonenKto &= FormatStringDVO(row("Zahlungsziel3"),, 0) & "," + getPersonenKto &= "," 'getPersonenKto &= "0," + + getPersonenKto &= "0," + getPersonenKto &= """""," 'IBAN + getPersonenKto &= """""," 'BIC + getPersonenKto &= """""," 'Bankeinzug + getPersonenKto &= """""," 'Prüfdatum2 + getPersonenKto &= """""," 'ISOCOde + getPersonenKto &= """""," 'Nicht In Zahlungsvorschläge aufnehemn + getPersonenKto &= """""," 'Kundendaten + getPersonenKto &= """""," 'Datum Einzugsermächtigung + getPersonenKto &= """""," 'Mandatsref + getPersonenKto &= """" & FormatStringDVO(row("E-Mail")) & """" 'e-Mail + + End Function + + + + Shared Function getBuchungen(Firma_ID As Integer) As DataTable + + Dim sqlStr = " SELECT TOP (1000) IVO.Rechnungsdatum,IVO.Rechnungsnummer,min(Speditionsbuch) as Speditionsbuch ,min(FilialenNr) as FilialenNr,min(AbfertigungsNr) as AbfertigungsNr,min(UnterNr) as UnterNr,min(Abfertigungsdatum) as Abfertigungsdatum,min(BelegartenNr) as BelegartenNr + ,min(KundenNrZentrale) as [KundenNrZentrale],min(RechnungsKundenNr) as RechnungsKundenNr,min(RechnungsLandKz) as RechnungsLandKz,min(RechnungsUstIdKz) as RechnungsUstIdKz,min(RechnungsUstIdNr) as RechnungsUstIdNr + ,min(Lastschrift+0) as Lastschrift,min(Steuerschlüssel) as Steuerschlüssel,min([Steuersatz %]) as Steuersatz,min(WährungLokal) as WährungLokal,min(SteuerbetragLokal) as SteuerbetragLokal,min(RechnungsbetragLokal) as RechnungsbetragLokal + ,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor + ,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID ,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal + ,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten + ,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext + FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer + WHERE Firma_ID ='" & Firma_ID & "' AND TrdinDateiname Is Null + group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig + ORDER BY Rechnungsdatum, Rechnungsnummer " + ' --and IVO.Rechnungsnummer=19400002 + Return SQL.loadDgvBySql(sqlStr, "FMZOLL") + + End Function + Public Shared Function genBuchungsZeile(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer) As String + genBuchungsZeile = "110," + genBuchungsZeile &= fill0Stellen(initKDNr2(row("KundenNrZentrale")), 7) & "," + genBuchungsZeile &= fill0Stellen(row("Sachkonto"), 6) & "," + genBuchungsZeile &= """" & CDate(row("Rechnungsdatum")).ToString("ddMMyyyy") & """," + genBuchungsZeile &= """" & FormatStringDVO(row("Rechnungsnummer")) & """," + genBuchungsZeile &= """" & FormatStringDVO(row("Rechnungsnummer")) & """," + genBuchungsZeile &= getDbltr(getDbl(row("SteuerpflichtigerBetragLokal")) + getDbl(row("SteuerfreierBetragLokal")) + getDbl(row("SteuerpflichtigerBetragFremd")) + getDbl(row("SteuerfreierBetragFremd"))) & "," + genBuchungsZeile &= getSteuercode(row) & "," + genBuchungsZeile &= """""," ' genBuchungsZeile &= """" & cProgramFunctions.getISO2Land(FormatStringDVO(row("RechnungsLandKz"))) & """," + Dim steuerbetragLokal As Double = 0 + If CBool(row("Steuerpflichtig")) Then + steuerbetragLokal = CDbl((getDbl2(row("SteuerpflichtigerBetragLokal")) * getDbl2(row("Steuersatz")))) + steuerbetragLokal += CDbl((getDbl2(row("SteuerpflichtigerBetragFremd")) * getDbl2(row("Steuersatz")))) + End If + If steuerbetragLokal < 0 Then steuerbetragLokal = steuerbetragLokal * -1 + genBuchungsZeile &= "" & If(steuerbetragLokal <> 0, getDbltr(steuerbetragLokal), "") & "," + genBuchungsZeile &= """" & FormatStringDVO(FormatStringDVO(row("RechnungsUstIdKz")) & FormatStringDVO(row("RechnungsUstIdNr")), 15) & """," + genBuchungsZeile &= "1," ' Kostenstelle + genBuchungsZeile &= """""," ' Fremdwährung + genBuchungsZeile &= "," ' Fremdwährung-Betrag + genBuchungsZeile &= """" & FormatStringDVO(row("Buchungstext")) & """," ' Text + genBuchungsZeile &= If(row("BelegartenNr") = "70", """R"",", """G"",") ' Rg/GS 70=Rechnung + genBuchungsZeile &= "," ' Fäll-Tage1 + genBuchungsZeile &= "," ' Fäll-% 1 + genBuchungsZeile &= "," ' Fäll-Tage2 + genBuchungsZeile &= "," ' Fäll-% 2 + genBuchungsZeile &= "," ' Fäll-Tage3 + genBuchungsZeile &= "," ' Fäll-% 3 + genBuchungsZeile &= """""," ' Storno --> S=Storno + genBuchungsZeile &= "," ' Kurs + genBuchungsZeile &= Geschäftsjahr & "," ' GJ + genBuchungsZeile &= """""," ' ISO + genBuchungsZeile &= """""," ' DL + genBuchungsZeile &= """""," ' Imp,Exp + genBuchungsZeile &= """""," ' Barcode + genBuchungsZeile &= "," ' DocuWare + genBuchungsZeile &= "," ' Nova + genBuchungsZeile &= FormatStringDVO(row("Lastschrift")) & "," ' Bankeinzug 0/1 + '... aus ... + SummeBuchungen += getDbl(getDbl(row("SteuerpflichtigerBetragLokal")) + getDbl(row("SteuerfreierBetragLokal"))) + End Function + Shared Sub initKDNr(ByRef dt As DataTable) + For Each r In dt.Rows + If IsNumeric(r("Konto-Nr")) AndAlso CInt(r("Konto-Nr")) > 1000000 Then r("Konto-Nr") = (CInt(r("Konto-Nr")) - 1000000) + 200000 + ' MsgBox((CInt(r("Konto-Nr")) - 1000000) + 200000) + Next + End Sub + Shared Sub initKDNrLG(ByRef dt As DataTable) + For Each r In dt.Rows + If IsNumeric(r("Konto-Nr")) AndAlso CInt(r("Konto-Nr")) > 1000000 Then r("Konto-Nr") = (CInt(r("Konto-Nr")) - 1000000) + 500000 + ' MsgBox((CInt(r("Konto-Nr")) - 1000000) + 200000) + Next + End Sub + Shared Function initKDNr2(ktoNr As String) As String + If IsNumeric(ktoNr) AndAlso CInt(ktoNr) > 1000000 Then ktoNr = (CInt(ktoNr) - 1000000) + 200000 + Return ktoNr + End Function + ' Trdin=false + + Shared Function getSteuercode(r As DataRow) As Double + Select Case r("Sachkonto") + Case "3550", "3553", "3558" + Return "999" + Case Else + + If CBool(r("Steuerpflichtig")) Then + Return "320" + Else + If (r("RechnungsLandKz")) = "A" Or (r("RechnungsLandKz")) = "AT" Then + Return "999" 'Steuerpflichtig und AT + Else + If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & r("RechnungsLandKz") & "'", "FMZOLL", False) Then + Return "969" ' EU-LAND + Else + Return "973" ' Drittland + End If + End If + End If + + End Select + Return "" + + End Function + + + + Shared Function getDbl(o As Object) As Double + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o) + Catch ex As Exception + Return 0 + End Try + End Function + Shared Function getDbl2(o As Object) As Double + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o.ToString.Replace(".", ",")) + Catch ex As Exception + Return 0 + End Try + End Function + + + Shared Function getDbltr(o As Object) As String + Try + If o Is Nothing Then Return 0 + If o Is DBNull.Value Then Return 0 + Return CDbl(o).ToString("N2").Replace(".", "").Replace(",", ".") + Catch ex As Exception + Return 0 + End Try + End Function + + Shared Function fill0Stellen(i As Object, l As Integer) As String + If i Is DBNull.Value Then i = "" + If i Is Nothing Then i = "" + While i.ToString.Length < l + i &= "0" + End While + Return i + End Function + + +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cJsonPost.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cJsonPost.vb new file mode 100644 index 0000000..7e73476 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cJsonPost.vb @@ -0,0 +1,43 @@ + +Imports Newtonsoft.Json +Imports System.Net +Imports System.Text + + +Public Class cJsonPost + + + ' Dim jsonPost As New JsonPost("http://192.168.254.104:8000") + ' Dim dictData As New Dictionary(Of String, Object) + 'dictData.Add("test_key", "test_value") + 'jsonPost.postData(dictData) + + + + Private urlToPost As String = "" + + Public Sub New(ByVal urlToPost As String) + Me.urlToPost = urlToPost + End Sub + + Public Function postData(ByVal dictData As Dictionary(Of String, Object)) As Boolean + Dim webClient As New WebClient() + Dim resByte As Byte() + Dim resString As String + Dim reqString() As Byte + + Try + webClient.Headers("content-type") = "application/json" + reqString = Encoding.Default.GetBytes(JsonConvert.SerializeObject(dictData, Formatting.Indented)) + resByte = webClient.UploadData(Me.urlToPost, "post", reqString) + resString = Encoding.Default.GetString(resByte) + Console.WriteLine(resString) + webClient.Dispose() + Return True + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + Return False + End Function + + End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb new file mode 100644 index 0000000..865a4e9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb @@ -0,0 +1,112 @@ +Public Class cNCTS_Helper + + + Shared Function getXLS_FremdBRG(_COMPANY As String, _BRG_TEXT As String, _BRG_VALUE As String, datVon As Date, datBis As Date, _EZOLL As Boolean) As String 'MyComboBox1._value ,cboBRG.TEXT,_BRG_VALUE,datVon.Value ,datBis.Value.ToShortDateString ,cbxEZollDaten.Checked + Try + Dim SQL As New SQL + + ' lblErr.Visible = False + If _BRG_VALUE = "" Then Return "" + + Dim where = "" + Select Case _COMPANY + Case "IMEX" : where = " and ncts_firma = 'IMEX' " + Case "UNISPED" : where = " and ncts_firma = 'UNISPED' " + Case "VERAG/ATILLA" : where = " and (ncts_firma is null OR ncts_firma IN ('VERAG','ATILLA','DURMAZ','FRONTOFFICE')) " + End Select + + + 'DAKOSY: + Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_Befoerderungsmittel_KennzeichenAbgang as Kennzeichen, isnull(ncts_MRN,'') as MRN, ncts_SumA_Befoerderer_Land as Land, nctsSA_AbgabenBetrag as GarantieBetrag, ncts_SumA_Befoerderer_Name as Firma " & + " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(ncts_BestimmungsstelleDienststellennummer,'') as Bestimmungsstelle ", "") & " " & + " ,ncts_ObjectName as Bezugsnummer " & + "FROM [tblDakosy_NCTSOut] INNER JOIN [tblDakosy_NCTSOut_Sicherheitsangaben] on ncts_Id=[nctsSA_NctsId] " + + sqlatr &= " WHERE nctsSA_GRN IN (" & _BRG_VALUE & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" + sqlatr &= where + sqlatr &= " AND (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "')>0 " + Dim dt As DataTable = SQL.loadDgvBySql(sqlatr, "FMZOLL", 120) + + + 'Bei IMEX kein E-ZOLL + If _COMPANY = "VERAG/ATILLA" Then + If _EZOLL Then + + 'EZOLL: + sqlatr = " Select TOP 100 AnmeldungsDatum As Datum , (Select [CrossIdnt] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnung.AnmID ) As Kennzeichen, isnull(CRN,'') as MRN, (select [CrossIdntNat] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnung.AnmID ) as Land, cast(GarantieWert as Decimal(17,2)) as GarantieBetrag,(SELECT [Na] FROM [ezoll].[dbo].[zsAnmCarrTra] where [zsAnmCarrTra].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnung.AnmID) as Firma " + sqlatr &= " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(Bestimmungszollstelle,'') as Bestimmungsstelle ", "") & " " + sqlatr &= " ,LRN as Bezugsnummer " + sqlatr &= " FROM vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnung " + sqlatr &= " WHERE GRN IN (" & _BRG_VALUE & ") and cast( AnmeldungsDatum as date) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "' " + + Dim dt2 As DataTable = SQL.loadDgvBySql(sqlatr, "EZOLL", 120) + + If dt Is Nothing Then + dt = dt2 + Else + 'zusammenführen: + If dt2 IsNot Nothing Then + dt.Merge(dt2, True, MissingSchemaAction.Add) + + 'For Each r As DataRow In dt2.Rows + ' dt.Rows.Add(r) + 'Next + End If + End If + + End If + End If + + + If dt Is Nothing OrElse dt.Rows.Count = 0 Then Return "NO_RESULT" 'lblErr.Visible = True : + getEmptyFraechter(dt) + dt.Columns.Remove("Bezugsnummer") + Dim optfileName = "NCTS_TOBB_" & datVon.ToShortDateString & "-" & datBis.ToShortDateString + Return cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1)}, , "Bürgschaftsbuchungen " & _BRG_TEXT, "Datum: " & Now.ToShortDateString, False, optfileName) + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return "" + End Try + End Function + + Shared Sub getEmptyFraechter(ByRef dt As DataTable) + Dim SQL As New SQL + If dt IsNot Nothing Then + For Each r In dt.Rows + Try + If r("Firma") Is DBNull.Value OrElse r("Firma") = "" Then + Dim Bezugsnummer = If(r("Bezugsnummer"), "") + Dim FirmaTmp = "" + Dim FirmaNat = "" + Dim FirmaTmpKdNR = SQL.DLookup("isnull([FrachtführerKundenNr],'')", "Speditionsbuch", " ([AtlasBezNrEZA]='" & Bezugsnummer & "' OR [AtlasBezNrNCTS]='" & Bezugsnummer & "')", "FMZOLL") + If IsNumeric(FirmaTmpKdNR) Then + Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(FirmaTmpKdNR) + If AD.hasEntry Then + FirmaTmp = AD.Name_1 + FirmaNat = AD.LandKz + End If + Else + FirmaTmp = SQL.DLookup("isnull([Frachtführer],'')", "Speditionsbuch", " ([AtlasBezNrEZA]='" & Bezugsnummer & "' OR [AtlasBezNrNCTS]='" & Bezugsnummer & "')", "FMZOLL") + End If + + If FirmaTmp.ToString.Contains(";") Then FirmaTmp = FirmaTmp.ToString.Split(";")(0) + + If FirmaTmp.Length > 30 Then + FirmaTmp = FirmaTmp.ToString.Substring(0, 30) + End If + r("Firma") = FirmaTmp + r("Land") = FirmaNat + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Next + End If + + + End Sub + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cSyska_Interface.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cSyska_Interface.vb new file mode 100644 index 0000000..42bfbf1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cSyska_Interface.vb @@ -0,0 +1,450 @@ +Public Class cSyska_Interface + ' Public Function fktFiBuDebitoren(ByVal intFirma_ID As Integer) As Boolean + + ' Dim dq As DAO.QueryDef + ' Dim rstACC As DAO.Recordset + + ' Dim cnnFIBU2 As ADODB.Connection + ' Dim rstSQL As ADODB.Recordset + + ' Dim DateiName As String + ' Dim DateiNr As Integer + ' Dim fDateiOpen As Boolean + + ' Dim strSQL As String + ' Dim lngFortschritt As Long + + '2060 On Error GoTo PROC_Error + + '2070 fktFiBuDebitoren = False + '2080 Call Logbucheintrag(0, 0, "basFiBuSyska.fktFiBuDebitoren(" & intFirma_ID & ")", 0, "gestartet") + '2090 DoCmd.Hourglass True + + ' ' Access-Datenbank lesen. + '2100 Set dq = dbs.QueryDefs("qryFiBuDebitoren") + '2110 dq.Parameters("[parFirma_ID]") = intFirma_ID + '2120 Set rstACC = dq.OpenRecordset(dbOpenSnapshot) + '2130 If Not rstACC.EOF Then + + ' ' Verbindung zur SQL-Server-Datenbank herstellen. + '2140 Set cnnFIBU2 = New ADODB.Connection + '2150 cnnFIBU2.ConnectionTimeout = 120 + '2160 cnnFIBU2.Open "File Name=F:\FMZoll\FIBU2.UDL" + '2170 Set rstSQL = New ADODB.Recordset + + ' ' Information über den Beginn der Verarbeitung anzeigen. + '2180 lngFortschritt = 0 + '2190 rstACC.MoveLast + '2200 Call SysCmd(acSysCmdInitMeter, "FIBU2 Debitoren ", rstACC.RecordCount) + '2210 rstACC.MoveFirst + + '2220 Do Until rstACC.EOF + + ' ' Information über den Fortschritt der Verarbeitung anzeigen. + '2230 lngFortschritt = lngFortschritt + 1 + '2240 Call SysCmd(acSysCmdUpdateMeter, lngFortschritt) + '2250 If lngFortschritt Mod 10 = 0 Then DoEvents + + ' ' SQL-Server-Datenbank lesen. + '2260 strSQL = "SELECT [i_konto]" & _ + ' " FROM [FIBU2].[dbo].[fibu_konto]" & _ + ' " WHERE [i_firm_refid] = " & intFirma_ID & _ + ' " AND [c_kontoart] = 'DE'" & _ + ' " AND [i_konto] = " & rstACC!KundenNrZentrale + '2270 rstSQL.Open strSQL, cnnFIBU2, adOpenStatic, adLockReadOnly, adCmdText + '2280 If rstSQL.EOF Then + + ' ' Datei zur Aufnahme der Schnittstellendaten anlegen. + '2290 If Not fDateiOpen Then + '2300 DateiName = "F:\FMZoll\FiBu\Syska\" & intFirma_ID & "\DEBI_" & Format(Now(), "yymmddhhmmss") & ".txt" + '2310 DateiNr = FreeFile + '2320 Forms![Daten-Transfer]!strInformation = DateiName + '2330 Open DateiName For Output As DateiNr + '2340 Forms![Daten-Transfer]!strInformation = "" + '2350 fDateiOpen = True + '2360 End If + + ' ' Schnittstellendaten bereitstellen. + '2370 Debitorensatz.FiBuKontonummer = rstACC!KundenNrZentrale + '2380 Debitorensatz.FiBuKürzel = IIf(IsNull(rstACC!Ordnungsbegriff), rstACC!KundenNrZentrale, Left(Left(rstACC!Ordnungsbegriff, 2) & rstACC!KundenNrZentrale, 8)) + '2390 Debitorensatz.FiBuName = IIf(IsNull(rstACC![Name 1]), Left(rstACC!Ordnungsbegriff, 40), Left(rstACC![Name 1], 40)) + '2400 Debitorensatz.FiBuZusatz = IIf(IsNull(rstACC![Name 2]), " ", Left(rstACC![Name 2], 40)) + '2410 Debitorensatz.FiBuStraße = IIf(IsNull(rstACC!Straße), " ", Left(rstACC!Straße, 30)) + '2420 Debitorensatz.FiBuPLZ = IIf(IsNull(rstACC!PLZ), " ", Right(rstACC!PLZ, 6)) + '2430 Debitorensatz.FiBuOrt = IIf(IsNull(rstACC!Ort), " ", Left(rstACC!Ort, 30)) + ' 'Für das neue Buchhaltungsprogramm muss das LandKz in ISO2 angegeben werden. + ' 'Debitorensatz.FiBuLand = IIf(IsNull(rstACC!LandKz), " ", Left(rstACC!LandKz, 3)) 'bis 30.11.2010 + '2440 Debitorensatz.FiBuLand = IIf(IsNull(rstACC!LandKz), " ", Nz(DLookup("[LandKzISO2]", "qryStaaten", "[LandKz] = '" & rstACC!LandKz & "'"), rstACC!LandKz)) 'ab 01.12.2010 + '2450 Debitorensatz.FiBuEröffnungsdatum = IIf(IsNull(rstACC![Eingegeben am]), " ", DateValue(rstACC![Eingegeben am])) + '2460 If rstACC!Lastschrift = True Then + '2470 Debitorensatz.FiBuBLZ = IIf(IsNull(rstACC!BLZ), " ", Left(rstACC!BLZ, 8)) + '2480 Debitorensatz.FiBuBankkonto = IIf(IsNull(rstACC!KTO), " ", Left(rstACC!KTO, 10)) + '2490 Else + '2500 Debitorensatz.FiBuBLZ = " " + '2510 Debitorensatz.FiBuBankkonto = " " + '2520 End If + '2530 Debitorensatz.FiBuSkontotage = "00" + '2540 Debitorensatz.FiBuZahlungstage = "10" + '2550 Debitorensatz.FiBuSkontoprozent = "00,00" + '2560 Debitorensatz.FiBuMahnkennzahl = "01" + '2570 Debitorensatz.FiBuIDNummer = IIf(IsNull(rstACC!UstIdNr), " ", IIf(IsNull(rstACC!UstIdKz), Left(rstACC!UstIdNr, 15), Left(rstACC!UstIdKz & rstACC!UstIdNr, 15))) + '2580 Debitorensatz.FiBuWährung = IIf(IsNull(rstACC!Währungscode), " ", Left(rstACC!Währungscode, 4)) + '2590 Debitorensatz.FiBuAnsprechpartner = IIf(IsNull(rstACC!Ansprechpartner), " ", IIf(IsNull(rstACC!Anrede), Left(rstACC!Ansprechpartner, 40), Left(Trim(rstACC!Anrede & " " & rstACC!Ansprechpartner), 40))) + '2600 Debitorensatz.FiBuTelefon = IIf(IsNull(rstACC!Telefon), " ", Left(rstACC!Telefon, 20)) + '2610 Debitorensatz.FiBuFax = IIf(IsNull(rstACC!Telefax), " ", Left(rstACC!Telefax, 20)) + '2620 Debitorensatz.FiBuEMailAdresse = IIf(IsNull(rstACC![E-Mail]), " ", Left(rstACC![E-Mail], 40)) + '2630 Debitorensatz.FiBuBemerkung = IIf(rstACC!KundenNr = rstACC!KundenNrZentrale, " ", rstACC!KundenNr) + '2640 If IsNull(rstACC!LandKz) Or rstACC!LandKz = " " Or rstACC!LandKz = "A" Then + '2650 Debitorensatz.FiBuGegenkontonummer = "4000" ' Erl. 20% + '2660 Debitorensatz.FiBuGegenkontonummer2 = "4000" ' Erl. 20% + '2670 Else + '2680 If DLookup(Nz("[MitgliedslandEU]", False), "[Währungstabelle]", "[LandKz]='" & rstACC!LandKz & "'") Then + '2690 Debitorensatz.FiBuGegenkontonummer = "4020" ' Erl. 0% EU + '2700 Debitorensatz.FiBuGegenkontonummer2 = "4020" ' Erl. 0% EU + '2710 Else + '2720 Debitorensatz.FiBuGegenkontonummer = "4021" ' Erl. 0% 3.Land + '2730 Debitorensatz.FiBuGegenkontonummer2 = "4021" ' Erl. 0% 3.Land + '2740 End If + '2750 End If + '2760 Debitorensatz.FiBuBankname = " " + '2770 Debitorensatz.FiBuLohnveredeler = " " + '2780 Debitorensatz.FiBuDurchbuchungskontonummer = " " + '2790 Debitorensatz.FiBuGeschäftsführer = " " + + ' ' Schnittstellendaten in Datei schreiben. + '2800 Print #DateiNr, Trim(Debitorensatz.FiBuKontonummer); Chr(9); + '2810 Print #DateiNr, Trim(Debitorensatz.FiBuKürzel); Chr(9); + '2820 Print #DateiNr, Trim(Debitorensatz.FiBuName); Chr(9); + '2830 Print #DateiNr, Trim(Debitorensatz.FiBuZusatz); Chr(9); + '2840 Print #DateiNr, Trim(Debitorensatz.FiBuStraße); Chr(9); + '2850 Print #DateiNr, Trim(Debitorensatz.FiBuPLZ); Chr(9); + '2860 Print #DateiNr, Trim(Debitorensatz.FiBuOrt); Chr(9); + '2870 Print #DateiNr, Trim(Debitorensatz.FiBuLand); Chr(9); + '2880 Print #DateiNr, Trim(Debitorensatz.FiBuEröffnungsdatum); Chr(9); + '2890 Print #DateiNr, Trim(Debitorensatz.FiBuGegenkontonummer); Chr(9); + '2900 Print #DateiNr, Trim(Debitorensatz.FiBuBankname); Chr(9); + '2910 Print #DateiNr, Trim(Debitorensatz.FiBuBLZ); Chr(9); + '2920 Print #DateiNr, Trim(Debitorensatz.FiBuBankkonto); Chr(9); + '2930 Print #DateiNr, Trim(Debitorensatz.FiBuSkontotage); Chr(9); + '2940 Print #DateiNr, Trim(Debitorensatz.FiBuZahlungstage); Chr(9); + '2950 Print #DateiNr, Trim(Debitorensatz.FiBuSkontoprozent); Chr(9); + '2960 Print #DateiNr, Trim(Debitorensatz.FiBuMahnkennzahl); Chr(9); + '2970 Print #DateiNr, Trim(Debitorensatz.FiBuIDNummer); Chr(9); + '2980 Print #DateiNr, Trim(Debitorensatz.FiBuWährung); Chr(9); + '2990 Print #DateiNr, Trim(Debitorensatz.FiBuLohnveredeler); Chr(9); + '3000 Print #DateiNr, Trim(Debitorensatz.FiBuDurchbuchungskontonummer); Chr(9); + '3010 Print #DateiNr, Trim(Debitorensatz.FiBuGegenkontonummer2); Chr(9); + '3020 Print #DateiNr, Trim(Debitorensatz.FiBuAnsprechpartner); Chr(9); + '3030 Print #DateiNr, Trim(Debitorensatz.FiBuGeschäftsführer); Chr(9); + '3040 Print #DateiNr, Trim(Debitorensatz.FiBuTelefon); Chr(9); + '3050 Print #DateiNr, Trim(Debitorensatz.FiBuFax); Chr(9); + '3060 Print #DateiNr, Trim(Debitorensatz.FiBuEMailAdresse); Chr(9); + '3070 Print #DateiNr, Trim(Debitorensatz.FiBuBemerkung); Chr(9) + + '3080 End If + '3090 rstSQL.Close + + ' ' Feld FiBuSchnittstelle in Tabelle Kunden ausschalten, nachdem die Schnittstellendaten bereitgestellt wurden. + '3100 dbs.Execute ("UPDATE Kunden SET Kunden.FiBuSchnittstelle = No WHERE (((Kunden.FiBuSchnittstelle)=Yes) AND ((Kunden.KundenNr)=" & rstACC!KundenNr & "));") + + '3110 rstACC.MoveNext + '3120 Loop + + '3130 Call SysCmd(acSysCmdRemoveMeter) + '3140 End If + '3150 rstACC.Close + '3160 Set rstACC = Nothing + + '3170 fktFiBuDebitoren = True + + 'PROC_Exit: + '3180 On Error Resume Next + ' ' Verbindung zur Schnittstellendatei trennen. + '3190 If fDateiOpen Then + '3200 Close DateiNr + '3210 fDateiOpen = False + '3220 End If + ' ' Verbindung zur SQL-Server-Datenbank trennen. + '3230 If Not rstSQL Is Nothing Then + '3240 If rstSQL.State = adStateOpen Then rstSQL.Close + '3250 Set rstSQL = Nothing + '3260 End If + '3270 If Not cnnFIBU2 Is Nothing Then + '3280 If cnnFIBU2.State = adStateOpen Then cnnFIBU2.Close + '3290 Set cnnFIBU2 = Nothing + '3300 End If + ' ' Verbindung zur Access-Datenbank trennen. + '3310 If Not rstACC Is Nothing Then + '3320 rstACC.Close + '3330 Set rstACC = Nothing + '3340 End If + '3350 DoCmd.Hourglass False + '3360 Exit Function + + 'PROC_Error: + '3370 DoCmd.Hourglass False + '3380 ErrNotify Err, "basFiBuSyska", "fktFiBuDebitoren", eNormalError + '3390 Resume PROC_Exit + + ' End Function + + + + + + ' Public Function fktFiBuBuchungen(ByVal intFirma_ID As Integer) + '100 On Error GoTo PROC_Error + + ' Dim wrk As DAO.Workspace + ' Dim db As DAO.Database + ' Dim rstInvoice As DAO.Recordset + ' Dim rstProduct As DAO.Recordset + ' Dim DateiName As String + ' Dim DateiNr As Integer + ' Dim fDateiOpen As Boolean + ' Dim lngFortschritt As Long + ' Dim fInTransaktion As Boolean + ' Dim curDifferenzbetrag As Currency + ' Dim curNettobetrag As Currency + ' Dim curSteuerbetrag As Currency + ' Dim curBruttobetrag As Currency + + '110 DoCmd.Hourglass True + '120 fInTransaktion = False + '130 fktFiBuBuchungen = False + + '140 Call Logbucheintrag(0, 0, "basFiBuSyska.fktFiBuBuchungen(" & intFirma_ID & ")", 0, "gestartet") + + '150 Set wrk = DBEngine.Workspaces(0) + '160 Set db = CurrentDb + + ' ' Transaktion starten + '170 wrk.BeginTrans + '180 fInTransaktion = True + + ' ' Invoice-Sätze lesen. + '190 Set rstInvoice = SPRecordsetMitParameter("dbo.spTrdinFiBuSelectInvoice", AktuelleVerbindungszeichenfolge(0), intFirma_ID) + '200 If Not rstInvoice.EOF Then + '210 DateiName = "F:\FMZoll\FiBu\Syska\" & intFirma_ID & "\BUBE_" & Format(Now(), "yymmddhhmmss") & ".txt" + '220 DateiNr = FreeFile ' Freie DateiNr + '230 Forms![Daten-Transfer]!strInformation = DateiName + '240 Open DateiName For Output As DateiNr ' Datei öffnen. + '250 Forms![Daten-Transfer]!strInformation = "" + '260 fDateiOpen = True + + ' ' Invoice-Sätze verarbeiten. + '270 rstInvoice.MoveLast + '280 RC = SysCmd(acSysCmdInitMeter, DateiName & " schreiben", rstInvoice.RecordCount) + '290 rstInvoice.MoveFirst + '300 lngFortschritt = 0 + '310 Do + '320 lngFortschritt = lngFortschritt + 1 + '330 RC = SysCmd(acSysCmdUpdateMeter, lngFortschritt) + + ' ' Buchungssatz Vorbelegung + '340 Buchungssatz.FiBuBuchungsart = "L" + '350 Buchungssatz.FiBuBelegdatum = Format(rstInvoice![RechnungsDatum], "dd.mm.yyyy") + '360 Buchungssatz.FiBuBelegnummer = Format(Right(rstInvoice![Rechnungsnummer], 8), "00000000") + '370 Buchungssatz.FiBuBuchungstext = Format(rstInvoice![FilialenNr], "0000") & "/" & Format(Right(rstInvoice![AbfertigungsNr], 8), "00000000") & "/" & Format(rstInvoice![UnterNr], "00") + '380 If IsNull(rstInvoice![WährungFremd]) Then + '390 Buchungssatz.FiBuWährung = rstInvoice![WährungLokal] + '400 curDifferenzbetrag = IIf(rstInvoice![RechnungsbetragLokal] < 0, 0 - rstInvoice![RechnungsbetragLokal], rstInvoice![RechnungsbetragLokal]) + '410 Else + '420 Buchungssatz.FiBuWährung = rstInvoice![WährungFremd] + '430 curDifferenzbetrag = IIf(rstInvoice![RechnungsbetragFremd] < 0, 0 - rstInvoice![RechnungsbetragFremd], rstInvoice![RechnungsbetragFremd]) + '440 End If + + ' ' Buchungssatz Rechnung (immer erste Buchungszeile) + '450 If rstInvoice![BelegartenNr] = RECHNUNG Then + '460 Buchungssatz.FiBuSollkontonummer = rstInvoice![KundenNrZentrale] + '470 Buchungssatz.FiBuHabenkontonummer = "0" + '480 If IsNull(rstInvoice![WährungFremd]) Then + '490 Buchungssatz.FiBuBruttobetrag = Format(rstInvoice![RechnungsbetragLokal], "########0.00") + '500 Else + '510 Buchungssatz.FiBuBruttobetrag = Format(rstInvoice![RechnungsbetragFremd], "########0.00") + '520 End If + '530 Buchungssatz.FiBuSteuersatz = " " + '540 Buchungssatz.FiBuSteuerbetrag = " " + '550 Buchungssatz.FiBuEigenbruttobetrag = Format(rstInvoice![RechnungsbetragLokal], "########0.00") + '560 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungsart); Chr(9); + '570 Print #DateiNr, Trim(Buchungssatz.FiBuBelegdatum); Chr(9); + '580 Print #DateiNr, Trim(Buchungssatz.FiBuBelegnummer); Chr(9); + '590 Print #DateiNr, Trim(Buchungssatz.FiBuSollkontonummer); Chr(9); + '600 Print #DateiNr, Trim(Buchungssatz.FiBuHabenkontonummer); Chr(9); + '610 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungstext); Chr(9); + '620 Print #DateiNr, Trim(Buchungssatz.FiBuBruttobetrag); Chr(9); + '630 Print #DateiNr, Trim(Buchungssatz.FiBuSteuersatz); Chr(9); + '640 Print #DateiNr, Trim(Buchungssatz.FiBuSteuerbetrag); Chr(9); + '650 Print #DateiNr, Trim(Buchungssatz.FiBuWährung); Chr(9); + '660 Print #DateiNr, Trim(Buchungssatz.FiBuEigenbruttobetrag) + '670 End If + + ' ' Product-Sätze lesen. + '680 Set rstProduct = SPRecordsetMitParameter("dbo.spTrdinFiBuSelectProduct", AktuelleVerbindungszeichenfolge(0), rstInvoice![RechnungsDatum], rstInvoice![Rechnungsnummer]) + '690 Do Until rstProduct.EOF + ' ' Buchungssatz Splittbuchungen + '700 Select Case rstInvoice![BelegartenNr] + ' Case RECHNUNG + '710 Buchungssatz.FiBuSollkontonummer = "0" + '720 Buchungssatz.FiBuHabenkontonummer = Nz(rstProduct![Sachkonto], " ") + '730 If IsNull(rstInvoice![WährungFremd]) Then + '740 curNettobetrag = rstProduct![BetragLokal] + '750 Else + '760 curNettobetrag = rstProduct![BetragFremd] + '770 End If + '780 Case GUTSCHRIFT + '790 Buchungssatz.FiBuSollkontonummer = Nz(rstProduct![Sachkonto], " ") + '800 Buchungssatz.FiBuHabenkontonummer = "0" + '810 If IsNull(rstInvoice![WährungFremd]) Then + '820 curNettobetrag = 0 - rstProduct![BetragLokal] + '830 Else + '840 curNettobetrag = 0 - rstProduct![BetragFremd] + '850 End If + '860 End Select + '870 Buchungssatz.FiBuBuchungstext = Nz(rstProduct![Buchungstext], "") + '880 If rstProduct![steuerpflichtig] Then + '890 curSteuerbetrag = CLng(curNettobetrag * rstInvoice![Steuersatz %] * 100) / 100 + '900 curBruttobetrag = curNettobetrag + curSteuerbetrag + '910 curDifferenzbetrag = curDifferenzbetrag - curBruttobetrag + '920 Buchungssatz.FiBuBruttobetrag = Format(curBruttobetrag, "########0.00") + '930 Buchungssatz.FiBuSteuersatz = Format(rstInvoice![Steuersatz %] * 100, "00.00") + ' ' Die folgende Zeile führt zu Buchungsfehler bei Fremdwährung, + ' ' Buchungssatz.FiBuSteuerbetrag = Format(curSteuerbetrag, "########0.00") + ' ' deshalb nur Steuerprozent und keinen Steuerbetrag übergeben. + '940 Buchungssatz.FiBuSteuerbetrag = " " + '950 Else + '960 curBruttobetrag = curNettobetrag + '970 curDifferenzbetrag = curDifferenzbetrag - curBruttobetrag + '980 Buchungssatz.FiBuBruttobetrag = Format(curBruttobetrag, "########0.00") + '990 Buchungssatz.FiBuSteuersatz = "00,00" + '1000 Buchungssatz.FiBuSteuerbetrag = " " + '1010 End If + '1020 If IsNull(rstInvoice![WährungFremd]) Then + '1030 Buchungssatz.FiBuEigenbruttobetrag = Format(curBruttobetrag, "########0.00") + '1040 Else + '1050 Buchungssatz.FiBuEigenbruttobetrag = Format(fktEuro(curBruttobetrag, rstInvoice![WährungFremd], "EUR"), "########0.00") + '1060 End If + '1070 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungsart); Chr(9); + '1080 Print #DateiNr, Trim(Buchungssatz.FiBuBelegdatum); Chr(9); + '1090 Print #DateiNr, Trim(Buchungssatz.FiBuBelegnummer); Chr(9); + '1100 Print #DateiNr, Trim(Buchungssatz.FiBuSollkontonummer); Chr(9); + '1110 Print #DateiNr, Trim(Buchungssatz.FiBuHabenkontonummer); Chr(9); + '1120 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungstext); Chr(9); + '1130 Print #DateiNr, Trim(Buchungssatz.FiBuBruttobetrag); Chr(9); + '1140 Print #DateiNr, Trim(Buchungssatz.FiBuSteuersatz); Chr(9); + '1150 Print #DateiNr, Trim(Buchungssatz.FiBuSteuerbetrag); Chr(9); + '1160 Print #DateiNr, Trim(Buchungssatz.FiBuWährung); Chr(9); + '1170 Print #DateiNr, Trim(Buchungssatz.FiBuEigenbruttobetrag) + '1180 rstProduct.MoveNext + '1190 Loop + '1200 rstProduct.Close + + ' ' Buchungssatz Steuerdifferenz + '1210 If curDifferenzbetrag <> 0 Then + '1220 Select Case rstInvoice![BelegartenNr] + ' Case RECHNUNG + '1230 Buchungssatz.FiBuSollkontonummer = "0" + '1240 Buchungssatz.FiBuHabenkontonummer = "8490" + '1250 Case GUTSCHRIFT + '1260 Buchungssatz.FiBuSollkontonummer = "8490" + '1270 Buchungssatz.FiBuHabenkontonummer = "0" + '1280 End Select + '1290 Buchungssatz.FiBuBuchungstext = Format(rstInvoice![FilialenNr], "0000") & "/" & Format(Right(rstInvoice![AbfertigungsNr], 8), "00000000") & "/" & Format(rstInvoice![UnterNr], "00") & "/Steuerdiff." + '1300 Buchungssatz.FiBuBruttobetrag = Format(curDifferenzbetrag, "########0.00") + '1310 Buchungssatz.FiBuSteuersatz = "00,00" + '1320 Buchungssatz.FiBuSteuerbetrag = " " + '1330 If IsNull(rstInvoice![WährungFremd]) Then + '1340 Buchungssatz.FiBuEigenbruttobetrag = Format(curDifferenzbetrag, "########0.00") + '1350 Else + '1360 Buchungssatz.FiBuEigenbruttobetrag = Format(fktEuro(curDifferenzbetrag, rstInvoice![WährungFremd], "EUR"), "########0.00") + '1370 End If + '1380 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungsart); Chr(9); + '1390 Print #DateiNr, Trim(Buchungssatz.FiBuBelegdatum); Chr(9); + '1400 Print #DateiNr, Trim(Buchungssatz.FiBuBelegnummer); Chr(9); + '1410 Print #DateiNr, Trim(Buchungssatz.FiBuSollkontonummer); Chr(9); + '1420 Print #DateiNr, Trim(Buchungssatz.FiBuHabenkontonummer); Chr(9); + '1430 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungstext); Chr(9); + '1440 Print #DateiNr, Trim(Buchungssatz.FiBuBruttobetrag); Chr(9); + '1450 Print #DateiNr, Trim(Buchungssatz.FiBuSteuersatz); Chr(9); + '1460 Print #DateiNr, Trim(Buchungssatz.FiBuSteuerbetrag); Chr(9); + '1470 Print #DateiNr, Trim(Buchungssatz.FiBuWährung); Chr(9); + '1480 Print #DateiNr, Trim(Buchungssatz.FiBuEigenbruttobetrag) + '1490 End If + + ' ' Buchungssatz Gutschrift (immer letzte Buchungszeile) + '1500 If rstInvoice![BelegartenNr] = GUTSCHRIFT Then + '1510 Buchungssatz.FiBuSollkontonummer = "0" + '1520 Buchungssatz.FiBuHabenkontonummer = rstInvoice![KundenNrZentrale] + '1530 Buchungssatz.FiBuBuchungstext = Format(rstInvoice![FilialenNr], "0000") & "/" & Format(Right(rstInvoice![AbfertigungsNr], 8), "00000000") & "/" & Format(rstInvoice![UnterNr], "00") + '1540 If IsNull(rstInvoice![WährungFremd]) Then + '1550 Buchungssatz.FiBuBruttobetrag = Format(0 - rstInvoice![RechnungsbetragLokal], "########0.00") + '1560 Else + '1570 Buchungssatz.FiBuBruttobetrag = Format(0 - rstInvoice![RechnungsbetragFremd], "########0.00") + '1580 End If + '1590 Buchungssatz.FiBuSteuersatz = " " + '1600 Buchungssatz.FiBuSteuerbetrag = " " + '1610 Buchungssatz.FiBuEigenbruttobetrag = Format(0 - rstInvoice![RechnungsbetragLokal], "########0.00") + '1620 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungsart); Chr(9); + '1630 Print #DateiNr, Trim(Buchungssatz.FiBuBelegdatum); Chr(9); + '1640 Print #DateiNr, Trim(Buchungssatz.FiBuBelegnummer); Chr(9); + '1650 Print #DateiNr, Trim(Buchungssatz.FiBuSollkontonummer); Chr(9); + '1660 Print #DateiNr, Trim(Buchungssatz.FiBuHabenkontonummer); Chr(9); + '1670 Print #DateiNr, Trim(Buchungssatz.FiBuBuchungstext); Chr(9); + '1680 Print #DateiNr, Trim(Buchungssatz.FiBuBruttobetrag); Chr(9); + '1690 Print #DateiNr, Trim(Buchungssatz.FiBuSteuersatz); Chr(9); + '1700 Print #DateiNr, Trim(Buchungssatz.FiBuSteuerbetrag); Chr(9); + '1710 Print #DateiNr, Trim(Buchungssatz.FiBuWährung); Chr(9); + '1720 Print #DateiNr, Trim(Buchungssatz.FiBuEigenbruttobetrag) + '1730 End If + + ' ' Datenbereitstellung an FiBu - TrdinDateiname im Buchungskopfsatz eintragen. + '1740 Call SPAktionsabfrageOhneErgebnis("dbo.spTrdinFiBuUpdateInvoice", AktuelleVerbindungszeichenfolge(0), rstInvoice![RechnungsDatum], rstInvoice![Rechnungsnummer], Mid(DateiName, Len(DateiName) - 15, 12)) + + '1750 rstInvoice.MoveNext + '1760 Loop Until rstInvoice.EOF + '1770 RC = SysCmd(acSysCmdRemoveMeter) + + '1780 End If + '1790 rstInvoice.Close + + ' ' Transaktion beenden + '1800 If fInTransaktion Then + '1810 wrk.CommitTrans + '1820 fInTransaktion = False + '1830 End If + + '1840 fktFiBuBuchungen = True + + 'PROC_Exit: + '1850 On Error Resume Next + + ' ' Schnittstellendatei schließen. + '1860 If fDateiOpen Then Close DateiNr + + '1870 If Not rstProduct Is Nothing Then + '1880 rstProduct.Close + '1890 Set rstProduct = Nothing + '1900 End If + '1910 If Not rstInvoice Is Nothing Then + '1920 rstInvoice.Close + '1930 Set rstInvoice = Nothing + '1940 End If + '1950 If Not db Is Nothing Then Set db = Nothing + '1960 If Not wrk Is Nothing Then Set wrk = Nothing + + '1970 DoCmd.Hourglass False + '1980 Exit Function + + 'PROC_Error: + ' ' Änderungen am Datenbestand zurücknehmen. + '1990 If fInTransaktion Then + '2000 wrk.Rollback + '2010 fInTransaktion = False + '2020 End If + ' ' Fehlerinformation anzeigen. + '2030 ErrNotify Err, "basFiBuSyska", "fktFiBuBuchungen", eNormalError + '2040 Call Logbucheintrag(0, 0, "basFiBuSyska.fktFiBuBuchungen", 0, "Wegen Fehler beendet") + '2050 Resume PROC_Exit + + ' End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cTherefore.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cTherefore.vb new file mode 100644 index 0000000..97738b9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/cTherefore.vb @@ -0,0 +1,158 @@ +Imports Therefore.API +Public Class cTherefore + + Shared Function saveFileTo_ImportFolder(Path As String, FilialeAbfertigungsNr As String, AvisoId As String, FirmaId As String, Optional deleteFileAfterImport As Boolean = False) + FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace(";", " ") + FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace("/", " ") + FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace("-", " ") + if FilialeAbfertigungsNr.Length> 30 then FilialeAbfertigungsNr=FilialeAbfertigungsNr.ToString.Substring(0,30) + Select Case FirmaId + Case 7 + Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Atilla ab Juni 2011",, deleteFileAfterImport) + Case 21,22,23 + 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED", "UNISPED\Import ab Jänner 2021 UNISPED DE", deleteFileAfterImport) + 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED", "Import ab Jänner 2021 UNISPED DE", deleteFileAfterImport) + + Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED_DE", "UNISPED Zollakten", deleteFileAfterImport) + 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, 394, 394, deleteFileAfterImport) + Case 1, 11, 20, 17 ', 15 + ' Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import an Jänner 2019", "Import ab Jänner 2019", deleteFileAfterImport) + Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021", "Import ab Jänner 2021", deleteFileAfterImport) + ' Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2020", "Import ab Jänner 2020", deleteFileAfterImport) + Case Else + Return False + End Select + End Function + + Shared Function saveFileTo_ImportFolderCat(Path As String, FilialeAbfertigungsNr As String, AvisoId As String, Category As String, Optional Category2 As String = "", Optional deleteFileAfterImport As Boolean = False) + Try + If Category2 = "" Then Category2 = Category + Dim SQL As New SQL + + ' 1. Connect to the Therefore™ Server + Dim server As New TheServer + server.Connect(TheClientType.CustomApplication) + + ' 2. Create a new Therefore™ Document + Dim doc As New TheDocument() + + ' 3. Create temporary File + 'Dim filename As String = "" + 'doc.Create(filename) + + ' 4A. Set Therefore™ Category by Number + ' doc.IndexData.SetCategory(5, server) + ' or 4B. Set Therefore™ Category by Name + doc.IndexData.SetCategory(Category2, server) + + ' 5. Add streams + 'doc.AddStream("D:\\TestAll\\TestDocs\\Scsi.doc", "", 0) + 'doc.AddStream("D:\\TestAll\\TestDocs\\TEST.xls", "", 0) + ' 6. Set index data + 'Dim indexData As TheIndexData = doc.IndexData + 'indexData("String") = FilialeAbfertigungsNr + 'indexData("Eingabedatum") = Now.ToShortDateString + 'indexData("LKW_ID") = AvisoId + + 'MsgBox(doc.IndexData.Count) + ' 7. Archive the document + 'Dim docNo As Integer = doc.Archive(server, 0) + 'Dim docNo As Integer = 0 + 'Dim filenameNEW As String = doc.Retrieve(docNo, "", server) + Dim TableName = "" + If IsNumeric(Category) Then + TableName = "TheCat" & Category + If SQL.getValueTxtBySql("SELECT count(*) FROM [TheCategory] WHERE TableName='" & TableName & "'", "SCANCANON",,, "") = 0 Then + MsgBox("Therefore: Tabelle nicht gefunden: " & TableName) + Return False + End If + Else + TableName = SQL.getValueTxtBySql("SELECT TOP 1 [TableName] FROM [TheCategory] WHERE Title='" & Category & "'", "SCANCANON",,, "") + End If + + Dim docNo As Integer = SQL.getValueTxtBySql("SELECT TOP 1 isnull([DocNo],-1) FROM " & TableName & " WHERE [String] LIKE '" & FilialeAbfertigungsNr & "' ORDER BY [Eingabedatum] DESC", "SCANCANON",,, -1) + ' MsgBox("docNo: " & docNo) + Dim filename As String = "" + If docNo <= 0 Then + doc.Create(filename) + + doc.AddStream(Path, "", 0) + Dim indexData As TheIndexData = doc.IndexData + indexData("String") = FilialeAbfertigungsNr + indexData("Eingabedatum") = Now.ToShortDateString + indexData("LKW_ID") = AvisoId + + docNo = doc.Archive(server, 0) + Else + Dim folder = "" + Dim VerionNo As Integer + filename = doc.Retrieve(docNo, VerionNo, folder, server, False) + + Dim user As String = "" + doc.CheckOut(server, False, user, VerionNo) + + doc.AddStream(Path, "", 0) + doc.CheckIn(server) + End If + + + + ' 8. Close Therefore™ document object + doc.Close() + + ' 9. Delete the temporary file + If deleteFileAfterImport Then System.IO.File.Delete(filename) + + ' 10. Optional: Print a success message on the console + ' Console.WriteLine("Document successfully archived as " + docNo.ToString() + ".") + Return True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Return False + End Function + + 'Shared Function saveFileTo_ImportFolder2(Path As String, FilialeAbfertigungsNr As Integer, AvisoId As Integer) + ' Try + + ' ' 1. Connect to the Therefore™ Server + ' Dim server As New TheServer + ' server.Connect(TheClientType.CustomApplication) + + ' ' 2. Create a new Therefore™ Document + ' Dim doc As New TheDocument() + + ' ' 3. Create temporary File + ' Dim filename As String = "" + ' doc.Create(filename) + + ' ' 4A. Set Therefore™ Category by Number + ' ' doc.IndexData.SetCategory(5, server) + ' ' or 4B. Set Therefore™ Category by Name + ' doc.IndexData.SetCategory("Import ab Jänner 2019", server) + + ' ' 5. Add streams + ' 'doc.AddStream("D:\\TestAll\\TestDocs\\Scsi.doc", "", 0) + ' 'doc.AddStream("D:\\TestAll\\TestDocs\\TEST.xls", "", 0) + ' doc.AddStream(Path, "", 0) + ' ' 6. Set index data + + ' ' MsgBox(doc.IndexData.Count) + ' ' 7. Archive the document + ' Dim docNo As Integer = doc.Archive(server, 0) + ' MsgBox(docNo) + + ' ' 8. Close Therefore™ document object + ' doc.Close() + + ' ' 9. Delete the temporary file + ' System.IO.File.Delete(filename) + + ' ' 10. Optional: Print a success message on the console + ' ' Console.WriteLine("Document successfully archived as " + docNo.ToString() + ".") + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' End Try + 'End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj b/SDL/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj new file mode 100644 index 0000000..0e16e55 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj @@ -0,0 +1,931 @@ + + + + + Debug + AnyCPU + {A3B497BD-842C-4A2B-B398-ED1976849DF1} + Library + + + VERAG_PROG_ALLGEMEIN + VERAG_PROG_ALLGEMEIN + 512 + Windows + v4.7 + + + + AnyCPU + true + full + true + true + bin\Debug\ + VERAG_PROG_ALLGEMEIN.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + VERAG_PROG_ALLGEMEIN.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + \\ylps023046.verag.ost.dmn\VB\dll\closedxml\ClosedXML.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Dynamsoft.Forms.Viewer.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Dynamsoft.ImageCore.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Dynamsoft.PDF.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Dynamsoft.Twain.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Dynamsoft.WPF.Viewer.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\Ghostscript.NET.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\itextsharp.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\McDull.Windows.Forms.dll + + + True + \\ylps023046.verag.ost.dmn\VB\dll\Microsoft.Office.Interop.Outlook.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\NetSpell.SpellChecker.DLL + + + \\ylps023046.verag.ost.dmn\VB\dll\NumericBox.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\RichTextBoxEx.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Spire.PDF\Spire.License.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Spire.PDF\Spire.Pdf.dll + + + False + \\ylps023046.verag.ost.dmn\VB\dll\Spire.PDF\Spire.PdfViewer.Forms.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form1.vb + + + Form + + + frmGrayOut.vb + + + Form + + + + + DateTimePickerEx.vb + + + Component + + + Component + + + frmPDFScanList.vb + + + Form + + + HTMLTextBox.vb + + + UserControl + + + Component + + + MySearchBox.vb + + + Component + + + KdSearchBox.vb + + + Component + + + MyPanel.vb + + + Component + + + MyFlowLayoutPanel.vb + + + Component + + + MyCheckbox.vb + + + Component + + + MyCheckBoxValue.vb + + + Component + + + Component + + + MyDatagridview.vb + + + Component + + + Component + + + Component + + + MyRadioButton.vb + + + Component + + + Component + + + Component + + + + RichTextBoxEx.vb + + + UserControl + + + usrcntlSearch.vb + + + UserControl + + + usrcntlPDFScanList.vb + + + UserControl + + + usrcntlPDFScan.vb + + + UserControl + + + usrCntLPDFScanSimple.vb + + + UserControl + + + usrCntlTestsystem.vb + + + UserControl + + + usrcntlUnterposEntry.vb + + + UserControl + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmVorlagen.vb + + + Form + + + frmVorlagenUpload.vb + + + Form + + + frmScan.vb + + + Form + + + frmSourceList.vb + + + Form + + + frmKdVermerkAdd.vb + + + Form + + + frmMessenger.vb + + + Form + + + frmMessenger_Members.vb + + + Form + + + frmMessenger_NeuerChat.vb + + + Form + + + usrCntlMessenger_ChatEmoji.vb + + + UserControl + + + usrCntlMessenger_ChatAnhang.vb + + + UserControl + + + usrCntlMessenger_ChatElement.vb + + + UserControl + + + frmMitarbeitersucheBearbeiten.vb + + + Form + + + frmMitarbeitersuche.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + usrcntlKdSearch.vb + + + UserControl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Reference.map + + + True + True + Reference.map + + + True + True + Reference.map + + + + + frmGrayOut.vb + + + frmPDFScanList.vb + + + HTMLTextBox.vb + + + RichTextBoxEx.vb + + + usrcntlSearch.vb + + + usrcntlPDFScanList.vb + + + usrcntlPDFScan.vb + + + usrCntLPDFScanSimple.vb + + + usrCntlTestsystem.vb + + + usrcntlUnterposEntry.vb + + + frmVorlagen.vb + + + frmVorlagenUpload.vb + + + frmKdVermerkAdd.vb + + + frmScan.vb + + + frmSourceList.vb + + + frmMessenger.vb + + + frmMessenger_Members.vb + + + frmMessenger_NeuerChat.vb + + + usrCntlMessenger_ChatEmoji.vb + + + usrCntlMessenger_ChatAnhang.vb + + + usrCntlMessenger_ChatElement.vb + + + frmMitarbeitersucheBearbeiten.vb + + + frmMitarbeitersuche.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + usrcntlKdSearch.vb + + + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + + + Designer + + + + Designer + + + + Designer + + + MSDiscoCodeGenerator + Reference.vb + + + Designer + + + + MSDiscoCodeGenerator + Reference.vb + + + Designer + + + + Designer + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + PublicSettingsSingleFileGenerator + My + Designer + Settings.Designer.vb + + + Designer + + + Designer + + + Designer + + + + Reference.map + + + MSDiscoCodeGenerator + Reference.vb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dynamic + Web References\UIDPruefung\ + http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl + + + + + MySettings + VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService + + + Dynamic + Web References\at.gv.bmf.finanzonline\ + https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage.wsdl + + + + + MySettings + VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService + + + Dynamic + Web References\at.gv.bmf.finanzonline.session\ + https://finanzonline.bmf.gv.at/fonws/ws/sessionService.wsdl + + + + + MySettings + VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService + + + + + + + + {37687F89-8603-4E42-A5F4-4FBAB011D5F3} + 3 + 0 + 0 + tlbimp + False + True + + + + + + + + + + + + + + 3.8.0 + + + 6.0.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.map b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.map new file mode 100644 index 0000000..357ddc8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.map @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.vb b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.vb new file mode 100644 index 0000000..d074c8e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/Reference.vb @@ -0,0 +1,474 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + +Imports System +Imports System.ComponentModel +Imports System.Diagnostics +Imports System.Web.Services +Imports System.Web.Services.Protocols +Imports System.Xml.Serialization + +' +'Der Quellcode wurde automatisch mit Microsoft.VSDesigner generiert. Version 4.0.30319.42000. +' +Namespace UIDPruefung + + ''' + _ + Partial Public Class checkVatService + Inherits System.Web.Services.Protocols.SoapHttpClientProtocol + + Private checkVatOperationCompleted As System.Threading.SendOrPostCallback + + Private checkVatApproxOperationCompleted As System.Threading.SendOrPostCallback + + Private useDefaultCredentialsSetExplicitly As Boolean + + ''' + Public Sub New() + MyBase.New + Me.Url = Global.VERAG_PROG_ALLGEMEIN.My.MySettings.Default.VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService + If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then + Me.UseDefaultCredentials = true + Me.useDefaultCredentialsSetExplicitly = false + Else + Me.useDefaultCredentialsSetExplicitly = true + End If + End Sub + + Public Shadows Property Url() As String + Get + Return MyBase.Url + End Get + Set + If (((Me.IsLocalFileSystemWebService(MyBase.Url) = true) _ + AndAlso (Me.useDefaultCredentialsSetExplicitly = false)) _ + AndAlso (Me.IsLocalFileSystemWebService(value) = false)) Then + MyBase.UseDefaultCredentials = false + End If + MyBase.Url = value + End Set + End Property + + Public Shadows Property UseDefaultCredentials() As Boolean + Get + Return MyBase.UseDefaultCredentials + End Get + Set + MyBase.UseDefaultCredentials = value + Me.useDefaultCredentialsSetExplicitly = true + End Set + End Property + + ''' + Public Event checkVatCompleted As checkVatCompletedEventHandler + + ''' + Public Event checkVatApproxCompleted As checkVatApproxCompletedEventHandler + + ''' + _ + Public Function checkVat(ByRef countryCode As String, ByRef vatNumber As String, ByRef valid As Boolean, ByRef name As String, ByRef address As String) As Date + Dim results() As Object = Me.Invoke("checkVat", New Object() {countryCode, vatNumber}) + countryCode = CType(results(1),String) + vatNumber = CType(results(2),String) + valid = CType(results(3),Boolean) + name = CType(results(4),String) + address = CType(results(5),String) + Return CType(results(0),Date) + End Function + + ''' + Public Overloads Sub checkVatAsync(ByVal countryCode As String, ByVal vatNumber As String) + Me.checkVatAsync(countryCode, vatNumber, Nothing) + End Sub + + ''' + Public Overloads Sub checkVatAsync(ByVal countryCode As String, ByVal vatNumber As String, ByVal userState As Object) + If (Me.checkVatOperationCompleted Is Nothing) Then + Me.checkVatOperationCompleted = AddressOf Me.OncheckVatOperationCompleted + End If + Me.InvokeAsync("checkVat", New Object() {countryCode, vatNumber}, Me.checkVatOperationCompleted, userState) + End Sub + + Private Sub OncheckVatOperationCompleted(ByVal arg As Object) + If (Not (Me.checkVatCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent checkVatCompleted(Me, New checkVatCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function checkVatApprox( _ + ByRef countryCode As String, _ + ByRef vatNumber As String, _ + ByRef traderName As String, _ + ByRef traderCompanyType As String, _ + ByRef traderStreet As String, _ + ByRef traderPostcode As String, _ + ByRef traderCity As String, _ + ByVal requesterCountryCode As String, _ + ByVal requesterVatNumber As String, _ + ByRef valid As Boolean, _ + ByRef traderAddress As String, _ + ByRef traderNameMatch As matchCode, _ + ByRef traderNameMatchSpecified As Boolean, _ + ByRef traderCompanyTypeMatch As matchCode, _ + ByRef traderCompanyTypeMatchSpecified As Boolean, _ + ByRef traderStreetMatch As matchCode, _ + ByRef traderStreetMatchSpecified As Boolean, _ + ByRef traderPostcodeMatch As matchCode, _ + ByRef traderPostcodeMatchSpecified As Boolean, _ + ByRef traderCityMatch As matchCode, _ + ByRef traderCityMatchSpecified As Boolean, _ + ByRef requestIdentifier As String) As Date + Dim results() As Object = Me.Invoke("checkVatApprox", New Object() {countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber}) + countryCode = CType(results(1),String) + vatNumber = CType(results(2),String) + traderName = CType(results(3),String) + traderCompanyType = CType(results(4),String) + traderStreet = CType(results(5),String) + traderPostcode = CType(results(6),String) + traderCity = CType(results(7),String) + valid = CType(results(8),Boolean) + traderAddress = CType(results(9),String) + traderNameMatch = CType(results(10),matchCode) + traderNameMatchSpecified = CType(results(11),Boolean) + traderCompanyTypeMatch = CType(results(12),matchCode) + traderCompanyTypeMatchSpecified = CType(results(13),Boolean) + traderStreetMatch = CType(results(14),matchCode) + traderStreetMatchSpecified = CType(results(15),Boolean) + traderPostcodeMatch = CType(results(16),matchCode) + traderPostcodeMatchSpecified = CType(results(17),Boolean) + traderCityMatch = CType(results(18),matchCode) + traderCityMatchSpecified = CType(results(19),Boolean) + requestIdentifier = CType(results(20),String) + Return CType(results(0),Date) + End Function + + ''' + Public Overloads Sub checkVatApproxAsync(ByVal countryCode As String, ByVal vatNumber As String, ByVal traderName As String, ByVal traderCompanyType As String, ByVal traderStreet As String, ByVal traderPostcode As String, ByVal traderCity As String, ByVal requesterCountryCode As String, ByVal requesterVatNumber As String) + Me.checkVatApproxAsync(countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber, Nothing) + End Sub + + ''' + Public Overloads Sub checkVatApproxAsync(ByVal countryCode As String, ByVal vatNumber As String, ByVal traderName As String, ByVal traderCompanyType As String, ByVal traderStreet As String, ByVal traderPostcode As String, ByVal traderCity As String, ByVal requesterCountryCode As String, ByVal requesterVatNumber As String, ByVal userState As Object) + If (Me.checkVatApproxOperationCompleted Is Nothing) Then + Me.checkVatApproxOperationCompleted = AddressOf Me.OncheckVatApproxOperationCompleted + End If + Me.InvokeAsync("checkVatApprox", New Object() {countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber}, Me.checkVatApproxOperationCompleted, userState) + End Sub + + Private Sub OncheckVatApproxOperationCompleted(ByVal arg As Object) + If (Not (Me.checkVatApproxCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent checkVatApproxCompleted(Me, New checkVatApproxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + Public Shadows Sub CancelAsync(ByVal userState As Object) + MyBase.CancelAsync(userState) + End Sub + + Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean + If ((url Is Nothing) _ + OrElse (url Is String.Empty)) Then + Return false + End If + Dim wsUri As System.Uri = New System.Uri(url) + If ((wsUri.Port >= 1024) _ + AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then + Return true + End If + Return false + End Function + End Class + + ''' + _ + Public Enum matchCode + + ''' + _ + Item1 + + ''' + _ + Item2 + + ''' + _ + Item3 + End Enum + + ''' + _ + Public Delegate Sub checkVatCompletedEventHandler(ByVal sender As Object, ByVal e As checkVatCompletedEventArgs) + + ''' + _ + Partial Public Class checkVatCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As Date + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),Date) + End Get + End Property + + ''' + Public ReadOnly Property countryCode() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property vatNumber() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property valid() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property name() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),String) + End Get + End Property + + ''' + Public ReadOnly Property address() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),String) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub checkVatApproxCompletedEventHandler(ByVal sender As Object, ByVal e As checkVatApproxCompletedEventArgs) + + ''' + _ + Partial Public Class checkVatApproxCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As Date + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),Date) + End Get + End Property + + ''' + Public ReadOnly Property countryCode() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property vatNumber() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property traderName() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property traderCompanyType() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),String) + End Get + End Property + + ''' + Public ReadOnly Property traderStreet() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),String) + End Get + End Property + + ''' + Public ReadOnly Property traderPostcode() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),String) + End Get + End Property + + ''' + Public ReadOnly Property traderCity() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),String) + End Get + End Property + + ''' + Public ReadOnly Property valid() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(8),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property traderAddress() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(9),String) + End Get + End Property + + ''' + Public ReadOnly Property traderNameMatch() As matchCode + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(10),matchCode) + End Get + End Property + + ''' + Public ReadOnly Property traderNameMatchSpecified() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(11),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property traderCompanyTypeMatch() As matchCode + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(12),matchCode) + End Get + End Property + + ''' + Public ReadOnly Property traderCompanyTypeMatchSpecified() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(13),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property traderStreetMatch() As matchCode + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(14),matchCode) + End Get + End Property + + ''' + Public ReadOnly Property traderStreetMatchSpecified() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(15),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property traderPostcodeMatch() As matchCode + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(16),matchCode) + End Get + End Property + + ''' + Public ReadOnly Property traderPostcodeMatchSpecified() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(17),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property traderCityMatch() As matchCode + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(18),matchCode) + End Get + End Property + + ''' + Public ReadOnly Property traderCityMatchSpecified() As Boolean + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(19),Boolean) + End Get + End Property + + ''' + Public ReadOnly Property requestIdentifier() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(20),String) + End Get + End Property + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/checkVatService.wsdl b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/checkVatService.wsdl new file mode 100644 index 0000000..25691c2 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/checkVatService.wsdl @@ -0,0 +1,161 @@ + + + + The objective of this Internet site is to allow persons involved in the intra-Community supply of goods or of services to obtain confirmation of the validity of the VAT identification number of any specified person, in accordance to article 31 of Council Regulation (EC) No. 904/2010 of 7 October 2010. \n + Any other use and any extraction and use of the data which is not in conformity with the objective of this site is strictly forbidden. + Any retransmission of the contents of this site, whether for a commercial purpose or otherwise, as well as any more general use other than as far as is necessary to support the activity of a legitimate user (for example: to draw up their own invoices) is expressly forbidden. In addition, any copying or reproduction of the contents of this site is strictly forbidden. + The European Commission maintains this website to enhance the access by taxable persons making intra-Community supplies to verification of their customers' VAT identification numbers. Our goal is to supply instantaneous and accurate information. + However the Commission accepts no responsibility or liability whatsoever with regard to the information obtained using this site. This information: + - is obtained from Member States' databases over which the Commission services have no control and for which the Commission assumes no responsibility; it is the responsibility of the Member States to keep their databases complete, accurate and up to date; + - is not professional or legal advice (if you need specific advice, you should always consult a suitably qualified professional); + - does not in itself give a right to exempt intra-Community supplies from Value Added Tax; + - does not change any obligations imposed on taxable persons in relation to intra-Community supplies. + It is our goal to minimise disruption caused by technical errors. However some data or information on our site may have been created or structured in files or formats which are not error-free and we cannot guarantee that our service will not be interrupted or otherwise affected by such problems. The Commission accepts no responsibility with regard to such problems incurred as a result of using this site or any linked external sites. + This disclaimer is not intended to limit the liability of the Commission in contravention of any requirements laid down in applicable national law nor to exclude its liability for matters which may not be excluded under that law. + Collecting or handling personal data falls under the Data Protection Notice. This data protection declaration explains the Processing in the VIES-on-the-web Internet Website of VAT Identification Numbers for intra-Community Transaction on Goods or Services. Details of your legal rights associated with the collection, processing and use of this data are also provided: http://ec.europa.eu/dpo-register/details.htm?id=40647 . + + Usage: + The countryCode input parameter must follow the pattern [A-Z]{2} + The vatNumber input parameter must follow the pattern [0-9A-Za-z\+\*\.]{2,12} + In case of problems, the returned FaultString can take the following specific values: + - INVALID_INPUT: The provided CountryCode is invalid or the VAT number is empty; + - GLOBAL_MAX_CONCURRENT_REQ: Your Request for VAT validation has not been processed; the maximum number of concurrent requests has been reached. Please re-submit your request later or contact TAXUD-VIESWEB@ec.europa.eu for further information": Your request cannot be processed due to high traffic on the web application. Please try again later; + - MS_MAX_CONCURRENT_REQ: Your Request for VAT validation has not been processed; the maximum number of concurrent requests for this Member State has been reached. Please re-submit your request later or contact TAXUD-VIESWEB@ec.europa.eu for further information": Your request cannot be processed due to high traffic towards the Member State you are trying to reach. Please try again later. + - SERVICE_UNAVAILABLE: an error was encountered either at the network level or the Web application level, try again later; + - MS_UNAVAILABLE: The application at the Member State is not replying or not available. Please refer to the Technical Information page to check the status of the requested Member State, try again later; + - TIMEOUT: The application did not receive a reply within the allocated time period, try again later. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VALID + + + + + INVALID + + + + + NOT_PROCESSED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/matchCode.datasource b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/matchCode.datasource new file mode 100644 index 0000000..7f09fee --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/UIDPruefung/matchCode.datasource @@ -0,0 +1,10 @@ + + + + VERAG_PROG_ALLGEMEIN.UIDPruefung.matchCode, Web References.UIDPruefung.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.map b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.map new file mode 100644 index 0000000..cee1f45 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.map @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.vb b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.vb new file mode 100644 index 0000000..91f9083 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/Reference.vb @@ -0,0 +1,235 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + +Imports System +Imports System.ComponentModel +Imports System.Diagnostics +Imports System.Web.Services +Imports System.Web.Services.Protocols +Imports System.Xml.Serialization + +' +'Der Quellcode wurde automatisch mit Microsoft.VSDesigner generiert. Version 4.0.30319.42000. +' +Namespace at.gv.bmf.finanzonline.session + + ''' + _ + Partial Public Class sessionService + Inherits System.Web.Services.Protocols.SoapHttpClientProtocol + + Private loginOperationCompleted As System.Threading.SendOrPostCallback + + Private logoutOperationCompleted As System.Threading.SendOrPostCallback + + Private useDefaultCredentialsSetExplicitly As Boolean + + ''' + Public Sub New() + MyBase.New + Me.Url = Global.VERAG_PROG_ALLGEMEIN.My.MySettings.Default.VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService + If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then + Me.UseDefaultCredentials = true + Me.useDefaultCredentialsSetExplicitly = false + Else + Me.useDefaultCredentialsSetExplicitly = true + End If + End Sub + + Public Shadows Property Url() As String + Get + Return MyBase.Url + End Get + Set + If (((Me.IsLocalFileSystemWebService(MyBase.Url) = true) _ + AndAlso (Me.useDefaultCredentialsSetExplicitly = false)) _ + AndAlso (Me.IsLocalFileSystemWebService(value) = false)) Then + MyBase.UseDefaultCredentials = false + End If + MyBase.Url = value + End Set + End Property + + Public Shadows Property UseDefaultCredentials() As Boolean + Get + Return MyBase.UseDefaultCredentials + End Get + Set + MyBase.UseDefaultCredentials = value + Me.useDefaultCredentialsSetExplicitly = true + End Set + End Property + + ''' + Public Event loginCompleted As loginCompletedEventHandler + + ''' + Public Event logoutCompleted As logoutCompletedEventHandler + + ''' + _ + Public Function login(ByVal tid As String, ByVal benid As String, ByVal pin As String, ByVal herstellerid As String, ByRef rc As Integer, ByRef msg As String) As String + Dim results() As Object = Me.Invoke("login", New Object() {tid, benid, pin, herstellerid}) + rc = CType(results(1),Integer) + msg = CType(results(2),String) + Return CType(results(0),String) + End Function + + ''' + Public Overloads Sub loginAsync(ByVal tid As String, ByVal benid As String, ByVal pin As String, ByVal herstellerid As String) + Me.loginAsync(tid, benid, pin, herstellerid, Nothing) + End Sub + + ''' + Public Overloads Sub loginAsync(ByVal tid As String, ByVal benid As String, ByVal pin As String, ByVal herstellerid As String, ByVal userState As Object) + If (Me.loginOperationCompleted Is Nothing) Then + Me.loginOperationCompleted = AddressOf Me.OnloginOperationCompleted + End If + Me.InvokeAsync("login", New Object() {tid, benid, pin, herstellerid}, Me.loginOperationCompleted, userState) + End Sub + + Private Sub OnloginOperationCompleted(ByVal arg As Object) + If (Not (Me.loginCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent loginCompleted(Me, New loginCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + _ + Public Function logout(ByVal tid As String, ByVal benid As String, ByVal id As String, ByRef msg As String) As Integer + Dim results() As Object = Me.Invoke("logout", New Object() {tid, benid, id}) + msg = CType(results(1),String) + Return CType(results(0),Integer) + End Function + + ''' + Public Overloads Sub logoutAsync(ByVal tid As String, ByVal benid As String, ByVal id As String) + Me.logoutAsync(tid, benid, id, Nothing) + End Sub + + ''' + Public Overloads Sub logoutAsync(ByVal tid As String, ByVal benid As String, ByVal id As String, ByVal userState As Object) + If (Me.logoutOperationCompleted Is Nothing) Then + Me.logoutOperationCompleted = AddressOf Me.OnlogoutOperationCompleted + End If + Me.InvokeAsync("logout", New Object() {tid, benid, id}, Me.logoutOperationCompleted, userState) + End Sub + + Private Sub OnlogoutOperationCompleted(ByVal arg As Object) + If (Not (Me.logoutCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent logoutCompleted(Me, New logoutCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + Public Shadows Sub CancelAsync(ByVal userState As Object) + MyBase.CancelAsync(userState) + End Sub + + Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean + If ((url Is Nothing) _ + OrElse (url Is String.Empty)) Then + Return false + End If + Dim wsUri As System.Uri = New System.Uri(url) + If ((wsUri.Port >= 1024) _ + AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then + Return true + End If + Return false + End Function + End Class + + ''' + _ + Public Delegate Sub loginCompletedEventHandler(ByVal sender As Object, ByVal e As loginCompletedEventArgs) + + ''' + _ + Partial Public Class loginCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),String) + End Get + End Property + + ''' + Public ReadOnly Property rc() As Integer + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),Integer) + End Get + End Property + + ''' + Public ReadOnly Property msg() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + End Class + + ''' + _ + Public Delegate Sub logoutCompletedEventHandler(ByVal sender As Object, ByVal e As logoutCompletedEventArgs) + + ''' + _ + Partial Public Class logoutCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As Integer + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),Integer) + End Get + End Property + + ''' + Public ReadOnly Property msg() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/session.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/session.xsd new file mode 100644 index 0000000..4512de3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/session.xsd @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/sessionService.wsdl b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/sessionService.wsdl new file mode 100644 index 0000000..75f8d76 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline.session/sessionService.wsdl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.map b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.map new file mode 100644 index 0000000..13978a9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.map @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.vb b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.vb new file mode 100644 index 0000000..d811318 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/Reference.vb @@ -0,0 +1,236 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + +Imports System +Imports System.ComponentModel +Imports System.Diagnostics +Imports System.Web.Services +Imports System.Web.Services.Protocols +Imports System.Xml.Serialization + +' +'Der Quellcode wurde automatisch mit Microsoft.VSDesigner generiert. Version 4.0.30319.42000. +' +Namespace at.gv.bmf.finanzonline + + ''' + _ + Partial Public Class uidAbfrageService + Inherits System.Web.Services.Protocols.SoapHttpClientProtocol + + Private uidAbfrageOperationCompleted As System.Threading.SendOrPostCallback + + Private useDefaultCredentialsSetExplicitly As Boolean + + ''' + Public Sub New() + MyBase.New + Me.Url = Global.VERAG_PROG_ALLGEMEIN.My.MySettings.Default.VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService + If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then + Me.UseDefaultCredentials = true + Me.useDefaultCredentialsSetExplicitly = false + Else + Me.useDefaultCredentialsSetExplicitly = true + End If + End Sub + + Public Shadows Property Url() As String + Get + Return MyBase.Url + End Get + Set + If (((Me.IsLocalFileSystemWebService(MyBase.Url) = true) _ + AndAlso (Me.useDefaultCredentialsSetExplicitly = false)) _ + AndAlso (Me.IsLocalFileSystemWebService(value) = false)) Then + MyBase.UseDefaultCredentials = false + End If + MyBase.Url = value + End Set + End Property + + Public Shadows Property UseDefaultCredentials() As Boolean + Get + Return MyBase.UseDefaultCredentials + End Get + Set + MyBase.UseDefaultCredentials = value + Me.useDefaultCredentialsSetExplicitly = true + End Set + End Property + + ''' + Public Event uidAbfrageCompleted As uidAbfrageCompletedEventHandler + + ''' + _ + Public Function uidAbfrage(ByVal tid As String, ByVal benid As String, ByVal id As String, ByVal uid_tn As String, ByVal uid As String, ByVal stufe As uidAbfrageServiceRequestStufe, ByRef msg As String, ByRef name As String, ByRef adrz1 As String, ByRef adrz2 As String, ByRef adrz3 As String, ByRef adrz4 As String, ByRef adrz5 As String, ByRef adrz6 As String) As Integer + Dim results() As Object = Me.Invoke("uidAbfrage", New Object() {tid, benid, id, uid_tn, uid, stufe}) + msg = CType(results(1),String) + name = CType(results(2),String) + adrz1 = CType(results(3),String) + adrz2 = CType(results(4),String) + adrz3 = CType(results(5),String) + adrz4 = CType(results(6),String) + adrz5 = CType(results(7),String) + adrz6 = CType(results(8),String) + Return CType(results(0),Integer) + End Function + + ''' + Public Overloads Sub uidAbfrageAsync(ByVal tid As String, ByVal benid As String, ByVal id As String, ByVal uid_tn As String, ByVal uid As String, ByVal stufe As uidAbfrageServiceRequestStufe) + Me.uidAbfrageAsync(tid, benid, id, uid_tn, uid, stufe, Nothing) + End Sub + + ''' + Public Overloads Sub uidAbfrageAsync(ByVal tid As String, ByVal benid As String, ByVal id As String, ByVal uid_tn As String, ByVal uid As String, ByVal stufe As uidAbfrageServiceRequestStufe, ByVal userState As Object) + If (Me.uidAbfrageOperationCompleted Is Nothing) Then + Me.uidAbfrageOperationCompleted = AddressOf Me.OnuidAbfrageOperationCompleted + End If + Me.InvokeAsync("uidAbfrage", New Object() {tid, benid, id, uid_tn, uid, stufe}, Me.uidAbfrageOperationCompleted, userState) + End Sub + + Private Sub OnuidAbfrageOperationCompleted(ByVal arg As Object) + If (Not (Me.uidAbfrageCompletedEvent) Is Nothing) Then + Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg,System.Web.Services.Protocols.InvokeCompletedEventArgs) + RaiseEvent uidAbfrageCompleted(Me, New uidAbfrageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)) + End If + End Sub + + ''' + Public Shadows Sub CancelAsync(ByVal userState As Object) + MyBase.CancelAsync(userState) + End Sub + + Private Function IsLocalFileSystemWebService(ByVal url As String) As Boolean + If ((url Is Nothing) _ + OrElse (url Is String.Empty)) Then + Return false + End If + Dim wsUri As System.Uri = New System.Uri(url) + If ((wsUri.Port >= 1024) _ + AndAlso (String.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) = 0)) Then + Return true + End If + Return false + End Function + End Class + + ''' + _ + Public Enum uidAbfrageServiceRequestStufe + + ''' + _ + Item1 + + ''' + _ + Item2 + End Enum + + ''' + _ + Public Delegate Sub uidAbfrageCompletedEventHandler(ByVal sender As Object, ByVal e As uidAbfrageCompletedEventArgs) + + ''' + _ + Partial Public Class uidAbfrageCompletedEventArgs + Inherits System.ComponentModel.AsyncCompletedEventArgs + + Private results() As Object + + Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object) + MyBase.New(exception, cancelled, userState) + Me.results = results + End Sub + + ''' + Public ReadOnly Property Result() As Integer + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(0),Integer) + End Get + End Property + + ''' + Public ReadOnly Property msg() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(1),String) + End Get + End Property + + ''' + Public ReadOnly Property name() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(2),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz1() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(3),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz2() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(4),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz3() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(5),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz4() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(6),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz5() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(7),String) + End Get + End Property + + ''' + Public ReadOnly Property adrz6() As String + Get + Me.RaiseExceptionIfNecessary + Return CType(Me.results(8),String) + End Get + End Property + End Class +End Namespace diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrage.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrage.xsd new file mode 100644 index 0000000..3b38668 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrage.xsd @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrageService.wsdl b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrageService.wsdl new file mode 100644 index 0000000..4dd6dc4 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web References/at.gv.bmf.finanzonline/uidAbfrageService.wsdl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Web.config b/SDL/VERAG_PROG_ALLGEMEIN/Web.config new file mode 100644 index 0000000..d9a8a57 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/Web.config @@ -0,0 +1,52 @@ + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956; + + + + + + Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200 + + + + + + + http://ec.europa.eu/taxation_customs/vies/services/checkVatService + + + + diff --git a/SDL/VERAG_PROG_ALLGEMEIN/cAllgemein.vb b/SDL/VERAG_PROG_ALLGEMEIN/cAllgemein.vb new file mode 100644 index 0000000..785e37e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/cAllgemein.vb @@ -0,0 +1,359 @@ +Imports GrapeCity.ActiveReports +Imports GrapeCity.ActiveReports.Document +Imports System.Data.SqlClient + +Public Class cAllgemein + Public Shared FIRMA As String + Public Shared NIEDERLASSUNG As String 'SUB, WAI, ... + Public Shared ABTEILUNG As String 'QS ZOLL ... + Public Shared STAMMFILIALE As String 'IMEX,UNISPED;ATILLA... + + Public Shared CLUSTER As String = "" 'Firmenverbund + ' Public Shared SPECIFIC As cSPECIFIC = New cSPECIFIC + + Public Shared ERR_OP_GLOBAL As String = ERROR_OP.SHOW + + ' Public Shared AVISO_SERVER As String = "[BUCHHALTUNG\SQLEXPRESS]" + 'Public Shared AVISO_SERVER As String = "[SQL01.verag.ost.dmn\VERAG]" + 'Public Shared AVISO_SERVER As String = "[SQLGUIDE.verag.ost.dmn\VERAG]" + Public Shared AVISO_SERVER As String = "[SQLGUIDE01.verag.ost.dmn]" '"[SQLGUIDE01.verag.ost.dmn]" + Public Shared FMZOLL_SERVER As String = "[FMZOLL\SQLFMZOLL]" '"[SQLGUIDE01.verag.ost.dmn]" + 'Public Shared FMZOLL_ATLAS_Datensicherung As String = "\\192.168.0.91\f\FMZoll\Datensicherung\atlas\atlas\fssouzb" + Public Shared FMZOLL_ATLAS_Datensicherung As String = "\\share01\F\FMZoll\Datensicherung\atlas\atlas\fssouzb" + + Public Shared BÜRO As String + + Public Shared dpi As Integer + Public Shared TESTSYSTEM As Boolean = True + + Public Shared PROGNAME = "" + Public Shared PROGID As Integer = 16 + Public Shared PROGVERSION As String = "" + + Public Shared USRNAME As String + 'Public Shared USRBER As Integer + Public Shared USRID As Integer + Public Shared USR_VNAME As String + Public Shared USR_NNAME As String + Public Shared USRKURZNAME As String + Public Shared USR_HrFrNAME As String + + Public Shared FIRMA_ID As Integer + Public Shared FIRMA_NAME As String + + Public Shared AUTO_ABF_NR As Boolean = True + + Public Shared BENUTZER_BERECHTIGUNGS_GRUPPEN As cBerechtigungenBenutzerGruppenZuordnung_List = Nothing + Public Shared PARAMS As cParameterList = Nothing + Public Shared TRANSLATE As cTranslate_LIST = Nothing + Public Shared _LAN As String = "DE" '"EN" + + Public Shared SESSION As New cSession + Public Shared _DummyCNT As Integer + + + Shared SQL As New SQL + Public Shared MITARBEITER As cMitarbeiter + Public Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date + + Public Shared Sub LOAD_DATA() + MITARBEITER = New cMitarbeiter + If MITARBEITER.LOAD(USRID) Then + USR_NNAME = MITARBEITER.mit_nname + USR_VNAME = MITARBEITER.mit_vname + _LAN = MITARBEITER.mit_sprache + + USR_HrFrNAME = "" + Select Case MITARBEITER.mit_geschlecht + Case "m" : USR_HrFrNAME = "Herr " + Case "w" : USR_HrFrNAME = "Frau " + End Select + USR_HrFrNAME &= MITARBEITER.mit_nname + + If FIRMA = "" Then FIRMA = If(MITARBEITER.mit_firma = "BEIDE", "VERAG", MITARBEITER.mit_firma) + + + cSPECIFIC.FIRMA_BgColor = Drawing.Color.FromArgb(0, 54, 128) + Select Case FIRMA + Case "VERAG" + CLUSTER = "FRONTOFFICE" + Case "IMEX" + STAMMFILIALE = "5501" + CLUSTER = "FRONTOFFICE" + Case "UNISPED" + STAMMFILIALE = "5601" + cSPECIFIC.FIRMA_BgColor = Drawing.Color.FromArgb(200, 0, 0) + CLUSTER = "FRONTOFFICE" + Case "AMBAR" + STAMMFILIALE = "5701" + CLUSTER = "FRONTOFFICE" + Case "ATILLA" + STAMMFILIALE = "4801" + Case "FRONTOFFICE" + STAMMFILIALE = "5801" + CLUSTER = "FRONTOFFICE" + + Case "VERIMEX" + STAMMFILIALE = "6001" + CLUSTER = "FRONTOFFICE" + End Select + + USRNAME = (MITARBEITER.mit_vname & " " & MITARBEITER.mit_nname) + If NIEDERLASSUNG = "" Then NIEDERLASSUNG = MITARBEITER.mit_niederlassung + If ABTEILUNG = "" Then ABTEILUNG = MITARBEITER.mit_abteilung + Else + MITARBEITER = Nothing + End If + LOAD_PARAM() + LOAD_TRANSLATE() + If TESTSYSTEM Then + AVISO_SERVER = "[DEVELOPER\DEVSQL]" + FMZOLL_SERVER = "[DEVELOPER\DEVSQL]" + End If + End Sub + + Public Shared Sub LOAD_BER() + BENUTZER_BERECHTIGUNGS_GRUPPEN = New cBerechtigungenBenutzerGruppenZuordnung_List(USRID) + + End Sub + + Public Shared Sub LOAD_PARAM() + PARAMS = New cParameterList(PROGID, FIRMA) + End Sub + + Public Shared Sub LOAD_TRANSLATE() + TRANSLATE = New cTranslate_LIST(PROGID) + End Sub + + Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control) + _TRANSLATE(o, o, _LAN) + End Sub + + Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control, lan As String) + _TRANSLATE(o, o, lan) + End Sub + Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control, s As System.Windows.Forms.Control, lan As String) + If lan = "" Then Exit Sub + If lan = "DE" Then Exit Sub + 'o... Form + 's... SubContainer + 'c... Control + ' MsgBox(o.GetType.ToString & " - " & o.name) + Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = o.Name And x.trs_sprache = lan) + If TextTmp IsNot Nothing Then + For Each TXT As cTranslate In TextTmp + Dim found = o.Controls.Find(TXT.trs_control, True) + + ' MsgBox(TXT.trs_control) + If found IsNot Nothing AndAlso found.Count > 0 Then + ' MsgBox("JA") + Dim obj As System.Windows.Forms.Control = found(0) + If obj IsNot Nothing Then + If (TypeOf obj Is System.Windows.Forms.Label) Then + DirectCast(obj, System.Windows.Forms.Label).Text = TXT.trs_text + End If + If (TypeOf obj Is System.Windows.Forms.Button) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.FlatButton) Then + DirectCast(obj, System.Windows.Forms.Button).Text = TXT.trs_text + End If + If (TypeOf obj Is System.Windows.Forms.TabPage) Then + DirectCast(obj, System.Windows.Forms.TabPage).Text = TXT.trs_text + End If + If (TypeOf obj Is System.Windows.Forms.RadioButton) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyRadioButton) Then + DirectCast(obj, System.Windows.Forms.RadioButton).Text = TXT.trs_text + End If + If (TypeOf obj Is System.Windows.Forms.GroupBox) Then + DirectCast(obj, System.Windows.Forms.GroupBox).Text = TXT.trs_text + End If + 'If (TypeOf obj Is System.Windows.Forms.TabControl) Then -->in Tabpage geregelt + ' For Each tb As System.Windows.Forms.TabPage In DirectCast(obj, System.Windows.Forms.TabControl).TabPages + ' If tb.Name = TXT.trs_subControl Then + ' tb.Text = TXT.trs_text + ' End If + ' Next + 'End If + + If (TypeOf obj Is System.Windows.Forms.ComboBox) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyComboBox) Then + 'DirectCast(obj, System.Windows.Forms.Label).Text = TXT.trs_text + + End If + 'If (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyComboBox) Then + + ' Dim cboItems = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = o.Name And x.trs_sprache = lan And x.trs_control = TXT.trs_control) + + ' For Each item As VERAG_PROG_ALLGEMEIN.MyListItem In DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items + ' For Each sitem As cTranslate In cboItems + ' If item.Text = sitem.trs_subControl Then + ' Dim index = DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items(0).Equals + ' DirectCast(DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items(item), VERAG_PROG_ALLGEMEIN.MyListItem).Text = sitem.trs_text + ' End If + ' Next + ' Next + 'End If + End If + End If + Next + End If + + End Sub + + + Public Shared Function getMaxPosNrIncrement(FilialeNr As Integer, year As Integer) As Integer + Dim cnt = 0 + Dim returnValue = -1 + Dim newMaxwert = CInt(year.ToString.Substring(2, 2) & "000000") '16000000 + Do + Dim conn As SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL + Dim sql As String = " begin tran" & + " if exists (select * from tblPosNr with (updlock,serializable) WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr) " & + " begin " & + " UPDATE tblPosNr " & + " SET wert=(select MAX(wert) FROM tblPosNr WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr)+1 " & + " WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr " & + " End " & + " Else " & + " begin " & + " INSERT INTO tblPosNr " & + " (wert,FilialeNr,Jahr) " & + " VALUES(@newMaxwert, @FilialeNr,@Jahr) " & + " End " & + " commit tran " & + " SELECT isnull(wert,-1) FROM tblPosNr WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr" + Dim dr As SqlDataReader + Using cmd As New SqlCommand(sql, conn) + cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr) + cmd.Parameters.AddWithValue("@Jahr", year) + cmd.Parameters.AddWithValue("@newMaxwert", newMaxwert) + Try + dr = cmd.ExecuteReader() + If dr.Read Then returnValue = CInt(dr.Item(0)) + Catch ex As Exception + MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") + Finally + dr.Close() + End Try + + End Using + cnt += 1 + Loop While (SpedBuchExists(FilialeNr, returnValue) And cnt < 100000) + ' conn.Close() + + Return returnValue + End Function + + + + Public Shared Function isCLUSTER() As Boolean + Return (FIRMA = CLUSTER) + End Function + + Public Shared Function getFirmaFromFiliale2(FilialenNr As Object, Optional usedefaultFirma As Boolean = True, Optional defaultFIRMA As String = "VERAG") As String + Dim FirmaTMP = "" + If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then + FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] WHERE FilialenNr='" & FilialenNr & "' ", "FMZOLL") + End If + If usedefaultFirma AndAlso FirmaTMP = "" Then FirmaTMP = defaultFIRMA + Return FirmaTMP + End Function + + + Public Shared Function getFirmaFromFiliale(FilialenNr As Object, Optional defaultVERAG As Boolean = True) As String + Dim FirmaTMP = "" + If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then + FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] WHERE FilialenNr='" & FilialenNr & "' AND ( Firma='" & FIRMA & "' OR Cluster='" & CLUSTER & "')", "FMZOLL") + End If + If defaultVERAG AndAlso FirmaTMP = "" Then FirmaTMP = "VERAG" + Return FirmaTMP + End Function + Public Shared Function getFirmaFromKdNr(KundenNr As Integer, Optional defaultVERAG As Boolean = True) As String + Dim FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] inner join Kunden ON Kunden.FilialenNr=Filialen.FilialenNr WHERE KundenNr='" & KundenNr & "' ", "FMZOLL") + If defaultVERAG AndAlso FirmaTMP = "" Then FirmaTMP = "VERAG" + Return FirmaTMP + End Function + + Public Shared Function SpedBuchExists(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean + Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & FilialenNr & " AND AbfertigungsNr=" & AbfertigungsNr & " ", "FMZOLL")) > 0) + + End Function + + + + Class cSPECIFIC + Public Shared FIRMA_BgColor As System.Drawing.Color = Drawing.Color.FromArgb(0, 54, 128) + Public Shared FIRMA_ForeColor As System.Drawing.Color = Drawing.Color.White + End Class + + + + + Public Shared Sub buildConnectionDATENARCHIV() + Exit Sub + + buildConnectionDATENARCHIV_NEW() + ' buildConnectionDATENARCHIV_OLD() + End Sub + + Public Shared Sub buildConnectionDATENARCHIV_OLD() + Try + Dim netuse As New System.Diagnostics.ProcessStartInfo() + + netuse.FileName = "C:\Windows\system32\net" + ' netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956" + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then + netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956" + Else + netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956" + End If + + + netuse.CreateNoWindow = True + netuse.WindowStyle = ProcessWindowStyle.Hidden + System.Diagnostics.Process.Start(netuse) + + Catch ex As Exception + MsgBox("ERR: DATENARCHIV Netzwerkzugriff fehlgeschlagen...") + End Try + End Sub + Public Shared Sub buildConnectionDATENARCHIV_NEW() + Try + Dim netuse As New System.Diagnostics.ProcessStartInfo() + + netuse.FileName = "C:\Windows\system32\net" + ' netuse.Arguments = "use \\datenarchiv.verag.ost.dmn\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956" + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then + netuse.Arguments = "use " & VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & " /User:VERAGOST\AVISOSMB BmWr501956" + Else + netuse.Arguments = "use " & VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & " /User:VERAGOST\AVISOSMB BmWr501956" + End If + + + netuse.CreateNoWindow = True + netuse.WindowStyle = ProcessWindowStyle.Hidden + System.Diagnostics.Process.Start(netuse) + + Catch ex As Exception + MsgBox("ERR: DATENARCHIV Netzwerkzugriff fehlgeschlagen...") + End Try + End Sub + Public Shared Function getSTAMMFILIALE() As String + If IsNumeric(VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE) Then + Return VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE + Else + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "VERAG" + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG + Case "SUB" : Return 4803 + Case "SBG" : Return 5003 + Case "WAI" : Return 5103 + Case "NKD" : Return 5303 + Case "NEU" : Return 4819 + End Select + Case "IMEX" : Return 5501 + Case "UNISPED" : Return 5601 + Case "AMBAR" : Return 5701 + Case "ATILLA" : Return 4801 + Case "FRONTOFFICE" : Return 5801 + End Select + End If + Return "" + End Function +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler.vb b/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler.vb new file mode 100644 index 0000000..1c748e8 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler.vb @@ -0,0 +1,76 @@ +Imports System.Net.Mail + +Public Class cErrorHandler + + Public Shared Sub ERR(message As String, stack As String, functionName As String, Optional OP As String = "", Optional title As String = "", Optional mailadess As String = "al@verag.ag", Optional recieverMailAdress As String = "", Optional zusatz As String = "", Optional errCode As String = Nothing) + If OP = "" Then OP = VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL ' GLobal gesetzes Errorhandling! (Standart=SHOW) + Select Case OP + Case ERROR_OP.MAIL + sendERRORperMail(title & " | " & My.Application.Info.AssemblyName, message, stack, mailadess, zusatz, functionName) + Case ERROR_OP.SHOW + 'MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + MsgBox(If(functionName <> "", "Fehler in der Funktion '" & functionName & "'" & vbNewLine & vbNewLine, "") & message & vbNewLine & stack & vbNewLine & zusatz, MsgBoxStyle.OkOnly, If(title <> "", title, "Fehler")) + End Select + + VERAG_PROG_ALLGEMEIN.cERS.saveErr(OP, message, stack, errCode, functionName, recieverMailAdress, zusatz) + + + End Sub + + Public Shared Sub sendERRORperMail(title, errmsg, errstack, recieverMailAdress, zusatz, functionName) + Dim Msg As New MailMessage + Dim myCredentials As New System.Net.NetworkCredential + 'myCredentials.UserName = "support@verag.ag" + 'myCredentials.Password = "$up0Rt2809!" + myCredentials.UserName = "al@verag.ag" + myCredentials.Password = "verag#2" + + Msg.IsBodyHtml = False + Dim mySmtpsvr As New SmtpClient() + mySmtpsvr.Host = "owa.verag.ag" 'bei web.de + mySmtpsvr.Port = 25 '587 '25 + mySmtpsvr.UseDefaultCredentials = False + mySmtpsvr.Credentials = myCredentials + + Try + Msg.From = New MailAddress("al@verag.ag") + Msg.To.Add(recieverMailAdress) + + Msg.Subject = title '"ERROR - DAKOSY Einarbeitung" + Msg.Body = "Uhrzeit: " & Now.ToShortDateString & " " & Now.ToShortTimeString + Msg.Body = "Function: " & functionName + Msg.Body &= vbNewLine + Msg.Body &= vbNewLine + Msg.Body &= "Fehlermeldung: " & errmsg + Msg.Body &= vbNewLine + Msg.Body &= vbNewLine + Msg.Body &= "Stacktrace: " & errstack + Msg.Body &= vbNewLine + If zusatz <> "" Then + Msg.Body &= "Zusatz: " & zusatz + Msg.Body &= vbNewLine + End If + Msg.Body &= errstack + mySmtpsvr.Send(Msg) + Catch ex As Exception + Try + mySmtpsvr.Host = "192.168.0.107" 'bei web.de ' 235 + mySmtpsvr.Send(Msg) + + Catch ex2 As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + + End Try + + End Sub + +End Class + +Public Class ERROR_OP + Shared Property SHOW As String = "SHOW" + Shared Property MAIL As String = "MAIL" + Shared Property TOFILE As String = "TOFILE" + Shared Property LOG As String = "LOG" 'Nur fürs Protokoll, keine Fehlermeldung +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler1.vb b/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler1.vb new file mode 100644 index 0000000..85a5ddd --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/cErrorHandler1.vb @@ -0,0 +1,59 @@ +Imports System.Net.Mail + +Public Class cErrorHandler + + Public Shared Sub ERR(message As String, stack As String, functionName As String, Optional OP As String = "", Optional title As String = "", Optional mailadess As String = "al@erag.ag", Optional recieverMailAdress As String = "", Optional zusatz As String = "") + If OP = "" Then OP = VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL ' GLobal gesetzes Errorhandling! (Standart=SHOW) + Select Case OP + Case ERROR_OP.MAIL + sendERRORperMail(title, message, stack, mailadess, zusatz) + Case ERROR_OP.SHOW + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + MsgBox(If(functionName <> "", "Fehler in der Funktion '" & functionName & "'" & vbNewLine & vbNewLine, "") & message & vbNewLine & stack & vbNewLine & zusatz, MsgBoxStyle.OkOnly, If(title <> "", title, "Fehler")) + End Select + End Sub + + Shared Sub sendERRORperMail(title, errmsg, errstack, recieverMailAdress, zusatz) + Dim Msg As New MailMessage + Dim myCredentials As New System.Net.NetworkCredential + myCredentials.UserName = "al@verag.ag" + myCredentials.Password = "verag#2" + + Msg.IsBodyHtml = False + Dim mySmtpsvr As New SmtpClient() + mySmtpsvr.Host = "192.168.0.107" 'bei web.de + mySmtpsvr.Port = 25 '587 '25 + mySmtpsvr.UseDefaultCredentials = False + mySmtpsvr.Credentials = myCredentials + Try + Msg.From = New MailAddress("al@verag.ag") + Msg.To.Add(recieverMailAdress) + + Msg.Subject = title '"ERROR - DAKOSY Einarbeitung" + Msg.Body = "Uhrzeit: " & Now.ToShortDateString + Msg.Body &= vbNewLine + Msg.Body &= vbNewLine + Msg.Body &= "Fehlermeldung: " & errmsg + Msg.Body &= vbNewLine + Msg.Body &= vbNewLine + Msg.Body &= "Stacktrace: " & errstack + Msg.Body &= vbNewLine + If zusatz <> "" Then + Msg.Body &= "Zusatz: " & zusatz + Msg.Body &= vbNewLine + End If + Msg.Body &= errstack + mySmtpsvr.Send(Msg) + Catch ex As Exception + + End Try + + End Sub + +End Class + +Public Class ERROR_OP + Shared Property SHOW As String = "SHOW" + Shared Property MAIL As String = "MAIL" + Shared Property TOFILE As String = "TOFILE" +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/cFMZOLL_Personal.vb b/SDL/VERAG_PROG_ALLGEMEIN/cFMZOLL_Personal.vb new file mode 100644 index 0000000..6890013 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/cFMZOLL_Personal.vb @@ -0,0 +1,7 @@ +Public Class cFMZOLL_Personal + + + + + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb b/SDL/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb new file mode 100644 index 0000000..a62e85d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb @@ -0,0 +1,346 @@ +Imports System.Net.Mail +Imports System.Text +Imports ClosedXML.Excel + +Public Class cProgramFunctions + + + Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL + Public Shared Function fktEuro(varBetrag As Object, varVonWährung As Object, varNachWährung As Object) As Object + '(FixeTaxe, "ATS", RECHNUNG.Währungscode) + 'Dim varVonWährung As Object + 'Dim varNachWährung As Object + Dim varKurs As Object + + If varVonWährung Is Nothing Then Return Nothing + If varNachWährung Is Nothing Then Return Nothing + + If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich, + fktEuro = varBetrag ' ist keine Umrechnung erforderlich + Exit Function ' und die Funktion wird beendet + End If + + If Not IsNumeric(varVonWährung) Then + varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varVonWährung & "' order by Währungsschlüssel DESC", "FMZOLL") + End If + If Not IsNumeric(varNachWährung) Then + varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varNachWährung & "' order by Währungsschlüssel DESC", "FMZOLL") + End If + + ' + 'Select Case TypeName(fldVonWährung) + ' Case "Integer" + ' varVonWährung = fldVonWährung + ' Case "String", "Textbox", "Field", "Field2" + ' varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & fldVonWährung & "'", "FMZOLL") + ' If varVonWährung = "" Then + ' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldVonWährung, , "fktEuro") + ' fktEuro = Nothing + ' Exit Function + ' End If + ' Case Else + ' MsgBox("Datentyp " & TypeName(fldVonWährung) & " ist für fldVonWährung ungültig.", , "fktEuro") + ' fktEuro = Nothing + ' Exit Function + 'End Select + + 'Select Case TypeName(fldNachWährung) + ' Case "Integer" + ' varNachWährung = fldNachWährung + ' Case "String", "Textbox", "Field", "Field2" + ' varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", " [Währungscode] = '" & fldNachWährung & "'", "FMZOLL") + ' If varNachWährung = "" Then + ' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldNachWährung, , "fktEuro") + ' fktEuro = Nothing + ' Exit Function + ' End If + ' Case Else + ' MsgBox("Datentyp " & TypeName(fldNachWährung) & " ist für fldNachWährung ungültig.", , "fktEuro") + ' fktEuro = Nothing + ' Exit Function + ' End Select + + 'If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich, + ' fktEuro = varBetrag ' ist keine Umrechnung erforderlich + ' Exit Function ' und die Funktion wird beendet + 'End If + + If varVonWährung <> 900 Then ' Eingangswährung in Euro umrechnen. + varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varVonWährung & " order by Währungsschlüssel DESC", "FMZOLL") + If varKurs = "" OrElse varKurs = 0 Then + MsgBox("(1) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varVonWährung, , "fktEuro") + fktEuro = Nothing + Exit Function + End If + varBetrag = Int(varBetrag / varKurs * 100 + 0.5) / 100 + End If + + If varNachWährung <> 900 Then ' Euro In Ausgangswährung umrechnen. + varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varNachWährung & " order by Währungsschlüssel DESC", "FMZOLL") + If varKurs = "" OrElse varKurs = 0 Then + MsgBox("(2) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varNachWährung, , "fktEuro") + fktEuro = Nothing + Exit Function + End If + varBetrag = Int(varBetrag * varKurs * 100 + 0.5) / 100 + End If + + fktEuro = varBetrag + + End Function + + + Public Shared Function fktEuroKurs(varVonWährung As Object, Rechnungsdatum As Date) As Object 'Funktioniert nciht mit datum!!!!!!!!!!!!!!!!!!! + '(FixeTaxe, "ATS", RECHNUNG.Währungscode) + 'Dim varVonWährung As Object + 'Dim varNachWährung As Object + Dim varKurs As Object + + If varVonWährung Is Nothing Then Return Nothing + + If varVonWährung = "EUR" Then ' Sind beide Währungen gleich, + Return 1 ' ist keine Umrechnung erforderlich + Exit Function ' und die Funktion wird beendet + End If + + If Not IsNumeric(varVonWährung) Then + varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varVonWährung & "' order by Währungsschlüssel DESC", "FMZOLL") + End If + + Dim varBetrag = 1 + If varVonWährung <> 900 Then ' Eingangswährung in Euro umrechnen. + varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varVonWährung & " order by Währungsschlüssel DESC", "FMZOLL") + If varKurs = "" OrElse varKurs = 0 Then + MsgBox("(1) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varVonWährung, , "fktEuro") + fktEuroKurs = Nothing + Exit Function + End If + varBetrag = Int(varBetrag / varKurs * 100 + 0.5) / 100 + End If + + fktEuroKurs = varBetrag + + End Function + + + + Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional openPDF As Boolean = True, Optional optFileName As String = "") As String + Try + + Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName + If Not My.Computer.FileSystem.DirectoryExists(sPath) Then + My.Computer.FileSystem.CreateDirectory(sPath) + End If + + Dim wb As New XLWorkbook + ' Dim dt As DataTable = (dgv.DataSource) + ' Dim dt As DataTable = TryCast(dgv., DataTable) + + wb.Worksheets.Add(dt, "DATEN") + wb.Worksheets(0).Tables.FirstOrDefault().ShowAutoFilter = ShowAutoFilter + + If rangeAsWaehrung IsNot Nothing Then + For Each r In rangeAsWaehrung + Try + wb.Worksheets(0).Range(r).Style.NumberFormat.SetFormat("###,###,##0.00 €") + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Next + End If + + If HeaderTxt <> "" Then + wb.Worksheets(0).FirstRow.InsertRowsAbove(2) + wb.Worksheets(0).Range("A1").Value = HeaderTxt + wb.Worksheets(0).Range("A1").Style.Font.Bold = True + If HeaderTxt2 <> "" Then + wb.Worksheets(0).Range("A2").Value = HeaderTxt2 + wb.Worksheets(0).Row(2).InsertRowsBelow(1) + End If + + End If + + Dim filename As String = "" + If optFileName <> "" Then + filename = sPath & optFileName & ".xlsx" + If IO.File.Exists(filename) Then + filename = sPath & optFileName & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" + End If + Else + filename = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" + End If + + wb.SaveAs(filename) + + If openPDF Then Process.Start(filename) + + Return filename + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return Nothing + End Try + End Function + + Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing) + Dim Msg As New MailMessage + Dim myCredentials As New System.Net.NetworkCredential + Msg.IsBodyHtml = True + Dim mySmtpsvr As New SmtpClient() + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "IMEX" + myCredentials.UserName = "support@verag.ag" + myCredentials.Password = "$up0Rt2809!" + mySmtpsvr.Host = "owa.verag.ag" + mySmtpsvr.Port = 587 + Case "ATILLA" + myCredentials.UserName = "support@verag.ag" + myCredentials.Password = "$up0Rt2809!" + mySmtpsvr.Host = "owa.verag.ag" + mySmtpsvr.Port = 587 + Case "AMBAR" + ' myCredentials.UserName = "office@ambarlog.com" + ' myCredentials.Password = "Naq30716" + myCredentials.UserName = "import@ambarlog.com" + myCredentials.Password = "Meh062020" + mySmtpsvr.Host = "smtp.office365.com" + mySmtpsvr.Port = 587 + mySmtpsvr.EnableSsl = True + ' eMailfrom = "import@ambarlog.com" + Case Else + myCredentials.UserName = "support@verag.ag" + myCredentials.Password = "$up0Rt2809!" + mySmtpsvr.Host = "owa.verag.ag" + mySmtpsvr.Port = 587 '25 '587 '25 + + End Select + mySmtpsvr.UseDefaultCredentials = False + mySmtpsvr.Credentials = myCredentials + Try + 'Msg.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8") + Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1") + Msg.From = New MailAddress(eMailfrom) + + For Each s In eMailTo.ToString.Split(";") + If s <> "" Then Msg.To.Add(convertToIso(s).ToString.Trim()) + Next + + For Each s In cc.ToString.Split(";") + If s <> "" Then Msg.CC.Add(convertToIso(s).ToString.Trim()) + Next + + For Each s In bcc.ToString.Split(";") + If s <> "" Then Msg.Bcc.Add(convertToIso(s).ToString.Trim()) + Next + + Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung" + If uhrzeitAngeben Then + Msg.Body &= "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "

    " + 'Msg.Body &= vbNewLine & vbNewLine + End If + Msg.Body &= text + If prio Then Msg.Priority = MailPriority.High + + + If anhaenge IsNot Nothing Then + For Each a In DirectCast(anhaenge, List(Of String)) + If a IsNot Nothing AndAlso a <> "" Then Msg.Attachments.Add(New System.Net.Mail.Attachment(a)) + Next + End If + mySmtpsvr.Send(Msg) + + Catch ex As Exception + Try + mySmtpsvr.Port = 25 + mySmtpsvr.Send(Msg) + + Catch ex2 As Exception + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then ' ERST DEN SERVER EINRICHTEN! + Return False + End If + Try + mySmtpsvr.Host = "192.168.0.107" + mySmtpsvr.Port = 25 + mySmtpsvr.Send(Msg) + + Catch ex3 As Exception + MsgBox(ex3.Message & ex3.StackTrace) + Return False + End Try + End Try + + + End Try + Return True + End Function + + + + Shared Function getISO2Land(LandKz As String) + If LandKz Is Nothing Then Return Nothing + Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz='" & LandKz & "' " + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql(sqlstr, "FMZOLL") + End Function + + + Shared Function getISO1Land(LandKz As String) + Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' " + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql(sqlstr, "FMZOLL") + End Function + Shared Function convertToIso(s) As String + Return s + + Dim converted As Byte() = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s) 'Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s) + Return converted.ToString + End Function + + + Public Shared Sub sendMailTEST(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True) + Dim Msg As New MailMessage + Dim myCredentials As New System.Net.NetworkCredential + myCredentials.UserName = "support@verag.ag" + myCredentials.Password = "$up0Rt2809!" + Msg.IsBodyHtml = True + Dim mySmtpsvr As New SmtpClient() + mySmtpsvr.Host = "owa.verag.ag" + mySmtpsvr.Port = 25 '587 '25 + mySmtpsvr.UseDefaultCredentials = False + mySmtpsvr.Credentials = myCredentials + Try + Msg.From = New MailAddress(eMailfrom) + Msg.To.Add(eMailTo) + Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1") + + Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung" + If uhrzeitAngeben Then + Msg.Body = "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "

    " + 'Msg.Body &= vbNewLine & vbNewLine + End If + Msg.Body &= text + If prio Then Msg.Priority = MailPriority.High + + mySmtpsvr.Send(Msg) + Catch ex As Exception + Try + mySmtpsvr.Host = "192.168.0.107" + mySmtpsvr.Send(Msg) + + Catch ex2 As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + + End Try + + End Sub + +End Class + + +Public Class SDL_Functions + Shared Function SDL_GueltigBis_UTA_IDS() + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.doSQL("UPDATE SDL SET Archiviert=1 where SDLNr IN(212,100) AND (Archiviert is null OR Archiviert = 0) AND [GültigBis] is not null AND [GültigBis] < dateadd(month,-2,CAST(SUBSTRING(CAST((DATEADD(d,-DAY(GETDATE()),GETDATE()) + 1) AS BINARY(8)),1,4) + 0x00000000 AS DATETIME))", "SDL") + End Function +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/en-US.dic b/SDL/VERAG_PROG_ALLGEMEIN/en-US.dic new file mode 100644 index 0000000..3d540dc --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/en-US.dic @@ -0,0 +1,62361 @@ +[Copyright] +This dictionary is based on a subset of the original +English wordlist created by Kevin Atkinson for Pspell +and Aspell and thus is covered by his original +LGPL license. The affix file is a heavily modified +version of the original english.aff file which was +released as part of Geoff Kuenning's Ispell and as +such is covered by his BSD license. + +[Try] +esianrtolcdugmphbyfvkwESIANRTOLCDUGMPHBYFVKW + +[Replace] +a ei +ei a +a ey +ey a +ai ie +ie ai +are air +are ear +are eir +air are +air ere +ere air +ere ear +ere eir +ear are +ear air +ear ere +eir are +eir ere +ch te +te ch +ch ti +ti ch +ch tu +tu ch +ch s +s ch +ch k +k ch +f ph +ph f +gh f +f gh +i igh +igh i +i uy +uy i +i ee +ee i +j di +di j +j gg +gg j +j ge +ge j +s ti +ti s +s ci +ci s +k cc +cc k +k qu +qu k +kw qu +o eau +eau o +o ew +ew o +oo ew +ew oo +ew ui +ui ew +oo ui +ui oo +ew u +u ew +oo u +u oo +u oe +oe u +u ieu +ieu u +ue ew +ew ue +uff ough +oo ieu +ieu oo +ier ear +ear ier +ear air +air ear +w qu +qu w +z ss +ss z +shun tion +shun sion +shun cion + +[Prefix] +A Y 1 +A 0 re . +I Y 1 +I 0 in . +U Y 1 +U 0 un . +C Y 1 +C 0 de . +E Y 1 +E 0 dis . +F Y 1 +F 0 con . +K Y 1 +K 0 pro . + +[Suffix] +V N 2 +V e ive e +V 0 ive [^e] +N Y 3 +N e ion e +N y ication y +N 0 en [^ey] +X Y 3 +X e ions e +X y ications y +X 0 ens [^ey] +H N 2 +H y ieth y +H 0 th [^y] +Y Y 1 +Y 0 ly . +G Y 2 +G e ing e +G 0 ing [^e] +J Y 2 +J e ings e +J 0 ings [^e] +D Y 4 +D 0 d e +D y ied [^aeiou]y +D 0 ed [^ey] +D 0 ed [aeiou]y +T N 4 +T 0 st e +T y iest [^aeiou]y +T 0 est [aeiou]y +T 0 est [^ey] +R Y 4 +R 0 r e +R y ier [^aeiou]y +R 0 er [aeiou]y +R 0 er [^ey] +Z Y 4 +Z 0 rs e +Z y iers [^aeiou]y +Z 0 ers [aeiou]y +Z 0 ers [^ey] +S Y 4 +S y ies [^aeiou]y +S 0 s [aeiou]y +S 0 es [sxzh] +S 0 s [^sxzhy] +P Y 3 +P y iness [^aeiou]y +P 0 ness [aeiou]y +P 0 ness [^y] +M Y 1 +M 0 's . +B Y 3 +B 0 able [^aeiou] +B 0 able ee +B e able [^aeiou]e +L Y 1 +L 0 ment . + +[Phonetic] +AH(AEIOUY)-^ *H +AR(AEIOUY)-^ *R +A(HR)^ * +A^ * +AH(AEIOUY)- H +AR(AEIOUY)- R +A(HR) _ +BB- _ +B B +CQ- _ +CIA X +CH X +C(EIY)- S +CK K +COUGH^ KF +CC< C +C K +DG(EIY) K +DD- _ +D T +É< E +EH(AEIOUY)-^ *H +ER(AEIOUY)-^ *R +E(HR)^ * +ENOUGH^$ *NF +E^ * +EH(AEIOUY)- H +ER(AEIOUY)- R +E(HR) _ +FF- _ +F F +GN^ N +GN$ N +GNS$ NS +GNED$ N +GH(AEIOUY)- K +GH _ +GG9 K +G K +H H +IH(AEIOUY)-^ *H +IR(AEIOUY)-^ *R +I(HR)^ * +I^ * +ING6 N +IH(AEIOUY)- H +IR(AEIOUY)- R +I(HR) _ +J K +KN^ N +KK- _ +K K +LAUGH^ LF +LL- _ +L L +MB$ M +MM M +M M +NN- _ +N N +OH(AEIOUY)-^ *H +OR(AEIOUY)-^ *R +O(HR)^ * +O^ * +OH(AEIOUY)- H +OR(AEIOUY)- R +O(HR) _ +PH F +PN^ N +PP- _ +P P +Q K +RH^ R +ROUGH^ RF +RR- _ +R R +SCH(EOU)- SK +SC(IEY)- S +SH X +SI(AO)- X +SS- _ +S S +TI(AO)- X +TH @ +TCH-- _ +TOUGH^ TF +TT- _ +T T +UH(AEIOUY)-^ *H +UR(AEIOUY)-^ *R +U(HR)^ * +U^ * +UH(AEIOUY)- H +UR(AEIOUY)- R +U(HR) _ +V^ W +V F +WR^ R +WH^ W +W(AEIOU)- W +X^ S +X KS +Y(AEIOU)- Y +ZZ- _ +Z S + +[Words] +a//* +A//* +AA//* +AAA//* +Aachen/M/*XN +aardvark/SM/*TFK +Aaren/M/*RN +Aarhus/M/*HS +Aarika/M/*RK +Aaron/M/*RN +AB//*B +ab/DY/*B +Ab/M/*B +aback//*BK +abacus/SM/*BKS +abaft//*BFT +Abagael/M/*BKL +Abagail/M/*BKL +abalone/SM/*BLN +abandon/LGDRS/*BNTN +abandoner/M/*BNTN +abandonment/SM/*BNTNMNT +abase/LGDSR/*BS +abasement/S/*BSMNT +abaser/M/*BS +abash/SDLG/*BX +abashed/UY/*BXT +abashment/MS/*BXMNT +abate/DSRLG/*BT +abated/U/*BTT +abatement/MS/*BTMNT +abater/M/*BT +abattoir/SM/*BT +Abba/M/*B +Abbe/M/*B +abbé/S/*B +abbess/SM/*BS +Abbey/M/*B +abbey/MS/*B +Abbi/M/*B +Abbie/M/*B +Abbot/M/*BT +abbot/MS/*BT +Abbott/M/*BT +abbr//*BR +abbrev//*BRF +abbreviate/XDSNG/*BRFT +abbreviated/UA/*BRFTT +abbreviates/A/*BRFTS +abbreviating/A/*BRFTN +abbreviation/M/*BRFXN +Abby/M/*B +Abbye/M/*BY +ABC/M/*BK +Abdel/M/*BTL +abdicate/NGDSX/*BTKT +abdication/M/*BTKXN +abdomen/SM/*BTMN +abdominal/YS/*BTMNL +abduct/DGS/*BTKT +abduction/SM/*BTKXN +abductor/SM/*BTKT +Abdul/M/*BTL +Abe/M/*B +abeam//*BM +Abel/M/*BL +Abelard/M/*BLT +Abelson/M/*BLSN +Aberdeen/M/*BTN +Abernathy/M/*BN@ +aberrant/YS/*BRNT +aberration/SM/*BRXN +aberrational//*BRXNL +abet/S/*BT +abetted//*BTT +abetting//*BTN +abettor/SM/*BT +Abeu/M/*B +Abey/M/*B +abeyance/MS/*BYNS +abeyant//*BYNT +abhor/S/*BH +abhorred//*BHRT +abhorrence/MS/*BHRNS +abhorrent/Y/*BHRNT +abhorrer/M/*BHR +abhorring//*BHRN +abidance/MS/*BTNS +abide/JGSR/*BT +abider/M/*BT +abiding/Y/*BTN +Abidjan/M/*BTKN +Abie/M/*B +Abigael/M/*BKL +Abigail/M/*BKL +Abigale/M/*BKL +Abilene/M/*BLN +ability/IMES/*BLT +abject/SGPDY/*BKKT +abjection/MS/*BKKXN +abjectness/SM/*BKKTNS +abjuration/SM/*BKRXN +abjuratory//*BKRTR +abjure/ZGSRD/*BKR +abjurer/M/*BKR +ablate/VGNSDX/*BLT +ablation/M/*BLXN +ablative/SY/*BLTF +ablaze//*BLS +able/U/*BL +abler/E/*BL +ables/E/*BLS +ablest//*BLST +abloom//*BLM +ablution/MS/*BLXN +ABM/S/*BM +abnegate/NGSDX/*BNKT +abnegation/M/*BNKXN +Abner/M/*BN +abnormal/SY/*BNML +abnormality/SM/*BNMLT +Abo/SM/*B +aboard//*BT +abode/GMDS/*BT +abolish/LZRSDG/*BLX +abolisher/M/*BLX +abolishment/MS/*BLXMNT +abolition/SM/*BLXN +abolitionism/SM/*BLXNSM +abolitionist/SM/*BLXNST +abominable//*BMNBL +abominably//*BMNBL +abominate/XSDGN/*BMNT +abomination/M/*BMNXN +aboriginal/YS/*BRKNL +aborigine/SM/*BRKN +Aborigine/SM/*BRKN +aborning//*BNN +abort/SRDVG/*BT +abortion/MS/*BXN +abortionist/MS/*BXNST +abortive/PY/*BTF +abortiveness/M/*BTFNS +abound/GDS/*BNT +about/S/*BT +above/S/*BF +aboveboard//*BFBT +aboveground//*BFKRNT +Abra/M/*BR +abracadabra/S/*BRKTBR +abrade/SRDG/*BRT +abrader/M/*BRT +Abraham/M/*BRHM +Abrahan/M/*BRHN +Abram/SM/*BRM +Abramo/M/*BRM +Abramson/M/*BRMSN +Abran/M/*BRN +abrasion/MS/*BRXN +abrasive/SYMP/*BRSF +abrasiveness/S/*BRSFNS +abreaction/MS/*BRKXN +abreast//*BRST +abridge/DSRG/*BRK +abridged/U/*BRKT +abridger/M/*BRKR +abridgment/SM/*BRTKMNT +abroad//*BRT +abrogate/XDSNG/*BRKT +abrogation/M/*BRKXN +abrogator/SM/*BRKT +abrupt/TRYP/*BRPT +abruptness/SM/*BRPTNS +ABS//*BS +abs/M/*BS +abscess/GDSM/*BSS +abscissa/SM/*BSS +abscission/SM/*BSXN +abscond/SDRZG/*BSKNT +absconder/M/*BSKNT +abseil/SGDR/*BSL +absence/SM/*BSNS +absent/SGDRY/*BSNT +absentee/MS/*BSNT +absenteeism/SM/*BSNTSM +absentia/M/*BSNX +absentminded/PY/*BSNTMNTT +absentmindedness/S/*BSNTMNTTNS +absinthe/SM/*BSN@ +absolute/NPRSYTX/*BSLT +absoluteness/SM/*BSLTNS +absolution/M/*BSLXN +absolutism/MS/*BSLTSM +absolutist/SM/*BSLTST +absolve/GDSR/*BSLF +absolver/M/*BSLF +absorb/ASGD/*BSB +absorbed/U/*BSBT +absorbency/MS/*BSBNS +absorbent/MS/*BSBNT +absorber/SM/*BSB +absorbing/Y/*BSBN +absorption/MS/*BSPXN +absorptive//*BSPTF +absorptivity/M/*BSPTFT +abstain/GSDRZ/*BSTN +abstainer/M/*BSTN +abstemious/YP/*BSTMS +abstemiousness/MS/*BSTMSNS +abstention/SM/*BSTNXN +abstinence/MS/*BSTNNS +abstinent/Y/*BSTNNT +abstract/PTVGRDYS/*BSTRKT +abstracted/YP/*BSTRKTT +abstractedness/SM/*BSTRKTTNS +abstracter/M/*BSTRKT +abstraction/SM/*BSTRKXN +abstractionism/M/*BSTRKXNSM +abstractionist/SM/*BSTRKXNST +abstractness/SM/*BSTRKTNS +abstractor/MS/*BSTRKT +abstruse/PRYT/*BSTRS +abstruseness/SM/*BSTRSNS +absurd/PRYST/*BST +absurdity/SM/*BSTT +absurdness/SM/*BSTNS +Abuja//*BK +abundance/SM/*BNTNS +abundant/Y/*BNTNT +abuse/GVZDSRB/*BS +abused/E/*BST +abuser/M/*BS +abuses/E/*BSS +abusing/E/*BSN +abusive/YP/*BSF +abusiveness/SM/*BSFNS +abut/LS/*BT +abutment/SM/*BTMNT +abutted//*BTT +abutter/MS/*BT +abutting//*BTN +abuzz//*BS +abysmal/Y/*BSML +abyss/SM/*BS +abyssal//*BSL +Abyssinia/M/*BSN +Abyssinian//*BSNN +AC//*K +ac/DRG/*K +Ac/M/*K +acacia/SM/*KX +academe/MS/*KTM +academia/SM/*KTM +academic/S/*KTMK +academical/Y/*KTMKL +academician/SM/*KTMXN +academicianship//*KTMXNXP +academy/SM/*KTM +Acadia/M/*KT +acanthus/MS/*KN@S +Acapulco/M/*KPLK +accede/SDG/*ST +accelerate/NGSDXV/*SLRT +accelerated/U/*SLRTT +accelerating/Y/*SLRTN +acceleration/M/*SLRXN +accelerator/SM/*SLRT +accelerometer/SM/*SLRMT +accent/SGMD/*SNT +accented/U/*SNTT +accentual/Y/*SNTL +accentuate/XNGSD/*SNTT +accentuation/M/*SNTXN +accept/RDBSZVG/*SPT +acceptability/SM/*SPTBLT +acceptability's/U/*SPTBLTS +acceptable/P/*SPTBL +acceptableness/SM/*SPTBLNS +acceptably/U/*SPTBL +acceptance/SM/*SPTNS +acceptant//*SPTNT +acceptation/SM/*SPTXN +accepted/Y/*SPTT +accepter/M/*SPT +accepting/PY/*SPTN +acceptor/MS/*SPT +access/SDMG/*SS +accessed/A/*SST +accessibility/IMS/*SSBLT +accessible/IU/*SSBL +accessibly/I/*SSBL +accession/SMDG/*SXN +accessors//*SSS +accessory/SM/*SSR +accidence/M/*STNS +accident/MS/*STNT +accidental/SPY/*STNTL +accidentalness/M/*STNTLNS +acclaim/SDRG/*KLM +acclaimer/M/*KLM +acclamation/MS/*KLMXN +acclimate/XSDGN/*KLMT +acclimation/M/*KLMXN +acclimatisation//*KLMTSXN +acclimatise/DG/*KLMTS +acclimatization/AMS/*KLMTSXN +acclimatize/RSDGZ/*KLMTS +acclimatized/U/*KLMTST +acclimatizes/A/*KLMTSS +acclivity/SM/*KLFT +accolade/GDSM/*KLT +accommodate/XVNGSD/*KMTT +accommodated/U/*KMTTT +accommodating/Y/*KMTTN +accommodation/M/*KMTXN +accommodative/P/*KMTTF +accommodativeness/M/*KMTTFNS +accompanied/U/*KMPNT +accompanier/M/*KMPN +accompaniment/MS/*KMPNMNT +accompanist/SM/*KMPNST +accompany/DRSG/*KMPN +accomplice/MS/*KMPLS +accomplish/SRDLZG/*KMPLX +accomplished/U/*KMPLXT +accomplisher/M/*KMPLX +accomplishment/SM/*KMPLXMNT +accord/SZGMRD/*KT +accordance/SM/*KTNS +accordant/Y/*KTNT +accorder/M/*KT +according/Y/*KTN +accordion/MS/*KTN +accordionist/SM/*KTNST +accost/SGD/*KST +account/BMDSGJ/*KNT +accountability/MS/*KNTBLT +accountability's/U/*KNTBLTS +accountable/U/*KNTBL +accountableness/M/*KNTBLNS +accountably/U/*KNTBL +accountancy/SM/*KNTNS +accountant/MS/*KNTNT +accounted/U/*KNTT +accounting/M/*KNTN +accouter/GSD/*KT +accouterments//*KTMNTS +accouterment's//*KTMNTS +accoutrement/M/*KTRMNT +Accra/M/*KR +accredit/SGD/*KRTT +accreditation/SM/*KRTTXN +accredited/U/*KRTTT +accretion/SM/*KRXN +accrual/MS/*KRL +accrue/SDG/*KR +acct//*KT +acculturate/XSDVNG/*KLTRT +acculturation/M/*KLTRXN +accumulate/VNGSDX/*KMLT +accumulation/M/*KMLXN +accumulative/YP/*KMLTF +accumulativeness/M/*KMLTFNS +accumulator/MS/*KMLT +accuracy/IMS/*KRS +accurate/IY/*KRT +accurateness/SM/*KRTNS +accursed/YP/*KST +accursedness/SM/*KSTNS +accusal/M/*KSL +accusation/SM/*KSXN +accusative/S/*KSTF +accusatory//*KSTR +accuse/SRDZG/*KS +accused/M/*KST +accuser/M/*KS +accusing/Y/*KSN +accustom/SGD/*KSTM +accustomed/P/*KSTMT +accustomedness/M/*KSTMTNS +ace/SM/*S +aced/M/*ST +acerbate/DSG/*SBT +acerbic//*SBK +acerbically//*SBKL +acerbity/MS/*SBT +acetaminophen/S/*STMNFN +acetate/MS/*STT +acetic//*STK +acetone/SM/*STN +acetonic//*STNK +acetylene/MS/*STLN +Acevedo/M/*SFT +Achaean/M/*XN +ache/DSG/*X +Achebe/M/*XB +ached/A/*XT +achene/SM/*XN +Achernar/M/*XN +aches/A/*XS +Acheson/M/*XSN +achievable/U/*XFBL +achieve/LZGRSDB/*XF +achieved/UA/*XFT +achievement/SM/*XFMNT +achiever/M/*XF +Achilles//*XLS +aching/Y/*XN +achoo//*X +achromatic//*XRMTK +achy/TR/*X +acid/SMYP/*ST +acidic//*STK +acidification/M/*STFKXN +acidify/NSDG/*STF +acidity/SM/*STT +acidness/M/*STNS +acidoses//*STSS +acidosis/M/*STSS +acidulous//*STLS +acing/M/*SN +Ackerman/M/*KMN +acknowledge/GZDRS/*KNLK +acknowledgeable//*KNLKBL +acknowledged/U/*KNLKT +acknowledgedly//*KNLKTL +acknowledger/M/*KNLKR +acknowledgment/SAM/*KNLTKMNT +ACLU//*KL +ACM//*KM +acme/SM/*KM +acne/MDS/*KN +acolyte/MS/*KLT +Aconcagua/M/*KNKK +aconite/MS/*KNT +acorn/SM/*KN +Acosta/M/*KST +acoustic/S/*KSTK +acoustical/Y/*KSTKL +acoustician/M/*KSTXN +acoustics/M/*KSTKS +acquaint/GASD/*KNT +acquaintance/MS/*KNTNS +acquaintanceship/S/*KNTNSXP +acquainted/U/*KNTT +acquiesce/GSD/*KS +acquiescence/SM/*KSNS +acquiescent/Y/*KSNT +acquirable//*KRBL +acquire/ASDG/*KR +acquirement/SM/*KRMNT +acquisition/SM/*KSXN +acquisition's/A/*KSXNS +acquisitive/PY/*KSTF +acquisitiveness/MS/*KSTFNS +acquit/S/*KT +acquittal/MS/*KTL +acquittance/M/*KTNS +acquitted//*KTT +acquitter/M/*KT +acquitting//*KTN +acre/MS/*KR +acreage/MS/*KRK +acrid/TPRY/*KRT +acridity/MS/*KRTT +acridness/SM/*KRTNS +acrimonious/YP/*KRMNS +acrimoniousness/MS/*KRMNSNS +acrimony/MS/*KRMN +acrobat/SM/*KRBT +acrobatic/S/*KRBTK +acrobatically//*KRBTKL +acrobatics/M/*KRBTKS +acronym/SM/*KRNM +acrophobia/SM/*KRFB +Acropolis/M/*KRPLS +acropolis/SM/*KRPLS +across//*KRS +acrostic/SM/*KRSTK +Acrux/M/*KRKS +acrylate/M/*KRLT +acrylic/S/*KRLK +ACT//*KT +act/SADVG/*KT +Acta/M/*KT +Actaeon/M/*KTN +ACTH//*K@ +acting/S/*KTN +actinic//*KTNK +actinide/SM/*KTNT +actinium/MS/*KTNM +actinometer/MS/*KTNMT +action/DMSGB/*KXN +actions/AI/*KXNS +action's/IA/*KXNS +activate/AXCDSNGI/*KTFT +activated/U/*KTFTT +activation/AMCI/*KTFXN +activator/SM/*KTFT +active/APY/*KTF +actively/I/*KTFL +activeness/MS/*KTFNS +actives//*KTFS +activism/MS/*KTFSM +activist/MS/*KTFST +activities/A/*KTFTS +activity/MSI/*KTFT +Acton/M/*KTN +actor/MAS/*KT +actress/SM/*KTRS +act's//*KTS +Acts//*KTS +actual/SY/*KTL +actuality/SM/*KTLT +actualization/MAS/*KTLSXN +actualize/GSD/*KTLS +actualizes/A/*KTLSS +actuarial/Y/*KTRL +actuary/MS/*KTR +actuate/GNXSD/*KTT +actuation/M/*KTXN +actuator/SM/*KTT +acuity/MS/*KT +acumen/SM/*KMN +acupressure/S/*KPRSR +acupuncture/SM/*KPNKTR +acupuncturist/S/*KPNKTRST +acute/YTSRP/*KT +acuteness/MS/*KTNS +acyclic//*SKLK +acyclically//*SKLKL +acyclovir/S/*SKLF +AD//*T +ad/AS/*T +Ad/MN/*T +Ada/M/*T +adage/MS/*TK +adagio/S/*TK +Adah/M/*T +Adair/M/*T +Adaline/M/*TLN +Adam/SM/*TM +adamant/SY/*TMNT +Adamo/M/*TM +Adamson/M/*TMSN +Adan/M/*TN +Adana/M/*TN +adapt/SRDBZVG/*TPT +adaptability/MS/*TPTBLT +adaptable/U/*TPTBL +adaptation/MS/*TPTXN +adapted/P/*TPTT +adaptedness/M/*TPTTNS +adapter/M/*TPT +adapting/A/*TPTN +adaption//*TPXN +adaptive/U/*TPTF +adaptively//*TPTFL +adaptiveness/M/*TPTFNS +adaptivity//*TPTFT +Adara/M/*TR +ADC//*TK +add/ZGBSDR/*T +Adda/M/*T +Addams//*TMS +addend/SM/*TNT +addenda//*TNT +addendum/M/*TNTM +adder/M/*T +Addi/M/*T +Addia/M/*T +addict/SGVD/*TKT +addiction/MS/*TKXN +addictive/P/*TKTF +Addie/M/*T +Addison/M/*TSN +addition/MS/*TXN +additional/Y/*TXNL +additive/YMS/*TTF +additivity//*TTFT +addle/GDS/*TL +address/MDRSZGB/*TRS +addressability//*TRSBLT +addressable/U/*TRSBL +addressed/A/*TRST +addressee/SM/*TRS +addresser/M/*TRS +addresses/A/*TRSS +Addressograph/M/*TRSKRF +adduce/GRSD/*TS +adducer/M/*TS +adduct/DGVS/*TKT +adduction/M/*TKXN +adductor/M/*TKT +Addy/M/*T +Ade/M/*T +Adel/M/*TL +Adela/M/*TL +Adelaida/M/*TLT +Adelaide/M/*TLT +Adelbert/M/*TLBT +Adele/M/*TL +Adelheid/M/*TLHT +Adelice/M/*TLS +Adelina/M/*TLN +Adelind/M/*TLNT +Adeline/M/*TLN +Adella/M/*TL +Adelle/M/*TL +Aden/M/*TN +Adena/M/*TN +Adenauer/M/*TN +adenine/SM/*TNN +adenoid/S/*TNT +adenoidal//*TNTL +adept/RYPTS/*TPT +adeptness/MS/*TPTNS +adequacy/IMS/*TKS +adequate/IPY/*TKT +adequateness/SM/*TKTNS +adequateness's/I/*TKTNSS +Adey/M/*T +Adham/M/*THM +Adhara/M/*THR +adhere/ZGRSD/*THR +adherence/SM/*THRNS +adherent/YMS/*THRNT +adherer/M/*THR +adhesion/MS/*THXN +adhesive/PYMS/*THSF +adhesiveness/MS/*THSFNS +Adi/M/*T +adiabatic//*TBTK +adiabatically//*TBTKL +Adiana/M/*TN +Adidas/M/*TTS +adieu/S/*T +Adina/M/*TN +adiós//*TS +adipose/S/*TPS +Adirondack/SM/*TRNTK +adj//*TK +adjacency/MS/*TKSNS +adjacent/Y/*TKSNT +adjectival/Y/*TKKTFL +adjective/MYS/*TKKTF +adjoin/SDG/*TKN +adjoint/M/*TKNT +adjourn/DGLS/*TKN +adjournment/SM/*TKNMNT +adjudge/DSG/*TKK +adjudicate/VNGXSD/*TKTKT +adjudication/M/*TKTKXN +adjudicator/SM/*TKTKT +adjudicatory//*TKTKTR +adjunct/VSYM/*TKNKT +adjuration/SM/*TKRXN +adjure/GSD/*TKR +adjust/DRALGSB/*TKST +adjustable/U/*TKSTBL +adjustably//*TKSTBL +adjusted/U/*TKSTT +adjuster/SM/*TKST +adjuster's/A/*TKSTS +adjustive//*TKSTF +adjustment/MAS/*TKSTMNT +adjustor's//*TKSTS +adjutant/SM/*TKTNT +Adkins/M/*TKNS +Adlai/M/*TL +Adler/M/*TL +Adm/M/*TM +adman/M/*TMN +admen//*TMN +administer/GDJS/*TMNST +administrable//*TMNSTRBL +administrate/XSDVNG/*TMNSTRT +administration/M/*TMNSTRXN +administrative/Y/*TMNSTRTF +administrator/MS/*TMNSTRT +administratrix/M/*TMNSTRTRKS +admirable/P/*TMRBL +admirableness/M/*TMRBLNS +admirably//*TMRBL +admiral/SM/*TMRL +admiralty/MS/*TMRLT +Admiralty/S/*TMRLT +admiration/MS/*TMRXN +admire/RSDZBG/*TMR +admirer/M/*TMR +admiring/Y/*TMRN +admissibility/ISM/*TMSBLT +admissible/I/*TMSBL +admissibly//*TMSBL +admission/AMS/*TMXN +admit/AS/*TMT +admittance/MS/*TMTNS +admitted/A/*TMTT +admittedly//*TMTTL +admitting/A/*TMTN +admix/SDG/*TMKS +admixture/SM/*TMKSTR +admonish/GLSRD/*TMNX +admonisher/M/*TMNX +admonishing/Y/*TMNXN +admonishment/SM/*TMNXMNT +admonition/MS/*TMNXN +admonitory//*TMNTR +Ado/M/*T +ado/MS/*T +adobe/MS/*TB +adolescence/MS/*TLSNS +adolescent/SYM/*TLSNT +Adolf/M/*TLF +Adolfo/M/*TLF +Adolph/M/*TLF +Adolphe/M/*TLF +Adolpho/M/*TLF +Adolphus/M/*TLFS +Adonis/SM/*TNS +adopt/RDSBZVG/*TPT +adopted/AU/*TPTT +adopter/M/*TPT +adoption/MS/*TPXN +adoptive/Y/*TPTF +adopts/A/*TPTS +Adora/M/*TR +adorable/P/*TRBL +adorableness/SM/*TRBLNS +adorably//*TRBL +adoration/SM/*TRXN +adore/DSRGZB/*TR +Adore/M/*TR +Adoree/M/*TR +adorer/M/*TR +adoring/Y/*TRN +adorn/SGLD/*TN +Adorne/M/*TN +adorned/U/*TNT +adornment/SM/*TNMNT +ADP//*TP +Adrea/M/*TR +adrenal/YS/*TRNL +adrenalin//*TRNLN +Adrenalin/MS/*TRNLN +adrenaline/MS/*TRNLN +Adria/MX/*TR +Adrian/M/*TRN +Adriana/M/*TRN +Adriane/M/*TRN +Adrianna/M/*TRN +Adrianne/M/*TRN +Adriano/M/*TRN +Adriatic//*TRTK +Adrien/M/*TRN +Adriena/M/*TRN +Adrienne/M/*TRN +adrift//*TRFT +adroit/RTYP/*TRT +adroitness/MS/*TRTNS +ads//*TS +ad's//*TS +adsorb/GSD/*TSB +adsorbate/M/*TSBT +adsorbent/S/*TSBNT +adsorption/MS/*TSPXN +adsorptive/Y/*TSPTF +adulate/GNDSX/*TLT +adulation/M/*TLXN +adulator/SM/*TLT +adulatory//*TLTR +adult/MYPS/*TLT +adulterant/SM/*TLTRNT +adulterate/NGSDX/*TLTRT +adulterated/U/*TLTRTT +adulteration/M/*TLTRXN +adulterer/SM/*TLTR +adulteress/MS/*TLTRS +adulterous/Y/*TLTRS +adultery/SM/*TLTR +adulthood/MS/*TL@T +adultness/M/*TLTNS +adumbrate/XSDVGN/*TMBRT +adumbration/M/*TMBRXN +adumbrative/Y/*TMBRTF +adv//*TF +advance/DSRLZG/*TFNS +advancement/MS/*TFNSMNT +advancer/M/*TFNS +advantage/GMEDS/*TFNTK +advantageous/EY/*TFNTKS +advantageousness/M/*TFNTKSNS +Advent/SM/*TFNT +advent/SVM/*TFNT +Adventist/M/*TFNTST +adventist/S/*TFNTST +adventitious/PY/*TFNTXS +adventitiousness/M/*TFNTXSNS +adventive/Y/*TFNTF +adventure/SRDGMZ/*TFNTR +adventurer/M/*TFNTR +adventuresome//*TFNTRSM +adventuress/SM/*TFNTRS +adventurous/YP/*TFNTRS +adventurousness/SM/*TFNTRSNS +adverb/SM/*TFB +adverbial/MYS/*TFBL +adversarial//*TFSRL +adversary/SM/*TFSR +adverse/DSRPYTG/*TFS +adverseness/MS/*TFSNS +adversity/SM/*TFST +advert/GSD/*TFT +advertise/JGZSRDL/*TFTS +advertised/U/*TFTST +advertisement/SM/*TFTSMNT +advertiser/M/*TFTS +advertising/M/*TFTSN +advertorial/S/*TFTRL +advice/SM/*TFS +Advil/M/*TFL +advisability/SIM/*TFSBLT +advisable/I/*TFSBL +advisableness/M/*TFSBLNS +advisably//*TFSBL +advise/ZRSDGLB/*TFS +advised/YU/*TFST +advisedly/I/*TFSTL +advisee/MS/*TFS +advisement/MS/*TFSMNT +adviser/M/*TFS +advisor's//*TFSS +advisory/S/*TFSR +advocacy/SM/*TFKS +advocate/NGVDS/*TFKT +advocation/M/*TFKXN +advt//*TFT +adz/MDSG/*TS +adze's//*TSS +Aegean//*KN +aegis/SM/*KS +Aelfric/M/*LFRK +Aeneas//*NS +Aeneid/M/*NT +aeolian//*LN +Aeolus/M/*LS +aeon's//*NS +aerate/XNGSD/*RT +aeration/M/*RXN +aerator/MS/*RT +aerial/SMY/*RL +aerialist/MS/*RLST +aerie/SRMT/*R +Aeriel/M/*RL +Aeriela/M/*RL +Aeriell/M/*RL +aeroacoustic//*RKSTK +aerobatic/S/*RBTK +aerobic/S/*RBK +aerobically//*RBKL +aerodrome/SM/*RTRM +aerodynamic/S/*RTNMK +aerodynamically//*RTNMKL +aerodynamics/M/*RTNMKS +aeronautic/S/*RNTK +aeronautical/Y/*RNTKL +aeronautics/M/*RNTKS +aerosol/MS/*RSL +aerosolize/D/*RSLS +aerospace/SM/*RSPS +Aeschylus/M/*SXLS +Aesculapius/M/*SKLPS +Aesop/M/*SP +aesthete/S/*S@T +aesthetic/U/*S@TK +aesthetically//*S@TKL +aestheticism/MS/*S@TSSM +aesthetics/M/*S@TKS +aether/M/*@ +aetiology/M/*XLK +AF//*F +AFAIK//*FK +afar/S/*F +AFB//*FB +AFC//*FK +AFDC//*FTK +affability/MS/*FBLT +affable/TR/*FBL +affably//*FBL +affair/SM/*F +affect/EGSD/*FKT +affectation/MS/*FKTXN +affected/UEYP/*FKTT +affectedness/EM/*FKTTNS +affecter/M/*FKT +affecting/Y/*FKTN +affection/EMS/*FKXN +affectionate/UY/*FKXNT +affectioned//*FKXNT +affectioning//*FKXNN +affective/MY/*FKTF +afferent/YS/*FRNT +affiance/GDS/*FNS +affidavit/SM/*FTFT +affiliate/EXSDNG/*FLT +affiliated/U/*FLTT +affiliation/EM/*FLXN +affine//*FN +affinity/SM/*FNT +affirm/ASDG/*FM +affirmation/SAM/*FMXN +affirmative/SY/*FMTF +affix/SDG/*FKS +afflatus/MS/*FLTS +afflict/GVDS/*FLKT +affliction/SM/*FLKXN +afflictive/Y/*FLKTF +affluence/SM/*FLNS +affluent/YS/*FLNT +afford/DSBG/*FT +afforest/A/*FRST +afforestation/SM/*FRSTXN +afforested//*FRSTT +afforesting//*FRSTN +afforests//*FRSTS +affray/MDSG/*FR +affricate/VNMS/*FRKT +affrication/M/*FRKXN +affricative/M/*FRKTF +affright//*FRT +affront/GSDM/*FRNT +afghan/MS/*FKN +Afghan/SM/*FKN +Afghani/SM/*FKN +Afghanistan/M/*FKNSTN +aficionado/MS/*FSNT +afield//*FLT +afire//*FR +aflame//*FLM +afloat//*FLT +aflutter//*FLT +afoot//*FT +afore//*FR +aforementioned//*FRMNXNT +aforesaid//*FRST +aforethought/S/*FR@T +afoul//*FL +Afr//*FR +afraid/U/*FRT +afresh//*FRX +Africa/M/*FRK +African/MS/*FRKN +Afrikaans/M/*FRKNS +Afrikaner/SM/*FRKN +afro//*FR +Afro/MS/*FR +Afrocentric//*FRSNTRK +Afrocentrism/S/*FRSNTRSM +aft/ZR/*FT +afterbirth/M/*FTB@ +afterbirths//*FTB@S +afterburner/MS/*FTBN +aftercare/SM/*FTKR +aftereffect/MS/*FTRFKT +afterglow/MS/*FTKL +afterimage/MS/*FTRMK +afterlife/M/*FTLF +afterlives//*FTLFS +aftermath/M/*FTM@ +aftermaths//*FTM@S +aftermost//*FTMST +afternoon/SM/*FTNN +afters/M/*FTS +aftershave/S/*FTXF +aftershock/SM/*FTXK +aftertaste/SM/*FTTST +afterthought/MS/*FT@T +afterward//*FTWT +afterword/MS/*FTWT +Afton/M/*FTN +Ag/M/*K +Agace/M/*KS +again//*KN +against//*KNST +Agamemnon/M/*KMMNN +agapae//*KP +agape/S/*KP +agar/MS/*K +Agassiz/M/*KSS +Agata/M/*KT +agate/SM/*KT +Agatha/M/*K@ +Agathe/M/*K@ +agave/SM/*KF +age/GJDRSMZ/*K +aged/PY/*KT +agedness/M/*KTNS +ageism/S/*KSM +ageist/S/*KST +ageless/YP/*KLS +agelessness/MS/*KLSNS +agency/SM/*KNS +agenda/MS/*KNT +agent/AMS/*KNT +agented//*KNTT +agenting//*KNTN +agentive//*KNTF +ageratum/M/*KRTM +Aggi/M/*K +Aggie/M/*K +agglomerate/XNGVDS/*KLMRT +agglomeration/M/*KLMRXN +agglutinate/VNGXSD/*KLTNT +agglutination/M/*KLTNXN +agglutinin/MS/*KLTNN +aggrandize/LDSG/*KRNTS +aggrandizement/SM/*KRNTSMNT +aggravate/SDNGX/*KRFT +aggravating/Y/*KRFTN +aggravation/M/*KRFXN +aggregate/EGNVD/*KRKT +aggregated/U/*KRKTT +aggregately//*KRKTL +aggregateness/M/*KRKTNS +aggregates//*KRKTS +aggregation/SM/*KRKXN +aggregative/Y/*KRKTF +aggression/SM/*KRXN +aggressive/U/*KRSF +aggressively//*KRSFL +aggressiveness/S/*KRSFNS +aggressor/MS/*KRS +aggrieve/GDS/*KRF +aggrieved/Y/*KRFT +Aggy/SM/*K +aghast//*KST +agile/YTR/*KL +agility/MS/*KLT +agitate/XVNGSD/*KTT +agitated/Y/*KTTT +agitation/M/*KTXN +agitator/SM/*KTT +agitprop/MS/*KTPRP +Aglaia/M/*KL +agleam//*KLM +aglitter//*KLT +aglow//*KL +Agna/M/*KN +Agnella/M/*KNL +Agnes/M/*KNS +Agnese/M/*KNS +Agnesse/M/*KNS +Agneta/M/*KNT +Agnew/M/*KN +Agni/M/*KN +Agnola/M/*KNL +agnostic/SM/*KNSTK +agnosticism/MS/*KNSTSSM +ago//*K +agog//*KK +agonize/ZGRSD/*KNS +agonized/Y/*KNST +agonizedly/S/*KNSTL +agonizing/Y/*KNSN +agony/SM/*KN +agoraphobia/MS/*KRFB +agoraphobic/S/*KRFBK +Agosto/M/*KST +Agra/M/*KR +agrarian/S/*KRRN +agrarianism/MS/*KRRNSM +agree/LEBDS/*KR +agreeable/EP/*KRBL +agreeableness/SME/*KRBLNS +agreeably/E/*KRBL +agreeing/E/*KRN +agreement/ESM/*KRMNT +agreer/S/*KR +Agretha/M/*KR@ +agribusiness/SM/*KRBSNS +Agricola/M/*KRKL +agricultural/Y/*KRKLTRL +agriculturalist/S/*KRKLTRLST +agriculture/MS/*KRKLTR +agriculturist/SM/*KRKLTRST +Agrippa/M/*KRP +Agrippina/M/*KRPN +agrochemicals//*KRXMKLS +agronomic/S/*KRNMK +agronomist/SM/*KRNMST +agronomy/MS/*KRNM +aground//*KRNT +Aguascalientes/M/*KSKLNTS +ague/MS/*K +Aguie/M/*K +Aguilar/M/*KL +Aguinaldo/M/*KNLT +Aguirre/M/*KR +Aguistin/M/*KSTN +Aguste/M/*KST +Agustin/M/*KSTN +ah//* +aha/S/*H +Ahab/M/*HB +Aharon/M/*HRN +ahead//*HT +ahem/S/*HM +Ahmad/M/*MT +Ahmadabad//*MTBT +Ahmed/M/*MT +ahoy/S/*H +Ahriman/M/*RMN +AI//* +aid/ZGDRS/*T +Aida/M/*T +Aidan/M/*TN +aide/MS/*T +aided/U/*TT +aider/M/*T +AIDS//*TS +Aigneis/M/*KNS +aigrette/SM/*KRT +Aiken/M/*KN +ail/LSDG/*L +Aila/M/*L +Ailbert/M/*LBT +Aile/M/*L +Ailee/M/*L +Aileen/M/*LN +Ailene/M/*LN +aileron/MS/*LRN +Ailey/M/*L +Aili/SM/*L +Ailina/M/*LN +ailment/SM/*LMNT +Ailsun/M/*LSN +Ailyn/M/*LN +aim/ZSGDR/*M +Aime/M/*M +Aimee/M/*M +aimer/M/*M +Aimil/M/*ML +aimless/YP/*MLS +aimlessness/MS/*MLSNS +Aindrea/M/*NTR +Ainslee/M/*NSL +Ainsley/M/*NSL +Ainslie/M/*NSL +ain't//*NT +Ainu/M/*N +air/MDRTZGJS/* +airbag/MS/*BK +airbase/S/*BS +airborne//*BN +airbrush/SDMG/*BRX +Airbus/M/*BS +airbus/SM/*BS +aircraft/MS/*KRFT +aircrew/M/*KR +airdrop/MS/*TRP +airdropped//*TRPT +airdropping//*TRPN +Airedale/SM/*RTL +Aires//*RS +airfare/S/*FR +airfield/MS/*FLT +airflow/SM/*FL +airfoil/MS/*FL +airframe/MS/*FRM +airfreight/SGD/*FRT +airhead/MS/*HT +airily//*RL +airiness/MS/*RNS +airing/M/*RN +airless/P/*LS +airlessness/S/*LSNS +airlift/MDSG/*LFT +airline/SRMZ/*LN +airliner/M/*LN +airlock/MS/*LK +airmail/DSG/*ML +airman/M/*MN +airmass//*MS +airmen//*MN +airpark//*PK +airplane/SM/*PLN +airplay/S/*PL +airport/MS/*PT +airship/MS/*XP +airsick/P/*SK +airsickness/SM/*SKNS +airspace/SM/*SPS +airspeed/SM/*SPT +airstrip/MS/*STRP +airtight/P/*TT +airtightness/M/*TTNS +airtime//*TM +airwaves//*WFS +airway/SM/*W +airworthiness/SM/*W@NS +airworthy/PTR/*W@ +airy/PRT/*R +Aisha/M/*X +aisle/DSGM/*SL +aitch/MS/*X +ajar//*K +Ajax/M/*KKS +Ajay/M/*K +AK//*K +aka//*K +Akbar/M/*KB +Akihito/M/*KHT +Akim/M/*KM +akimbo//*KMB +akin//*KN +Akita/M/*KT +Akkad/M/*KT +Akron/M/*KRN +Aksel/M/*KSL +AL//*L +Al/MRY/*L +ala/MS/*L +Ala/MS/*L +Alabama/M/*LBM +Alabaman/S/*LBMN +Alabamian/MS/*LBMN +alabaster/MS/*LBST +alack/S/*LK +alacrity/SM/*LKRT +Aladdin/M/*LTN +Alain/M/*LN +Alaine/M/*LN +Alair/M/*L +Alameda/M/*LMT +Alamo/SM/*LM +Alamogordo/M/*LMKT +Alan/M/*LN +Alana/M/*LN +Alanah/M/*LN +Aland/M/*LNT +Alane/M/*LN +alanine/M/*LNN +Alanna/M/*LN +Alano/M/*LN +Alanson/M/*LNSN +Alar/M/*L +Alard/M/*LT +Alaric/M/*LRK +alarm/SDG/*LM +alarming/Y/*LMN +alarmist/MS/*LMST +alas/S/*LS +Alasdair/M/*LST +Alaska/M/*LSK +Alaskan/S/*LSKN +Alastair/M/*LST +Alasteir/M/*LST +Alaster/M/*LST +Alayne/M/*LN +alb/MS/*LB +alba/M/*LB +Alba/M/*LB +albacore/SM/*LBKR +Albania/M/*LBN +Albanian/SM/*LBNN +Albany/M/*LBN +albatross/SM/*LBTRS +albedo/M/*LBT +Albee/M/*LB +albeit//*LBT +Alberich/M/*LBRX +Alberik/M/*LBRK +Alberio/M/*LBR +Albert/M/*LBT +Alberta/M/*LBT +Albertan/S/*LBTN +Albertina/M/*LBTN +Albertine/M/*LBTN +Alberto/M/*LBT +Albie/M/*LB +Albigensian//*LBKNXN +Albina/M/*LBN +albinism/SM/*LBNSM +albino/MS/*LBN +Albion/M/*LBN +Albireo/M/*LBR +Albrecht/M/*LBRXT +album/MNXS/*LBM +albumen/M/*LBMN +albumin/MS/*LBMN +albuminous//*LBMNS +Albuquerque/M/*LBKK +Alcatraz/M/*LKTRS +Alcestis/M/*LSSTS +alchemical//*LXMKL +alchemist/SM/*LXMST +alchemy/MS/*LXM +Alcibiades/M/*LSBTS +Alcmena/M/*LKMN +Alcoa/M/*LK +alcohol/MS/*LKHL +alcoholic/MS/*LKHLK +alcoholically//*LKHLKL +alcoholism/SM/*LKHLSM +Alcott/M/*LKT +alcove/MSD/*LKF +Alcuin/M/*LKN +Alcyone/M/*LSYN +Aldan/M/*LTN +Aldebaran/M/*LTBRN +aldehyde/M/*LTHT +Alden/M/*LTN +alder/SM/*LT +Alderamin/M/*LTRMN +alderman/M/*LTMN +aldermen//*LTMN +alderwoman//*LTWMN +alderwomen//*LTWMN +Aldin/M/*LTN +Aldis/M/*LTS +Aldo/M/*LT +Aldon/M/*LTN +Aldous/M/*LTS +Aldric/M/*LTRK +Aldrich/M/*LTRX +Aldridge/M/*LTRK +Aldrin/M/*LTRN +Aldus/M/*LTS +Aldwin/M/*LTWN +ale/MVS/*L +aleatory//*LTR +Alec/M/*LK +Alecia/M/*LX +Aleck/M/*LK +Aleda/M/*LT +alee//*L +Aleece/M/*LS +Aleen/M/*LN +alehouse/MS/*LHS +Aleichem/M/*LXM +Alejandra/M/*LKNTR +Alejandrina/M/*LKNTRN +Alejandro/M/*LKNTR +Alejoa/M/*LK +Aleksandr/M/*LKSNTR +Alembert/M/*LMBT +alembic/SM/*LMBK +Alena/M/*LN +Alene/M/*LN +aleph/M/*LF +Aleppo/M/*LP +Aler/M/*L +alert/STZGPRDY/*LT +alerted/Y/*LTT +alertness/MS/*LTNS +Alessandra/M/*LSNTR +Alessandro/M/*LSNTR +Aleta/M/*LT +Alethea/M/*L@ +Aleut/SM/*LT +Aleutian/S/*LXN +alewife/M/*LWF +alewives//*LWFS +Alex/M/*LKS +Alexa/M/*LKS +Alexander/SM/*LKSNT +Alexandr/M/*LKSNTR +Alexandra/M/*LKSNTR +Alexandre/M/*LKSNTR +Alexandria/M/*LKSNTR +Alexandrian/S/*LKSNTRN +Alexandrina/M/*LKSNTRN +Alexandro/MS/*LKSNTR +Alexei/M/*LKS +Alexi/SM/*LKS +Alexia/M/*LKS +Alexina/M/*LKSN +Alexine/M/*LKSN +Alexio/M/*LKS +Alf/M/*LF +Alfa/M/*LF +alfalfa/MS/*LFLF +Alfi/M/*LF +Alfie/M/*LF +Alfons/M/*LFNS +Alfonse/M/*LFNS +Alfonso/M/*LFNS +Alfonzo/M/*LFNS +Alford/M/*LFT +Alfred/M/*LFRT +Alfreda/M/*LFRT +Alfredo/M/*LFRT +alfresco//*LFRSK +Alfy/M/*LF +alga/M/*LK +algae//*LK +algaecide//*LKST +algal//*LKL +algebra/MS/*LKBR +algebraic//*LKBRK +algebraical/Y/*LKBRKL +algebraist/M/*LKBRST +Algenib/M/*LKNB +Alger/M/*LK +Algeria/M/*LKR +Algerian/MS/*LKRN +Algernon/M/*LKNN +Algieba/M/*LKB +Algiers/M/*LKS +alginate/SM/*LKNT +ALGOL//*LKL +Algol/M/*LKL +Algonquian/SM/*LKNKN +Algonquin/SM/*LKNKN +algorithm/MS/*LKR@M +algorithmic//*LKR@MK +algorithmically//*LKR@MKL +Alhambra/M/*LHMBR +Alhena/M/*LHN +Ali/MS/*L +Alia/M/*L +alias/GSD/*LS +alibi/MDSG/*LB +Alic/M/*LK +Alica/M/*LK +Alice/M/*LS +Alicea/M/*LS +Alicia/M/*LX +Alick/M/*LK +Alida/M/*LT +Alidia/M/*LT +Alie/M/*L +alien/RDGMBS/*LN +alienable/IU/*LNBL +alienate/SDNGX/*LNT +alienation/M/*LNXN +alienist/MS/*LNST +Alighieri/M/*LKR +alight/DSG/*LT +align/LASDG/*LN +aligned/U/*LN +aligner/SM/*LKN +alignment/SAM/*LKNMNT +Alika/M/*LK +alike/U/*LK +Alikee/M/*LK +alikeness/M/*LKNS +aliment/SDMG/*LMNT +alimentary//*LMNTR +alimony/MS/*LMN +Alina/M/*LN +Aline/M/*LN +alinement's//*LNMNTS +Alioth/M/*L@ +aliquot/S/*LKT +Alisa/M/*LS +Alisander/M/*LSNT +Alisha/M/*LX +Alison/M/*LSN +Alissa/M/*LS +Alistair/M/*LST +Alister/M/*LST +Alisun/M/*LSN +alive/P/*LF +aliveness/MS/*LFNS +Alix/M/*LKS +aliyah/M/*LY +aliyahs//*LYS +Aliza/M/*LS +Alkaid/M/*LKT +alkali/M/*LKL +alkalies//*LKLS +alkaline//*LKLN +alkalinity/MS/*LKLNT +alkalize/SDG/*LKLS +alkaloid/MS/*LKLT +alkyd/S/*LKT +alkyl/M/*LKL +all/S/*L +Alla/M/*L +Allah/M/*L +Allahabad/M/*LHBT +Allan/M/*LN +Allard/M/*LT +allay/GDS/*L +Allayne/M/*LN +Alleen/M/*LN +allegation/SM/*LKXN +allege/SDG/*LK +alleged/Y/*LKT +Allegheny/MS/*LKN +allegiance/SM/*LKNS +allegiant//*LKNT +allegoric//*LKRK +allegorical/YP/*LKRKL +allegoricalness/M/*LKRKLNS +allegorist/MS/*LKRST +allegory/SM/*LKR +Allegra/M/*LKR +allegretto/MS/*LKRT +allegri//*LKR +allegro/MS/*LKR +allele/SM/*LL +alleluia/S/*LL +allemande/M/*LMNT +Allen/M/*LN +Allendale/M/*LNTL +Allende/M/*LNT +Allene/M/*LN +Allentown/M/*LNTN +allergen/MS/*LKN +allergenic//*LKNK +allergic//*LKK +allergically//*LKKL +allergist/MS/*LKST +allergy/MS/*LK +alleviate/SDVGNX/*LFT +alleviation/M/*LFXN +alleviator/MS/*LFT +Alley/M/*L +alley/MS/*L +Alleyn/M/*LN +alleyway/MS/*LW +Allhallows//*LHLS +Alli/MS/*L +alliance/MS/*LNS +Allianora/M/*LNR +Allie/M/*L +allier//*L +allies/M/*LS +alligator/DMGS/*LKT +Allin/M/*LN +Allina/M/*LN +Allison/M/*LSN +Allissa/M/*LS +Allister/M/*LST +Allistir/M/*LST +alliterate/XVNGSD/*LTRT +alliteration/M/*LTRXN +alliterative/Y/*LTRTF +Allix/M/*LKS +allocable/U/*LKBL +allocatable//*LKTBL +allocate/ACSDNGX/*LKT +allocated/U/*LKTT +allocation/AMC/*LKXN +allocative//*LKTF +allocator/AMS/*LKT +allophone/MS/*LFN +allophonic//*LFNK +allot/SDL/*LT +allotment/MS/*LTMNT +allotments/A/*LTMNTS +allotrope/M/*LTRP +allotropic//*LTRPK +allots/A/*LTS +allotted/A/*LTT +allotter/M/*LT +allotting/A/*LTN +allover/S/*LF +allow/SBGD/*L +allowable/P/*LWBL +allowableness/M/*LWBLNS +allowably//*LWBL +allowance/GSDM/*LWNS +allowed/Y/*LWT +allowing/E/*LWN +allows/E/*LS +alloy/SGMD/*L +alloyed/U/*LYT +allspice/MS/*LSPS +Allstate/M/*LSTT +Allsun/M/*LSN +allude/GSD/*LT +allure/GLSD/*LR +allurement/SM/*LRMNT +alluring/Y/*LRN +allusion/MS/*LXN +allusive/PY/*LSF +allusiveness/MS/*LSFNS +alluvial/S/*LFL +alluvions//*LFNS +alluvium/MS/*LFM +Allx/M/*LKS +ally/ASDG/*L +Ally/MS/*L +Allyce/M/*LS +Allyn/M/*LN +Allys//*LS +Allyson/M/*LSN +alma//*LM +Alma/M/*LM +Almach/M/*LMX +Almaden/M/*LMTN +almagest//*LMKST +almanac/MS/*LMNK +Almaty/M/*LMT +Almeda/M/*LMT +Almeria/M/*LMR +Almeta/M/*LMT +almightiness/M/*LMTNS +Almighty/M/*LMT +almighty/P/*LMT +Almira/M/*LMR +Almire/M/*LMR +almond/SM/*LMNT +almoner/MS/*LMN +almost//*LMST +alms/A/*LMS +almshouse/SM/*LMXS +almsman/M/*LMSMN +alnico//*LNK +Alnilam/M/*LNLM +Alnitak/M/*LNTK +aloe/MS/*L +aloft//*LFT +aloha/SM/*LH +Aloin/M/*LN +Aloise/M/*LS +Aloisia/M/*LX +Alon/M/*LN +alone/P/*LN +aloneness/M/*LNNS +along//*LNK +alongshore//*LNKXR +alongside//*LNKST +Alonso/M/*LNS +Alonzo/M/*LNS +aloof/YP/*LF +aloofness/MS/*LFNS +aloud//*LT +Aloysia/M/*LX +Aloysius/M/*LSS +alp/MS/*LP +alpaca/SM/*LPK +Alpert/M/*LPT +alpha/MS/*LF +alphabet/SGDM/*LFBT +alphabetic/S/*LFBTK +alphabetical/Y/*LFBTKL +alphabetization/SM/*LFBTSXN +alphabetize/SRDGZ/*LFBTS +alphabetizer/M/*LFBTS +alphanumeric/S/*LFNMRK +alphanumerical/Y/*LFNMRKL +Alphard/M/*LFT +Alphecca/M/*LFK +Alpheratz/M/*LFRTS +Alphonse/M/*LFNS +Alphonso/M/*LFNS +Alpine//*LPN +alpine/S/*LPN +Alps//*LPS +already//*LRT +Alric/M/*LRK +alright//*LRT +Alsace/M/*LSS +Alsatian/MS/*LSXN +also//*LS +Alsop/M/*LSP +Alston/M/*LSTN +alt/RZS/*LT +Alta/M/*LT +Altai/M/*LT +Altaic/M/*LTK +Altair/M/*LT +altar/MS/*LT +altarpiece/SM/*LTPS +alter/RDZBG/*LT +alterable/UI/*LTRBL +alteration/MS/*LTRXN +altercate/NX/*LTKT +altercation/M/*LTKXN +altered/U/*LTRT +alternate/SDVGNYX/*LTNT +alternation/M/*LTNXN +alternative/YMSP/*LTNTF +alternativeness/M/*LTNTFNS +alternator/MS/*LTNT +Althea/M/*L@ +although//*L@ +altimeter/SM/*LTMT +Altiplano/M/*LTPLN +altitude/SM/*LTTT +alto/SM/*LT +altogether/S/*LTK@ +Alton/M/*LTN +Altos/M/*LTS +altruism/SM/*LTRSM +altruist/SM/*LTRST +altruistic//*LTRSTK +altruistically//*LTRSTKL +ALU//*L +Aludra/M/*LTR +Aluin/M/*LN +Aluino/M/*LN +alum/SM/*LM +alumina/SM/*LMN +aluminum/MS/*LMNM +alumna/M/*LMN +alumnae//*LMN +alumni//*LMN +alumnus/MS/*LMNS +alundum//*LNTM +Alva/M/*LF +Alvan/M/*LFN +Alvarado/M/*LFRT +Alvarez/M/*LFRS +Alvaro/M/*LFR +alveolar/Y/*LFL +alveoli//*LFL +alveolus/M/*LFLS +Alvera/M/*LFR +Alverta/M/*LFT +Alvie/M/*LF +Alvin/M/*LFN +Alvina/M/*LFN +Alvinia/M/*LFN +Alvira/M/*LFR +Alvis/M/*LFS +Alvy/M/*LF +alway/S/*LW +Alwin/M/*LWN +Alwyn/M/*LN +Alyce/M/*LS +Alyda/M/*LT +Alyosha/M/*LYX +Alys/M/*LS +Alysa/M/*LS +Alyse/M/*LS +Alysia/M/*LX +Alyson/M/*LSN +Alyss//*LS +Alyssa/M/*LS +Alzheimer/M/*LSHM +AM//*M +am/AS/*M +Am/MR/*M +AMA//*M +Amabel/M/*MBL +Amabelle/M/*MBL +Amadeus/M/*MTS +Amado/M/*MT +amain//*MN +Amalea/M/*ML +Amalee/M/*ML +Amaleta/M/*MLT +amalgam/MS/*MLKM +amalgamate/VNGXSD/*MLKMT +amalgamation/M/*MLKMXN +Amalia/M/*ML +Amalie/M/*ML +Amalita/M/*MLT +Amalle/M/*ML +Amanda/M/*MNT +Amandi/M/*MNT +Amandie/M/*MNT +Amandy/M/*MNT +amanuenses//*MNNSS +amanuensis/M/*MNNSS +Amara/M/*MR +amaranth/M/*MRN@ +amaranths//*MRN@S +amaretto/S/*MRT +Amargo/M/*MK +Amarillo/M/*MRL +amaryllis/MS/*MRLS +amass/GRSD/*MS +amasser/M/*MS +Amata/M/*MT +amateur/SM/*MT +amateurish/YP/*MTRX +amateurishness/MS/*MTRXNS +amateurism/MS/*MTRSM +Amati/M/*MT +amatory//*MTR +amaze/LDSRGZ/*MS +amazed/Y/*MST +amazement/MS/*MSMNT +amazing/Y/*MSN +amazon/MS/*MSN +Amazon/SM/*MSN +amazonian//*MSNN +Amazonian//*MSNN +ambassador/MS/*MBST +ambassadorial//*MBSTRL +ambassadorship/MS/*MBSTXP +ambassadress/SM/*MBSTRS +amber/MS/*MB +Amber/YM/*MB +ambergris/SM/*MBKRS +Amberly/M/*MBL +ambiance/MS/*MBNS +ambidexterity/MS/*MBTKSTRT +ambidextrous/Y/*MBTKSTRS +ambience's//*MBNSS +ambient/S/*MBNT +ambiguity/MS/*MBKT +ambiguous/YP/*MBKS +ambiguously/U/*MBKSL +ambiguousness/M/*MBKSNS +ambit/M/*MBT +ambition/GMDS/*MBXN +ambitious/PY/*MBXS +ambitiousness/MS/*MBXSNS +ambivalence/SM/*MBFLNS +ambivalent/Y/*MBFLNT +amble/GZDSR/*MBL +Amble/M/*MBL +ambler/M/*MBL +Ambros/M/*MBRS +ambrose//*MBRS +Ambrose/M/*MBRS +Ambrosi/M/*MBRS +ambrosia/SM/*MBRX +ambrosial/Y/*MBRXL +Ambrosio/M/*MBRX +Ambrosius/M/*MBRSS +ambulance/MS/*MBLNS +ambulant/S/*MBLNT +ambulate/DSNGX/*MBLT +ambulation/M/*MBLXN +ambulatory/S/*MBLTR +Ambur/M/*MB +ambuscade/MGSRD/*MBSKT +ambuscader/M/*MBSKT +ambush/MZRSDG/*MBX +ambusher/M/*MBX +Amby/M/*MB +Amdahl/M/*MTL +Ame/SM/*M +ameba's//*MBS +Amelia/M/*ML +Amelie/M/*ML +Amelina/M/*MLN +Ameline/M/*MLN +ameliorate/XVGNSD/*MLRT +amelioration/M/*MLRXN +Amelita/M/*MLT +amen/DRGTSB/*MN +amenability/SM/*MNBLT +amenably//*MNBL +amend/SBRDGL/*MNT +amended/U/*MNTT +amender/M/*MNT +amendment/SM/*MNTMNT +amends/M/*MNTS +Amenhotep/M/*MNHTP +amenity/MS/*MNT +amenorrhea/M/*MNRH +Amer/M/*M +Amerada/M/*MRT +Amerasian/S/*MRXN +amerce/SDLG/*MS +amercement/MS/*MSMNT +America/SM/*MRK +American/MS/*MRKN +Americana/M/*MRKN +Americanism/SM/*MRKNSM +Americanization/SM/*MRKNSXN +Americanize/SDG/*MRKNS +americanized//*MRKNST +americium/MS/*MRSM +Amerigo/M/*MRK +Amerind/MS/*MRNT +Amerindian/MS/*MRNTN +Amery/M/*MR +Ameslan/M/*MSLN +amethyst/MS/*M@ST +amethystine//*M@STN +Amharic/M/*MHRK +Amherst/M/*MHST +Ami/M/*M +amiability/MS/*MBLT +amiable/RPT/*MBL +amiableness/M/*MBLNS +amiably//*MBL +amicability/SM/*MKBLT +amicable/P/*MKBL +amicableness/M/*MKBLNS +amicably//*MKBL +amid/S/*MT +amide/SM/*MT +amidships//*MTXPS +amidst//*MTST +Amie/M/*M +Amiga/M/*MK +amigo/MS/*MK +Amii/M/*M +Amil/M/*ML +amines//*MNS +amino/M/*MN +aminobenzoic//*MNBNSK +amir's//*MS +Amish//*MX +amiss//*MS +Amitie/M/*MT +Amity/M/*MT +amity/SM/*MT +Ammamaria/M/*MMR +Amman/M/*MN +Ammerman/M/*MMN +ammeter/MS/*MT +ammo/MS/*M +ammonia/MS/*MN +ammoniac//*MNK +ammonium/M/*MNM +ammunition/MS/*MNXN +amnesia/SM/*MNX +amnesiac/MS/*MNXK +amnesic/S/*MNSK +amnesty/GMSD/*MNST +amniocenteses//*MNSNTSS +amniocentesis/M/*MNSNTSS +amnion/SM/*MNN +amniotic//*MNTK +Amoco/M/*MK +amoeba/SM/*MB +amoebic//*MBK +amoeboid//*MBT +amok/MS/*MK +among//*MNK +amongst//*MNKST +Amontillado/M/*MNTLT +amontillado/MS/*MNTLT +amoral/Y/*MRL +amorality/MS/*MRLT +amorous/PY/*MRS +amorousness/SM/*MRSNS +amorphous/PY/*MFS +amorphousness/MS/*MFSNS +amortization/SUM/*MTSXN +amortize/SDG/*MTS +amortized/U/*MTST +Amory/M/*MR +Amos//*MS +amount/SMRDZG/*MNT +amour/MS/*M +amp/SGMDY/*MP +Amparo/M/*MPR +amperage/SM/*MPRK +Ampere/M/*MPR +ampere/MS/*MPR +ampersand/MS/*MPSNT +Ampex/M/*MPKS +amphetamine/MS/*MFTMN +amphibian/SM/*MFBN +amphibious/PY/*MFBS +amphibiousness/M/*MFBSNS +amphibology/M/*MFBLK +amphitheater/SM/*MF@T +amphora/M/*MFR +amphorae//*MFR +ample/PTR/*MPL +ampleness/M/*MPLNS +amplification/M/*MPLFKXN +amplifier/M/*MPLF +amplify/DRSXGNZ/*MPLF +amplitude/MS/*MPLTT +ampoule's//*MPLS +ampule/SM/*MPL +amputate/DSNGX/*MPTT +amputation/M/*MPTXN +amputee/SM/*MPT +Amritsar/M/*MRTS +ams//*MS +Amsterdam/M/*MSTTM +amt//*MT +Amtrak/M/*MTRK +amuck's//*MKS +amulet/SM/*MLT +Amundsen/M/*MNTSN +Amur/M/*M +amuse/LDSRGVZ/*MS +amused/Y/*MST +amusement/SM/*MSMNT +amuser/M/*MS +amusing/YP/*MSN +amusingness/M/*MSNNS +Amway/M/*MW +Amy/M/*M +Amye/M/*MY +amyl/M/*ML +amylase/MS/*MLS +an/CS/*N +Ana/M/*N +Anabal/M/*NBL +Anabaptist/SM/*NBPTST +Anabel/M/*NBL +Anabella/M/*NBL +Anabelle/M/*NBL +anabolic//*NBLK +anabolism/MS/*NBLSM +anachronism/SM/*NXRNSM +anachronistic//*NXRNSTK +anachronistically//*NXRNSTKL +Anacin/M/*NSN +anaconda/MS/*NKNT +Anacreon/M/*NKRN +anaerobe/SM/*NRB +anaerobic//*NRBK +anaerobically//*NRBKL +anaglyph/M/*NKLF +anagram/MS/*NKRM +anagrammatic//*NKRMTK +anagrammatically//*NKRMTKL +anagrammed//*NKRMT +anagramming//*NKRMN +Anaheim/M/*NHM +anal/Y/*NL +Analects/M/*NLKTS +analgesia/MS/*NLKX +analgesic/S/*NLKSK +Analiese/M/*NLS +Analise/M/*NLS +Anallese/M/*NLS +Anallise/M/*NLS +analog/SM/*NLK +analogical/Y/*NLKKL +analogize/SDG/*NLKS +analogous/YP/*NLKS +analogousness/MS/*NLKSNS +analogue/SM/*NLK +analogy/MS/*NLK +analysand/MS/*NLSNT +analysis/AM/*NLSS +analyst/SM/*NLST +analytic/S/*NLTK +analytical/Y/*NLTKL +analyticity/S/*NLTST +analytics/M/*NLTKS +analyzable/U/*NLSBL +analyze/DRSZGA/*NLS +analyzed/U/*NLST +analyzer/M/*NLS +anamorphic//*NMFK +Ananias/M/*NNS +anapaest's//*NPSTS +anapest/SM/*NPST +anapestic/S/*NPSTK +anaphora/M/*NFR +anaphoric//*NFRK +anaphorically//*NFRKL +anaplasmosis/M/*NPLSMSS +anarchic//*NXK +anarchical/Y/*NXKL +anarchism/MS/*NXSM +anarchist/MS/*NXST +anarchistic//*NXSTK +anarchy/MS/*NX +Anastasia/M/*NSTX +Anastasie/M/*NSTS +Anastassia/M/*NSTX +anastigmatic//*NSTKMTK +anastomoses//*NSTMSS +anastomosis/M/*NSTMSS +anastomotic//*NSTMTK +anathema/MS/*N@M +anathematize/GSD/*N@MTS +Anatol/M/*NTL +Anatola/M/*NTL +Anatole/M/*NTL +Anatolia/M/*NTL +Anatolian//*NTLN +Anatollo/M/*NTL +anatomic//*NTMK +anatomical/YS/*NTMKL +anatomist/MS/*NTMST +anatomize/GSD/*NTMS +anatomy/MS/*NTM +Anaxagoras/M/*NKSKRS +Ancell/M/*NSL +ancestor/SMDG/*NSST +ancestral/Y/*NSSTRL +ancestress/SM/*NSSTRS +ancestry/SM/*NSSTR +anchor/SGDM/*NX +Anchorage/M/*NXRK +anchorage/SM/*NXRK +anchored/U/*NXRT +anchorite/MS/*NXRT +anchoritism/M/*NXRTSM +anchorman/M/*NXMN +anchormen//*NXMN +anchorpeople//*NXPPL +anchorperson/S/*NXPSN +anchorwoman//*NXWMN +anchorwomen//*NXWMN +anchovy/MS/*NXF +ancient/SRYTP/*NSNT +ancientness/MS/*NSNTNS +ancillary/S/*NSLR +and/DZGS/*NT +Andalusia/M/*NTLX +Andalusian//*NTLXN +Andaman//*NTMN +andante/S/*NTNT +Andean/M/*NTN +Andee/M/*NT +Andeee/M/*NT +Anderea/M/*NTR +Anders/N/*NTS +Andersen/M/*NTSN +Anderson/M/*NTSN +Andes//*NTS +Andi/M/*NT +Andie/M/*NT +andiron/MS/*NTRN +Andonis/M/*NTNS +Andorra/M/*NTR +Andover/M/*NTF +Andra/SM/*NTR +Andre/SM/*NTR +Andrea/MS/*NTR +Andreana/M/*NTRN +Andree/M/*NTR +Andrei/M/*NTR +Andrej/M/*NTRK +Andrew/MS/*NTR +Andrey/M/*NTR +Andria/M/*NTR +Andriana/M/*NTRN +Andriette/M/*NTRT +Andris//*NTRS +androgen/SM/*NTRKN +androgenic//*NTRKNK +androgynous//*NTRKNS +androgyny/SM/*NTRKN +android/MS/*NTRT +Andromache/M/*NTRMX +Andromeda/M/*NTRMT +Andropov/M/*NTRPF +Andros/M/*NTRS +Andrus/M/*NTRS +Andy/M/*NT +anecdotal/Y/*NKTTL +anecdote/SM/*NKTT +anechoic//*NXK +anemia/SM/*NM +anemic/S/*NMK +anemically//*NMKL +anemometer/MS/*NMMT +anemometry/M/*NMMTR +anemone/SM/*NMN +anent//*NNT +aneroid//*NRT +Anestassia/M/*NSTX +anesthesia/MS/*NS@X +anesthesiologist/MS/*NS@XLKST +anesthesiology/SM/*NS@XLK +anesthetic/SM/*NS@TK +anesthetically//*NS@TKL +anesthetist/MS/*NS@TST +anesthetization/SM/*NS@TSXN +anesthetize/ZSRDG/*NS@TS +anesthetizer/M/*NS@TS +Anet/M/*NT +Anett/M/*NT +Anetta/M/*NT +Anette/M/*NT +aneurysm/MS/*NRSM +anew//*N +Angara/M/*NKR +Ange/M/*NK +Angel/M/*NKL +angel/MDSG/*NKL +Angela/M/*NKL +Angele/SM/*NKL +Angeleno/SM/*NKLN +angelfish/SM/*NKLFX +Angeli/M/*NKL +Angelia/M/*NKL +angelic//*NKLK +Angelica/M/*NKLK +angelica/MS/*NKLK +angelical/Y/*NKLKL +Angelico/M/*NKLK +Angelika/M/*NKLK +Angelina/M/*NKLN +Angeline/M/*NKLN +Angelique/M/*NKLK +Angelita/M/*NKLT +Angelle/M/*NKL +Angelo/M/*NKL +Angelou/M/*NKL +anger/GDMS/*NK +Angevin/M/*NKFN +Angie/M/*NK +Angil/M/*NKL +angina/MS/*NKN +angiography//*NKKRF +angioplasty/S/*NKPLST +angiosperm/MS/*NKSPM +Angkor/M/*NKK +angle/GMZDSRJ/*NKL +angler/M/*NKL +Angles//*NKLS +angleworm/MS/*NKLWM +Anglia/M/*NKL +Anglican/MS/*NKLKN +Anglicanism/MS/*NKLKNSM +Anglicism/SM/*NKLSSM +Anglicization/MS/*NKLSSXN +anglicize/SDG/*NKLSS +Anglicize/SDG/*NKLSS +angling/M/*NKLN +Anglo/MS/*NKL +Anglophile/SM/*NKLFL +Anglophilia/M/*NKLFL +Anglophobe/MS/*NKLFB +Anglophobia/M/*NKLFB +Angola/M/*NKL +Angolan/S/*NKLN +angora/MS/*NKR +Angora/MS/*NKR +angrily//*NKRL +angriness/M/*NKRNS +angry/RTP/*NKR +angst/MS/*NKST +Ångström/M/NKSTRM +angstrom/MS/*NKSTRM +Anguilla/M/*NKL +anguish/DSMG/*NKX +angular/Y/*NKL +angularity/MS/*NKLRT +Angus/M/*NKS +Angy/M/*NK +Anheuser/M/*NHS +anhydride/M/*NHTRT +anhydrite/M/*NHTRT +anhydrous/Y/*NHTRS +Ania/M/*N +Aniakchak/M/*NKXK +Anibal/M/*NBL +Anica/M/*NK +aniline/SM/*NLN +animadversion/SM/*NMTFXN +animadvert/DSG/*NMTFT +animal/MYPS/*NML +animalcule/MS/*NMLKL +animate/YNGXDSP/*NMT +animated/A/*NMTT +animatedly//*NMTTL +animately/I/*NMTL +animateness/MI/*NMTNS +animates/A/*NMTS +animating/A/*NMTN +animation/AMS/*NMXN +animator/SM/*NMT +animism/SM/*NMSM +animist/S/*NMST +animistic//*NMSTK +animized//*NMST +animosity/MS/*NMST +animus/SM/*NMS +anion/MS/*NN +anionic/S/*NNK +anise/MS/*NS +aniseed/MS/*NST +aniseikonic//*NSKNK +anisette/SM/*NST +anisotropic//*NSTRPK +anisotropy/MS/*NSTRP +Anissa/M/*NS +Anita/M/*NT +Anitra/M/*NTR +Anjanette/M/*NKNT +Anjela/M/*NKL +Ankara/M/*NKR +ankh/M/*NKH +ankhs//*NKHS +ankle/GMDS/*NKL +anklebone/SM/*NKLBN +anklet/MS/*NKLT +Ann/M/*N +Anna/M/*N +Annabal/M/*NBL +Annabel/M/*NBL +Annabela/M/*NBL +Annabell/M/*NBL +Annabella/M/*NBL +Annabelle/M/*NBL +Annadiana/M/*NTN +Annadiane/M/*NTN +annal/MNS/*NL +Annalee/M/*NL +Annaliese/M/*NLS +Annalise/M/*NLS +annalist/MS/*NLST +Annamaria/M/*NMR +Annamarie/M/*NMR +Annapolis/M/*NPLS +Annapurna/M/*NPN +Anne/M/*N +anneal/DRSZG/*NL +annealer/M/*NL +Annecorinne/M/*NKRN +annelid/MS/*NLT +Anneliese/M/*NLS +Annelise/M/*NLS +Annemarie/M/*NMR +Annetta/M/*NT +Annette/M/*NT +annex/GSD/*NKS +annexation/SM/*NKSXN +annexe/M/*NKS +Anni/MS/*N +Annice/M/*NS +Annie/M/*N +annihilate/XSDVGN/*NHLT +annihilation/M/*NHLXN +annihilator/MS/*NHLT +Annissa/M/*NS +anniversary/MS/*NFSR +Annmaria/M/*NMR +Annmarie/M/*NMR +Annnora/M/*NR +Annora/M/*NR +annotate/VNGXSD/*NTT +annotated/U/*NTTT +annotation/M/*NTXN +annotator/MS/*NTT +announce/ZGLRSD/*NNS +announced/U/*NNST +announcement/SM/*NNSMNT +announcer/M/*NNS +annoy/ZGSRD/*N +annoyance/MS/*NYNS +annoyer/M/*NY +annoying/Y/*NYN +annual/YS/*NL +annualized//*NLST +annuitant/MS/*NTNT +annuity/MS/*NT +annul/SL/*NL +annular/YS/*NL +annuli//*NL +annulled//*NLT +annulling//*NLN +annulment/MS/*NLMNT +annulus/M/*NLS +annum//*NM +annunciate/XNGSD/*NNXT +annunciation/M/*NNXXN +Annunciation/S/*NNXXN +annunciator/SM/*NNXT +Anny/M/*N +anode/SM/*NT +anodic//*NTK +anodize/GDS/*NTS +anodyne/SM/*NTN +anoint/DRLGS/*NNT +anointer/M/*NNT +anointment/SM/*NNTMNT +anomalous/YP/*NMLS +anomalousness/M/*NMLSNS +anomaly/MS/*NML +anomic//*NMK +anomie/M/*NM +anon/S/*NN +anonymity/MS/*NNMT +anonymous/YP/*NNMS +anonymousness/M/*NNMSNS +anopheles/M/*NFLS +anorak/SM/*NRK +anorectic/S/*NRKTK +anorexia/SM/*NRKS +anorexic/S/*NRKSK +another/M/*N@ +Anouilh/M/*NLH +ans/M/*NS +Ansel/M/*NSL +Ansell/M/*NSL +Anselm/M/*NSLM +Anselma/M/*NSLM +Anselmo/M/*NSLM +Anshan/M/*NXN +ANSI/M/*NS +Ansley/M/*NSL +Anson/M/*NSN +Anstice/M/*NSTS +answer/MZGBSDR/*NSW +answerable/U/*NSWRBL +answered/U/*NSWRT +answerer/M/*NSWR +ant/GSMD/*NT +antacid/MS/*NTST +Antaeus/M/*NTS +antagonism/MS/*NTKNSM +antagonist/MS/*NTKNST +antagonistic//*NTKNSTK +antagonistically//*NTKNSTKL +antagonize/GZRSD/*NTKNS +antagonized/U/*NTKNST +antagonizing/U/*NTKNSN +Antananarivo/M/*NTNNRF +antarctic//*NTKTK +Antarctic/M/*NTKTK +Antarctica/M/*NTKTK +Antares//*NTRS +ante/MS/*NT +anteater/MS/*NTT +antebellum//*NTBLM +antecedence/MS/*NTSTNS +antecedent/SMY/*NTSTNT +antechamber/SM/*NTXMB +antedate/GDS/*NTTT +antediluvian/S/*NTTLFN +anteing//*NTN +antelope/MS/*NTLP +antenatal//*NTNTL +antenna/MS/*NTN +antennae//*NTN +anterior/SY/*NTR +anteroom/SM/*NTRM +Anthe/M/*N@ +Anthea/M/*N@ +anthem/MGDS/*N@M +anther/MS/*N@ +Anthia/M/*N@ +Anthiathia/M/*N@@ +anthill/S/*N@L +anthologist/MS/*N@LKST +anthologize/GDS/*N@LKS +anthology/SM/*N@LK +Anthony/M/*N@N +anthraces//*N@RSS +anthracite/MS/*N@RST +anthrax/M/*N@RKS +anthropic//*N@RPK +anthropocentric//*N@RPSNTRK +anthropogenic//*N@RPKNK +anthropoid/S/*N@RPT +anthropological/Y/*N@RPLKKL +anthropologist/MS/*N@RPLKST +anthropology/SM/*N@RPLK +anthropometric/S/*N@RPMTRK +anthropometry/M/*N@RPMTR +anthropomorphic//*N@RPMFK +anthropomorphically//*N@RPMFKL +anthropomorphism/SM/*N@RPMFSM +anthropomorphizing//*N@RPMFSN +anthropomorphous//*N@RPMFS +anti/S/*NT +antiabortion//*NXBXN +antiabortionist/S/*NXBXNST +antiaircraft//*NXKRFT +antibacterial/S/*NTBKTRL +antibiotic/SM/*NTBTK +antibody/MS/*NTBT +antic/MS/*NTK +anticancer//*NTKNS +Antichrist/MS/*NTXRST +anticipate/XVGNSD/*NTSPT +anticipated/U/*NTSPTT +anticipation/M/*NTSPXN +anticipative/Y/*NTSPTF +anticipatory//*NTSPTR +anticked//*NTKT +anticking//*NTKN +anticlerical/S/*NTKLRKL +anticlimactic//*NTKLMKTK +anticlimactically//*NTKLMKTKL +anticlimax/SM/*NTKLMKS +anticline/SM/*NTKLN +anticlockwise//*NTKLKWS +anticoagulant/S/*NTKKLNT +anticoagulation/M/*NTKKLXN +anticommunism/SM/*NTKMNSM +anticommunist/SM/*NTKMNST +anticompetitive//*NTKMPTTF +anticyclone/MS/*NTSKLN +anticyclonic//*NTSKLNK +antidemocratic//*NTTMKRTK +antidepressant/SM/*NTTPRSNT +antidisestablishmentarianism/M/*NTTSSTBLXMNTRNSM +antidote/DSMG/*NTTT +Antietam/M/*NTTM +antifascist/SM/*NTFSST +antiformant//*NTFMNT +antifreeze/SM/*NTFRS +antifundamentalist/M/*NTFNTMNTLST +antigen/MS/*NTKN +antigenic//*NTKNK +antigenicity/SM/*NTKNST +antigone//*NTKN +Antigone/M/*NTKN +Antigua/M/*NTK +antihero/M/*NTHR +antiheroes//*NTHRS +antihistamine/MS/*NTHSTMN +antihistorical//*NTHSTRKL +antiknock/MS/*NTKNK +antilabor//*NTLB +Antillean//*NTLN +Antilles//*NTLS +antilogarithm/SM/*NTLKR@M +antilogs//*NTLKS +antimacassar/SM/*NTMKS +antimalarial/S/*NTMLRL +antimatter/SM/*NTMT +antimicrobial/S/*NTMKRBL +antimissile/S/*NTMSL +antimony/SM/*NTMN +Antin/M/*NTN +anting/M/*NTN +antinomian//*NTNMN +antinomy/M/*NTNM +antinuclear//*NTNKL +Antioch/M/*NXX +antioxidant/MS/*NXKSTNT +antiparticle/SM/*NTPTKL +Antipas/M/*NTPS +antipasti//*NTPST +antipasto/MS/*NTPST +antipathetic//*NTP@TK +antipathy/SM/*NTP@ +antipersonnel//*NTPSNL +antiperspirant/MS/*NTPSPRNT +antiphon/SM/*NTFN +antiphonal/SY/*NTFNL +antipodal/S/*NTPTL +antipode/MS/*NTPT +antipodean/S/*NTPTN +Antipodes//*NTPTS +antipollution/S/*NTPLXN +antipoverty//*NTPFT +antiquarian/MS/*NTKRN +antiquarianism/MS/*NTKRNSM +antiquary/SM/*NTKR +antiquate/NGSD/*NTKT +antiquation/M/*NTKXN +antique/MGDS/*NTK +antiquity/SM/*NTKT +antiredeposition//*NTRTPSXN +antiresonance/M/*NTRSNNS +antiresonator//*NTRSNT +antisemitic//*NTSMTK +antisemitism/M/*NTSMTSM +antisepses//*NTSPSS +antisepsis/M/*NTSPSS +antiseptic/S/*NTSPTK +antiseptically//*NTSPTKL +antiserum/SM/*NTSRM +antislavery/S/*NTSLFR +antisocial/Y/*NTSXL +antispasmodic/S/*NTSPSMTK +antisubmarine//*NTSBMRN +antisymmetric//*NTSMTRK +antisymmetry//*NTSMTR +antitank//*NTTNK +antitheses//*NT@SS +antithesis/M/*NT@SS +antithetic//*NT@TK +antithetical/Y/*NT@TKL +antithyroid//*NT@RT +antitoxin/MS/*NTTKSN +antitrust/MR/*NTTRST +antivenin/MS/*NTFNN +antiviral/S/*NTFRL +antivivisectionist/S/*NTFFSKXNST +antiwar//*NTW +antler/SDM/*NTL +Antofagasta/M/*NTFKST +Antoine/M/*NTN +Antoinette/M/*NTNT +Anton/MS/*NTN +Antone/M/*NTN +Antonella/M/*NTNL +Antonetta/M/*NTNT +Antoni/M/*NTN +Antonia/M/*NTN +Antonie/M/*NTN +Antonietta/M/*NTNT +Antonin/M/*NTNN +Antonina/M/*NTNN +Antonino/M/*NTNN +Antoninus/M/*NTNNS +Antonio/M/*NTN +Antonius/M/*NTNS +Antonovics/M/*NTNFKS +Antony/M/*NTN +antonym/SM/*NTNM +antonymous//*NTNMS +antral//*NTRL +antsy/RT/*NTS +Antwan/M/*NTWN +Antwerp/M/*NTWP +Anubis/M/*NBS +anus/SM/*NS +anvil/MDSG/*NFL +anxiety/MS/*NKST +anxious/PY/*NKSS +anxiousness/SM/*NKSSNS +any//*N +Any/M/*N +Anya/M/*NY +anybody/S/*NBT +anyhow//*NH +anymore//*NMR +anyone/MS/*NYN +anyplace//*NPLS +anything/S/*N@N +anytime//*NTM +anyway/S/*NW +anywhere/S/*NHR +anywise//*NWS +AOL/M/*L +aorta/MS/*T +aortic//*TK +AP//*P +apace//*PS +apache/MS/*PX +Apache/MS/*PX +Apalachicola/M/*PLXKL +apart/LP/*PT +apartheid/SM/*P@T +apartment/MS/*PTMNT +apartness/M/*PTNS +apathetic//*P@TK +apathetically//*P@TKL +apathy/SM/*P@ +apatite/MS/*PTT +APB//*PB +ape/MDRSG/*P +aped/A/*PT +apelike//*PLK +Apennines//*PNNS +aper/A/*P +aperiodic//*PRTK +aperiodically//*PRTKL +aperiodicity/M/*PRTST +aperitif/S/*PRTF +aperture/MDS/*PTR +apex/MS/*PKS +aphasia/SM/*FX +aphasic/S/*FSK +aphelia//*FL +aphelion/SM/*FLN +aphid/MS/*FT +aphonic//*FNK +aphorism/MS/*FRSM +aphoristic//*FRSTK +aphoristically//*FRSTKL +aphrodisiac/SM/*FRTXK +Aphrodite/M/*FRTT +Apia/M/*P +apiarist/SM/*PRST +apiary/SM/*PR +apical/YS/*PKL +apices's//*PSSS +apiece//*PS +apish/YP/*PX +apishness/M/*PXNS +aplenty//*PLNT +aplomb/SM/*PLM +APO//*P +Apocalypse/M/*PKLPS +apocalypse/MS/*PKLPS +apocalyptic//*PKLPTK +apocrypha/M/*PKRF +Apocrypha/M/*PKRF +apocryphal/YP/*PKRFL +apocryphalness/M/*PKRFLNS +apogee/MS/*PK +apolar//*PL +apolitical/Y/*PLTKL +Apollinaire/M/*PLNR +Apollo/SM/*PL +Apollonian//*PLNN +apologetic/S/*PLKTK +apologetically/U/*PLKTKL +apologetics/M/*PLKTKS +apologia/SM/*PLK +apologist/MS/*PLKST +apologize/GZSRD/*PLKS +apologizer/M/*PLKS +apologizes/A/*PLKSS +apologizing/U/*PLKSN +apology/MS/*PLK +apoplectic//*PPLKTK +apoplexy/SM/*PPLKS +apostasy/SM/*PSTS +apostate/SM/*PSTT +apostatize/DSG/*PSTTS +apostle/SM/*PSTL +apostleship/SM/*PSTLXP +apostolic//*PSTLK +apostrophe/SM/*PSTRF +apostrophized//*PSTRFST +apothecary/MS/*P@KR +apothegm/MS/*P@KM +apotheoses//*P@SS +apotheosis/M/*P@SS +apotheosized//*P@SST +apotheosizes//*P@SSS +apotheosizing//*P@SSN +Appalachia/M/*PLX +Appalachian/MS/*PLXN +appall/SDG/*PL +appalling/Y/*PLN +Appaloosa/MS/*PLS +appaloosa/S/*PLS +appanage/M/*PNK +apparatus/SM/*PRTS +apparel/SGMD/*PRL +apparency//*PRNS +apparent/U/*PRNT +apparently/I/*PRNTL +apparentness/M/*PRNTNS +apparition/SM/*PRXN +appeal/SGMDRZ/*PL +appealer/M/*PL +appealing/UY/*PLN +appear/AEGDS/*P +appearance/AMES/*PRNS +appearer/S/*PR +appease/DSRGZL/*PS +appeased/U/*PST +appeasement/MS/*PSMNT +appeaser/M/*PS +appellant/MS/*PLNT +appellate/VNX/*PLT +appellation/M/*PLXN +appellative/MY/*PLTF +append/SGZDR/*PNT +appendage/MS/*PNTK +appendectomy/SM/*PNTKTM +appendices//*PNTSS +appendicitis/SM/*PNTSTS +appendix/SM/*PNTKS +appertain/DSG/*PTN +appetite/MVS/*PTT +appetizer/SM/*PTS +appetizing/YU/*PTSN +Appia/M/*P +Appian/M/*PN +applaud/ZGSDR/*PLT +applauder/M/*PLT +applause/MS/*PLS +Apple/M/*PL +apple/MS/*PL +applecart/M/*PLKT +applejack/MS/*PLKK +applesauce/SM/*PLSS +Appleseed/M/*PLST +applet/S/*PLT +Appleton/M/*PLTN +appliance/SM/*PLNS +applicabilities//*PLKBLTS +applicability/IM/*PLKBLT +applicable/I/*PLKBL +applicably//*PLKBL +applicant/MS/*PLKNT +applicate/V/*PLKT +application/MA/*PLKXN +applicative/Y/*PLKTF +applicator/MS/*PLKT +applier/SM/*PL +appliqué/MSG/*PLK +appliquéd//*PLKT +apply/AGSDXN/*PL +appoint/ELSADG/*PNT +appointee/SM/*PNT +appointer/MS/*PNT +appointive//*PNTF +appointment/ASEM/*PNTMNT +Appolonia/M/*PLN +Appomattox/M/*PMTKS +apportion/GADLS/*PXN +apportionment/SAM/*PXNMNT +appose/SDG/*PS +apposite/XYNVP/*PST +appositeness/MS/*PSTNS +apposition/M/*PSXN +appositive/SY/*PSTF +appraisal/SAM/*PRSL +appraise/ZGDRS/*PRS +appraised/A/*PRST +appraisees//*PRSS +appraiser/M/*PRS +appraises/A/*PRSS +appraising/Y/*PRSN +appreciable/I/*PRXBL +appreciably/I/*PRXBL +appreciate/XDSNGV/*PRXT +appreciated/U/*PRXTT +appreciation/M/*PRXXN +appreciative/PIY/*PRXTF +appreciativeness/MI/*PRXTFNS +appreciator/MS/*PRXT +appreciatory//*PRXTR +apprehend/DRSG/*PRHNT +apprehender/M/*PRHNT +apprehensible//*PRHNSBL +apprehension/SM/*PRHNXN +apprehensive/YP/*PRHNSF +apprehensiveness/SM/*PRHNSFNS +apprentice/DSGM/*PRNTS +apprenticeship/SM/*PRNTSXP +apprise/DSG/*PRS +apprizer/SM/*PRS +apprizingly//*PRSNL +apprizings//*PRSNS +approach/BRSDZG/*PRX +approachability/UM/*PRXBLT +approachable/UI/*PRXBL +approacher/M/*PRX +approbate/NX/*PRBT +approbation/EMS/*PRBXN +appropriable//*PRPRBL +appropriate/XDSGNVYTP/*PRPRT +appropriated/U/*PRPRTT +appropriately/I/*PRPRTL +appropriateness/SMI/*PRPRTNS +appropriation/M/*PRPRXN +appropriator/SM/*PRPRT +approval/ESM/*PRFL +approve/DSREG/*PRF +approved/U/*PRFT +approver/SM/*PRF +approver's/E/*PRFS +approving/YE/*PRFN +approx//*PRKS +approximate/XGNVYDS/*PRKSMT +approximation/M/*PRKSMXN +approximative/Y/*PRKSMTF +appurtenance/MS/*PTNNS +appurtenant/S/*PTNNT +APR//*PR +Apr/M/*PR +apricot/MS/*PRKT +April/MS/*PRL +Aprilette/M/*PRLT +apron/SDMG/*PRN +apropos//*PRPS +apse/MS/*PS +apsis/M/*PSS +apt/UPYI/*PT +apter//*PT +aptest//*PTST +aptitude/SM/*PTTT +aptness/SMI/*PTNS +aptness's/U/*PTNSS +Apuleius/M/*PLS +aqua/SM/*K +aquaculture/MS/*KKLTR +aqualung/SM/*KLNK +aquamarine/SM/*KMRN +aquanaut/SM/*KNT +aquaplane/GSDM/*KPLN +aquarium/MS/*KRM +Aquarius/MS/*KRS +aquatic/S/*KTK +aquatically//*KTKL +aquavit/SM/*KFT +aqueduct/MS/*KTKT +aqueous/Y/*KS +aquiculture's//*KKLTRS +aquifer/SM/*KF +Aquila/M/*KL +aquiline//*KLN +Aquinas/M/*KNS +Aquino/M/*KN +Aquitaine/M/*KTN +AR//* +Ar/MY/* +Ara/M/*R +Arab/MS/*RB +Arabel/M/*RBL +Arabela/M/*RBL +Arabele/M/*RBL +Arabella/M/*RBL +Arabelle/M/*RBL +arabesque/SM/*RBSK +Arabia/M/*RB +Arabian/MS/*RBN +Arabic/M/*RBK +arability/MS/*RBLT +Arabist/MS/*RBST +arable/S/*RBL +Araby/M/*RB +Araceli/M/*RSL +arachnid/MS/*RXNT +arachnoid/M/*RXNT +arachnophobia//*RXNFB +Arafat/M/*RFT +Araguaya/M/*RKY +Aral/M/*RL +Araldo/M/*RLT +Aramaic/M/*RMK +Aramco/M/*RMK +Arapaho/MS/*RPH +Arapahoes//*RPHS +Arapahoe's//*RPHS +Ararat/M/*RRT +Araucanian/M/*RKNN +Arawak/M/*RWK +Arawakan/M/*RWKN +arbiter/MS/*BT +arbitrage/GMZRSD/*BTRK +arbitrager/M/*BTRK +arbitrageur/S/*BTRK +arbitrament/MS/*BTRMNT +arbitrarily//*BTRRL +arbitrariness/MS/*BTRRNS +arbitrary/P/*BTRR +arbitrate/SDXVNG/*BTRT +arbitration/M/*BTRXN +arbitrator/SM/*BTRT +arbor/DMS/*B +arboreal/Y/*BRL +arbores//*BRS +arboretum/MS/*BRTM +arborvitae/MS/*BFT +arbutus/SM/*BTS +ARC//*K +arc/DSGM/*K +arcade/SDMG/*KT +Arcadia/M/*KT +Arcadian//*KTN +arcana/M/*KN +arcane/P/*KN +Arch/MR/*X +arch/PGVZTMYDSR/*X +archaeological/Y/*XLKKL +archaeologist/SM/*XLKST +archaic/P/*XK +archaically//*XKL +Archaimbaud/M/*XMBT +archaism/SM/*XSM +archaist/MS/*XST +archaize/GDRSZ/*XS +archaizer/M/*XS +Archambault/M/*XMBLT +archangel/SM/*XNKL +archbishop/SM/*XBXP +archbishopric/SM/*XBXPRK +archdeacon/MS/*XTKN +archdiocesan//*XTSSN +archdiocese/SM/*XTSS +archduchess/MS/*XTXS +archduke/MS/*XTK +Archean//*XN +archenemy/SM/*XNM +archeologist's//*XLKSTS +archeology/MS/*XLK +archer/M/*X +Archer/M/*X +archery/MS/*XR +archetypal//*XTPL +archetype/SM/*XTP +archfiend/SM/*XFNT +archfool//*XFL +Archibald/M/*XBLT +Archibaldo/M/*XBLT +Archibold/M/*XBLT +Archie/M/*X +archiepiscopal//*XPSKPL +Archimedes/M/*XMTS +arching/M/*XN +archipelago/SM/*XPLK +architect/MS/*XTKT +architectonic/S/*XTKTNK +architectonics/M/*XTKTNKS +architectural/Y/*XTKTRL +architecture/SM/*XTKTR +architrave/MS/*XTRF +archival//*XFL +archive/DRSGMZ/*XF +archived/U/*XFT +archivist/MS/*XFST +archness/MS/*XNS +archway/SM/*XW +Archy/M/*X +arclike//*KLK +ARCO/M/*K +arcsine//*KSN +arctangent//*KTNKNT +Arctic/M/*KTK +arctic/S/*KTK +Arcturus/M/*KTRS +Arda/MH/*T +Ardabil//*TBL +Ardath/M/*T@ +Ardeen/M/*TN +Ardelia/M/*TL +Ardelis/M/*TLS +Ardella/M/*TL +Ardelle/M/*TL +Arden/M/*TN +ardency/M/*TNS +Ardene/M/*TN +Ardenia/M/*TN +ardent/Y/*TNT +Ardine/M/*TN +Ardis/M/*TS +Ardisj/M/*TSK +Ardith/M/*T@ +ardor/SM/*T +Ardra/M/*TR +arduous/YP/*TS +arduousness/SM/*TSNS +Ardyce/M/*TS +Ardys//*TS +Ardyth/M/*T@ +are/BS/*R +area/SM/*R +areal//*RL +areawide//*RWT +Arel/M/*RL +arena/SM/*RN +arenaceous//*RNSS +aren't//*RNT +Arequipa/M/*RKP +Ares//*RS +Aretha/M/*R@ +argent/MS/*KNT +Argentina/M/*KNTN +Argentine/SM/*KNTN +Argentinean/S/*KNTNN +Argentinian/S/*KNTNN +Argo/SM/*K +argon/MS/*KN +Argonaut/MS/*KNT +argonaut/S/*KNT +Argonne/M/*KN +argosy/SM/*KS +argot/SM/*KT +arguable/IU/*KBL +arguably/IU/*KBL +argue/DSRGZ/*K +arguer/M/*K +argument/SM/*KMNT +argumentation/SM/*KMNTXN +argumentative/YP/*KMNTTF +argumentativeness/MS/*KMNTTFNS +Argus/M/*KS +argyle/S/*KL +Ari/M/*R +aria/SM/*R +Ariadne/M/*RTN +Ariana/M/*RN +Arianism/M/*RNSM +Arianist/SM/*RNST +arid/TYRP/*RT +Aridatha/M/*RT@ +aridity/SM/*RTT +aridness/M/*RTNS +Arie/SM/*R +Ariel/M/*RL +Ariela/M/*RL +Ariella/M/*RL +Arielle/M/*RL +Aries/S/*RS +aright//*RT +Arin/M/*RN +Ario/M/*R +Ariosto/M/*RST +arise/GJSR/*RS +arisen//*RSN +Aristarchus/M/*RSTXS +Aristides//*RSTTS +aristocracy/SM/*RSTKRS +aristocrat/MS/*RSTKRT +aristocratic//*RSTKRTK +aristocratically//*RSTKRTKL +Aristophanes/M/*RSTFNS +Aristotelean//*RSTTLN +Aristotelian/M/*RSTTLN +Aristotle/M/*RSTTL +arithmetic/MS/*R@MTK +arithmetical/Y/*R@MTKL +arithmetician/SM/*R@MTXN +arithmetize/SD/*R@MTS +Arius/M/*RS +Ariz/M/*RS +Arizona/M/*RSN +Arizonan/S/*RSNN +Arizonian/S/*RSNN +Arjuna/M/*KN +Ark/M/*K +ark/MS/*K +Arkansan/MS/*KNSN +Arkansas/M/*KNSS +Arkhangelsk/M/*KHNKLSK +Arkwright/M/*KRT +Arlan/M/*LN +Arlana/M/*LN +Arlee/M/*L +Arleen/M/*LN +Arlen/M/*LN +Arlena/M/*LN +Arlene/M/*LN +Arleta/M/*LT +Arlette/M/*LT +Arley/M/*L +Arleyne/M/*LN +Arlie/M/*L +Arliene/M/*LN +Arlin/M/*LN +Arlina/M/*LN +Arlinda/M/*LNT +Arline/M/*LN +Arlington/M/*LNTN +Arluene/M/*LN +Arly/M/*L +Arlyn/M/*LN +Arlyne/M/*LN +arm/ASEDG/*M +Armada/M/*MT +armada/SM/*MT +armadillo/MS/*MTL +Armageddon/SM/*MKTN +Armagnac/M/*MKNK +armament/EAS/*MMNT +armament's/E/*MMNTS +Arman/M/*MN +Armand/M/*MNT +Armando/M/*MNT +Armata/M/*MT +armature/MGSD/*MTR +armband/SM/*MBNT +armchair/MS/*MX +Armco/M/*MK +armed/U/*MT +Armenia/M/*MN +Armenian/MS/*MNN +armer/MES/*M +armful/SM/*MFL +armhole/MS/*MHL +Armin/M/*MN +arming/M/*MN +Arminius/M/*MNS +armistice/MS/*MSTS +armless//*MLS +armlet/SM/*MLT +armload/M/*MLT +Armonk/M/*MNK +armor/ZRDMGS/*M +armored/U/*MRT +armorer/M/*MR +armorial/S/*MRL +armory/DSM/*MR +Armour/M/*M +armpit/MS/*MPT +armrest/MS/*MRST +arm's//*MS +Armstrong/M/*MSTRNK +army/SM/*M +Arnaldo/M/*NLT +Arne/M/*N +Arneb/M/*NB +Arney/M/*N +Arnhem/M/*NHM +Arni/M/*N +Arnie/M/*N +Arno/M/*N +Arnold/M/*NLT +Arnoldo/M/*NLT +Arnuad/M/*NT +Arnulfo/M/*NLF +Arny/M/*N +aroma/SM/*RM +aromatherapist/S/*RM@RPST +aromatherapy/S/*RM@RP +aromatic/SP/*RMTK +aromatically//*RMTKL +aromaticity/M/*RMTST +aromaticness/M/*RMTKNS +Aron/M/*RN +arose//*RS +around//*RNT +arousal/MS/*RSL +arouse/GSD/*RS +aroused/U/*RST +ARPA/M/*P +Arpanet/M/*PNT +ARPANET/M/*PNT +arpeggio/SM/*PK +arr/TV/*R +arrack/M/*RK +Arragon/M/*RKN +arraign/SDGL/*RN +arraignment/MS/*RKNMNT +arrange/ZDSRLG/*RNK +arrangeable/A/*RNKBL +arranged/EA/*RNKT +arrangement/AMSE/*RNKMNT +arranger/M/*RNK +arranges/EA/*RNKS +arranging/EA/*RNKN +arrant/Y/*RNT +arras/SM/*RS +array/ESGMD/*R +arrayer//*RY +arrear/SM/*R +arrest/ADSG/*RST +arrestee/MS/*RST +arrester/MS/*RST +arresting/Y/*RSTN +arrestor/MS/*RST +Arrhenius/M/*RHNS +arrhythmia/SM/*RH@M +arrhythmic//*RH@MK +arrhythmical//*RH@MKL +Arri/M/*R +arrival/MS/*RFL +arrive/SRDG/*RF +arriver/M/*RF +arrogance/MS/*RKNS +arrogant/Y/*RKNT +arrogate/XNGDS/*RKT +arrogation/M/*RKXN +Arron/M/*RN +arrow/SDMG/*R +arrowhead/SM/*RHT +arrowroot/MS/*RRT +arroyo/MS/*RY +arsenal/MS/*SNL +arsenate/M/*SNT +arsenic/MS/*SNK +arsenide/M/*SNT +arsine/MS/*SN +arson/SM/*SN +arsonist/MS/*SNST +Art/M/*T +art/SM/*T +Artair/M/*T +Artaxerxes/M/*TKSKSS +Arte/M/*T +artefact's//*TFKTS +Artemas//*TMS +Artemis/M/*TMS +Artemus/M/*TMS +arterial/SY/*TRL +arteriolar//*TRL +arteriole/SM/*TRL +arterioscleroses//*TRSKLRSS +arteriosclerosis/M/*TRSKLRSS +artery/SM/*TR +artesian//*TXN +artful/YP/*TFL +artfulness/SM/*TFLNS +Arther/M/*@ +arthritic/S/*@RTK +arthritides//*@RTTS +arthritis/M/*@RTS +arthrogram/MS/*@RKRM +arthropod/SM/*@RPT +arthroscope/S/*@RSKP +arthroscopic//*@RSKPK +Arthur/M/*@ +Arthurian//*@RN +artichoke/SM/*TXK +article/GMDS/*TKL +articulable/I/*TKLBL +articular//*TKL +articulate/VGNYXPSD/*TKLT +articulated/EU/*TKLTT +articulately/I/*TKLTL +articulateness/IMS/*TKLTNS +articulates/I/*TKLTS +articulation/M/*TKLXN +articulator/SM/*TKLT +articulatory//*TKLTR +Artie/M/*T +artifact/MS/*TFKT +artifice/ZRSM/*TFS +artificer/M/*TFS +artificial/PY/*TFXL +artificiality/MS/*TFXLT +artificialness/M/*TFXLNS +artillerist//*TLRST +artillery/SM/*TLR +artilleryman/M/*TLRMN +artillerymen//*TLRMN +artiness/MS/*TNS +artisan/SM/*TSN +artist/MS/*TST +artiste/SM/*TST +artistic/I/*TSTK +artistically/I/*TSTKL +artistry/SM/*TSTR +artless/YP/*TLS +artlessness/MS/*TLSNS +artsy/RT/*TS +Artur/M/*T +Arturo/M/*TR +Artus/M/*TS +artwork/MS/*TWK +Arty/M/*T +arty/TPR/*T +Aruba/M/*RB +arum/MS/*RM +Arv/M/*F +Arvie/M/*F +Arvin/M/*FN +Arvy/M/*F +Aryan/MS/*RYN +Aryn/M/*RN +as//*S +As//*S +A's//*S +Asa/M/*S +Asama/M/*SM +asap//*SP +ASAP//*SP +asbestos/MS/*SBSTS +Ascella/M/*SL +ascend/ADGS/*SNT +ascendancy/MS/*SNTNS +ascendant/SY/*SNTNT +ascender/SM/*SNT +Ascension/M/*SNXN +ascension/SM/*SNXN +ascent/SM/*SNT +ascertain/DSBLG/*STN +ascertainment/MS/*STNMNT +ascetic/SM/*STK +ascetically//*STKL +asceticism/MS/*STSSM +ASCII//*S +ascot/MS/*SKT +ascribe/GSDB/*SKRB +ascription/MS/*SKRPXN +ascriptive//*SKRPTF +Ase/M/*S +aseptic/S/*SPTK +aseptically//*SPTKL +asexual/Y/*SKSL +asexuality/MS/*SKSLT +Asgard/M/*SKT +ash/MNDRSG/*X +Ash/MRY/*X +ashame/D/*XM +ashamed/UY/*XMT +Ashanti/M/*XNT +Ashbey/M/*XB +Ashby/M/*XB +ashcan/SM/*XKN +Ashely/M/*XL +Asher/M/*X +Asheville/M/*XFL +Ashia/M/*X +Ashien/M/*XN +Ashil/M/*XL +Ashkenazim//*XKNSM +Ashkhabad/M/*XKHBT +Ashla/M/*XL +Ashlan/M/*XLN +Ashland/M/*XLNT +ashlar/GSDM/*XL +Ashlee/M/*XL +Ashleigh/M/*XL +Ashlen/M/*XLN +Ashley/M/*XL +Ashli/M/*XL +Ashlie/M/*XL +Ashlin/M/*XLN +Ashly/M/*XL +ashman/M/*XMN +Ashmolean/M/*XMLN +ashore//*XR +ashram/SM/*XRM +Ashton/M/*XTN +ashtray/MS/*XTR +Ashurbanipal/M/*XBNPL +ashy/RT/*X +Asia/M/*X +Asian/MS/*XN +Asiatic/SM/*XTK +aside/S/*ST +Asilomar/M/*SLM +Asimov//*SMF +asinine/Y/*SNN +asininity/MS/*SNNT +ask/DRZGS/*SK +askance//*SKNS +asked/U/*SKT +asker/M/*SK +askew/P/*SK +ASL//*SL +aslant//*SLNT +asleep//*SLP +Asmara/M/*SMR +asocial/S/*SXL +Asoka/M/*SK +asp/MNRXS/*SP +asparagus/MS/*SPRKS +aspartame/S/*SPTM +ASPCA//*SPK +aspect/SM/*SPKT +Aspell/M/*SPL +aspen/M/*SPN +Aspen/M/*SPN +asper/M/*SP +asperity/SM/*SPRT +aspersion/SM/*SPXN +asphalt/MDRSG/*SFLT +asphodel/MS/*SFTL +asphyxia/MS/*SFKS +asphyxiate/GNXSD/*SFKST +asphyxiation/M/*SFKSXN +aspic/MS/*SPK +Aspidiske/M/*SPTSK +aspidistra/MS/*SPTSTR +aspirant/MS/*SPRNT +aspirate/NGDSX/*SPRT +aspiration/M/*SPRXN +aspirational//*SPRXNL +aspirator/SM/*SPRT +aspire/GSRD/*SPR +aspirer/M/*SPR +aspirin/SM/*SPRN +asplenium//*SPLNM +Asquith/M/*SK@ +ass/MNS/*S +Assad/M/*ST +assail/BGDS/*SL +assailable/U/*SLBL +assailant/SM/*SLNT +Assam/M/*SM +Assamese/M/*SMS +assassin/MS/*SSN +assassinate/DSGNX/*SSNT +assassination/M/*SSNXN +assault/SGVMDR/*SLT +assaulter/M/*SLT +assaultive/YP/*SLTF +assay/SZGRD/*S +assayer/M/*SY +assemblage/MS/*SMBLK +assemble/ADSREG/*SMBL +assembled/U/*SMBLT +assembler/EMS/*SMBL +assemblies/A/*SMBLS +assembly/EAM/*SMBL +Assembly/MS/*SMBL +assemblyman/M/*SMBLMN +assemblymen//*SMBLMN +assemblywoman//*SMBLWMN +assemblywomen//*SMBLWMN +assent/SGMRD/*SNT +assert/ADGS/*ST +asserter/MS/*ST +assertion/AMS/*SXN +assertional//*SXNL +assertive/PY/*STF +assertiveness/SM/*STFNS +assess/BLSDG/*SS +assessed/A/*SST +assesses/A/*SSS +assessment/SAM/*SSMNT +assessor/MS/*SS +asset/SM/*ST +asseverate/XSDNG/*SFRT +asseveration/M/*SFRXN +asshole/MS/*XL +assiduity/SM/*STT +assiduous/PY/*STS +assiduousness/SM/*STSNS +assign/ALBSGD/*SN +assignation/MS/*SKNXN +assigned/U/*SN +assignee/MS/*SKN +assigner/MS/*SKN +assignment/MAS/*SKNMNT +assignor/MS/*SKN +assigns/CU/*SNS +assimilate/VNGXSD/*SMLT +assimilation/M/*SMLXN +assimilationist/M/*SMLXNST +Assisi/M/*SS +assist/RDGS/*SST +assistance/SM/*SSTNS +assistant/SM/*SSTNT +assistantship/SM/*SSTNTXP +assisted/U/*SSTT +assister/M/*SST +assize/MGSD/*SS +assn//*SN +assoc//*SK +associable//*SXBL +associate/SDEXNG/*SXT +associated/U/*SXTT +associateship//*SXTXP +association/ME/*SXXN +associational//*SXXNL +associative/Y/*SXTF +associativity/S/*SXTFT +associator/MS/*SXT +assonance/SM/*SNNS +assonant/S/*SNNT +assort/LRDSG/*ST +assorter/M/*ST +assortment/SM/*STMNT +asst//*ST +assuage/SDG/*SK +assuaged/U/*SKT +assumability//*SMBLT +assume/SRDBJG/*SM +assumer/M/*SM +assuming/UA/*SMN +assumption/SM/*SMPXN +assumptive//*SMPTF +assurance/AMS/*SRNS +assure/AGSD/*SR +assured/PYS/*SRT +assuredness/M/*SRTNS +assurer/SM/*SR +assuring/YA/*SRN +Assyria/M/*SR +Assyrian/SM/*SRN +Assyriology/M/*SRLK +Astaire/SM/*STR +Astarte/M/*STT +astatine/MS/*STTN +aster/ESM/*ST +asteria//*STR +asterisk/SGMD/*STRSK +asterisked/U/*STRSKT +astern//*STN +asteroid/SM/*STRT +asteroidal//*STRTL +asthma/MS/*S@M +asthmatic/S/*S@MTK +astigmatic/S/*STKMTK +astigmatism/SM/*STKMTSM +astir//*ST +Aston/M/*STN +astonish/GSDL/*STNX +astonishing/Y/*STNXN +astonishment/SM/*STNXMNT +Astor/M/*ST +Astoria/M/*STR +astound/SDG/*STNT +astounding/Y/*STNTN +Astra/M/*STR +astraddle//*STRTL +Astrakhan/M/*STRKHN +astrakhan/SM/*STRKHN +astral/SY/*STRL +astray//*STR +Astrid/M/*STRT +astride//*STRT +astringency/SM/*STRNNS +astringent/YS/*STRNNT +Astrix/M/*STRKS +astrolabe/MS/*STRLB +astrologer/MS/*STRLK +astrological/Y/*STRLKKL +astrologist/M/*STRLKST +astrology/SM/*STRLK +astronaut/SM/*STRNT +astronautic/S/*STRNTK +astronautical//*STRNTKL +astronautics/M/*STRNTKS +astronomer/MS/*STRNM +astronomic//*STRNMK +astronomical/Y/*STRNMKL +astronomy/SM/*STRNM +astrophysical//*STRFSKL +astrophysicist/SM/*STRFSSST +astrophysics/M/*STRFSKS +Astroturf/M/*STRTF +AstroTurf/S/*STRTF +Asturias/M/*STRS +astute/RTYP/*STT +astuteness/MS/*STTNS +Asunción/M/*SNSN +asunder//*SNT +Aswan/M/*SWN +asylum/MS/*SLM +asymmetric//*SMTRK +asymmetrical/Y/*SMTRKL +asymmetry/MS/*SMTR +asymptomatic//*SMPTMTK +asymptomatically//*SMPTMTKL +asymptote/MS/*SMPTT +asymptotic/Y/*SMPTTK +asymptotically//*SMPTTKL +asynchronism/M/*SNXRNSM +asynchronous/Y/*SNXRNS +asynchrony//*SNXRN +at//*T +At/M/*T +Atacama/M/*TKM +Atahualpa/M/*THLP +Atalanta/M/*TLNT +Atari/M/*TR +Atatürk/M/*TTRK +atavism/MS/*TFSM +atavist/MS/*TFST +atavistic//*TFSTK +ataxia/MS/*TKS +ataxic/S/*TKSK +ate/S/*T +atelier/SM/*TL +atemporal//*TMPRL +Athabasca/M/*@BSK +Athabascan's//*@BSKNS +Athabaskan/MS/*@BSKN +Athabaska's//*@BSKS +atheism/SM/*@SM +atheist/SM/*@ST +atheistic//*@STK +Athena/M/*@N +Athene/M/*@N +Athenian/SM/*@NN +Athens/M/*@NS +atheroscleroses//*@RSKLRSS +atherosclerosis/M/*@RSKLRSS +athirst//*@ST +athlete/MS/*@LT +athletic/S/*@LTK +athletically//*@LTKL +athleticism/M/*@LTSSM +athletics/M/*@LTKS +athwart//*@WT +atilt//*TLT +Atkins/M/*TKNS +Atkinson/M/*TKNSN +Atlanta/M/*TLNT +Atlante/MS/*TLNT +atlantes//*TLNTS +Atlantic/M/*TLNTK +Atlantis/M/*TLNTS +atlas/SM/*TLS +Atlas/SM/*TLS +ATM/M/*TM +Atman//*TMN +atmosphere/DSM/*TMSFR +atmospheric/S/*TMSFRK +atmospherically//*TMSFRKL +atoll/MS/*TL +atom/SM/*TM +atomic/S/*TMK +atomically//*TMKL +atomicity/M/*TMST +atomics/M/*TMKS +atomistic//*TMSTK +atomization/SM/*TMSXN +atomize/GZDRS/*TMS +atomizer/M/*TMS +atonal/Y/*TNL +atonality/MS/*TNLT +atone/LDSG/*TN +atonement/SM/*TNMNT +atop//*TP +ATP//*TP +Atreus/M/*TRS +atria//*TR +Atria/M/*TR +atrial//*TRL +atrium/M/*TRM +atrocious/YP/*TRSS +atrociousness/SM/*TRSSNS +atrocity/SM/*TRST +atrophic//*TRFK +atrophy/DSGM/*TRF +atropine/SM/*TRPN +Atropos/M/*TRPS +Ats//*TS +attach/BLGZMDR/*TX +attaché/S/*TX +attached/UA/*TXT +attacher/M/*TX +attachment/ASM/*TXMNT +attack/GBZSDR/*TK +attacker/M/*TK +attain/AGSD/*TN +attainabilities//*TNBLTS +attainability/UM/*TNBLT +attainable/U/*TNBL +attainableness/M/*TNBLNS +attainably/U/*TNBL +attainder/MS/*TNT +attained/U/*TNT +attainer/MS/*TN +attainment/MS/*TNMNT +attar/MS/*T +attempt/ADSG/*TMPT +attempter/MS/*TMPT +attend/SGZDR/*TNT +attendance/MS/*TNTNS +attendant/SM/*TNTNT +attended/U/*TNTT +attendee/SM/*TNT +attender/M/*TNT +attention/IMS/*TNXN +attentional//*TNXNL +attentionality//*TNXNLT +attentive/YIP/*TNTF +attentiveness/IMS/*TNTFNS +attenuate/SDXGN/*TNT +attenuated/U/*TNTT +attenuation/M/*TNXN +attenuator/MS/*TNT +attest/GSDR/*TST +attestation/SM/*TSTXN +attested/U/*TSTT +attester/M/*TST +Attic//*TK +attic/MS/*TK +Attica/M/*TK +Attila/M/*TL +attire/SDG/*TR +attitude/MS/*TTT +attitudinal/Y/*TTTNL +attitudinize/SDG/*TTTNS +Attlee/M/*TL +attn//*TN +Attn//*TN +attorney/SM/*TN +attract/BSDGV/*TRKT +attractant/SM/*TRKTNT +attraction/MS/*TRKXN +attractive/UYP/*TRKTF +attractiveness/UM/*TRKTFNS +attractivenesses//*TRKTFNSS +attractor/MS/*TRKT +attributable/U/*TRBTBL +attribute/BVNGRSDX/*TRBT +attributed/U/*TRBTT +attributer/M/*TRBT +attribution/M/*TRBXN +attributional//*TRBXNL +attributive/SY/*TRBTF +attrition/MS/*TRXN +Attucks//*TKS +attune/SDG/*TN +atty//*T +ATV/S/*TF +atwitter//*TWT +Atwood/M/*TWT +atypical/Y/*TPKL +Au/M/* +Aube/M/*B +Auberge/M/*BK +aubergine/MS/*BKN +Auberon/M/*BRN +Aubert/M/*BT +Auberta/M/*BT +Aubine/M/*BN +Aubree/M/*BR +Aubrette/M/*BRT +Aubrey/M/*BR +Aubrie/M/*BR +Aubry/M/*BR +auburn/SM/*BN +Auckland/M/*KLNT +auction/MDSG/*KXN +auctioneer/SDMG/*KXN +audacious/PY/*TSS +audaciousness/SM/*TSSNS +audacity/MS/*TST +Auden/M/*TN +Audi/M/*T +audibility/MSI/*TBLT +audible/I/*TBL +audibles//*TBLS +audibly/I/*TBL +Audie/M/*T +audience/MS/*TNS +audio/SM/*T +audiogram/SM/*TKRM +audiological//*TLKKL +audiologist/MS/*TLKST +audiology/SM/*TLK +audiometer/MS/*TMT +audiometric//*TMTRK +audiometry/M/*TMTR +audiophile/SM/*TFL +audiotape/S/*TTP +audiovisual/S/*TFSL +audit/SMDVG/*TT +audited/U/*TTT +audition/MDSG/*TXN +auditor/MS/*TT +auditorium/MS/*TTRM +auditory/S/*TTR +Audra/M/*TR +Audre/M/*TR +Audrey/M/*TR +Audrie/M/*TR +Audry/M/*TR +Audrye/M/*TRY +Audubon/M/*TBN +Audy/M/*T +Auerbach/M/*BX +Aug/M/*K +Augean//*KN +auger/SM/*K +aught/S/*T +Augie/M/*K +augment/DRZGS/*KMNT +augmentation/SM/*KMNTXN +augmentative/S/*KMNTTF +augmenter/M/*KMNT +augur/GDMS/*K +augury/SM/*KR +August/SM/*KST +august/STPYR/*KST +Augusta/M/*KST +Augustan/S/*KSTN +Auguste/M/*KST +Augustin/M/*KSTN +Augustina/M/*KSTN +Augustine/M/*KSTN +Augustinian/S/*KSTNN +augustness/SM/*KSTNS +Augusto/M/*KST +Augustus/M/*KSTS +Augy/M/*K +auk/MS/*K +Aundrea/M/*NTR +aunt/MYS/*NT +auntie/MS/*NT +aunty's//*NTS +Aura/M/*R +aura/SM/*R +aural/Y/*RL +Aurea/M/*R +Aurel/M/*RL +Aurelea/M/*RL +Aurelia/M/*RL +Aurelie/M/*RL +Aurelio/M/*RL +Aurelius/M/*RLS +aureole/GMSD/*RL +aureomycin//*RMSN +Aureomycin/M/*RMSN +Auria/M/*R +auric//*RK +auricle/SM/*RKL +auricular//*RKL +Aurie/M/*R +Auriga/M/*RK +Aurilia/M/*RL +Aurlie/M/*L +Auroora/M/*RR +Aurora/M/*RR +aurora/SM/*RR +auroral//*RRL +Aurore/M/*RR +Aurthur/M/*@ +Auschwitz/M/*SXWTS +auscultate/XDSNG/*SKLTT +auscultation/M/*SKLTXN +auspice/SM/*SPS +auspicious/IPY/*SPSS +auspiciousness/IM/*SPSSNS +auspiciousnesses//*SPSSNSS +Aussie/MS/*S +Austen/M/*STN +austere/TYRP/*STR +austereness/M/*STRNS +austerity/SM/*STRT +Austin/SM/*STN +Austina/M/*STN +Austine/M/*STN +austral//*STRL +Australasia/M/*STRLX +Australasian/S/*STRLXN +australes//*STRLS +Australia/M/*STRL +Australian/MS/*STRLN +Australis/M/*STRLS +australites//*STRLTS +Australoid//*STRLT +Australopithecus/M/*STRLP@KS +Austria/M/*STR +Austrian/SM/*STRN +Austronesian//*STRNXN +authentic/UI/*@NTK +authentically//*@NTKL +authenticate/GNDSX/*@NTKT +authenticated/U/*@NTKTT +authentication/M/*@NTKXN +authenticator/MS/*@NTKT +authenticity/MS/*@NTST +author/DMGS/*@ +authoress/S/*@RS +authorial//*@RL +authoritarian/S/*@RTRN +authoritarianism/MS/*@RTRNSM +authoritative/PY/*@RTTF +authoritativeness/SM/*@RTTFNS +authority/SM/*@RT +authorization/MAS/*@RSXN +authorize/AGDS/*@RS +authorized/U/*@RST +authorizer/SM/*@RS +authorizes/U/*@RSS +authorship/MS/*@XP +autism/MS/*TSM +autistic/S/*TSTK +auto/SDMG/*T +autobahn/MS/*TBN +autobiographer/MS/*TBKRF +autobiographic//*TBKRFK +autobiographical/Y/*TBKRFKL +autobiography/MS/*TBKRF +autoclave/SDGM/*TKLF +autocollimator/M/*TKLMT +autocorrelate/GNSDX/*TKRLT +autocorrelation/M/*TKRLXN +autocracy/SM/*TKRS +autocrat/SM/*TKRT +autocratic//*TKRTK +autocratically//*TKRTKL +autodial/R/*TTL +autodidact/MS/*TTTKT +autofluorescence//*TFLRSNS +autograph/MDG/*TKRF +autographs//*TKRFS +autoignition/M/*TKNXN +autoimmune//*TMN +autoimmunity/S/*TMNT +autoloader//*TLT +automaker/S/*TMK +automata's//*TMTS +automate/NGDSX/*TMT +automatic/S/*TMTK +automatically//*TMTKL +automation/M/*TMXN +automatism/SM/*TMTSM +automatize/DSG/*TMTS +automaton/SM/*TMTN +automobile/GDSM/*TMBL +automorphism/SM/*TMFSM +automotive//*TMTF +autonavigator/SM/*TNFKT +autonomic/S/*TNMK +autonomous/Y/*TNMS +autonomy/MS/*TNM +autopilot/SM/*TPLT +autopsy/MDSG/*TPS +autoregressive//*TRKRSF +autorepeat/GS/*TRPT +autostart//*TSTT +autosuggestibility/M/*TSKSTBLT +autotransformer/M/*TTRNSFM +autoworker/S/*TWK +Autumn/M/*TMN +autumn/MS/*TMN +autumnal/Y/*TMNL +aux//*KS +auxiliary/S/*KSLR +auxin/MS/*KSN +AV//*F +av/ZR/*F +Ava/M/*F +avail/BSZGRD/*FL +availability/USM/*FLBLT +available/U/*FLBL +availableness/M/*FLBLNS +availably//*FLBL +availing/U/*FLN +avalanche/MGSD/*FLNX +Avalon/M/*FLN +avant//*FNT +avarice/SM/*FRS +avaricious/PY/*FRSS +avariciousness/M/*FRSSNS +avast/S/*FST +avatar/MS/*FT +avaunt/S/*FNT +avdp//*FTP +Ave/MS/*F +ave/S/*F +Aveline/M/*FLN +avenge/ZGSRD/*FNK +avenged/U/*FNKT +avenger/M/*FNK +Aventine/M/*FNTN +Aventino/M/*FNTN +avenue/MS/*FN +average/DSPGYM/*FRK +Averell/M/*FRL +Averil/M/*FRL +Averill/M/*FRL +Avernus/M/*FNS +averred//*FRT +averrer//*FR +averring//*FRN +Averroes/M/*FRS +avers/V/*FS +averse/YNXP/*FS +averseness/M/*FSNS +aversion/M/*FXN +avert/GSD/*FT +Avery/M/*FR +Averyl/M/*FRL +aves/C/*FS +Avesta/M/*FST +avg//*FK +avian/S/*FN +aviary/SM/*FR +aviate/NX/*FT +aviation/M/*FXN +aviator/SM/*FT +aviatrices//*FTRSS +aviatrix/SM/*FTRKS +Avicenna/M/*FSN +Avictor/M/*FKT +avid/TPYR/*FT +avidity/MS/*FTT +Avie/M/*F +Avigdor/M/*FKT +Avignon/M/*FKNN +Avila/M/*FL +avionic/S/*FNK +avionics/M/*FNKS +Avior/M/*F +Avis//*FS +avitaminoses//*FTMNSS +avitaminosis/M/*FTMNSS +Aviv/M/*FF +Aviva/M/*FF +Avivah/M/*FF +avocado/MS/*FKT +avocation/SM/*FKXN +avocational//*FKXNL +Avogadro/M/*FKTR +avoid/ZRDBGS/*FT +avoidable/U/*FTBL +avoidably/U/*FTBL +avoidance/SM/*FTNS +avoider/M/*FT +avoirdupois/MS/*FTPS +Avon/M/*FN +avouch/GDS/*FX +avow/GEDS/*F +avowal/EMS/*FWL +avowed/Y/*FWT +avower/M/*FW +Avram/M/*FRM +Avril/M/*FRL +Avrit/M/*FRT +Avrom/M/*FRM +avuncular//*FNKL +aw/GD/* +AWACS//*WKS +await/SDG/*WT +awake/GS/*WK +awaken/SADG/*WKN +awakened/U/*WKNT +awakener/M/*WKN +awakening/S/*WKNN +award/RDSZG/*WT +awarder/M/*WT +aware/TRP/*WR +awareness/MSU/*WRNS +awash//*WX +away/PS/*W +awe/SM/*W +aweigh//*W +awesome/PY/*WSM +awesomeness/SM/*WSMNS +awestruck//*WSTRK +awful/YP/*FL +awfuller//*FL +awfullest//*FLST +awfulness/SM/*FLNS +awhile/S/*HL +awkward/PRYT/*KWT +awkwardness/MS/*KWTNS +awl/MS/*L +awn/MDJGS/*N +awning/DM/*NN +awoke//*WK +awoken//*WKN +AWOL//*WL +awry/RT/*R +ax/DRSZGM/*KS +Ax/M/*KS +Axe/M/*KS +axehead/S/*KSHT +Axel/M/*KSL +axeman//*KSMN +axial/Y/*KSL +axillary//*KSLR +axiological/Y/*KSLKKL +axiology/M/*KSLK +axiom/SM/*KSM +axiomatic/S/*KSMTK +axiomatically//*KSMTKL +axiomatization/MS/*KSMTSXN +axiomatize/GDS/*KSMTS +axion/SM/*KSN +axis/SM/*KSS +axle/MS/*KSL +axletree/MS/*KSLTR +axolotl/SM/*KSLTL +axon/SM/*KSN +ayah/M/*Y +ayahs//*YS +Ayala/M/*YL +ayatollah//*YTL +ayatollahs//*YTLS +aye/MZRS/*Y +Ayers//*YS +Aylmar/M/*LM +Aylmer/M/*LM +Aymara/M/*MR +Aymer/M/*M +Ayn/M/*N +AZ//*S +azalea/SM/*SL +Azania/M/*SN +Azazel/M/*SSL +Azerbaijan/M/*SBKN +azimuth/M/*SM@ +azimuthal/Y/*SM@L +azimuths//*SM@S +Azores//*SRS +Azov/M/*SF +AZT//*ST +Aztec/MS/*STK +Aztecan//*STKN +azure/MS/*SR +B/GT/B +b/KGD/B +BA//B +Ba/M/B +baa/SDG/B +Baal/SM/BL +Bab/SM/BB +Babara/M/BBR +Babar's//BBS +Babb/M/BB +Babbage/M/BBK +Babbette/M/BBT +Babbie/M/BB +babbitt/GDS/BBT +Babbitt/M/BBT +babble/RSDGZ/BBL +babbler/M/BBL +Babcock/M/BBKK +babe/SM/BB +Babel/MS/BBL +babel/S/BBL +Babette/M/BBT +Babita/M/BBT +Babka/M/BBK +baboon/MS/BBN +babushka/MS/BBXK +baby/TDSRMG/BB +babyhood/MS/BBHT +babyish//BBYX +Babylon/MS/BBLN +Babylonia/M/BBLN +Babylonian/SM/BBLNN +babysat//BBST +babysit/S/BBST +babysitter/S/BBST +babysitting//BBSTN +Bacall/M/BKL +Bacardi/M/BKT +baccalaureate/MS/BKLRT +baccarat/SM/BKRT +bacchanal/SM/BXNL +bacchanalia//BXNL +Bacchanalia/M/BXNL +bacchanalian/S/BXNLN +Bacchic//BXK +Bacchus/M/BXS +Bach/M/BX +bachelor/SM/BXL +bachelorhood/SM/BXLHT +bacillary//BSLR +bacilli//BSL +bacillus/MS/BSLS +back/GZDRMSJ/BK +backache/SM/BKX +backarrow//BKR +backbench/ZR/BKBNX +backbencher/M/BKBNX +backbit/ZGJR/BKBT +backbite/S/BKBT +backbiter/M/BKBT +backbitten//BKBTN +backboard/SM/BKBT +backbone/SM/BKBN +backbreaking//BKBRKN +backchaining//BKXNN +backcloth/M/BKKL@ +backdate/GDS/BKTT +backdrop/MS/BKTRP +backdropped//BKTRPT +backdropping//BKTRPN +backed/U/BKT +backer/M/BK +backfield/SM/BKFLT +backfill/SDG/BKFL +backfire/GDS/BKFR +backgammon/MS/BKKMN +background/SDRMZG/BKKRNT +backhand/RDMSZG/BKHNT +backhanded/Y/BKHNTT +backhander/M/BKHNT +backhoe/S/BKH +backing/M/BKN +backlash/GRSDM/BKLX +backless//BKLS +backlog/MS/BKLK +backlogged//BKLKT +backlogging//BKLKN +backorder//BKT +backpack/ZGSMRD/BKPK +backpacker/M/BKPK +backpedal/DGS/BKPTL +backplane/MS/BKPLN +backplate/SM/BKPLT +backrest/MS/BKRST +backscatter/SMDG/BKSKT +backseat/S/BKST +backside/SM/BKST +backslapper/MS/BKSLP +backslapping/M/BKSLPN +backslash/DSG/BKSLX +backslid/RZG/BKSLT +backslide/S/BKSLT +backslider/M/BKSLT +backspace/GSD/BKSPS +backspin/SM/BKSPN +backstabber/M/BKSTB +backstabbing//BKSTBN +backstage//BKSTK +backstair/S/BKST +backstitch/GDSM/BKSTX +backstop/MS/BKSTP +backstopped//BKSTPT +backstopping//BKSTPN +backstreet/M/BKSTRT +backstretch/SM/BKSTRX +backstroke/GMDS/BKSTRK +backtalk/S/BKTLK +backtrack/SDRGZ/BKTRK +backup/SM/BKP +Backus/M/BKS +backward/YSP/BKWT +backwardness/MS/BKWTNS +backwash/SDMG/BKWX +backwater/SM/BKWT +backwood/S/BKWT +backwoodsman/M/BKWTSMN +backwoodsmen//BKWTSMN +backyard/MS/BKYT +Bacon/M/BKN +bacon/SRM/BKN +baconer/M/BKN +bacteria/MS/BKTR +bacterial/Y/BKTRL +bactericidal//BKTRSTL +bactericide/SM/BKTRST +bacteriologic//BKTRLKK +bacteriological//BKTRLKKL +bacteriologist/MS/BKTRLKST +bacteriology/SM/BKTRLK +bacterium/M/BKTRM +Bactria/M/BKTR +bad/PSNY/BT +badder//BT +baddest//BTST +baddie/MS/BT +bade//BT +Baden/M/BTN +badge/DSRGMZ/BK +badger/DMG/BKR +badinage/DSMG/BTNK +badland/S/BTLNT +Badlands/M/BTLNTS +badman/M/BTMN +badmen//BTMN +badminton/MS/BTMNTN +badmouth/DG/BTM@ +badmouths//BTM@S +badness/SM/BTNS +Baedeker/SM/BTK +Baez/M/BS +Baffin/M/BFN +baffle/RSDGZL/BFL +bafflement/MS/BFLMNT +baffler/M/BFL +baffling/Y/BFLN +bag/SM/BK +bagatelle/MS/BKTL +bagel/SM/BKL +bagful/MS/BKFL +baggage/SM/BKK +baggageman//BKKMN +baggagemen//BKKMN +bagged/M/BKT +bagger/SM/BK +baggily//BKL +bagginess/MS/BKNS +bagging/M/BKN +baggy/PRST/BK +Baghdad/M/BTT +bagpipe/RSMZ/BKPP +bagpiper/M/BKPP +Bagrodia/MS/BKRT +baguette/SM/BKT +Baguio/M/BK +bah//B +Baha'i//BH +Bahama/MS/BHM +Bahamanian/S/BHMNN +Bahamian/MS/BHMN +Baha'ullah//BHL +Bahia/M/BH +Bahrain/M/BRN +bahs//BS +Baikal/M/BKL +bail/GSMYDRB/BL +Bail/M/BL +Bailey/SM/BL +Bailie/M/BL +bailiff/SM/BLF +bailiwick/MS/BLWK +Baillie/M/BL +bailout/MS/BLT +bailsman/M/BLSMN +bailsmen//BLSMN +Baily/M/BL +Baird/M/BT +bairn/SM/BN +bait/GSMDR/BT +baiter/M/BT +baize/GMDS/BS +Baja/M/BK +bake/ZGJDRS/BK +baked/U/BKT +bakehouse/M/BKHS +Bakelite/M/BKLT +baker/M/BK +Baker/M/BK +Bakersfield/M/BKSFLT +bakery/SM/BKR +bakeshop/S/BKXP +baking/M/BKN +baklava/M/BKLF +baksheesh/SM/BKXX +Baku/M/BK +Bakunin/M/BKNN +balaclava/MS/BLKLF +balalaika/MS/BLLK +balance/USDG/BLNS +balanced/A/BLNST +balancedness//BLNSTNS +balancer/MS/BLNS +balance's//BLNSS +Balanchine/M/BLNXN +Balboa/M/BLB +balboa/SM/BLB +balcony/MSD/BLKN +Bald/MR/BLT +bald/PYDRGST/BLT +Balder/M/BLT +balderdash/MS/BLTTX +baldfaced//BLTFST +baldness/MS/BLTNS +baldric/SM/BLTRK +Balduin/M/BLTN +Baldwin/M/BLTWN +baldy//BLT +Bale/M/BL +bale/MZGDRS/BL +Balearic/M/BLRK +baleen/MS/BLN +baleful/YP/BLFL +balefuller//BLFL +balefullest//BLFLST +balefulness/MS/BLFLNS +baler/M/BL +Balfour/M/BLF +Bali/M/BL +Balinese//BLNS +balk/GDRS/BLK +Balkan/SM/BLKN +balkanization//BLKNSXN +balkanize/DG/BLKNS +balker/M/BLK +Balkhash/M/BLKHX +balkiness/M/BLKNS +balky/PRT/BLK +ball/GZMSDR/BL +Ball/M/BL +ballad/SM/BLT +ballade/MS/BLT +balladeer/MS/BLT +balladry/MS/BLTR +Ballard/SM/BLT +ballast/SGMD/BLST +ballcock/S/BLKK +baller/M/BL +ballerina/MS/BLRN +ballet/MS/BLT +balletic//BLTK +ballfields//BLFLTS +ballgame/S/BLKM +ballistic/S/BLSTK +ballistics/M/BLSTKS +balloon/RDMZGS/BLN +balloonist/S/BLNST +ballot/MRDGS/BLT +balloter/M/BLT +ballpark/SM/BLPK +ballplayer/SM/BLPLY +ballpoint/SM/BLPNT +ballroom/SM/BLRM +ballsy/TR/BLS +ballyhoo/SGMD/BLH +balm/MS/BLM +balminess/SM/BLMNS +balmy/PRT/BLM +baloney/SM/BLN +balsa/MS/BLS +balsam/GMDS/BLSM +balsamic//BLSMK +Balthazar/M/BL@S +Baltic/M/BLTK +Baltimore/M/BLTMR +Baluchistan/M/BLXSTN +baluster/MS/BLST +balustrade/SM/BLSTRT +Balzac/M/BLSK +Bamako/M/BMK +Bamberger/M/BMBK +Bambi/M/BMB +Bambie/M/BMB +bamboo/SM/BMB +bamboozle/GSD/BMBSL +Bamby/M/BMB +Ban/M/BN +ban/SGMD/BN +Banach/M/BNX +banal/TYR/BNL +banality/MS/BNLT +banana/SM/BNN +Bancroft/M/BNKRFT +band/EDGS/BNT +bandage/RSDMG/BNTK +bandager/M/BNTK +bandanna/SM/BNTN +bandbox/MS/BNTBKS +bandeau/M/BNT +bandeaux//BNTKS +bander/M/BNT +banding/M/BNTN +bandit/MS/BNTT +banditry/MS/BNTTR +bandmaster/MS/BNTMST +bandoleer/SM/BNTL +bandpass//BNTPS +band's//BNTS +bandsman/M/BNTSMN +bandsmen//BNTSMN +bandstand/SM/BNTSTNT +bandstop//BNTSTP +Bandung/M/BNTNK +bandwagon/MS/BNTWKN +bandwidth/M/BNTWT@ +bandwidths//BNTWT@S +bandy/TGRSD/BNT +bane/MS/BN +baneful/Y/BNFL +banefuller//BNFL +banefullest//BNFLST +bang/GDRZMS/BNK +Bangalore/M/BNKLR +banger/M/BNK +bangkok//BNKKK +Bangkok/M/BNKKK +Bangladesh/M/BNKLTX +Bangladeshi/S/BNKLTX +bangle/MS/BNKL +Bangor/M/BNK +Bangui/M/BNK +bani//BN +banish/RSDGL/BNX +banisher/M/BNX +banishment/MS/BNXMNT +banister/MS/BNST +Banjarmasin/M/BNKMSN +banjo/MS/BNK +banjoist/SM/BNKST +Banjul/M/BNKL +bank/GZJDRMBS/BNK +Bank/MS/BNK +bankbook/SM/BNKBK +bankcard/S/BNKKT +banker/M/BNK +banking/M/BNKN +banknote/S/BNKNT +bankroll/DMSG/BNKRL +bankrupt/DMGS/BNKRPT +bankruptcy/MS/BNKRPTS +Banky/M/BNK +banned/U/BNT +Banneker/M/BNK +banner/SDMG/BN +banning/U/BNN +Bannister/M/BNST +bannister's//BNSTS +bannock/SM/BNK +banns//BNS +banquet/SZGJMRD/BNKT +banqueter/M/BNKT +banquette/MS/BNKT +bans/U/BNS +banshee/MS/BNX +bantam/MS/BNTM +bantamweight/MS/BNTMWT +banter/RDSG/BNT +banterer/M/BNTR +bantering/Y/BNTRN +Banting/M/BNTN +Bantu/SM/BNT +banyan/MS/BNYN +banzai/S/BNS +baobab/SM/BBB +Baotou/M/BT +baptism/SM/BPTSM +baptismal/Y/BPTSML +baptist/MS/BPTST +Baptist/MS/BPTST +Baptiste/M/BPTST +baptistery/MS/BPTSTR +baptistry's//BPTSTRS +baptize/SRDZG/BPTS +baptized/U/BPTST +baptizer/M/BPTS +baptizes/U/BPTSS +Bar/MH/B +bar/TGMDRS/B +Barabbas/M/BRBS +barb/DRMSGZ/BB +Barb/RM/BB +Barbabas/M/BBBS +Barbabra/M/BBBR +Barbadian/S/BBTN +Barbados/M/BBTS +Barbara/M/BBR +Barbaraanne/M/BBRN +Barbarella/M/BBRL +barbarian/MS/BBRN +barbarianism/MS/BBRNSM +barbaric//BBRK +barbarically//BBRKL +barbarism/MS/BBRSM +barbarity/SM/BBRT +barbarize/SDG/BBRS +Barbarossa/M/BBRS +barbarous/PY/BBRS +barbarousness/M/BBRSNS +Barbary/M/BBR +Barbe/M/BB +barbecue/DRSMG/BBK +barbed/P/BBT +Barbee/M/BB +barbel/MS/BBL +barbell/SM/BBL +barbeque's//BBKS +barber/DMG/BB +Barber/M/BB +barbered/U/BBRT +barberry/MS/BBR +barbershop/MS/BBXP +Barbette/M/BBT +Barbey/M/BB +Barbi/M/BB +Barbie/M/BB +barbital/M/BBTL +barbiturate/MS/BBTRT +Barbour/M/BB +Barbra/M/BBR +Barbuda/M/BBT +barbwire/SM/BBWR +Barby/M/BB +barcarole/SM/BKRL +Barcelona/M/BSLN +Barclay/M/BKL +Bard/M/BT +bard/MDSG/BT +Barde/M/BT +Bardeen/M/BTN +bardic//BTK +bare/YSP/BR +bareback/D/BRBK +barefaced/YP/BRFST +barefacedness/M/BRFSTNS +barefoot/D/BRFT +barehanded//BRHNTT +bareheaded//BRHTT +barelegged//BRLKT +bareness/MS/BRNS +Barents/M/BRNTS +barf/YDSG/BF +barfly/SM/BFL +bargain/ZGSDRM/BKN +bargainer/M/BKN +barge/DSGM/BK +bargeman/M/BKMN +bargemen//BKMN +bargepole/M/BKPL +barhop/S/BHP +barhopped//BHPT +barhopping//BHPN +Bari/M/BR +baritone/MS/BRTN +barium/MS/BRM +bark/GZDRMS/BK +barked/C/BKT +barkeep/SRZ/BKP +barkeeper/M/BKP +barker/M/BK +Barker/M/BK +Barkley/M/BKL +barks/C/BKS +barley/MS/BL +barleycorn/MS/BLKN +Barlow/M/BL +barmaid/SM/BMT +barman/M/BMN +barmen//BMN +barn/GDSM/BN +Barn/M/BN +Barnabas//BNBS +Barnabe/M/BNB +Barnaby/M/BNB +barnacle/MDS/BNKL +Barnard/M/BNT +Barnaul/M/BNL +Barnebas/M/BNBS +Barnes//BNS +Barnett/M/BNT +Barney/M/BN +barnful//BNFL +Barnhard/M/BNHT +Barnie/M/BN +barnsful//BNSFL +barnstorm/DRGZS/BNSTM +barnstormer/M/BNSTM +Barnum/M/BNM +Barny/M/BN +barnyard/MS/BNYT +Baroda/M/BRT +barometer/MS/BRMT +barometric//BRMTRK +barometrically//BRMTRKL +Baron/M/BRN +baron/SM/BRN +baronage/MS/BRNK +baroness/MS/BRNS +baronet/MS/BRNT +baronetcy/SM/BRNTS +baronial//BRNL +barony/SM/BRN +baroque/SPMY/BRK +barque's//BKS +Barquisimeto/M/BKSMT +Barr/M/BR +barrack/SDRG/BRK +barracker/M/BRK +barracuda/MS/BRKT +barrage/MGSD/BRK +Barranquilla/M/BRNKL +barre/GMDSJ/BR +barred/ECU/BRT +barrel/SGMD/BRL +barren/SPRT/BRN +barrenness/SM/BRNS +Barrera/M/BRR +Barret/M/BRT +Barrett/M/BRT +barrette/SM/BRT +Barri/SM/BR +barricade/SDMG/BRKT +Barrie/M/BR +barrier/MS/BR +barring/R/BRN +barrio/SM/BR +barrister/MS/BRST +Barron/M/BRN +barroom/SM/BRM +barrow/MS/BR +Barry/M/BR +Barrymore/MS/BRMR +bars/ECU/BS +barstool/SM/BSTL +Barstow/M/BST +Bart/M/BT +Bartel/M/BTL +bartend/ZR/BTNT +bartender/M/BTNT +barter/SRDZG/BT +barterer/M/BTR +Barth/M/B@ +Barthel/M/B@L +Bartholdi/M/B@LT +Bartholemy/M/B@LM +Bartholomeo/M/B@LM +Bartholomeus/M/B@LMS +Bartholomew/M/B@LM +Bartie/M/BT +Bartlet/M/BTLT +Bartlett/M/BTLT +Bartók/M/BTK +Bartolemo/M/BTLM +Bartolomeo/M/BTLM +Barton/M/BTN +Bartram/M/BTRM +Barty/M/BT +Bary/M/BR +barycenter//BRSNT +barycentre's//BRSNTRS +barycentric//BRSNTRK +baryon/SM/BRYN +Baryram/M/BRRM +Baryshnikov/M/BRXNKF +bas/DRSTG/BS +basal/Y/BSL +basalt/SM/BSLT +basaltic//BSLTK +Bascom/M/BSKM +base/CGRSDL/BS +Base/M/BS +baseball/MS/BSBL +baseband//BSBNT +baseboard/MS/BSBT +Basel/M/BSL +baseless//BSLS +baseline/SM/BSLN +basely//BSL +baseman/M/BSMN +basemen//BSMN +basement/CSM/BSMNT +baseness/MS/BSNS +baseplate/M/BSPLT +base's//BSS +basetting//BSTN +bash/JGDSR/BX +bashful/PY/BXFL +bashfulness/MS/BXFLNS +Basho/M/BX +Basia/M/BX +BASIC//BSK +basic/S/BSK +basically//BSKL +Basie/M/BS +Basil/M/BSL +basil/MS/BSL +basilar//BSL +Basile/M/BSL +basilica/SM/BSLK +Basilio/M/BSL +basilisk/SM/BSLSK +Basilius/M/BSLS +basin/DMS/BSN +basinful/S/BSNFL +basis/M/BSS +bask/GSD/BSK +basket/SM/BSKT +basketball/MS/BSKTBL +basketry/MS/BSKTR +basketwork/SM/BSKTWK +basophilic//BSFLK +Basque/SM/BSK +Basra/M/BSR +Bass/M/BS +bass/SM/BS +basset/GMDS/BST +Basseterre/M/BSTR +Bassett/M/BST +bassinet/SM/BSNT +bassist/MS/BSST +basso/MS/BS +bassoon/MS/BSN +bassoonist/MS/BSNST +basswood/SM/BSWT +bast/SGZMDR/BST +bastard/MYS/BSTT +bastardization/MS/BSTTSXN +bastardize/SDG/BSTTS +bastardized/U/BSTTST +bastardy/MS/BSTT +baste/NXS/BST +baster/M/BST +Bastian/M/BSXN +Bastien/M/BSTN +Bastille/M/BSTL +basting/M/BSTN +bastion/DM/BSXN +Basutoland/M/BSTLNT +Bat/M/BT +bat/SMDRG/BT +Bataan/M/BTN +Batavia/M/BTF +batch/MRSDG/BX +bate/KGSADC/BT +bated/U/BTT +bater/AC/BT +Bates//BTS +bath/JMDSRGZ/B@ +bathe//B@ +bather/M/B@ +bathetic//B@TK +bathhouse/SM/B@HS +bathmat/S/B@MT +Batholomew/M/B@LM +bathos/SM/B@S +bathrobe/MS/B@RB +bathroom/SDM/B@RM +baths//B@S +Bathsheba/M/B@XB +bathtub/MS/B@TB +bathwater//B@WT +bathyscaphe's//B@SKFS +bathysphere/MS/B@SFR +batik/DMSG/BTK +Batista/M/BTST +batiste/SM/BTST +batman/M/BTMN +Batman/M/BTMN +batmen//BTMN +baton/SM/BTN +Batsheva/M/BTXF +batsman/M/BTSMN +batsmen//BTSMN +battalion/MS/BTLN +batted//BTT +batten/SDMG/BTN +batter/SRDZG/BT +battery/MS/BTR +batting/MS/BTN +battle/GMZRSDL/BTL +Battle/M/BTL +battledore/MS/BTLTR +battledress//BTLTRS +battlefield/SM/BTLFLT +battlefront/SM/BTLFRNT +battleground/SM/BTLKRNT +battlement/SMD/BTLMNT +battler/M/BTL +battleship/MS/BTLXP +batty/RT/BT +Batu/M/BT +batwings//BTWNS +bauble/SM/BBL +baud/M/BT +Baudelaire/M/BTLR +Baudoin/M/BTN +Baudouin/M/BTN +Bauer/M/B +Bauhaus/M/BHS +baulk/GSDM/BLK +Bausch/M/BSX +bauxite/SM/BKST +Bavaria/M/BFR +Bavarian/S/BFRN +bawd/SM/BT +bawdily//BTL +bawdiness/MS/BTNS +bawdy/PRST/BT +bawl/SGDR/BL +bawler/M/BL +Bax/M/BKS +Baxie/M/BKS +Baxter/M/BKST +Baxy/M/BKS +bay/GSMDY/B +Bay/MR/B +Bayamon//BYMN +Bayard/M/BYT +bayberry/MS/BBR +Bayda/M/BT +Bayer/M/BY +Bayes//BYS +Bayesian//BYXN +Baylor/M/BL +bayonet/SGMD/BYNT +Bayonne/M/BYN +bayou/MS/BY +Bayreuth/M/BR@ +bazaar/MS/BS +bazillion/S/BSLN +bazooka/MS/BSK +BB//B +BBB//B +BBC//BK +bbl//BL +BBQ//BK +BBS//BS +BC//BK +BCD//BKT +bdrm//BTRM +be/KS/B +Be/MH/B +Bea/M/B +Beach/M/BX +beach/MSDG/BX +beachcomber/SM/BXKMB +beachhead/SM/BXHT +beachwear/M/BXW +beacon/DMSG/BKN +bead/SJGMD/BT +beading/M/BTN +Beadle/M/BTL +beadle/SM/BTL +beadsman/M/BTSMN +beadworker//BTWK +beady/TR/BT +beagle/SDGM/BKL +beak/ZSDRM/BK +beaker/M/BK +Beale/M/BL +Bealle/M/BL +beam/MDRSGZ/BM +bean/DRMGZS/BN +Bean/M/BN +beanbag/SM/BNBK +beanie/SM/BN +beanpole/MS/BNPL +beanstalk/SM/BNSTLK +Bear/M/B +bear/ZBRSJG/B +bearable/U/BRBL +bearably/U/BRBL +beard/DSGM/BT +Beard/M/BT +bearded/P/BTT +beardless//BTLS +Beardmore/M/BTMR +Beardsley/M/BTSL +bearer/M/BR +bearing/M/BRN +bearish/PY/BRX +bearishness/SM/BRXNS +bearlike//BLK +Bearnaise/M/BNS +Bearnard/M/BNT +bearskin/MS/BSKN +Beasley/M/BSL +beast/SJMY/BST +beasties//BSTS +beastings/M/BSTNS +beastliness/MS/BSTLNS +beastly/PTR/BSTL +beat/NRGSBZJ/BT +beatable/U/BTBL +beatably/U/BTBL +beaten/U/BTN +beater/M/BT +beatific//BTFK +beatifically//BTFKL +beatification/M/BTFKXN +beatify/GNXDS/BTF +beating/M/BTN +beatitude/MS/BTTT +Beatlemania/M/BTLMN +Beatles/M/BTLS +beatnik/SM/BTNK +Beatrice/M/BTRS +Beatrisa/M/BTRS +Beatrix/M/BTRKS +Beatriz/M/BTRS +Beau/M/B +beau/MS/B +Beauchamps//BXMPS +Beaufort/M/BFT +Beaujolais/M/BKLS +Beaumarchais/M/BMXS +Beaumont/M/BMNT +Beauregard/M/BRKT +beaut/SM/BT +beauteous/YP/BTS +beauteousness/M/BTSNS +beautician/MS/BTXN +beautification/M/BTFKXN +beautifier/M/BTF +beautiful/PTYR/BTFL +beautifully/U/BTFL +beautifulness/M/BTFLNS +beautify/SRDNGXZ/BTF +beauty/SM/BT +Beauvoir/M/BF +beaux's//BKSS +beaver/DMSG/BF +Beaverton/M/BFTN +Bebe/M/BB +bebop/MS/BBP +becalm/GDS/BKLM +became//BKM +because//BKS +Becca/M/BK +Bechtel/M/BXTL +beck/GSDM/BK +Beck/RM/BK +Becka/M/BK +Becker/M/BK +Becket/M/BKT +Beckett/M/BKT +Becki/M/BK +Beckie/M/BK +beckon/SDG/BKN +Becky/M/BK +becloud/SGD/BKLT +become/GJS/BKM +becoming/UY/BKMN +Becquerel/M/BKRL +bed/MS/BT +bedaub/GDS/BTB +bedazzle/GLDS/BTSL +bedazzlement/SM/BTSLMNT +bedbug/SM/BTBK +bedchamber/M/BTXMB +bedclothes//BTKL@S +bedded//BTT +bedder/MS/BT +bedding/MS/BTN +Bede/M/BT +bedeck/DGS/BTK +bedevil/DGLS/BTFL +bedevilment/SM/BTFLMNT +bedfast//BTFST +bedfellow/MS/BTFL +Bedford/M/BTFT +bedim/S/BTM +bedimmed//BTMT +bedimming//BTMN +bedizen/DGS/BTSN +bedlam/MS/BTLM +bedlinen//BTLNN +bedmaker/SM/BTMK +bedmate/MS/BTMT +Bedouin/SM/BTN +bedpan/SM/BTPN +bedpost/SM/BTPST +bedraggle/GSD/BTRKL +bedridden//BTRTN +bedrock/SM/BTRK +bedroll/SM/BTRL +bedroom/DMS/BTRM +bedsheets//BTXTS +bedside/MS/BTST +bedsit//BTST +bedsitter/M/BTST +bedsore/MS/BTSR +bedspread/SM/BTSPRT +bedspring/SM/BTSPRN +bedstead/SM/BTSTT +bedstraw/M/BTSTR +bedtime/SM/BTTM +Bee/M/B +bee/MZGJRS/B +Beebe/M/BB +beebread/MS/BBRT +beech/MRSN/BX +Beecher/M/BX +beechnut/MS/BXNT +beechwood//BXWT +beef/GZSDRM/BF +beefburger/SM/BFBK +beefcake/MS/BFKK +beefiness/MS/BFNS +beefsteak/MS/BFSTK +beefy/TRP/BF +beehive/MS/BHF +beekeeper/MS/BKP +beekeeping/SM/BKPN +beeline/MGSD/BLN +Beelzebub/M/BLSBB +been/S/BN +beep/GZSMDR/BP +beeper/M/BP +beer/M/B +Beerbohm/M/BBM +beermat/S/BMT +beery/TR/BR +beeswax/DSMG/BSWKS +beet/SM/BT +Beethoven/M/B@FN +beetle/GMRSD/BTL +Beeton/M/BTN +beetroot/M/BTRT +beeves/M/BFS +befall/SGN/BFL +befell//BFL +befit/SM/BFT +befitted//BFTT +befitting/Y/BFTN +befog/S/BFK +befogged//BFKT +befogging//BFKN +before//BFR +beforehand//BFRHNT +befoul/GSD/BFL +befriend/DGS/BFRNT +befuddle/GLDS/BFTL +befuddlement/SM/BFTLMNT +beg/S/BK +began//BKN +beget/S/BKT +begetting//BKTN +beggar/DYMSG/BK +beggarliness/M/BKLNS +beggarly/P/BKL +beggary/MS/BKR +begged//BKT +begging//BKN +Begin/M/BKN +begin/S/BKN +beginner/MS/BKN +beginning/MS/BKNN +begone/S/BKN +begonia/SM/BKN +begot//BKT +begotten//BKTN +begrime/SDG/BKRM +begrudge/GDRS/BKRK +begrudging/Y/BKRKNK +beguile/RSDLZG/BKL +beguilement/SM/BKLMNT +beguiler/M/BKL +beguiling/Y/BKLN +beguine/SM/BKN +begum/MS/BKM +begun//BKN +behalf/M/BHLF +behalves//BHLFS +Behan/M/BHN +behave/GRSD/BHF +behavior/SMD/BHF +behavioral/Y/BHFRL +behaviorism/MS/BHFRSM +behaviorist/S/BHFRST +behavioristic/S/BHFRSTK +behead/GSD/BHT +beheld//BHLT +behemoth/M/BHM@ +behemoths//BHM@S +behest/SM/BHST +behind/S/BHNT +behindhand//BHNTHNT +behold/ZGRNS/BHLT +beholder/M/BHLT +behoofs//BHFS +behoove/SDJMG/BHF +behooving/YM/BHFN +Behring/M/BRN +Beiderbecke/M/BTBK +beige/MS/BK +Beijing//BKN +Beilul/M/BLL +being/M/BN +Beirut/M/BRT +Beitris/M/BTRS +bejewel/SDG/BKWL +Bekesy/M/BKS +Bekki/M/BK +Bel/M/BL +Bela/M/BL +belabor/MDSG/BLB +Belarus//BLRS +belate/D/BLT +belated/PY/BLTT +belatedness/M/BLTTNS +Belau/M/BL +belay/GSD/BL +belch/GSD/BLX +beleaguer/GDS/BLK +Belem/M/BLM +Belfast/M/BLFST +belfry/SM/BLFR +Belg/M/BLK +Belgian/MS/BLKN +Belgium/M/BLKM +Belgrade/M/BLKRT +Belia/M/BL +Belicia/M/BLX +belie//BL +belief/ESUM/BLF +belier/M/BL +believability/U/BLFBLT +believability's//BLFBLTS +believable/U/BLFBL +believably/U/BLFBL +believe/EZGDRS/BLF +believed/U/BLFT +believer/MUSE/BLF +believing/U/BLFN +Belinda/M/BLNT +Belita/M/BLT +belittle/RSDGL/BLTL +belittlement/MS/BLTLMNT +belittler/M/BLTL +Belize/M/BLS +bell/GSMD/BL +Bell/M/BL +Bella/M/BL +belladonna/MS/BLTN +Bellamy/M/BLM +Bellanca/M/BLNK +Bellatrix/M/BLTRKS +bellboy/MS/BLB +Belle/M/BL +belle/MS/BL +belled/A/BLT +belletrist/SM/BLTRST +belletristic//BLTRSTK +Belleville/M/BLFL +bellflower/M/BLFLW +bellhop/MS/BLHP +bellicose/YP/BLKS +bellicoseness/M/BLKSNS +bellicosity/MS/BLKST +belligerence/SM/BLKRNS +belligerency/MS/BLKRNS +belligerent/SMY/BLKRNT +Bellina/M/BLN +belling/A/BLN +Bellini/M/BLN +bellman/M/BLMN +bellmen//BLMN +Bellovin/M/BLFN +bellow/DGS/BL +Bellow/M/BL +bellows/M/BLS +bells/A/BLS +bellwether/MS/BLW@ +Bellwood/M/BLWT +belly/SDGM/BL +bellyache/SRDGM/BLYX +bellyacher/M/BLYX +bellybutton/MS/BLBTN +bellyful/MS/BLFL +bellyfull//BLFL +Belmont/M/BLMNT +Belmopan/M/BLMPN +Beloit/M/BLT +belong/DGJS/BLNK +belonging/MP/BLNKN +Belorussian/S/BLRXN +Belorussia's//BLRXS +belove/D/BLF +beloved/S/BLFT +below/S/BL +Belshazzar/M/BLXS +belt/GSMD/BLT +belted/U/BLTT +belting/M/BLTN +Belton/M/BLTN +Beltran/M/BLTRN +Beltsville/M/BLTSFL +beltway/SM/BLTW +beluga/SM/BLK +Belushi/M/BLX +Belva/M/BLF +belvedere/M/BLFTR +Belvia/M/BLF +bely/DSRG/BL +beman//BMN +bemire/SDG/BMR +bemoan/GDS/BMN +bemuse/GSDL/BMS +bemused/Y/BMST +bemusement/SM/BMSMNT +Ben/M/BN +Benacerraf/M/BNSRF +Benares's//BNRSS +bench/MRSDG/BNX +bencher/M/BNX +benchmark/GDMS/BNXMK +bend/BUSG/BNT +bended//BNTT +Bender/M/BNT +bender/MS/BNT +Bendick/M/BNTK +Bendicty/M/BNTKT +Bendite/M/BNTT +Bendix/M/BNTKS +beneath//BN@ +Benedetta/M/BNTT +Benedetto/M/BNTT +Benedick/M/BNTK +Benedict/M/BNTKT +Benedicta/M/BNTKT +Benedictine/MS/BNTKTN +benediction/MS/BNTKXN +Benedicto/M/BNTKT +benedictory//BNTKTR +Benedikt/M/BNTKT +Benedikta/M/BNTKT +benefaction/MS/BNFKXN +benefactor/MS/BNFKT +benefactress/S/BNFKTRS +benefice/MGSD/BNFS +beneficence/SM/BNFSNS +beneficent/Y/BNFSNT +beneficial/PY/BNFXL +beneficialness/M/BNFXLNS +beneficiary/MS/BNFXR +benefit/SRDMZG/BNFT +benefiter/M/BNFT +Benelux/M/BNLKS +Benet/M/BNT +Benetta/M/BNT +Benetton/M/BNTN +benevolence/SM/BNFLNS +benevolent/YP/BNFLNT +benevolentness/M/BNFLNTNS +Bengal/SM/BNKL +Bengali/M/BNKL +Benghazi/M/BNKS +Bengt/M/BNKT +Beniamino/M/BNMN +benighted/YP/BNTT +benightedness/M/BNTTNS +benign/Y/BNN +benignant//BNKNNT +benignity/MS/BNKNT +Benin/M/BNN +Beninese//BNNS +Benita/M/BNT +Benito/M/BNT +Benjamen/M/BNKMN +Benjamin/M/BNKMN +Benji/M/BNK +Benjie/M/BNK +Benjy/M/BNK +Benn/M/BN +Bennett/M/BNT +Benni/M/BN +Bennie/M/BN +Bennington/M/BNNTN +Benny/M/BN +Benoit/M/BNT +Benoite/M/BNT +Benson/M/BNSN +Bent/M/BNT +bent/U/BNT +Bentham/M/BN@M +Bentlee/M/BNTL +Bentley/MS/BNTL +Benton/M/BNTN +bents//BNTS +bentwood/SM/BNTWT +benumb/SGD/BNM +Benyamin/M/BNYMN +Benz/M/BNS +Benzedrine/M/BNSTRN +benzene/MS/BNSN +benzine/SM/BNSN +Beograd's//BKRTS +Beowulf/M/BWLF +bequeath/GSD/BK@ +bequeaths//BK@S +bequest/MS/BKST +Ber/MG/B +berate/GSD/BRT +Berber/MS/BB +bereave/GLSD/BRF +bereavement/MS/BRFMNT +bereft//BRFT +Berenice/M/BRNS +Beret/M/BRT +beret/SM/BRT +Berg/NRM/BK +berg/NRSM/BK +Bergen/M/BKN +Berger/M/BK +Bergerac/M/BKRK +Berget/M/BKT +Berglund/M/BKLNT +Bergman/M/BKMN +Bergson/M/BKSN +Bergsten/M/BKSTN +Bergstrom/M/BKSTRM +beribbon/D/BRBN +beriberi/SM/BRBR +Bering/RM/BRN +Beringer/M/BRN +Berk/YM/BK +Berke/M/BK +Berkeley/M/BKL +berkelium/SM/BKLM +Berkie/M/BK +Berkley/M/BKL +Berkly/M/BKL +Berkowitz/M/BKWTS +Berkshire/SM/BKXR +Berky/M/BK +Berle/M/BL +Berlin/SZRM/BLN +Berliner/M/BLN +Berlioz/M/BLS +Berlitz/M/BLTS +berm/SM/BM +Berman/M/BMN +Bermuda/MS/BMT +Bermudan/S/BMTN +Bermudian/S/BMTN +Bern/M/BN +Berna/M/BN +Bernadene/M/BNTN +Bernadette/M/BNTT +Bernadina/M/BNTN +Bernadine/M/BNTN +Bernard/M/BNT +Bernardina/M/BNTN +Bernardine/M/BNTN +Bernardino/M/BNTN +Bernardo/M/BNT +Bernarr/M/BNR +Bernays/M/BNS +Bernbach/M/BNBX +Bernelle/M/BNL +Berne's//BNS +Bernese//BNS +Bernete/M/BNT +Bernetta/M/BNT +Bernette/M/BNT +Bernhard/M/BNHT +Bernhardt/M/BNHTT +Berni/M/BN +Bernice/M/BNS +Bernie/M/BN +Berniece/M/BNS +Bernini/M/BNN +Bernita/M/BNT +Bernoulli/M/BNL +Bernstein/M/BNSTN +Berny/M/BN +Berra/M/BR +Berri/M/BR +Berrie/M/BR +Berry/M/BR +berry/SDMG/BR +berrylike//BRLK +berserk/SR/BSK +berserker/M/BSK +Bert/M/BT +Berta/M/BT +Berte/M/BT +berth/MDGJ/B@ +Bertha/M/B@ +Berthe/M/B@ +berths//B@S +Berti/M/BT +Bertie/M/BT +Bertillon/M/BTLN +Bertina/M/BTN +Bertine/M/BTN +Berton/M/BTN +Bertram/M/BTRM +Bertrand/M/BTRNT +Bertrando/M/BTRNT +Berty/M/BT +Beryl/M/BRL +beryl/SM/BRL +Beryle/M/BRL +beryllium/MS/BRLM +Berzelius/M/BSLS +bes//BS +beseech/RSJZG/BSX +beseecher/M/BSX +beseeching/Y/BSXN +beseem/GDS/BSM +beset/S/BST +besetting//BSTN +beside/S/BST +besiege/SRDZG/BSK +besieger/M/BSK +besmear/GSD/BSM +besmirch/GSD/BSMX +besom/GMDS/BSM +besot/S/BST +besotted//BSTT +besotting//BSTN +besought//BST +bespangle/GSD/BSPNKL +bespatter/SGD/BSPT +bespeak/SG/BSPK +bespectacled//BSPKTKLT +bespoke//BSPK +bespoken//BSPKN +Bess//BS +Bessel/M/BSL +Bessemer/M/BSM +Bessie/M/BS +Bessy/M/BS +best/DRSG/BST +Best/M/BST +bestial/Y/BSXL +bestiality/MS/BSXLT +bestiary/MS/BSXR +bestir/S/BST +bestirred//BSTRT +bestirring//BSTRN +bestow/SGD/BST +bestowal/SM/BSTWL +bestrew/DGS/BSTR +bestrewn//BSTRN +bestridden//BSTRTN +bestride/SG/BSTRT +bestrode//BSTRT +bestseller/MS/BSTSL +bestselling//BSTSLN +bestubble/D/BSTBL +bet/MS/BT +beta/SM/BT +betake/SG/BTK +betaken//BTKN +betatron/M/BTTRN +betcha//BX +betel/MS/BTL +Betelgeuse/M/BTLKS +beth/M/B@ +Beth/M/B@ +Bethanne/M/B@N +Bethany/M/B@N +Bethe/M/B@ +bethel/M/B@L +Bethena/M/B@N +Bethesda/M/B@ST +Bethina/M/B@N +bethink/GS/B@NK +Bethlehem/M/B@LHM +bethought//B@T +Bethune//B@N +betide/GSD/BTT +betimes//BTMS +betoken/GSD/BTKN +betook//BTK +betray/SRDZG/BTR +betrayal/SM/BTRYL +betrayer/M/BTRY +betroth/GD/BTR@ +betrothal/SM/BTR@L +betrothed/U/BTR@T +betroths//BTR@S +Betsey/M/BTS +Betsy/M/BTS +Betta/M/BT +Bette/M/BT +Betteann/M/BTN +Betteanne/M/BTN +better/SDLG/BT +betterment/MS/BTMNT +Betti/M/BT +Bettie/M/BT +Bettina/M/BTN +Bettine/M/BTN +betting//BTN +bettor/SM/BT +Betty/SM/BT +Bettye/M/BTY +between/SP/BTWN +betweenness/M/BTWNS +betwixt//BTWKST +Beulah/M/BL +Bevan/M/BFN +bevel/SJGMRD/BFL +beverage/MS/BFRK +Beverie/M/BFR +Beverlee/M/BFL +Beverley/M/BFL +Beverlie/M/BFL +Beverly/M/BFL +Bevin/M/BFN +Bevon/M/BFN +Bev's//BFS +Bevvy/M/BFF +bevy/SM/BF +bewail/GDS/BWL +beware/GSD/BWR +bewhisker/D/BHSK +bewigged//BWKT +bewilder/LDSG/BWLT +bewildered/PY/BWLTRT +bewildering/Y/BWLTRN +bewilderment/SM/BWLTMNT +bewitch/LGDS/BWX +bewitching/Y/BWXN +bewitchment/SM/BWXMNT +bey/MS/B +beyond/S/BYNT +bezel/MS/BSL +bf//BF +Bhopal/M/BHPL +Bhutan/M/BHTN +Bhutanese//BHTNS +Bhutto/M/BHT +bi/M/B +Bi/M/B +Bialystok/M/BLSTK +Bianca/M/BNK +Bianco/M/BNK +Bianka/M/BNK +biannual/Y/BNL +bias/DSMPG/BS +biased/U/BST +biathlon/MS/B@LN +biaxial/Y/BKSL +Bib/M/BB +bib/MS/BB +bibbed//BBT +Bibbie/M/BB +bibbing//BBN +Bibby/M/BB +Bibbye/M/BBY +Bibi/M/BB +bible/MS/BBL +Bible/MS/BBL +biblical/Y/BBLKL +biblicists//BBLSSTS +bibliographer/MS/BBLKRF +bibliographic/S/BBLKRFK +bibliographical/Y/BBLKRFKL +bibliography/MS/BBLKRF +bibliophile/MS/BBLFL +bibulous//BBLS +bicameral//BKMRL +bicameralism/MS/BKMRLSM +bicarb/MS/BKB +bicarbonate/MS/BKBNT +bicentenary/S/BSNTNR +bicentennial/S/BSNTNL +bicep/S/BSP +biceps/M/BSPS +bichromate/DM/BXRMT +bicker/SRDZG/BK +bickerer/M/BKR +bickering/M/BKRN +biconcave//BKNKF +biconnected//BKNKTT +biconvex//BKNFKS +bicuspid/S/BKSPT +bicycle/RSDMZG/BSKL +bicycler/M/BSKL +bicyclist/SM/BSKLST +bid/GMRS/BT +biddable//BTBL +bidden/U/BTN +bidder/MS/BT +Biddie/M/BT +bidding/MS/BTN +Biddle/M/BTL +Biddy/M/BT +biddy/SM/BT +bide/S/BT +bider/M/BT +bidet/SM/BTT +Bidget/M/BKT +bidiagonal//BTKNL +bidirectional/Y/BTRKXNL +bids/A/BTS +biennial/SY/BNL +biennium/SM/BNM +Bienville/M/BNFL +bier/M/B +Bierce/M/BS +bifocal/S/BFKL +bifurcate/SDXGNY/BFKT +bifurcation/M/BFKXN +big/PYS/BK +bigamist/SM/BKMST +bigamous//BKMS +bigamy/SM/BKM +Bigelow/M/BKL +Bigfoot//BKFT +bigged//BKT +bigger//BK +biggest//BKST +biggie/SM/BK +bigging//BKN +biggish//BKX +bighead/MS/BKT +bighearted/P/BKTT +bigheartedness/S/BKTTNS +bighorn/MS/BKN +bight/SMDG/BT +bigmouth/M/BKM@ +bigmouths//BKM@S +bigness/SM/BKNS +bigot/MDSG/BKT +bigoted/Y/BKTT +bigotry/MS/BKTR +bigwig/MS/BKWK +biharmonic//BHMNK +bijection/MS/BKKXN +bijective/Y/BKKTF +bijou/M/BK +bijoux//BKKS +bike/MZGDRS/BK +biker/M/BK +bikini/SMD/BKN +Biko/M/BK +Bil/MY/BL +bilabial/S/BLBL +bilateral/PY/BLTRL +bilateralness/M/BLTRLNS +bilayer/S/BLY +Bilbao/M/BLB +bilberry/MS/BLBR +Bilbo/M/BLB +bile/SM/BL +bilge/GMDS/BLK +Bili/M/BL +biliary//BLR +bilinear//BLN +bilingual/SY/BLNL +bilingualism/SM/BLNLSM +bilious/P/BLS +biliousness/SM/BLSNS +bilk/GZSDR/BLK +bilker/M/BLK +bill/JGZSBMDR/BL +Bill/JM/BL +billboard/MDGS/BLBT +biller/M/BL +billet/MDGS/BLT +billfold/MS/BLFLT +Billi/M/BL +billiard/SM/BLT +Billie/M/BL +billing/M/BLN +Billings/M/BLNS +billingsgate/SM/BLNSKT +billion/SHM/BLN +billionaire/MS/BLNR +billionths//BLN@S +billow/DMGS/BL +billowy/RT/BL +billposters//BLPSTS +Billy/M/BL +billy/SM/BL +Billye/M/BLY +bimbo/MS/BMB +bimetallic/S/BMTLK +bimetallism/MS/BMTLSM +Bimini/M/BMN +bimodal//BMTL +bimolecular/Y/BMLKL +bimonthly/S/BMN@L +bin/SM/BN +binary/S/BNR +binaural/Y/BNRL +bind/JDRGZS/BNT +binder/M/BNT +bindery/MS/BNTR +binding/MPY/BNTN +bindingness/M/BNTNNS +bindle/M/BNTL +binds/AU/BNTS +bindweed/MS/BNTWT +bing/GNDM/BN +Bing/M/BN +binge/MS/BN +Bingham/M/BNHM +Binghamton/M/BNHMTN +bingo/MS/BN +Bini/M/BN +Bink/M/BNK +Binky/M/BNK +binnacle/MS/BNKL +binned//BNT +Binni/M/BN +Binnie/M/BN +binning//BNN +Binny/M/BN +binocular/SY/BNKL +binodal//BNTL +binomial/SYM/BNML +binuclear//BNKL +biochemical/SY/BXMKL +biochemist/MS/BXMST +biochemistry/MS/BXMSTR +biodegradability/S/BTKRTBLT +biodegradable//BTKRTBL +biodiversity/S/BTFST +bioengineering/M/BNKNRN +bioethics//B@KS +biofeedback/SM/BFTBK +biog/S/BK +biograph/RZ/BKRF +biographer/M/BKRF +biographic//BKRFK +biographical/Y/BKRFKL +biography/MS/BKRF +Bioko/M/BK +biol//BL +biologic/S/BLKK +biological/SY/BLKKL +biologist/SM/BLKST +biology/MS/BLK +biomass/SM/BMS +biomedical//BMTKL +biomedicine/M/BMTSN +biometric/S/BMTRK +biometrics/M/BMTRKS +biometry/M/BMTR +biomolecule/S/BMLKL +biomorph//BMF +bionic/S/BNK +bionically//BNKL +bionics/M/BNKS +biophysic/S/BFSK +biophysical/Y/BFSKL +biophysicist/SM/BFSSST +biophysics/M/BFSKS +biopic/S/BPK +biopsy/SDGM/BPS +biorhythm/S/BH@M +BIOS//BS +bioscience/S/BSNS +biosphere/MS/BSFR +biostatistic/S/BSTTSTK +biosynthesized//BSN@SST +biotechnological//BTXNLKKL +biotechnologist//BTXNLKST +biotechnology/SM/BTXNLK +biotic//BTK +biotin/SM/BTN +bipartisan//BPTSN +bipartisanship/MS/BPTSNXP +bipartite/YN/BPTT +bipartition/M/BPTXN +biped/MS/BPT +bipedal//BPTL +biplane/MS/BPLN +bipolar//BPL +bipolarity/MS/BPLRT +biracial//BRXL +Birch/M/BX +birch/MRSDNG/BX +Bird/M/BT +bird/SMDRGZ/BT +birdbath/M/BTB@ +birdbaths//BTB@S +birdbrain/SDM/BTBRN +birdcage/SM/BTKK +birder/M/BT +birdhouse/MS/BTHS +Birdie/M/BT +birdie/MSD/BT +birdieing//BTN +birdlike//BTLK +birdlime/MGDS/BTLM +birdseed/MS/BTST +Birdseye/M/BTSY +birdsong//BTSNK +birdtables//BTTBLS +birdwatch/GZR/BTWX +birefringence/M/BRFRNNS +birefringent//BRFRNNT +biretta/SM/BRT +Birgit/M/BKT +Birgitta/M/BKT +Birk/M/BK +Birkenstock/M/BKNSTK +Birmingham/M/BMNHM +Biro/M/BR +Biron/M/BRN +birth/MDG/B@ +birthday/SM/B@T +birthmark/MS/B@MK +birthplace/SM/B@PLS +birthrate/MS/B@RT +birthright/MS/B@RT +births/A/B@S +birth's/A/B@S +birthstone/SM/B@STN +bis//BS +Biscay/M/BSK +Biscayne/M/BSKN +biscuit/MS/BSKT +bisect/DSG/BSKT +bisection/MS/BSKXN +bisector/MS/BSKT +biserial//BSRL +bisexual/YMS/BSKSL +bisexuality/MS/BSKSLT +Bishkek//BXKK +bishop/DGSM/BXP +Bishop/M/BXP +bishopric/SM/BXPRK +Bismarck/M/BSMK +Bismark/M/BSMK +bismuth/M/BSM@ +bismuths//BSM@S +bison/M/BSN +bisque/SM/BSK +Bissau/M/BS +bistable//BSTBL +bistate//BSTT +bistro/SM/BSTR +bisyllabic//BSLBK +bit/MRJSZG/BT +bitblt/S/BTBLT +bitch/MSDG/BX +bitchily//BXL +bitchiness/MS/BXNS +bitchy/PTR/BX +bite/S/BT +biter/M/BT +biting/Y/BTN +bitmap/SM/BTMP +BITNET/M/BTNT +bits/C/BTS +bit's/C/BTS +bitser/M/BTS +bitted//BTT +bitten//BTN +bitter/PSRDYTG/BT +bittern/SM/BTN +bitterness/SM/BTNS +bitternut/M/BTNT +bitterroot/M/BTRT +bittersweet/YMSP/BTSWT +bitting//BTN +bitty/PRT/BT +bitumen/MS/BTMN +bituminous//BTMNS +bitwise//BTWS +bivalent/S/BFLNT +bivalve/MSD/BFLF +bivariate//BFRT +bivouac/MS/BFK +bivouacked//BFKT +bivouacking//BFKN +biweekly/S/BWKL +biyearly//BYL +biz/M/BS +bizarre/YSP/BSR +bizarreness/M/BSRNS +Bizet/M/BST +bizzes//BSS +Bjorn/M/BKN +bk//BK +Bk/M/BK +bl/D/BL +blab/S/BLB +blabbed//BLBT +blabber/GMDS/BLB +blabbermouth/M/BLBM@ +blabbermouths//BLBM@S +blabbing//BLBN +black/SJTXPYRDNG/BLK +blackamoor/SM/BLKM +blackball/SDMG/BLKBL +blackberry/GMS/BLKBR +blackbird/SGDRM/BLKBT +blackbirder/M/BLKBT +blackboard/SM/BLKBT +blackbody/S/BLKBT +Blackburn/M/BLKBN +blackcurrant/M/BLKKRNT +blacken/GDR/BLKN +blackener/M/BLKN +Blackfeet//BLKFT +Blackfoot/M/BLKFT +blackguard/MDSG/BLKKT +blackhead/SM/BLKHT +blacking/M/BLKN +blackish//BLKX +blackjack/SGMD/BLKKK +blackleg/M/BLKLK +blacklist/DRMSG/BLKLST +blackmail/DRMGZS/BLKML +blackmailer/M/BLKML +Blackman/M/BLKMN +Blackmer/M/BLKM +blackness/MS/BLKNS +blackout/SM/BLKT +Blackpool/M/BLKPL +Black's//BLKS +blacksmith/MG/BLKSM@ +blacksmiths//BLKSM@S +blacksnake/MS/BLKSNK +blackspot//BLKSPT +Blackstone/M/BLKSTN +blackthorn/MS/BLK@N +blacktop/MS/BLKTP +blacktopped//BLKTPT +blacktopping//BLKTPN +Blackwell/MS/BLKWL +bladder/MS/BLT +bladdernut/M/BLTNT +bladderwort/M/BLTWT +blade/DSGM/BLT +blah/MDG/BL +blahs//BLS +Blaine/M/BLN +Blair/M/BL +Blaire/M/BLR +Blake/M/BLK +Blakelee/M/BLKL +Blakeley/M/BLKL +Blakey/M/BLK +blame/DSRBGMZ/BLM +blameless/YP/BLMLS +blamelessness/SM/BLMLSNS +blamer/M/BLM +blameworthiness/SM/BLMW@NS +blameworthy/P/BLMW@ +blanc/M/BLNK +Blanca/M/BLNK +blanch/DRSG/BLNX +Blanch/M/BLNX +Blancha/M/BLNX +Blanchard/M/BLNXT +Blanche/M/BLNX +blancher/M/BLNX +blancmange/SM/BLNKMNK +bland/PYRT/BLNT +blandish/SDGL/BLNTX +blandishment/MS/BLNTXMNT +blandness/MS/BLNTNS +Blane/M/BLN +blank/SPGTYRD/BLNK +Blankenship/M/BLNKNXP +blanket/SDRMZG/BLNKT +blanketing/M/BLNKTN +blankness/MS/BLNKNS +Blanton/M/BLNTN +Blantyre/M/BLNTR +blare/DSG/BLR +blarney/DMGS/BLN +blasé//BLS +blaspheme/RSDZG/BLSFM +blasphemer/M/BLSFM +blasphemous/PY/BLSFMS +blasphemousness/M/BLSFMSNS +blasphemy/SM/BLSFM +blast/SMRDGZ/BLST +blaster/M/BLST +blasting/M/BLSTN +blastoff/SM/BLSTF +blatancy/SM/BLTNS +blatant/YP/BLTNT +blather/DRGS/BL@ +blatting//BLTN +Blatz/M/BLTS +Blavatsky/M/BLFTSK +Blayne/M/BLN +blaze/DSRGMZ/BLS +blazer/M/BLS +blazing/Y/BLSN +blazon/SGDR/BLSN +blazoner/M/BLSN +bldg//BLTK +bleach/DRSZG/BLX +bleached/U/BLXT +bleacher/M/BLX +bleak/TPYRS/BLK +bleakness/MS/BLKNS +blear/GDS/BL +blearily//BLRL +bleariness/SM/BLRNS +bleary/PRT/BLR +bleat/RDGS/BLT +bleater/M/BLT +bleed/ZRJSG/BLT +bleeder/M/BLT +Bleeker/M/BLK +bleep/GMRDZS/BLP +blemish/DSMG/BLMX +blemished/U/BLMXT +blench/DSG/BLNX +blend/GZRDS/BLNT +blender/M/BLNT +Blenheim/M/BLNHM +bless/JGSD/BLS +blessed/PRYT/BLST +blessedness/MS/BLSTNS +blessing/M/BLSN +Blevins/M/BLFNS +blew//BL +Bligh/M/BL +blight/GSMDR/BLT +blighter/M/BLT +blimey/S/BLM +blimp/MS/BLMP +blind/JGTZPYRDS/BLNT +blinded/U/BLNTT +blinder/M/BLNT +blindfold/SDG/BLNTFLT +blinding/MY/BLNTN +blindness/MS/BLNTNS +blindside/SDG/BLNTST +blink/RDGSZ/BLNK +blinker/MDG/BLNK +blinking/U/BLNKN +blinks/M/BLNKS +Blinni/M/BLN +Blinnie/M/BLN +Blinny/M/BLN +blintz/SM/BLNTS +blintze/M/BLNTS +blip/MS/BLP +blipped//BLPT +blipping//BLPN +Bliss/M/BLS +bliss/SDMG/BLS +Blisse/M/BLS +blissful/PY/BLSFL +blissfulness/MS/BLSFLNS +blister/SMDG/BLST +blistering/Y/BLSTRN +blistery//BLSTR +Blithe/M/BL@ +blithe/TYPR/BL@ +blitheness/SM/BL@NS +blither/G/BL@ +blithesome//BL@SM +blitz/GSDM/BLTS +blitzkrieg/SM/BLTSKRK +blizzard/MS/BLST +bloat/SRDGZ/BLT +bloater/M/BLT +blob/MS/BLB +blobbed//BLBT +blobbing//BLBN +bloc/MS/BLK +Bloch/M/BLX +block/USDG/BLK +blockade/ZMGRSD/BLKT +blockader/M/BLKT +blockage/MS/BLKK +blockbuster/SM/BLKBST +blockbusting/MS/BLKBSTN +blocker/MS/BLK +blockhead/MS/BLKHT +blockhouse/SM/BLKHS +block's//BLKS +blocky/R/BLK +Bloemfontein/M/BLMFNTN +bloke/SM/BLK +Blomberg/M/BLMBK +Blomquist/M/BLMKST +blond/SPMRT/BLNT +Blondell/M/BLNTL +Blondelle/M/BLNTL +blonde's//BLNTS +Blondie/M/BLNT +blondish//BLNTX +blondness/MS/BLNTNS +Blondy/M/BLNT +blood/SMDG/BLT +bloodbath//BLTB@ +bloodbaths//BLTB@S +bloodcurdling//BLTKTLN +bloodhound/SM/BLTHNT +bloodied/U/BLTT +bloodiness/MS/BLTNS +bloodless/PY/BLTLS +bloodlessness/SM/BLTLSNS +bloodletting/MS/BLTLTN +bloodline/SM/BLTLN +bloodmobile/MS/BLTMBL +bloodroot/M/BLTRT +bloodshed/SM/BLTXT +bloodshot//BLTXT +bloodsport/S/BLTSPT +bloodstain/MDS/BLTSTN +bloodstock/SM/BLTSTK +bloodstone/M/BLTSTN +bloodstream/SM/BLTSTRM +bloodsucker/SM/BLTSK +bloodsucking/S/BLTSKN +bloodthirstily//BLT@STL +bloodthirstiness/MS/BLT@STNS +bloodthirsty/RTP/BLT@ST +bloodworm/M/BLTWM +bloody/TPGDRS/BLT +bloodymindedness//BLTMNTTNS +Bloom/MR/BLM +bloom/SMRDGZ/BLM +bloomer/M/BLM +Bloomer/M/BLM +Bloomfield/M/BLMFLT +Bloomington/M/BLMNTN +bloop/GSZRD/BLP +blooper/M/BLP +blossom/DMGS/BLSM +blossomy//BLSM +blot/MS/BLT +blotch/GMDS/BLX +blotchy/RT/BLX +blotted//BLTT +blotter/MS/BLT +blotting//BLTN +blotto//BLT +blouse/GMSD/BLS +blow/GZRS/BL +blower/M/BLW +blowfish/M/BLFX +blowfly/MS/BLFL +blowgun/SM/BLKN +blowing/M/BLWN +blown/U/BLN +blowout/MS/BLWT +blowpipe/SM/BLPP +blowtorch/SM/BLTX +blowup/MS/BLWP +blowy/RST/BL +blowzy/RT/BLS +BLT//BLT +blubber/GSDR/BLB +blubbery//BLBR +Blucher/M/BLX +bludgeon/GSMD/BLKN +blue/JMYTGDRSP/BL +blueback//BLBK +Bluebeard/M/BLBT +bluebell/MS/BLBL +blueberry/SM/BLBR +bluebill/M/BLBL +bluebird/MS/BLBT +bluebonnet/SM/BLBNT +bluebook/M/BLBK +bluebottle/MS/BLBTL +bluebush//BLBX +bluefish/SM/BLFX +bluegill/SM/BLKL +bluegrass/MS/BLKRS +blueing's//BLNS +blueish//BLX +bluejacket/MS/BLKKT +bluejeans//BLKNS +blueness/MS/BLNS +bluenose/MS/BLNS +bluepoint/SM/BLPNT +blueprint/GDMS/BLPRNT +bluer/M/BL +bluest/M/BLST +bluestocking/SM/BLSTKN +bluesy/TR/BLS +bluet/MS/BLT +bluff/SPGTZYRD/BLF +bluffer/M/BLF +bluffness/MS/BLFNS +bluing/M/BLN +bluish/P/BLX +bluishness/M/BLXNS +Blum/M/BLM +Blumenthal/M/BLMN@L +blunder/GSMDRJZ/BLNT +blunderbuss/MS/BLNTBS +blunderer/M/BLNTR +blundering/Y/BLNTRN +blunt/PSGTYRD/BLNT +bluntness/MS/BLNTNS +blur/MS/BL +blurb/GSDM/BLB +blurred/Y/BLRT +blurriness/S/BLRNS +blurring/Y/BLRN +blurry/RPT/BLR +blurt/GSRD/BLT +blush/RSDGZ/BLX +blusher/M/BLX +blushing/UY/BLXN +bluster/SDRZG/BLST +blusterer/M/BLSTR +blustering/Y/BLSTRN +blusterous//BLSTRS +blustery//BLSTR +blvd//BLFT +Blvd//BLFT +Blythe/M/BL@ +BM//BM +BMW/M/BM +BO//B +Bo/MRZ/B +boa/SM/B +boar/MS/B +board/IS/BT +boarded//BTT +boarder/SM/BT +boardgames//BTKMS +boarding/SM/BTN +boardinghouse/SM/BTNHS +boardroom/MS/BTRM +board's//BTS +boardwalk/SM/BTWLK +boast/SJRDGZ/BST +boaster/M/BST +boastful/YP/BSTFL +boastfulness/MS/BSTFLNS +boat/MDRGZJS/BT +boatclubs//BTKLBS +boater/M/BT +boathouse/SM/B@S +boating/M/BTN +boatload/SM/BTLT +boatman/M/BTMN +boatmen//BTMN +boatswain/SM/BTSWN +boatyard/SM/BTYT +Bob/M/BB +bob/SM/BB +Bobbe/M/BB +bobbed//BBT +Bobbee/M/BB +Bobbette/M/BBT +Bobbi/M/BB +Bobbie/M/BB +bobbin/MS/BBN +bobbing/M/BBN +Bobbitt/M/BBT +bobble/SDGM/BBL +Bobbsey/M/BBS +Bobby/M/BB +bobby/SM/BB +Bobbye/M/BBY +bobbysoxer's//BBSKSS +bobcat/MS/BBKT +Bobette/M/BBT +Bobina/M/BBN +Bobine/M/BBN +Bobinette/M/BBNT +bobolink/SM/BBLNK +Bobrow/M/BBR +bobs/M/BBS +bobsled/MS/BBSLT +bobsledded//BBSLTT +bobsledder/MS/BBSLT +bobsledding/M/BBSLTN +bobsleigh/M/BBSL +bobsleighs//BBSLS +bobtail/SGDM/BBTL +bobwhite/SM/BBHT +Boca/M/BK +Boccaccio/M/BKS +boccie/SM/BS +bock/GDS/BK +bockwurst//BKWST +bod/SGMD/BT +bode/S/BT +bodega/MS/BTK +Bodenheim/M/BTNHM +Bodhidharma/M/BTHTHM +bodhisattva//BTHSTF +Bodhisattva/M/BTHSTF +bodice/SM/BTS +bodied/M/BTT +bodiless//BTLS +bodily//BTL +boding/M/BTN +bodkin/SM/BTKN +body/DSMG/BT +bodybuilder/SM/BTBLT +bodybuilding/S/BTBLTN +bodyguard/MS/BTKT +bodying/M/BTYN +bodysuit/S/BTST +bodyweight//BTWT +bodywork/SM/BTWK +Boeing/M/BN +Boeotia/M/BX +Boeotian//BXN +Boer/M/B +bog/MS/BK +Bogart/M/BKT +Bogartian/M/BKXN +Bogey/M/BK +bogey/SGMD/BK +bogeyman/M/BKMN +bogeymen//BKMN +bogged//BKT +bogging//BKN +boggle/SDG/BKL +boggling/Y/BKLN +boggy/RT/BK +bogie's//BKS +Bogotá/M/BKT +bogus//BKS +bogyman//BKMN +bogymen//BKMN +bogy's//BKS +Boheme/M/BHM +Bohemia/SM/BHM +bohemian/S/BHMN +Bohemian/SM/BHMN +bohemianism/S/BHMNSM +Bohr/M/BR +Boigie/M/BK +boil/JSGZDR/BL +boiled/AU/BLT +boiler/M/BL +boilermaker/MS/BLMK +boilerplate/SM/BLPLT +boils/A/BLS +Bois/M/BS +Boise/M/BS +boisterous/YP/BSTRS +boisterousness/MS/BSTRSNS +bola/SM/BL +bold/YRPST/BLT +boldface/SDMG/BLTFS +boldness/MS/BLTNS +bole/MS/BL +bolero/MS/BLR +Boleyn/M/BLN +Bolivar/M/BLF +bolivar/MS/BLF +bolivares//BLFRS +Bolivia/M/BLF +Bolivian/S/BLFN +boll/MDSG/BL +bollard/SM/BLT +bollix/GSD/BLKS +bolo/MS/BL +Bologna/M/BLKN +bologna/MS/BLKN +bolometer/MS/BLMT +boloney's//BLNS +Bolshevik/MS/BLXFK +Bolshevism/MS/BLXFSM +Bolshevist/MS/BLXFST +Bolshevistic/M/BLXFSTK +Bolshoi/M/BLX +bolster/SRDG/BLST +bolsterer/M/BLSTR +bolt/MDRGS/BLT +bolted/U/BLTT +bolter/M/BLT +Bolton/M/BLTN +bolts/U/BLTS +Boltzmann/M/BLTSMN +bolus/SM/BLS +bomb/SGZDRJ/BM +bombard/LDSG/BMBT +bombardier/MS/BMBT +bombardment/SM/BMBTMNT +bombast/RMS/BMBST +bombastic//BMBSTK +bombastically//BMBSTKL +Bombay/M/BMB +bomber/M/BMB +bombproof//BMBPRF +bombshell/SM/BMBXL +bona//BN +bonanza/MS/BNNS +Bonaparte/M/BNPT +Bonaventure/M/BNFNTR +bonbon/SM/BNBN +bond/JMDRSGZ/BNT +Bond/M/BNT +bondage/SM/BNTK +bonder/M/BNT +bondholder/SM/BNTHLT +Bondie/M/BNT +bondman/M/BNTMN +bondmen//BNTMN +Bondon/M/BNTN +bonds/A/BNTS +bondsman/M/BNTSMN +bondsmen//BNTSMN +bondwoman/M/BNTWMN +bondwomen//BNTWMN +Bondy/M/BNT +Bone/M/BN +bone/MZDRSG/BN +boned/U/BNT +bonehead/SDM/BNHT +boneless//BNLS +boner/M/BN +bonfire/MS/BNFR +bong/GDMS/BNK +bongo/MS/BNK +Bonham/M/BNHM +bonhomie/MS/BNHM +Boniface/M/BNFS +boniness/MS/BNNS +Bonita/M/BNT +bonito/MS/BNT +bonjour//BNK +bonkers//BNKS +Bonn/RM/BN +Bonnee/M/BN +Bonner/M/BN +bonnet/SGMD/BNT +bonneted/U/BNTT +Bonneville/M/BNFL +Bonni/M/BN +Bonnibelle/M/BNBL +bonnie//BN +Bonnie/M/BN +Bonny/M/BN +bonny/RT/BN +bonsai/SM/BNS +Bontempo/M/BNTMP +bonus/SM/BNS +bony/RTP/BN +bonzes//BNSS +boo/GSDH/B +boob/DMSG/BB +booby/SM/BB +boodle/GMSD/BTL +boogeyman's//BKMNS +boogie/SD/BK +boogieing//BKN +boohoo/GDS/BH +book/GZDRMJSB/BK +bookbind/JRGZ/BKBNT +bookbinder/M/BKBNT +bookbindery/SM/BKBNTR +bookbinding/M/BKBNTN +bookcase/MS/BKKS +booked/U/BKT +bookend/SGD/BKNT +Booker/M/BK +bookie/SM/BK +booking/M/BKN +bookish/PY/BKX +bookishness/M/BKXNS +bookkeep/GZJR/BKP +bookkeeper/M/BKP +bookkeeping/M/BKPN +booklet/MS/BKLT +bookmaker/MS/BKMK +bookmaking/MS/BKMKN +bookmark/MDGS/BKMK +bookmobile/MS/BKMBL +bookplate/SM/BKPLT +bookseller/SM/BKSL +bookshelf/M/BKXLF +bookshelves//BKXLFS +bookshop/MS/BKXP +bookstall/MS/BKSTL +bookstore/SM/BKSTR +bookwork/M/BKWK +bookworm/MS/BKWM +Boole/M/BL +Boolean//BLN +boolean/S/BLN +boom/DRGJS/BM +boomer/M/BM +boomerang/MDSG/BMRNK +boomtown/S/BMTN +boon/MS/BN +boondocks//BNTKS +boondoggle/DRSGZ/BNTKL +boondoggler/M/BNTKL +Boone/M/BN +Boonie/M/BN +boonies//BNS +Boony/M/BN +boor/MS/B +boorish/PY/BRX +boorishness/SM/BRXNS +boost/SGZMRD/BST +booster/M/BST +boosterism//BSTRSM +boot/AGDS/BT +Boot/M/BT +bootblack/MS/BTBLK +Boote/M/BT +bootee/MS/BT +Boötes//BTS +booth/M/B@ +Booth/M/B@ +Boothe/M/B@ +booths//B@S +bootie's//BTS +bootlaces//BTLSS +Bootle/M/BTL +bootleg/S/BTLK +bootlegged/M/BTLKT +bootlegger/SM/BTLK +bootlegging/M/BTLKN +bootless//BTLS +bootprints//BTPRNTS +boot's//BTS +bootstrap/SM/BTSTRP +bootstrapped//BTSTRPT +bootstrapping//BTSTRPN +booty/SM/BT +booze/DSRGMZ/BS +boozer/M/BS +boozy/TR/BS +bop/S/BP +bopped//BPT +bopping//BPN +borate/MSD/BRT +borax/MS/BRKS +Bord/MN/BT +Bordeaux/M/BTKS +bordello/MS/BTL +Borden/M/BTN +border/JRDMGS/BT +borderer/M/BTR +borderland/SM/BTLNT +borderline/MS/BTLN +Bordie/M/BT +Bordon/M/BTN +Bordy/M/BT +bore/ZGJDRS/BR +Borealis/M/BRLS +Boreas/M/BRS +boredom/MS/BRTM +boreholes//BRHLS +borer/M/BR +Borg/M/BK +Borges//BKS +Borgia/M/BK +boric//BRK +boring/YMP/BRN +Boris//BRS +Bork/M/BK +born/AIU/BN +Born/M/BN +borne/U/BN +Borneo/M/BN +Borodin/M/BRTN +boron/SM/BRN +borosilicate/M/BRSLKT +borough/M/BR +boroughs//BRS +Borroughs/M/BRS +borrow/JZRDGBS/BR +borrower/M/BRW +borrowing/M/BRWN +borscht/SM/BSXT +borstal/MS/BSTL +Boru/M/BR +borzoi/MS/BS +Bosch/M/BSX +Bose/M/BS +bosh/MS/BX +Bosnia/M/BSN +Bosnian/S/BSNN +bosom/SGUD/BSM +bosom's//BSMS +bosomy/RT/BSM +boson/SM/BSN +Bosporus/M/BSPRS +boss/DSRMG/BS +bossily//BSL +bossiness/MS/BSNS +bossism/MS/BSSM +bossy/PTSR/BS +Bostitch/M/BSTX +Boston/MS/BSTN +Bostonian/SM/BSTNN +bosun's//BSNS +Boswell/MS/BSWL +bot/S/BT +botanic/S/BTNK +botanical/SY/BTNKL +botanist/SM/BTNST +botany/SM/BTN +botch/SRDGZ/BX +botcher/M/BX +botfly/M/BTFL +both/ZR/B@ +bother/DG/B@ +bothersome//B@SM +bothy/M/B@ +Botswana/M/BTSWN +Botticelli/M/BTSL +bottle/GMZSRD/BTL +bottleneck/GSDM/BTLNK +bottler/M/BTL +bottom/SMRDG/BTM +bottomless/YP/BTMLS +bottomlessness/M/BTMLSNS +bottommost//BTMST +botulin/M/BTLN +botulinus/M/BTLNS +botulism/SM/BTLSM +Boucher/M/BX +boudoir/MS/BT +bouffant/S/BFNT +bougainvillea/SM/BKNFL +bough/MD/B +boughs//BS +bought/N/BT +bouillabaisse/MS/BLBS +bouillon/MS/BLN +boulder/GMDS/BLT +Boulder/M/BLT +boulevard/MS/BLFT +bounce/SRDGZ/BNS +bouncer/M/BNS +bouncily//BNSL +bouncing/Y/BNSN +bouncy/TRP/BNS +bound/AUDI/BNT +boundary/MS/BNTR +bounded/UP/BNTT +boundedness/MU/BNTTNS +bounden//BNTN +bounder/AM/BNT +bounders//BNTS +bounding//BNTN +boundless/YP/BNTLS +boundlessness/SM/BNTLSNS +bounds/IA/BNTS +bounteous/PY/BNTS +bounteousness/MS/BNTSNS +bountiful/PY/BNTFL +bountifulness/SM/BNTFLNS +bounty/SDM/BNT +bouquet/SM/BKT +Bourbaki/M/BBK +bourbon/SM/BBN +Bourbon/SM/BBN +bourgeois/M/BKS +bourgeoisie/SM/BKS +Bourke/M/BK +Bourne/M/BN +Bournemouth/M/BNM@ +bout/MS/BT +boutique/MS/BTK +boutonnière/MS/BTNR +Bouvier//BF +Bovary/M/BFR +bovine/YS/BFN +bow/SZGNDR/B +Bowditch/M/BTX +bowdlerization/MS/BTLRSXN +bowdlerize/GRSD/BTLRS +bowed/U/BWT +bowel/GMDS/BWL +Bowell/M/BWL +Bowen/M/BWN +bower/DMG/BW +Bowers//BWS +Bowery/M/BWR +Bowes//BWS +bowie//BW +Bowie/M/BW +bowing/M/BWN +bowl/GZSMDR/BL +bowlder's//BLTS +bowleg/SM/BLK +bowlegged//BLKT +bowler/M/BL +bowlful/S/BLFL +bowline/MS/BLN +bowling/M/BLN +bowman/M/BMN +Bowman/M/BMN +bowmen//BMN +bows/R/BS +bowser/M/BS +bowsprit/SM/BSPRT +bowstring/GSMD/BSTRN +bowwow/DMGS/BW +box/DRSJZGM/BKS +boxcar/SM/BKSK +boxer/M/BKS +boxful/M/BKSFL +boxing/M/BKSN +boxlike//BKSLK +boxtops//BKSTPS +boxwood/SM/BKSWT +boxy/TPR/BKS +Boy/MR/B +boy/MRS/B +Boyce/M/BS +Boycey/M/BS +Boycie/M/BS +boycott/RDGS/BKT +boycotter/M/BKT +Boyd/M/BT +Boyer/M/BY +boyfriend/MS/BFRNT +boyhood/SM/BHT +boyish/PY/BYX +boyishness/MS/BYXNS +Boyle/M/BL +boyscout//BSKT +boysenberry/SM/BSNBR +bozo/SM/BS +bpi//BP +bps//BPS +BR//BR +Br/TMN/BR +bra/MS/BR +brace/DSRJGM/BRS +braced/U/BRST +bracelet/MS/BRSLT +bracer/M/BRS +brachia//BRX +brachium/M/BRXM +bracken/SM/BRKN +bracket/SGMD/BRKT +bracketed/U/BRKTT +bracketing/M/BRKTN +brackish/P/BRKX +brackishness/SM/BRKXNS +bract/SM/BRKT +Brad/MYN/BRT +brad/SM/BRT +Bradan/M/BRTN +bradawl/M/BRTL +Bradbury/M/BRTBR +Bradburys//BRTBRS +bradded//BRTT +bradding//BRTN +Braddock/M/BRTK +Brade/M/BRT +Braden/M/BRTN +Bradford/M/BRTFT +Bradley/M/BRTL +Bradly/M/BRTL +Bradney/M/BRTN +Bradshaw/M/BRTX +Bradstreet/M/BRTSTRT +Brady/M/BRT +brae/SM/BR +brag/S/BRK +Bragg/M/BRK +braggadocio/SM/BRKTS +braggart/SM/BRKT +bragged//BRKT +bragger/MS/BRK +braggest//BRKST +bragging//BRKN +Brahe/M/BRH +Brahma/MS/BRM +Brahman/SM/BRMN +Brahmanism/MS/BRMNSM +Brahmaputra/M/BRMPTR +Brahmin's//BRMNS +Brahms//BRMS +braid/RDSJG/BRT +braider/M/BRT +braiding/M/BRTN +braille/DSG/BRL +Braille/GDSM/BRL +brain/GSDM/BRN +Brain/M/BRN +Brainard/SM/BRNT +braincell/S/BRNSL +brainchild/M/BRNXLT +brainchildren//BRNXLTRN +braininess/MS/BRNNS +brainless/YP/BRNLS +brainlessness/M/BRNLSNS +brainpower/M/BRNPW +brainstorm/DRMGJS/BRNSTM +brainstorming/M/BRNSTMN +brainteaser/S/BRNTS +brainteasing//BRNTSN +brainwash/JGRSD/BRNWX +brainwasher/M/BRNWX +brainwashing/M/BRNWXN +brainwave/S/BRNWF +brainy/RPT/BRN +braise/SDG/BRS +brake/DSGM/BRK +brakeman/M/BRKMN +brakemen/M/BRKMN +Bram/M/BRM +bramble/DSGM/BRMBL +brambling/M/BRMBLN +brambly/RT/BRMBL +Brampton/M/BRMPTN +Bran/M/BRN +bran/SM/BRN +Brana/M/BRN +Branch/M/BRNX +branch/MDSJG/BRNX +branched/U/BRNXT +branching/M/BRNXN +branchlike//BRNXLK +Branchville/M/BRNXFL +Brand/MRN/BRNT +brand/SMRDGZ/BRNT +Brandais/M/BRNTS +Brande/M/BRNT +Brandea/M/BRNT +branded/U/BRNTT +Brandeis/M/BRNTS +Brandel/M/BRNTL +Branden/M/BRNTN +Brandenburg/M/BRNTNBK +brander/GDM/BRNT +Brander/M/BRNT +Brandi/M/BRNT +Brandice/M/BRNTS +Brandie/M/BRNT +Brandise/M/BRNTS +brandish/GSD/BRNTX +Brando/M/BRNT +Brandon/M/BRNTN +Brandt/M/BRNTT +Brandtr/M/BRNTTR +brandy/GDSM/BRNT +Brandy/M/BRNT +Brandyn/M/BRNTN +brandywine//BRNTWN +Braniff/M/BRNF +branned//BRNT +branning//BRNN +Brannon/M/BRNN +Brant/M/BRNT +Brantley/M/BRNTL +Braque/M/BRK +brash/PYSRT/BRX +brashness/MS/BRXNS +Brasilia//BRSL +brass/GSDM/BRS +brasserie/SM/BRSR +brassiere/MS/BRSR +brassily//BRSL +brassiness/SM/BRSNS +brassy/RSPT/BRS +brat/SM/BRT +Bratislava/M/BRTSLF +Brattain/M/BRTN +bratty/RT/BRT +bratwurst/MS/BRTWST +Braun/M/BRN +bravado/M/BRFT +bravadoes//BRFTS +brave/DSRGYTP/BRF +braveness/MS/BRFNS +bravery/MS/BRFR +bravest/M/BRFST +bravo/SDG/BRF +bravura/SM/BRFR +brawl/MRDSGZ/BRL +brawler/M/BRL +brawn/MS/BRN +brawniness/SM/BRNNS +brawny/TRP/BRN +Bray/M/BR +bray/SDRG/BR +brayer/M/BRY +braze/GZDSR/BRS +brazen/PYDSG/BRSN +brazenness/MS/BRSNS +brazer/M/BRS +brazier/SM/BRS +Brazil/M/BRSL +Brazilian/MS/BRSLN +Brazos/M/BRSS +Brazzaville/M/BRSFL +breach/MDRSGZ/BRX +breacher/M/BRX +bread/SMDHG/BRT +breadbasket/SM/BRTBSKT +breadboard/SMDG/BRTBT +breadbox/S/BRTBKS +breadcrumb/S/BRTKRM +breadfruit/MS/BRTFRT +breadline/MS/BRTLN +breadth/M/BRT@ +breadths//BRT@S +breadwinner/MS/BRTWN +break/SZRBG/BRK +breakable/U/BRKBL +breakables//BRKBLS +breakage/MS/BRKK +breakaway/MS/BRKW +breakdown/MS/BRKTN +breaker/M/BRK +breakfast/RDMGZS/BRKFST +breakfaster/M/BRKFST +breakfront/S/BRKFRNT +breaking/M/BRKN +breakneck//BRKNK +breakout/MS/BRKT +breakpoint/SMDG/BRKPNT +breakthrough/SM/BRK@R +breakthroughs//BRK@RS +breakup/SM/BRKP +breakwater/SM/BRKWT +bream/SDG/BRM +Breanne/M/BRN +Brear/M/BR +breast/MDSG/BRST +breastbone/MS/BRSTBN +breastfed//BRSTFT +breastfeed/G/BRSTFT +breasting/M/BRSTN +breastplate/SM/BRSTPLT +breaststroke/SM/BRSTSTRK +breastwork/MS/BRSTWK +breath/ZBJMDRSG/BR@ +breathable/U/BR@BL +breathalyser/S/BR@LS +Breathalyzer/SM/BR@LS +breathe//BR@ +breather/M/BR@ +breathing/M/BR@N +breathless/PY/BR@LS +breathlessness/SM/BR@LSNS +breaths//BR@S +breathtaking/Y/BR@TKN +breathy/TR/BR@ +Brecht/M/BRXT +Breckenridge/M/BRKNRK +bred/DG/BRT +bredes//BRTS +Bree/M/BR +breech/MDSG/BRX +breeching/M/BRXN +breed/SZJRG/BRT +breeder/I/BRT +breeder's//BRTS +breeding/IM/BRTN +breeds/I/BRTS +Breena/M/BRN +breeze/GMSD/BRS +breezeway/SM/BRSW +breezily//BRSL +breeziness/SM/BRSNS +breezy/RPT/BRS +Bremen/M/BRMN +bremsstrahlung/M/BRMSTRLNK +Bren/M/BRN +Brena/M/BRN +Brenda/M/BRNT +Brendan/M/BRNTN +Brenden/M/BRNTN +Brendin/M/BRNTN +Brendis/M/BRNTS +Brendon/M/BRNTN +Brenn/RNM/BRN +Brenna/M/BRN +Brennan/M/BRNN +Brennen/M/BRNN +Brenner/M/BRN +Brent/M/BRNT +Brenton/M/BRNTN +Bresenham/M/BRSNHM +Brest/M/BRST +Bret/M/BRT +brethren//BR@RN +Breton//BRTN +Brett/M/BRT +breve/SM/BRF +brevet/MS/BRFT +brevetted//BRFTT +brevetting//BRFTN +breviary/SM/BRFR +brevity/MS/BRFT +brew/DRGZS/BR +Brew/RM/BR +brewer/M/BRW +Brewer/M/BRW +brewery/MS/BRWR +brewing/M/BRWN +brewpub/S/BRPB +Brewster/M/BRST +Brezhnev/M/BRSHNF +Bria/M/BR +Brian/M/BRN +Briana/M/BRN +Brianna/M/BRN +Brianne/M/BRN +Briano/M/BRN +Briant/M/BRNT +briar's//BRS +bribe/GZDSR/BRB +briber/M/BRB +bribery/MS/BRBR +Brice/M/BRS +brick/GRDSM/BRK +brickbat/SM/BRKBT +bricklayer/MS/BRKLY +bricklaying/SM/BRKLYN +brickmason/S/BRKMSN +brickwork/SM/BRKWK +brickyard/M/BRKYT +bridal/S/BRTL +Bridalveil/M/BRTLFL +Bride/M/BRT +bride/MS/BRT +bridegroom/MS/BRTKRM +bridesmaid/MS/BRTSMT +Bridewell/M/BRTWL +bridge/SDGM/BRK +bridgeable/U/BRKBL +bridged/U/BRKT +bridgehead/MS/BRKHT +Bridgeport/M/BRKPT +Bridger/M/BRKR +Bridges//BRKS +Bridget/M/BRKT +Bridgetown/M/BRKTN +Bridgett/M/BRKT +Bridgette/M/BRKT +Bridgewater/M/BRKWT +bridgework/MS/BRKWK +bridging/M/BRKNK +Bridgman/M/BRTKMN +Bridie/M/BRT +bridle/SDGM/BRTL +bridled/U/BRTLT +bridleway/S/BRTLW +Brie/RSM/BR +brief/YRDJPGTS/BRF +briefcase/SM/BRFKS +briefed/C/BRFT +briefing/M/BRFN +briefness/MS/BRFNS +briefs/C/BRFS +Brien/M/BRN +Brier/M/BR +brier/MS/BR +Brietta/M/BRT +Brig/M/BRK +brig/SM/BRK +brigade/GDSM/BRKT +brigadier/MS/BRKT +Brigadoon//BRKTN +brigand/MS/BRKNT +brigandage/MS/BRKNTK +brigantine/MS/BRKNTN +Brigg/MS/BRK +Brigham/M/BRKM +bright/GXTPSYNR/BRT +Bright/M/BRT +brighten/RDZG/BRTN +brightener/M/BRTN +brightness/SM/BRTNS +Brighton/M/BRTN +Brigid/M/BRKT +Brigida/M/BRKT +Brigit/M/BRKT +Brigitta/M/BRKT +Brigitte/M/BRKT +brilliance/MS/BRLNS +brilliancy/MS/BRLNS +brilliant/PSY/BRLNT +brilliantine/MS/BRLNTN +brilliantness/M/BRLNTNS +Brillo//BRL +Brillouin/M/BRLN +brim/SM/BRM +brimful//BRMFL +brimless//BRMLS +brimmed//BRMT +brimming//BRMN +brimstone/MS/BRMSTN +Brina/M/BRN +Brindisi/M/BRNTS +brindle/DSM/BRNTL +brine/GMDSR/BRN +briner/M/BRN +Briney/M/BRN +bring/RGZS/BRN +bringer/M/BRN +brininess/MS/BRNNS +brink/MS/BRNK +Brinkley/M/BRNKL +brinkmanship/SM/BRNKMNXP +Brinn/M/BRN +Brinna/M/BRN +Briny/M/BRN +briny/PTSR/BRN +brioche/SM/BRX +Brion/M/BRN +briquet's//BRKTS +briquette/MGSD/BRKT +Brisbane/M/BRSBN +brisk/YRDPGTS/BRSK +brisket/SM/BRSKT +briskness/MS/BRSKNS +bristle/DSGM/BRSTL +bristly/TR/BRSTL +Bristol/M/BRSTL +bristol/S/BRSTL +Brit/MS/BRT +Brita/M/BRT +Britain/M/BRTN +Britannia/M/BRTN +Britannic//BRTNK +Britannica/M/BRTNK +britches//BRXS +Briticism/MS/BRTSSM +British/RYZ/BRTX +Britisher/M/BRTX +Britishly/M/BRTXL +Britney/M/BRTN +Britni/M/BRTN +Briton/MS/BRTN +Britt/MN/BRT +Britta/M/BRT +Brittan/M/BRTN +Brittaney/M/BRTN +Brittani/M/BRTN +Brittany/MS/BRTN +Britte/M/BRT +Britten/M/BRTN +Britteny/M/BRTN +brittle/YTPDRSG/BRTL +brittleness/MS/BRTLNS +Brittne/M/BRTN +Brittney/M/BRTN +Brittni/M/BRTN +Brnaba/M/BRNB +Brnaby/M/BRNB +Brno/M/BRN +bro/SH/BR +broach/DRSG/BRX +broacher/M/BRX +broad/TXSYRNP/BRT +broadband//BRTBNT +broadcast/RSGZJ/BRTKST +broadcaster/M/BRTKST +broadcasts/A/BRTKSTS +broadcloth/M/BRTKL@ +broadcloths//BRTKL@S +broaden/JGRDZ/BRTN +broadleaved//BRTLFT +broadloom/SM/BRTLM +broadminded/P/BRTMNTT +broadness/S/BRTNS +broadsheet/MS/BRTXT +broadside/SDGM/BRTST +broadsword/MS/BRTSWT +Broadway/SM/BRTW +Brobdingnag/M/BRBTNNK +Brobdingnagian//BRBTNNKN +brocade/DSGM/BRKT +broccoli/MS/BRKL +brochette/SM/BRXT +brochure/SM/BRXR +Brock/M/BRK +Brockie/M/BRK +Brocky/M/BRK +Brod/M/BRT +Broddie/M/BRT +Broddy/M/BRT +Broderic/M/BRTRK +Broderick/M/BRTRK +Brodie/M/BRT +Brody/M/BRT +brogan/MS/BRKN +Broglie/M/BRKL +brogue/MS/BRK +broil/RDSGZ/BRL +broiler/M/BRL +Brok/M/BRK +broke/RGZ/BRK +broken/YP/BRKN +brokenhearted/Y/BRKNHTT +brokenness/MS/BRKNS +broker/DMG/BRK +brokerage/MS/BRKRK +bromide/MS/BRMT +bromidic//BRMTK +bromine/MS/BRMN +Bron/M/BRN +bronc/S/BRNK +bronchi/M/BRNX +bronchial//BRNXL +bronchiolar//BRNXL +bronchiole/MS/BRNXL +bronchiolitis//BRNXLTS +bronchitic/S/BRNXTK +bronchitis/MS/BRNXTS +broncho's//BRNXS +bronchus/M/BRNXS +bronco/SM/BRNK +broncobuster/SM/BRNKBST +Bronnie/M/BRN +Bronny/M/BRN +Bronson/M/BRNSN +Bronte//BRNT +brontosaur/SM/BRNTS +brontosaurus/SM/BRNTSRS +Bronx/M/BRNKS +bronze/SRDGM/BRNS +bronzed/M/BRNST +bronzing/M/BRNSN +brooch/MS/BRX +brood/SMRDGZ/BRT +brooder/M/BRT +broodiness/M/BRTNS +brooding/Y/BRTN +broodmare/SM/BRTMR +broody/PTR/BRT +brook/SGDM/BRK +Brook/SM/BRK +Brookdale/M/BRKTL +Brooke/M/BRK +Brookfield/M/BRKFLT +Brookhaven/M/BRKHFN +brooklet/MS/BRKLT +Brooklyn/M/BRKLN +Brookmont/M/BRKMNT +brookside//BRKST +broom/SMDG/BRM +broomstick/MS/BRMSTK +Bros//BRS +bros/S/BRS +Brose/M/BRS +broth/ZMR/BR@ +brothel/MS/BR@L +brother/DYMG/BR@ +brotherhood/SM/BR@HT +brotherliness/MS/BR@LNS +brotherly/P/BR@L +broths//BR@S +brougham/MS/BRKM +brought//BRT +brouhaha/MS/BRHH +brow/MS/BR +browbeat/NSG/BRBT +Brown/MG/BRN +brown/YRDMSJGTP/BRN +Browne/M/BRN +Brownell/M/BRNL +Brownian/M/BRNN +Brownie/MS/BRN +brownie/MTRS/BRN +browning/M/BRNN +Browning/M/BRNN +brownish//BRNX +brownness/MS/BRNS +brownout/MS/BRNT +brownstone/MS/BRNSTN +Brownsville/M/BRNSFL +brows/SRDGZ/BRS +browse//BRS +browser/M/BRS +brr//BR +Brubeck/M/BRBK +Bruce/M/BRS +brucellosis/M/BRSLSS +Brucie/M/BRS +Bruckner/M/BRKN +Bruegel/M/BRKL +Brueghel's//BRKLS +bruin/MS/BRN +Bruis/M/BRS +bruise/JGSRDZ/BRS +bruised/U/BRST +bruiser/M/BRS +bruit/DSG/BRT +Brumidi/M/BRMT +Brummel/M/BRML +brunch/MDSG/BRNX +Brunei/M/BRN +Brunelleschi/M/BRNLSX +brunet/S/BRNT +brunette/SM/BRNT +Brunhilda/M/BRNHLT +Brunhilde/M/BRNHLT +Bruno/M/BRN +Brunswick/M/BRNSWK +brunt/GSMD/BRNT +brush/MSRDG/BRX +brusher/M/BRX +brushfire/MS/BRXFR +brushlike//BRXLK +brushoff/S/BRXF +brushwood/SM/BRXWT +brushwork/MS/BRXWK +brushy/R/BRX +brusque/PYTR/BRSK +brusqueness/MS/BRSKNS +Brussels//BRSLS +brutal/Y/BRTL +brutality/SM/BRTLT +brutalization/SM/BRTLSXN +brutalize/SDG/BRTLS +brutalized/U/BRTLST +brutalizes/AU/BRTLSS +brute/DSRGM/BRT +brutish/YP/BRTX +brutishness/SM/BRTXNS +Brutus/M/BRTS +Bruxelles/M/BRKSLS +Bryan/M/BRYN +Bryana/M/BRYN +Bryant/M/BRYNT +Bryanty/M/BRYNT +Bryce/M/BRS +Bryn/M/BRN +Bryna/M/BRN +Brynn/RM/BRN +Brynna/M/BRN +Brynne/M/BRN +Brynner/M/BRN +Bryon/M/BRYN +Brzezinski/M/BRSSNSK +B's//BS +BS//BS +BSA//BS +BSD//BST +Btu//BT +BTU//BT +BTW//BT +bu//B +bub/MS/BB +bubble/RSDGM/BBL +bubblegum/S/BBLKM +bubbler/M/BBL +bubbly/TRS/BBL +Buber/M/BB +bubo/M/BB +buboes//BBS +bubonic//BBNK +buccaneer/GMDS/BKN +Buchanan/M/BXNN +Bucharest/M/BXRST +Buchenwald/M/BXNWLT +Buchwald/M/BXWLT +buck/GSDRM/BK +Buck/M/BK +buckaroo/SM/BKR +buckboard/SM/BKBT +bucker/M/BK +bucket/SGMD/BKT +bucketful/MS/BKTFL +buckeye/SM/BKY +buckhorn/M/BKHN +Buckie/M/BK +Buckingham/M/BKNHM +buckle/RSDGMZ/BKL +buckled/U/BKLT +buckler/MDG/BKL +buckles/U/BKLS +Buckley/M/BKL +buckling/U/BKLN +buckling's//BKLNS +Buckner/M/BKN +buckram/GSDM/BKRM +bucksaw/SM/BKS +buckshot/MS/BKXT +buckskin/SM/BKSKN +buckteeth//BKT@ +bucktooth/DM/BKT@ +buckwheat/SM/BKHT +Bucky/M/BK +bucolic/S/BKLK +bucolically//BKLKL +Bud/M/BT +bud/MS/BT +Budapest/M/BTPST +Budd/M/BT +budded//BTT +Buddha/MS/BTH +Buddhism/SM/BTHSM +Buddhist/SM/BTHST +Buddie/M/BT +budding/S/BTN +buddy/GSDM/BT +Buddy/M/BT +budge/GDS/BK +budgerigar/MS/BKRK +budget/GMRDZS/BKT +budgetary//BKTR +budgeter/M/BKT +budgie/MS/BK +budging/U/BKNK +Budweiser/MS/BTWS +Buehring/M/BRN +Buena/M/BN +buff/ASGD/BF +Buffalo/M/BFL +buffalo/MDG/BFL +buffaloes//BFLS +buffer/RDMSGZ/BF +buffered/U/BFRT +bufferer/M/BFR +buffet/GMDJS/BFT +bufflehead/M/BFLHT +buffoon/SM/BFN +buffoonery/MS/BFNR +buffoonish//BFNX +buff's//BFS +Buffy/M/BF +Buford/M/BFT +bug/CS/BK +bugaboo/SM/BKB +Bugatti/M/BKT +bugbear/SM/BKB +bugeyed//BKYT +bugged/C/BKT +bugger/SCM/BK +buggered//BKRT +buggering//BKRN +buggery/M/BKR +bugging/C/BKN +buggy/RSMT/BK +bugle/GMDSRZ/BKL +bugler/M/BKL +bug's//BKS +Buick/M/BK +build/SAG/BLT +builder/SM/BLT +building/SM/BLTN +buildup/MS/BLTP +built/AUI/BLT +Buiron/M/BRN +Bujumbura/M/BKMBR +Bukhara/M/BKHR +Bukharin/M/BKHRN +Bulawayo/M/BLWY +bulb/DMGS/BLB +Bulba/M/BLB +bulblet//BLBLT +bulbous//BLBS +Bulfinch/M/BLFNX +Bulganin/M/BLKNN +Bulgaria/M/BLKR +Bulgarian/S/BLKRN +bulge/DSGM/BLK +bulgy/RT/BLK +bulimarexia/S/BLMRKS +bulimia/MS/BLM +bulimic/S/BLMK +bulk/GDRMS/BLK +bulkhead/SDM/BLKHT +bulkiness/SM/BLKNS +bulky/RPT/BLK +bull/MDGS/BL +bulldog/SM/BLTK +bulldogged//BLTKT +bulldogger//BLTK +bulldogging//BLTKN +bulldoze/GRSDZ/BLTS +bulldozer/M/BLTS +bullet/GMDS/BLT +bulletin/SGMD/BLTN +bulletproof/SGD/BLTPRF +bullfight/SJGZMR/BLFT +bullfighter/M/BLFT +bullfighting/M/BLFTN +bullfinch/MS/BLFNX +bullfrog/SM/BLFRK +bullhead/DMS/BLHT +bullheaded/YP/BLHTT +bullheadedness/SM/BLHTTNS +bullhide//BLHT +bullhorn/SM/BLHN +bullied/M/BLT +bullion/SM/BLN +bullish/PY/BLX +bullishness/SM/BLXNS +Bullock/M/BLK +bullock/MS/BLK +bullpen/MS/BLPN +bullring/SM/BLRN +bullseye//BLSY +bullshit/MS/BLXT +bullshitted//BLXTT +bullshitter/S/BLXT +bullshitting//BLXTN +bullwhackers//BLHKS +Bullwinkle/M/BLWNKL +bully/TRSDGM/BL +bullyboy/MS/BLB +bullying/M/BLYN +bulrush/SM/BLRX +Bultmann/M/BLTMN +bulwark/GMDS/BLWK +bum/SM/BM +bumble/JGZRSD/BMBL +bumblebee/MS/BMBLB +bumbler/M/BMBL +bumbling/Y/BMBLN +Bumbry/M/BMBR +bummed/M/BMT +bummer/MS/BM +bummest//BMST +bumming/M/BMN +bump/GZDRS/BMP +bumper/DMG/BMP +bumpiness/MS/BMPNS +bumpkin/MS/BMPKN +Bumppo/M/BMP +bumptious/PY/BMPXS +bumptiousness/SM/BMPXSNS +bumpy/PRT/BMP +bun/SM/BN +bunch/MSDG/BNX +Bunche/M/BNX +bunchy/RT/BNX +buncombe's//BNKMBS +bunco's//BNKS +Bundestag/M/BNTSTK +bundle/GMRSD/BNTL +bundled/U/BNTLT +bundler/M/BNTL +Bundy/M/BNT +bung/GDMS/BNK +bungalow/MS/BNKL +bungee/SM/BNK +bunghole/MS/BNKL +bungle/GZRSD/BNKL +bungler/M/BNKL +bungling/Y/BNKLN +Bunin/M/BNN +bunion/SM/BNN +bunk/CSGDR/BNK +Bunker/M/BNK +bunker/SDMG/BNK +bunker's/C/BNKS +bunkhouse/SM/BNKHS +bunkmate/MS/BNKMT +bunko's//BNKS +bunk's//BNKS +bunkum/SM/BNKM +Bunni/M/BN +Bunnie/M/BN +Bunny/M/BN +bunny/SM/BN +Bunsen/SM/BNSN +bunt/GJZDRS/BNT +bunting/M/BNTN +Buñuel/M/BL +Bunyan/M/BNYN +buoy/SMDG/B +buoyancy/MS/BYNS +buoyant/Y/BYNT +bur/MYS/B +Burbank/M/BBNK +burble/RSDG/BBL +burbler/M/BBL +burbs//BBS +Burch/M/BX +burden/UGDS/BTN +burden's//BTNS +burdensome/PY/BTNSM +burdensomeness/M/BTNSMNS +burdock/SM/BTK +bureau/MS/BR +bureaucracy/MS/BRKRS +bureaucrat/MS/BRKRT +bureaucratic/U/BRKRTK +bureaucratically//BRKRTKL +bureaucratization/MS/BRKRTSXN +bureaucratize/SDG/BRKRTS +Burg/RM/BK +burg/SZRM/BK +burgeon/GDS/BKN +burger/M/BK +Burger/M/BK +Burgess/M/BKS +burgess/MS/BKS +burgh/MRZ/B +burgher/M/BK +burghs//BS +burglar/SM/BKL +burglarize/GDS/BKLRS +burglarproof/DGS/BKLPRF +burglary/MS/BKLR +burgle/SDG/BKL +burgomaster/SM/BKMST +Burgoyne/M/BKN +Burgundian/S/BKNTN +Burgundy/MS/BKNT +burgundy/S/BKNT +burial/ASM/BRL +buried/U/BRT +burier/M/BR +Burk/SM/BK +Burke/M/BK +Burl/M/BL +burl/SMDRG/BL +burlap/MS/BLP +burler/M/BL +burlesque/SRDMYG/BLSK +burlesquer/M/BLSK +burley/M/BL +Burlie/M/BL +burliness/SM/BLNS +Burlingame/M/BLNM +Burlington/M/BLNTN +burly/PRT/BL +Burma/M/BM +Burmese//BMS +burn/GZSDRBJ/BN +burnable/S/BNBL +Burnaby/M/BNB +Burnard/M/BNT +Burne/MS/BN +burned/U/BNT +burner/M/BN +Burnett/M/BNT +burning/Y/BNN +burnish/GDRSZ/BNX +burnisher/M/BNX +burnoose/MS/BNS +burnout/MS/BNT +Burns//BNS +Burnside/MS/BNST +burnt/YP/BNT +burp/SGMD/BP +burr/GSDRM/BR +Burr/M/BR +Burris/M/BRS +burrito/S/BRT +burro/SM/BR +Burroughs/M/BRS +burrow/GRDMZS/BR +burrower/M/BRW +bursa/M/BS +Bursa/M/BS +bursae//BS +bursar/MS/BS +bursary/MS/BSR +bursitis/MS/BSTS +burst/SRG/BST +burster/M/BST +Burt/M/BT +Burtie/M/BT +Burton/M/BTN +Burty/M/BT +Burundi/M/BRNT +Burundian/S/BRNTN +bury/ASDG/BR +bus/GMDSJ/BS +busboy/MS/BSB +busby/SM/BSB +Busch/M/BSX +buses/A/BSS +busgirl/S/BSKL +bush/JMDSRG/BX +Bush/M/BX +bushel/MDJSG/BXL +Bushido/M/BXT +bushiness/MS/BXNS +bushing/M/BXN +bushland//BXLNT +bushman/M/BXMN +bushmaster/SM/BXMST +bushmen//BXMN +Bushnell/M/BXNL +bushwhack/RDGSZ/BXHK +bushwhacker/M/BXHK +bushwhacking/M/BXHKN +bushy/PTR/BX +busily//BSL +business/MS/BSNS +businesslike//BSNSLK +businessman/M/BSNSMN +businessmen//BSNSMN +businesspeople//BSNSPPL +businessperson/S/BSNSPSN +businesswoman/M/BSNSWMN +businesswomen//BSNSWMN +busk/GRM/BSK +busker/M/BSK +buskin/SM/BSKN +bus's/A/BSS +buss/D/BS +bust/MSDRGZ/BST +bustard/MS/BSTT +buster/M/BST +bustle/GSD/BSTL +bustling/Y/BSTLN +busty/RT/BST +busy/DSRPTG/BS +busybody/MS/BSBT +busyness/MS/BSNS +busywork/SM/BSWK +but/ACS/BT +butane/MS/BTN +Butch/M/BX +butch/RSZ/BX +butcher/MDRYG/BX +butcherer/M/BXR +butchery/MS/BXR +butene/M/BTN +Butler/M/BTL +butler/SDMG/BTL +butt/SGZMDR/BT +butte/MS/BT +butted/A/BTT +butter/RDMGZ/BT +butterball/MS/BTBL +buttercup/SM/BTKP +buttered/U/BTRT +butterfat/MS/BTFT +Butterfield/M/BTFLT +butterfingered//BTFNRT +butterfingers/M/BTFNS +butterfly/MGSD/BTFL +buttermilk/MS/BTMLK +butternut/MS/BTNT +butterscotch/SM/BTSKX +buttery/TRS/BTR +butting/M/BTN +buttock/SGMD/BTK +button/SUDG/BTN +buttoner/M/BTN +buttonhole/GMRSD/BTNHL +buttonholer/M/BTNHL +button's//BTNS +buttonweed//BTNWT +buttonwood/SM/BTNWT +buttress/MSDG/BTRS +butyl/M/BTL +butyrate/M/BTRT +buxom/TPYR/BKSM +buxomness/M/BKSMNS +Buxtehude/M/BKSTHT +buy/ZGRS/B +buyback/S/BBK +buyer/M/BY +buyout/S/BYT +buzz/DSRMGZ/BS +buzzard/MS/BST +buzzer/M/BS +buzzword/SM/BSWT +buzzy//BS +bx//BKS +bxs//BKSS +by/ZR/B +bye/MZS/BY +byelaw's//BYLS +Byelorussia's//BYLRXS +Byers/M/BYS +bygone/S/BKN +bylaw/SM/BL +byline/RSDGM/BLN +byliner/M/BLN +BYOB//BYB +bypass/GSDM/BPS +bypath/M/BP@ +bypaths//BP@S +byplay/S/BPL +byproduct/SM/BPRTKT +Byram/M/BRM +Byran/M/BRN +Byrann/M/BRN +Byrd/M/BRT +byre/SM/BR +Byrle/M/BRL +Byrne/M/BRN +byroad/MS/BRT +Byrom/M/BRM +Byron/M/BRN +Byronic//BRNK +Byronism/M/BRNSM +bystander/SM/BSTNT +byte/SM/BT +byway/SM/BW +byword/SM/BWT +byzantine//BSNTN +Byzantine/S/BSNTN +Byzantium/M/BSNTM +C//K +c/B/K +ca//K +CA//K +Ca/M/K +cab/SMR/KB +cabal/SM/KBL +cabala/MS/KBL +caballed//KBLT +caballero/SM/KBLR +caballing//KBLN +cabana/MS/KBN +cabaret/SM/KBRT +cabbage/MGSD/KBK +cabbed//KBT +cabbing//KBN +cabby's//KBS +cabdriver/SM/KBTRF +caber/M/KB +Cabernet/M/KBNT +cabin/GDMS/KBN +cabinet/MS/KBNT +cabinetmaker/SM/KBNTMK +cabinetmaking/MS/KBNTMKN +cabinetry/SM/KBNTR +cabinetwork/MS/KBNTWK +cable/GMDS/KBL +cablecast/SG/KBLKST +cablegram/SM/KBLKRM +cabochon/MS/KBXN +caboodle/SM/KBTL +caboose/MS/KBS +Cabot/M/KBT +Cabrera/M/KBRR +Cabrini/M/KBRN +cabriolet/MS/KBRLT +cabstand/MS/KBSTNT +cacao/SM/KK +cacciatore//KXTR +cache/DSRGM/KX +cachepot/MS/KXPT +cachet/MDGS/KXT +Cacilia/M/KSL +Cacilie/M/KSL +cackle/RSDGZ/KKL +cackler/M/KKL +cackly//KKL +CACM//KKM +cacophonist//KKFNST +cacophonous//KKFNS +cacophony/SM/KKFN +cacti//KKT +cactus/M/KKTS +CAD//KT +Cad/M/KT +cad/SM/KT +cadaver/SM/KTF +cadaverous/Y/KTFRS +caddish/PY/KTX +caddishness/SM/KTXNS +Caddric/M/KTRK +caddy/GSDM/KT +cadence/CSM/KTNS +cadenced//KTNST +cadencing//KTNSN +cadent/C/KTNT +cadenza/MS/KTNS +cadet/SM/KTT +Cadette/S/KTT +cadge/DSRGZ/KK +cadger/M/KKR +Cadillac/MS/KTLK +Cadiz/M/KTS +cadmium/MS/KTMM +cadre/SM/KTR +caducei//KTS +caduceus/M/KTSS +Caedmon/M/KTMN +Caesar/MS/KS +caesura/SM/KSR +café/MS/KF +cafeteria/SM/KFTR +caffeine/SM/KFN +caftan/SM/KFTN +Cage/M/KK +cage/MZGDRS/KK +caged/U/KKT +cager/M/KK +cagey/P/KK +cagier//KK +cagiest//KKST +cagily//KKL +caginess/MS/KKNS +Cagney/M/KKN +Cahokia/M/KHK +cahoot/MS/KHT +Cahra/M/KR +CAI//K +Caiaphas/M/KFS +caiman's//KMNS +Cain/MS/KN +Caine/M/KN +Cairistiona/M/KRSXN +cairn/SDM/KN +Cairo/M/KR +caisson/SM/KSN +caitiff/MS/KTF +Caitlin/M/KTLN +Caitrin/M/KTRN +cajole/LGZRSD/KKL +cajolement/MS/KKLMNT +cajoler/M/KKL +cajolery/SM/KKLR +Cajun/MS/KKN +cake/MGDS/KK +cakewalk/SMDG/KKWLK +cal/C/KL +Cal/MY/KL +calabash/SM/KLBX +calaboose/MS/KLBS +Calais/M/KLS +calamari/S/KLMR +calamine/GSDM/KLMN +calamitous/YP/KLMTS +calamitousness/M/KLMTSNS +calamity/MS/KLMT +calcareous/PY/KLKRS +calcareousness/M/KLKRSNS +calciferous//KLSFRS +calcification/M/KLSFKXN +calcify/XGNSD/KLSF +calcimine/GMSD/KLSMN +calcine/SDG/KLSN +calcite/SM/KLST +calcium/SM/KLSM +Calcomp/M/KLKMP +CalComp/M/KLKMP +CALCOMP/M/KLKMP +calculability/IM/KLKLBLT +calculable/IP/KLKLBL +calculate/AXNGDS/KLKLT +calculated/PY/KLKLTT +calculating/U/KLKLTN +calculatingly//KLKLTNL +calculation/AM/KLKLXN +calculative//KLKLTF +calculator/SM/KLKLT +calculi//KLKL +calculus/M/KLKLS +Calcutta/M/KLKT +Calder/M/KLT +caldera/SM/KLTR +Calderon/M/KLTRN +caldron's//KLTRNS +Caldwell/M/KLTWL +Cale/M/KL +Caleb/M/KLB +Caledonia/M/KLTN +calendar/MDGS/KLNT +calender/MDGS/KLNT +calf/M/KLF +calfskin/SM/KLFSKN +Calgary/M/KLKR +Calhoun/M/KLHN +Cali/M/KL +Caliban/M/KLBN +caliber/SM/KLB +calibrate/XNGSD/KLBRT +calibrated/U/KLBRTT +calibrater's//KLBRTS +calibrating/A/KLBRTN +calibration/M/KLBRXN +calibrator/MS/KLBRT +calico/M/KLK +calicoes//KLKS +Calida/M/KLT +Calif/M/KLF +California/M/KLFN +Californian/MS/KLFNN +californium/SM/KLFNM +calif's//KLFS +Caligula/M/KLKL +caliper/SDMG/KLP +caliph/M/KLF +caliphate/SM/KLFT +caliphs//KLFS +calisthenic/S/KLS@NK +calisthenics/M/KLS@NKS +call/AGRDBS/KL +calla/MS/KL +Calla/MS/KL +Callaghan/M/KLKN +Callahan/M/KLHN +Callao/M/KL +callback/S/KLBK +Callean/M/KLN +called/U/KLT +callee/M/KL +caller/MS/KL +Calley/M/KL +Calli/M/KL +Callida/M/KLT +Callie/M/KL +calligraph/RZ/KLKRF +calligrapher/M/KLKRF +calligraphic//KLKRFK +calligraphist/MS/KLKRFST +calligraphy/MS/KLKRF +calling/SM/KLN +Calliope/M/KLP +calliope/SM/KLP +callisthenics's//KLS@NKSS +Callisto/M/KLST +callosity/MS/KLST +callous/PGSDY/KLS +callousness/SM/KLSNS +callow/RTSP/KL +callowness/MS/KLNS +callus/SDMG/KLS +Cally/M/KL +calm/PGTYDRS/KLM +calming/Y/KLMN +calmness/MS/KLMNS +Caloocan/M/KLKN +caloric/S/KLRK +calorie/SM/KLR +calorific//KLRFK +calorimeter/MS/KLRMT +calorimetric//KLRMTRK +calorimetry/M/KLRMTR +Caltech/M/KLTX +Calumet/M/KLMT +calumet/MS/KLMT +calumniate/NGSDX/KLMNT +calumniation/M/KLMNXN +calumniator/SM/KLMNT +calumnious//KLMNS +calumny/MS/KLMN +Calv/M/KLF +calvary/M/KLFR +Calvary/M/KLFR +calve/GDS/KLF +Calvert/M/KLFT +calves/M/KLFS +Calvin/M/KLFN +Calvinism/MS/KLFNSM +Calvinist/MS/KLFNST +Calvinistic//KLFNSTK +calyces's//KLSSS +Calypso/M/KLPS +calypso/SM/KLPS +calyx/MS/KLKS +CAM//KM +Cam/M/KM +cam/MS/KM +Camacho/M/KMX +Camala/M/KML +camaraderie/SM/KMRTR +camber/DMSG/KMB +cambial//KMBL +cambium/SM/KMBM +Cambodia/M/KMBT +Cambodian/S/KMBTN +Cambrian/S/KMBRN +cambric/MS/KMBRK +Cambridge/M/KMBRK +camcorder/S/KMKT +Camden/M/KMTN +came/SN/KM +Camel/M/KML +camel/SM/KML +camelhair's//KMLHS +Camella/M/KML +Camellia/M/KML +camellia/MS/KML +Camelopardalis/M/KMLPTLS +Camelot/M/KMLT +Camembert/MS/KMMBT +cameo/GSDM/KM +camera/MS/KMR +camerae//KMR +cameraman/M/KMRMN +cameramen//KMRMN +camerawoman//KMRWMN +camerawomen//KMRWMN +Cameron/M/KMRN +Cameroon/SM/KMRN +Cameroonian/S/KMRNN +Camey/M/KM +Cami/M/KM +Camila/M/KML +Camile/M/KML +Camilla/M/KML +Camille/M/KML +Camino/M/KMN +camion/M/KMN +camisole/MS/KMSL +cammed//KMT +Cammi/M/KM +Cammie/M/KM +Cammy/M/KM +Camoens/M/KMNS +camomile's//KMMLS +camouflage/DRSGZM/KMFLK +camouflager/M/KMFLK +camp/SCGD/KMP +campaign/ZMRDSG/KMPN +campaigner/M/KMPKN +campanile/SM/KMPNL +campanological//KMPNLKKL +campanologist/SM/KMPNLKST +campanology/MS/KMPNLK +Campbell/M/KMPBL +Campbellsport/M/KMPBLSPT +camper/SM/KMP +campesinos//KMPSNS +campest//KMPST +campfire/SM/KMPFR +campground/MS/KMPKRNT +camphor/MS/KMF +Campinas/M/KMPNS +camping/S/KMPN +Campos//KMPS +camp's//KMPS +campsite/MS/KMPST +campus/GSDM/KMPS +campy/RT/KMP +Camry/M/KMR +camshaft/SM/KMXFT +Camus/M/KMS +Can/M/KN +can/MDRSZGJ/KN +Canaan/M/KNN +Canaanite/SM/KNNT +Canad/M/KNT +Canada/M/KNT +Canadian/S/KNTN +Canadianism/SM/KNTNSM +canal/SGMD/KNL +Canaletto/M/KNLT +canalization/MS/KNLSXN +canalize/GSD/KNLS +canapé/S/KNP +canard/MS/KNT +Canaries//KNRS +canary/SM/KNR +canasta/SM/KNST +Canaveral/M/KNFRL +Canberra/M/KNBR +cancan/SM/KNKN +cancel/RDZGS/KNSL +cancelate/D/KNSLT +canceled/U/KNSLT +canceler/M/KNSL +cancellation/MS/KNSLXN +cancer/MS/KNS +Cancer/MS/KNS +cancerous/Y/KNSRS +Cancun/M/KNKN +Candace/M/KNTS +candelabra/S/KNTLBR +candelabrum/M/KNTLBRM +Candi/SM/KNT +Candice/M/KNTS +candid/TRYPS/KNTT +Candida/M/KNTT +candidacy/MS/KNTTS +candidate/SM/KNTTT +candidature/S/KNTTTR +Candide/M/KNTT +candidly/U/KNTTL +candidness/SM/KNTTNS +Candie/M/KNT +candle/GMZRSD/KNTL +candlelight/SMR/KNTLLT +candlelit//KNTLLT +candlepower/SM/KNTLPW +candler/M/KNTL +candlestick/SM/KNTLSTK +Candlewick/M/KNTLWK +candlewick/MS/KNTLWK +candor/MS/KNT +Candra/M/KNTR +candy/GSDM/KNT +Candy/M/KNT +cane/SM/KN +canebrake/SM/KNBRK +caner/M/KN +canine/S/KNN +caning/M/KNN +Canis/M/KNS +canister/SGMD/KNST +canker/SDMG/KNK +cankerous//KNKRS +cannabis/MS/KNBS +canned//KNT +cannelloni//KNLN +canner/SM/KN +cannery/MS/KNR +Cannes//KNS +cannibal/SM/KNBL +cannibalism/MS/KNBLSM +cannibalistic//KNBLSTK +cannibalization/SM/KNBLSXN +cannibalize/GSD/KNBLS +cannily/U/KNL +canniness/UM/KNNS +canninesses//KNNSS +canning/M/KNN +cannister/SM/KNST +Cannon/M/KNN +cannon/SDMG/KNN +cannonade/SDGM/KNNT +cannonball/SGDM/KNNBL +cannot//KNT +canny/RPUT/KN +canoe/DSGM/KN +canoeist/SM/KNST +Canoga/M/KNK +canon/SM/KNN +canonic//KNNK +canonical/SY/KNNKL +canonicalization//KNNKLSXN +canonicalize/GSD/KNNKLS +canonist/M/KNNST +canonization/MS/KNNSXN +canonize/SDG/KNNS +canonized/U/KNNST +Canopus/M/KNPS +canopy/GSDM/KNP +canst//KNST +can't//KNT +cant/CZGSRD/KNT +cantabile/S/KNTBL +Cantabrigian//KNTBRKN +cantaloupe/MS/KNTLP +cantankerous/PY/KNTNKRS +cantankerousness/SM/KNTNKRSNS +cantata/SM/KNTT +canted/IA/KNTT +canteen/MS/KNTN +canter/CM/KNT +Canterbury/M/KNTBR +cantered//KNTRT +cantering//KNTRN +canticle/SM/KNTKL +cantilever/SDMG/KNTLF +canto/MS/KNT +Canton/M/KNTN +canton/MGSLD/KNTN +cantonal//KNTNL +Cantonese/M/KNTNS +cantonment/SM/KNTNMNT +Cantor/M/KNT +cantor/MS/KNT +Cantrell/M/KNTRL +cant's//KNTS +cants/A/KNTS +Cantu/M/KNT +Canute/M/KNT +canvas/RSDMG/KNFS +canvasback/MS/KNFSBK +canvass/RSDZG/KNFS +canvasser/M/KNFS +canyon/MS/KNYN +CAP//KP +cap/MDRSZB/KP +capability/ISM/KPBLT +capable/PI/KPBL +capableness/IM/KPBLNS +capabler//KPBL +capablest//KPBLST +capably/I/KPBL +capacious/PY/KPSS +capaciousness/MS/KPSSNS +capacitance/SM/KPSTNS +capacitate/V/KPSTT +capacitive/Y/KPSTF +capacitor/MS/KPST +capacity/IMS/KPST +caparison/SDMG/KPRSN +cape/SM/KP +Capek/M/KPK +Capella/M/KPL +caper/GDM/KP +capeskin/SM/KPSKN +Capet/M/KPT +Capetown/M/KPTN +Caph/M/KF +capillarity/MS/KPLRT +capillary/S/KPLR +Capistrano/M/KPSTRN +capita/M/KPT +capital/SMY/KPTL +capitalism/SM/KPTLSM +capitalist/SM/KPTLST +capitalistic//KPTLSTK +capitalistically//KPTLSTKL +capitalization/SMA/KPTLSXN +capitalize/RSDGZ/KPTLS +capitalized/AU/KPTLST +capitalizer/M/KPTLS +capitalizes/A/KPTLSS +Capitan/M/KPTN +capitation/CSM/KPTXN +Capitol/MS/KPTL +capitol/SM/KPTL +Capitoline/M/KPTLN +capitulate/AXNGSD/KPTLT +capitulation/MA/KPTLXN +caplet/S/KPLT +capo/SM/KP +capon/SM/KPN +Capone/M/KPN +Capote/M/KPT +capped/UA/KPT +capping/M/KPN +cappuccino/MS/KPSN +Cappy/M/KP +Capra/M/KPR +Capri/M/KPR +Caprice/M/KPRS +caprice/MS/KPRS +capricious/PY/KPRSS +capriciousness/MS/KPRSSNS +Capricorn/MS/KPRKN +caps/AU/KPS +capsicum/MS/KPSKM +capsize/SDG/KPSS +capstan/MS/KPSTN +capstone/MS/KPSTN +capsular//KPSL +capsule/MGSD/KPSL +capsulize/GSD/KPSLS +Capt/M/KPT +capt/V/KPT +captain/SGDM/KPTN +captaincy/MS/KPTNS +caption/GSDRM/KPXN +captious/PY/KPXS +captiousness/SM/KPXSNS +captivate/XGNSD/KPTFT +captivation/M/KPTFXN +captivator/SM/KPTFT +captive/MS/KPTF +captivity/SM/KPTFT +captor/SM/KPT +capture/AGSD/KPTR +capturer/MS/KPTR +Capulet/M/KPLT +Caputo/M/KPT +Car/MNY/K +car/ZGSMDR/K +Cara/M/KR +Caracalla/M/KRKL +Caracas/M/KRKS +caracul's//KRKLS +carafe/SM/KRF +Caralie/M/KRL +caramel/MS/KRML +caramelize/SDG/KRMLS +carapace/SM/KRPS +carapaxes//KRPKSS +carat/SM/KRT +Caravaggio/M/KRFK +caravan/DRMGS/KRFN +caravaner/M/KRFN +caravansary/MS/KRFNSR +caravanserai's//KRFNSRS +caravel/MS/KRFL +caraway/MS/KRW +carbide/MS/KBT +carbine/MS/KBN +carbohydrate/MS/KBHTRT +carbolic//KBLK +Carboloy/M/KBL +carbon/MS/KBN +carbonaceous//KBNSS +carbonate/SDXMNG/KBNT +carbonation/M/KBNXN +Carbondale/M/KBNTL +Carbone/MS/KBN +carbonic//KBNK +carboniferous//KBNFRS +Carboniferous//KBNFRS +carbonization/SAM/KBNSXN +carbonize/ZGRSD/KBNS +carbonizer/AS/KBNS +carbonizer's//KBNSS +carbonizes/A/KBNSS +carbonyl/M/KBNL +carborundum//KBRNTM +Carborundum/MS/KBRNTM +carboy/MS/KB +carbuncle/SDM/KBNKL +carbuncular//KBNKL +carburetor/MS/KBRT +carburetter/S/KBRT +carburettor/SM/KBRT +carcase/MS/KKS +carcass/SM/KKS +Carce/M/KS +carcinogen/SM/KSNKN +carcinogenic//KSNKNK +carcinogenicity/MS/KSNKNST +carcinoma/SM/KSNM +card/EDRSG/KT +cardamom/MS/KTMM +cardboard/MS/KTBT +Cardenas/M/KTNS +carder/MS/KT +carder's/E/KTS +cardholders//KTHLTS +cardiac/S/KTK +Cardiff/M/KTF +cardigan/SM/KTKN +Cardin/M/KTN +cardinal/SYM/KTNL +cardinality/SM/KTNLT +carding/M/KTN +Cardiod/M/KTT +cardiogram/MS/KTKRM +cardiograph/M/KTKRF +cardiographs//KTKRFS +cardioid/M/KTT +cardiologist/SM/KTLKST +cardiology/MS/KTLK +cardiomegaly/M/KTMKL +cardiopulmonary//KTPLMNR +cardiovascular//KTFSKL +card's//KTS +cardsharp/ZSMR/KTXP +CARE//KR +Care/M/KR +care/S/KR +cared/U/KRT +careen/DSG/KRN +career/SGRDM/KR +careerism/M/KRRSM +careerist/MS/KRRST +carefree//KRFR +careful/PY/KRFL +carefuller//KRFL +carefullest//KRFLST +carefulness/MS/KRFLNS +caregiver/S/KRKF +careless/YP/KRLS +carelessness/MS/KRLSNS +Caren/M/KRN +Carena/M/KRN +carer/M/KR +Caresa/M/KRS +caress/SRDMVG/KRS +Caressa/M/KRS +Caresse/M/KRS +caresser/M/KRS +caressing/Y/KRSN +caressive/Y/KRSF +caret/SM/KRT +caretaker/SM/KRTK +careworn//KRWN +Carey/M/KR +carfare/MS/KFR +cargo/M/KK +cargoes//KKS +carhop/SM/KHP +carhopped//KHPT +carhopping//KHPN +Cari/M/KR +Caria/M/KR +Carib/M/KRB +Caribbean/S/KRBN +caribou/MS/KRB +caricature/GMSD/KRKTR +caricaturisation//KRKTRSXN +caricaturist/MS/KRKTRST +caricaturization//KRKTRSXN +Carie/M/KR +caries/M/KRS +Caril/M/KRL +carillon/SM/KRLN +carillonned//KRLNT +carillonning//KRLNN +Carilyn/M/KRLN +Carin/M/KRN +Carina/M/KRN +Carine/M/KRN +caring/U/KRN +Cariotta/M/KRT +carious//KRS +Carissa/M/KRS +Carita/M/KRT +Caritta/M/KRT +carjack/GSJDRZ/KKK +Carl/MNG/KL +Carla/M/KL +Carlee/M/KL +Carleen/M/KLN +Carlen/M/KLN +Carlene/M/KLN +Carleton/M/KLTN +Carletonian/M/KLTNN +Carley/M/KL +Carlie/M/KL +Carlin/M/KLN +Carlina/M/KLN +Carline/M/KLN +Carling/M/KLN +Carlita/M/KLT +Carlo/SM/KL +carload/MSG/KLT +Carlota/M/KLT +Carlotta/M/KLT +Carlsbad/M/KLSBT +Carlson/M/KLSN +Carlton/M/KLTN +Carly/M/KL +Carlye/M/KLY +Carlyle/M/KLL +Carlyn/M/KLN +Carlynn/M/KLN +Carlynne/M/KLN +Carma/M/KM +Carmel/M/KML +Carmela/M/KML +Carmelia/M/KML +Carmelina/M/KMLN +Carmelita/M/KMLT +Carmella/M/KML +Carmelle/M/KML +Carmelo/M/KML +Carmen/M/KMN +Carmencita/M/KMNST +Carmichael/M/KMXL +Carmina/M/KMN +Carmine/M/KMN +carmine/MS/KMN +Carmita/M/KMT +Carmon/M/KMN +carnage/MS/KNK +carnal/Y/KNL +carnality/SM/KNLT +Carnap/M/KNP +carnation/IMS/KNXN +Carnegie/M/KNK +carnelian/SM/KNLN +Carney/M/KN +carney's//KNS +carnival/MS/KNFL +carnivore/SM/KNFR +carnivorous/YP/KNFRS +carnivorousness/MS/KNFRSNS +Carnot/M/KNT +Carny/M/KN +carny/SDG/KN +Caro/M/KR +carob/SM/KRB +Carol/M/KRL +carol/SGZMRD/KRL +Carola/M/KRL +Carolan/M/KRLN +Carolann/M/KRLN +Carole/M/KRL +Carolee/M/KRL +caroler/M/KRL +Carolin/M/KRLN +Carolina/MS/KRLN +Caroline/M/KRLN +Carolingian//KRLNN +Carolinian/S/KRLNN +Caroljean/M/KRLKN +Carolus/M/KRLS +Carolyn/M/KRLN +Carolyne/M/KRLN +Carolynn/M/KRLN +carom/GSMD/KRM +Caron/M/KRN +carotene/MS/KRTN +carotid/MS/KRTT +carousal/MS/KRSL +carouse/SRDZG/KRS +carousel/MS/KRSL +carouser/M/KRS +carp/MDRSGZ/KP +carpal/SM/KPL +Carpathian/MS/KP@N +carpel/SM/KPL +carpenter/DSMG/KPNT +Carpenter/M/KPNT +carpentering/M/KPNTRN +carpentry/MS/KPNTR +carper/M/KP +carpet/MDJGS/KPT +carpetbag/MS/KPTBK +carpetbagged//KPTBKT +carpetbagger/MS/KPTBK +carpetbagging//KPTBKN +carpeting/M/KPTN +carpi/M/KP +carping/Y/KPN +carpool/DGS/KPL +carport/MS/KPT +carpus/M/KPS +Carr/M/KR +carrageen/M/KRKN +Carree/M/KR +carrel/SM/KRL +Carri/M/KR +carriage/SM/KRK +carriageway/SM/KRKW +Carrie/M/KR +carrier/M/KR +Carrier/M/KR +Carrillo/M/KRL +carrion/SM/KRN +Carrissa/M/KRS +Carrol/M/KRL +Carroll/M/KRL +carrot/MS/KRT +carroty/RT/KRT +carrousel's//KRSLS +Carry/MR/KR +carry/RSDZG/KR +carryall/MS/KRYL +carryout/S/KRYT +carryover/S/KRYF +carsick/P/KSK +carsickness/SM/KSKNS +Carson/M/KSN +cart/MDRGSZ/KT +Cart/MR/KT +cartage/MS/KTK +carte/M/KT +cartel/SM/KTL +carter/M/KT +Carter/M/KT +Cartesian//KTXN +Carthage/M/K@K +Carthaginian/S/K@KNN +carthorse/MS/K@S +Cartier/M/KT +cartilage/MS/KTLK +cartilaginous//KTLKNS +cartload/MS/KTLT +cartographer/MS/KTKRF +cartographic//KTKRFK +cartography/MS/KTKRF +carton/GSDM/KTN +cartoon/GSDM/KTN +cartoonist/MS/KTNST +cartridge/SM/KTRK +cartwheel/MRDGS/KTHL +Cartwright/M/KTRT +Carty/RM/KT +Caruso/M/KRS +carve/DSRJGZ/KF +carven//KFN +carver/M/KF +Carver/M/KF +carving/M/KFN +Cary/M/KR +caryatid/MS/KRYTT +Caryl/M/KRL +Caryn/M/KRN +casaba/SM/KSB +Casablanca/M/KSBLNK +Casals/M/KSLS +Casandra/M/KSNTR +Casanova/SM/KSNF +Casar/M/KS +casbah/M/KSB +cascade/MSDG/KSKT +Cascades/M/KSKTS +cascara/MS/KSKR +case/DSJMGL/KS +Case/M/KS +casebook/SM/KSBK +cased/U/KST +caseharden/SGD/KSHTN +casein/SM/KSN +caseload/MS/KSLT +casement/SM/KSMNT +casework/ZMRS/KSWK +caseworker/M/KSWK +Casey/M/KS +cash/GZMDSR/KX +Cash/M/KX +cashbook/SM/KXBK +cashew/MS/KX +cashier/SDMG/KX +cashless//KXLS +cashmere/MS/KXMR +Casi/M/KS +Casie/M/KS +casing/M/KSN +casino/MS/KSN +cask/GSDM/KSK +casket/SGMD/KSKT +Caspar/M/KSP +Casper/M/KSP +Caspian//KSPN +Cass//KS +Cassandra/SM/KSNTR +Cassandre/M/KSNTR +Cassandry/M/KSNTR +Cassatt/M/KST +Cassaundra/M/KSNTR +cassava/MS/KSF +casserole/MGSD/KSRL +cassette/SM/KST +Cassey/M/KS +Cassi/M/KS +cassia/MS/KX +Cassie/M/KS +cassino's//KSNS +Cassiopeia/M/KXP +Cassite/M/KST +Cassius/M/KSS +cassock/SDM/KSK +Cassondra/M/KSNTR +cassowary/SM/KSWR +Cassy/M/KS +cast/GZSJMDR/KST +Castaneda/M/KSTNT +castanet/SM/KSTNT +castaway/SM/KSTW +caste/MHS/KST +castellated//KSTLTT +caster/M/KST +castigate/XGNSD/KSTKT +castigation/M/KSTKXN +castigator/SM/KSTKT +Castile's//KSTLS +Castillo/M/KSTL +casting/M/KSTN +castle/GMSD/KSTL +castoff/S/KSTF +Castor/M/KST +castor's//KSTS +castrate/DSNGX/KSTRT +castration/M/KSTRXN +Castries/M/KSTRS +Castro/M/KSTR +casts/A/KSTS +casual/SYP/KSL +casualness/SM/KSLNS +casualty/SM/KSLT +casuist/MS/KSST +casuistic//KSSTK +casuistry/SM/KSSTR +cat/SMRZ/KT +cataclysm/MS/KTKLSM +cataclysmal//KTKLSML +cataclysmic//KTKLSMK +catacomb/MS/KTKM +catafalque/SM/KTFLK +Catalan/MS/KTLN +catalepsy/MS/KTLPS +cataleptic/S/KTLPTK +Catalina/M/KTLN +catalog/SDRMZG/KTLK +cataloger/M/KTLK +Catalonia/M/KTLN +catalpa/SM/KTLP +catalysis/M/KTLSS +catalyst/SM/KTLST +catalytic//KTLTK +catalytically//KTLTKL +catalyze/DSG/KTLS +catamaran/MS/KTMRN +catapult/MGSD/KTPLT +cataract/MS/KTRKT +Catarina/M/KTRN +catarrh/M/KTRH +catarrhs//KTRHS +catastrophe/SM/KTSTRF +catastrophic//KTSTRFK +catastrophically//KTSTRFKL +catatonia/MS/KTTN +catatonic/S/KTTNK +Catawba/M/KTB +catbird/MS/KTBT +catboat/SM/KTBT +catcall/SMDG/KTKL +catch/BRSJLGZ/KX +catchable/U/KXBL +catchall/MS/KXL +catcher/M/KX +catchment/SM/KXMNT +catchpenny/S/KXPN +catchphrase/S/KXFRS +catchup/MS/KXP +catchword/MS/KXWT +catchy/TR/KX +Cate/M/KT +catechism/MS/KTXSM +catechist/SM/KTXST +catechize/SDG/KTXS +catecholamine/MS/KTXLMN +categoric//KTKRK +categorical/Y/KTKRKL +categorization/MS/KTKRSXN +categorize/RSDGZ/KTKRS +categorized/AU/KTKRST +category/MS/KTKR +catenate/NF/KTNT +catenation/MF/KTNXN +cater/GRDZ/KT +catercorner//KTKN +caterer/M/KTR +Caterina/M/KTRN +catering/M/KTRN +Caterpillar//KTPL +caterpillar/SM/KTPL +caterwaul/DSG/KTWL +catfish/MS/KTFX +catgut/SM/KTKT +Catha/M/K@ +Catharina/M/K@RN +Catharine/M/K@RN +catharses//K@SS +catharsis/M/K@SS +cathartic/S/K@TK +Cathay/M/K@ +Cathe/RM/K@ +cathedral/SM/K@TRL +Cathee/M/K@ +Cather/M/K@ +Catherin/M/K@RN +Catherina/M/K@RN +Catherine/M/K@RN +catheter/SM/K@T +catheterize/GSD/K@TRS +Cathi/M/K@ +Cathie/M/K@ +Cathleen/M/K@LN +Cathlene/M/K@LN +cathode/MS/K@T +cathodic//K@TK +catholic/MS/K@LK +Catholic/S/K@LK +catholicism//K@LSSM +Catholicism/SM/K@LSSM +catholicity/MS/K@LST +Cathrin/M/K@RN +Cathrine/M/K@RN +Cathryn/M/K@RN +Cathy/M/K@ +Cathyleen/M/K@LN +Cati/M/KT +Catie/M/KT +Catiline/M/KTLN +Catina/M/KTN +cation/MS/KXN +cationic//KXNK +catkin/SM/KTKN +Catlaina/M/KTLN +Catlee/M/KTL +catlike//KTLK +Catlin/M/KTLN +catnap/SM/KTNP +catnapped//KTNPT +catnapping//KTNPN +catnip/MS/KTNP +Cato/M/KT +Catrina/M/KTRN +Catriona/M/KTRN +Catskill/SM/KTSKL +catsup's//KTSPS +Catt/M/KT +cattail/SM/KTL +catted//KTT +cattery/M/KTR +cattily//KTL +cattiness/SM/KTNS +catting//KTN +cattle/M/KTL +cattleman/M/KTLMN +cattlemen//KTLMN +catty/PRST/KT +Catullus/M/KTLS +CATV//KTF +catwalk/MS/KTWLK +Caty/M/KT +Caucasian/S/KKXN +Caucasoid/S/KKST +Caucasus/M/KKSS +Cauchy/M/KX +caucus/SDMG/KKS +caudal/Y/KTL +caught/U/KT +cauldron/MS/KLTRN +cauliflower/MS/KLFLW +caulk/JSGZRD/KLK +caulker/M/KLK +causal/YS/KSL +causality/SM/KSLT +causate/XVN/KST +causation/M/KSXN +causative/SY/KSTF +cause/DSRGMZ/KS +caused/U/KST +causeless//KSLS +causer/M/KS +causerie/MS/KSR +causeway/SGDM/KSW +caustic/YS/KSTK +caustically//KSTKL +causticity/MS/KSTST +cauterization/SM/KTRSXN +cauterize/GSD/KTRS +cauterized/U/KTRST +caution/GJDRMSZ/KXN +cautionary//KXNR +cautioner/M/KXN +cautious/PIY/KXS +cautiousness/SM/KXSNS +cautiousness's/I/KXSNSS +cavalcade/MS/KFLKT +cavalier/SGYDP/KFL +cavalierness/M/KFLNS +cavalry/MS/KFLR +cavalryman/M/KFLRMN +cavalrymen//KFLRMN +cave/GFRSD/KF +caveat/SM/KFT +caveatted//KFTT +caveatting//KFTN +caveman/M/KFMN +cavemen//KFMN +Cavendish/M/KFNTX +caver/M/KF +cavern/GSDM/KFN +cavernous/Y/KFNS +cave's//KFS +caviar/MS/KF +cavil/SJRDGZ/KFL +caviler/M/KFL +caving/MS/KFN +cavity/MFS/KFT +cavort/SDG/KFT +Cavour/M/KF +caw/SMDG/K +Caxton/M/KKSTN +cay/SC/K +Caye/M/KY +Cayenne/M/KYN +cayenne/SM/KYN +Cayla/M/KL +Cayman/M/KMN +cayman/SM/KMN +cay's//KS +Cayuga/M/KYK +cayuse/SM/KYS +Caz/M/KS +Cazzie/M/KS +CB//KB +Cb/M/KB +CBC//KBK +CBS//KBS +cc//K +Cchaddie/M/XT +CCTV//KTF +CCU//K +CD//KT +Cd/M/KT +CDC/M/KTK +CDT//KTT +Ce//S +cease/DSCG/SS +ceasefire/S/SSFR +ceaseless/YP/SSLS +ceaselessness/SM/SSLSNS +ceasing/U/SSN +Ceausescu/M/SSSK +Cebu/M/SB +Cebuano/M/SBN +ceca//SK +cecal//SKL +Cece/M/SS +Cecelia/M/SSL +Cecil/M/SSL +Cecile/M/SSL +Ceciley/M/SSL +Cecilia/M/SSL +Cecilio/M/SSL +Cecilius/M/SSLS +Cecilla/M/SSL +Cecily/M/SSL +cecum/M/SKM +Ced/M/ST +cedar/SM/ST +cede/FRSDG/ST +ceded/A/STT +ceder/SM/ST +ceder's/F/STS +cedes/A/STS +cedilla/SM/STL +ceding/A/STN +Cedric/M/STRK +Ceil/M/SL +ceilidh/M/SLTH +ceiling/MDS/SLN +celandine/MS/SLNTN +Celanese/M/SLNS +Cele/M/SL +Celebes's//SLBSS +celebrant/MS/SLBRNT +celebrate/XSDGN/SLBRT +celebrated/P/SLBRTT +celebratedness/M/SLBRTTNS +celebration/M/SLBRXN +celebrator/MS/SLBRT +celebratory//SLBRTR +celebrity/MS/SLBRT +Celene/M/SLN +celerity/SM/SLRT +celery/SM/SLR +Celesta/M/SLST +celesta/SM/SLST +Celeste/M/SLST +Celestia/M/SLSX +celestial/YS/SLSXL +Celestina/M/SLSTN +Celestine/M/SLSTN +Celestyn/M/SLSTN +Celestyna/M/SLSTN +Celia/M/SL +celibacy/MS/SLBS +celibate/SM/SLBT +Celie/M/SL +Celina/M/SLN +Celinda/M/SLNT +Celine/M/SLN +Celinka/M/SLNK +Celisse/M/SLS +Celka/M/SLK +cell/GMDS/SL +cellar/RDMGS/SL +cellarer/M/SLR +Celle/M/SL +Cellini/M/SLN +cellist/SM/SLST +Cello/M/SL +cello/MS/SL +cellophane/SM/SLFN +cellphone/S/SLFN +cellular/SY/SLL +cellulite/S/SLLT +celluloid/SM/SLLT +cellulose/SM/SLLS +Celsius/S/SLSS +Celt/MS/SLT +Celtic/SM/SLTK +cement/ZGMRDS/SMNT +cementa//SMNT +cementer/M/SMNT +cementum/SM/SMNTM +cemetery/MS/SMTR +cenobite/MS/SNBT +cenobitic//SNBTK +cenotaph/M/SNTF +cenotaphs//SNTFS +Cenozoic//SNSK +censer/MS/SNS +censor/GDMS/SNS +censored/U/SNSRT +censorial//SNSRL +censorious/YP/SNSRS +censoriousness/MS/SNSRSNS +censorship/MS/SNSXP +censure/BRSDZMG/SNSR +censurer/M/SNSR +census/SDMG/SNSS +cent/SZMR/SNT +centaur/SM/SNT +Centaurus/M/SNTRS +centavo/SM/SNTF +centenarian/MS/SNTNRN +centenary/S/SNTNR +centennial/YS/SNTNL +center/AC/SNT +centerboard/SM/SNTBT +centered//SNTRT +centerer/S/SNTR +centerfold/S/SNTFLT +centering/SM/SNTRN +centerline/SM/SNTLN +centerpiece/SM/SNTPS +center's//SNTS +Centigrade//SNTKRT +centigrade/S/SNTKRT +centigram/SM/SNTKRM +centiliter/MS/SNTLT +centime/SM/SNTM +centimeter/SM/SNTMT +centipede/MS/SNTPT +central/STRY/SNTRL +Centralia/M/SNTRL +centralism/M/SNTRLSM +centralist/M/SNTRLST +centrality/MS/SNTRLT +centralization/CAMS/SNTRLSXN +centralize/CGSD/SNTRLS +centralizer/SM/SNTRLS +centralizes/A/SNTRLSS +centrefold's//SNTRFLTS +Centrex//SNTRKS +CENTREX/M/SNTRKS +centric/F/SNTRK +centrifugal/SY/SNTRFKL +centrifugate/NM/SNTRFKT +centrifugation/M/SNTRFKXN +centrifuge/GMSD/SNTRFK +centripetal/Y/SNTRPTL +centrist/MS/SNTRST +centroid/MS/SNTRT +centurion/MS/SNTRN +century/MS/SNTR +CEO//S +cephalic/S/SFLK +Cepheid//SFT +Cepheus/M/SFS +ceramic/MS/SRMK +ceramicist/S/SRMSST +ceramist/MS/SRMST +cerate/MD/SRT +Cerberus/M/SBRS +cereal/MS/SRL +cerebellar//SRBL +cerebellum/MS/SRBLM +cerebra//SRBR +cerebral/SY/SRBRL +cerebrate/XSDGN/SRBRT +cerebration/M/SRBRXN +cerebrum/MS/SRBRM +cerement/SM/SRMNT +ceremonial/YSP/SRMNL +ceremonious/YUP/SRMNS +ceremoniousness/MS/SRMNSNS +ceremoniousness's/U/SRMNSNSS +ceremony/MS/SRMN +Cerenkov/M/SRNKF +Ceres/M/SRS +Cerf/M/SF +cerise/SM/SRS +cerium/MS/SRM +cermet/SM/SMT +CERN/M/SN +cert/FS/ST +certain/UY/STN +certainer//STN +certainest//STNST +certainty/UMS/STNT +certifiable//STFBL +certifiably//STFBL +certificate/SDGM/STFKT +certification/AMC/STFKXN +certified/U/STFT +certifier/M/STF +certify/DRSZGNX/STF +certiorari/M/SXRR +certitude/ISM/STTT +cerulean/MS/SRLN +Cervantes/M/SFNTS +cervical//SFKL +cervices/M/SFSS +cervix/M/SFKS +Cesar/M/SS +Cesare/M/SSR +Cesarean//SSRN +cesarean/S/SSRN +Cesaro/M/SSR +cesium/MS/SSM +cessation/SM/SSXN +cession/FAMSK/SXN +Cessna/M/SSN +cesspit/M/SSPT +cesspool/SM/SSPL +Cesya/M/SSY +cetacean/S/STSN +cetera/S/STR +Cetus/M/STS +Ceylon/M/SLN +Ceylonese//SLNS +Cezanne/S/SSN +cf//KF +CF//KF +Cf/M/KF +CFC//KFK +CFO//KF +cg//KK +Ch/MGNRS/X +ch/VT/X +Chablis/SM/XBLS +Chad/M/XT +Chadd/M/XT +Chaddie/M/XT +Chaddy/M/XT +Chadian/S/XTN +Chadwick/M/XTWK +chafe/GDSR/XF +chafer/M/XF +chaff/GRDMS/XF +chaffer/DRG/XF +chafferer/M/XFR +Chaffey/M/XF +chaffinch/SM/XFNX +Chagall/M/XKL +chagrin/DGMS/XKRN +Chaim/M/XM +chain/SGUD/XN +chainlike//XNLK +chain's//XNS +chainsaw/SGD/XNS +chair/SGDM/X +chairlady/M/XLT +chairlift/MS/XLFT +chairman/MDGS/XMN +chairmanship/MS/XMNXP +chairmen//XMN +chairperson/MS/XPSN +chairwoman/M/XWMN +chairwomen//XWMN +chaise/SM/XS +chalcedony/MS/XLSTN +Chaldea/M/XLT +Chaldean/M/XLTN +chalet/SM/XLT +chalice/DSM/XLS +chalk/DSMG/XLK +chalkboard/SM/XLKBT +chalkiness/S/XLKNS +chalkline//XLKLN +chalky/RPT/XLK +challenge/ZGSRD/XLNK +challenged/U/XLNKT +challenger/M/XLNK +challenging/Y/XLNKN +challis/SM/XLS +Chalmers//XLMS +chamber/SZGDRM/XMB +chamberer/M/XMBR +Chamberlain/M/XMBLN +chamberlain/MS/XMBLN +chambermaid/MS/XMBMT +chamberpot/S/XMBPT +Chambers/M/XMBS +chambray/MS/XMBR +chameleon/SM/XMLN +chamfer/DMGS/XMF +chammy's//XMS +chamois/DSMG/XMS +chamomile/MS/XMML +champ/DGSZ/XMP +champagne/MS/XMPKN +champaign/M/XMPN +champion/MDGS/XMPN +championship/MS/XMPNXP +Champlain/M/XMPLN +Chan/M/XN +chance/GMRSD/XNS +Chance/M/XNS +chanced/M/XNST +chancel/SM/XNSL +chancellery/SM/XNSLR +chancellor/SM/XNSL +chancellorship/SM/XNSLXP +Chancellorsville/M/XNSLSFL +chancery/SM/XNSR +Chancey/M/XNS +chanciness/S/XNSNS +chancing/M/XNSN +chancre/SM/XNKR +chancy/RPT/XNS +Chanda/M/XNT +Chandal/M/XNTL +chandelier/SM/XNTL +Chandigarh/M/XNTKH +Chandler/M/XNTL +chandler/MS/XNTL +Chandra/M/XNTR +Chandragupta/M/XNTRKPT +Chandrasekhar/M/XNTRSKH +Chandy/M/XNT +Chane/M/XN +Chanel/M/XNL +Chaney/M/XN +Chang/M/XNK +Changchun/M/XNKXN +change/GZRSD/XNK +changeabilities//XNKBLTS +changeability/UM/XNKBLT +changeable/U/XNKBL +changeableness/SM/XNKBLNS +changeably/U/XNKBL +changed/U/XNKT +changeless//XNKLS +changeling/M/XNKLN +changeover/SM/XNKF +changer/M/XNK +changing/U/XNKN +Changsha/M/XNKX +Channa/M/XN +channel/MDRZSG/XNL +channeler/M/XNL +channeling/M/XNLN +channelization/SM/XNLSXN +channelize/GDS/XNLS +channellings//XNLNS +Channing/M/XNN +chanson/SM/XNSN +chant/SJGZMRD/XNT +Chantal/M/XNTL +Chantalle/M/XNTL +chanter/M/XNT +chanteuse/MS/XNTS +chantey/SM/XNT +chanticleer/SM/XNTKL +Chantilly/M/XNTL +chantry/MS/XNTR +chanty's//XNTS +Chanukah's//XNKS +Chao/M/X +chaos/SM/XS +chaotic//XTK +chaotically//XTKL +chap/MS/XP +chaparral/MS/XPRL +chapbook/SM/XPBK +chapeau/MS/XP +chapel/MS/XPL +chaperon/GMDS/XPRN +chaperonage/MS/XPRNK +chaperoned/U/XPRNT +chaperone's//XPRNS +chaplain/MS/XPLN +chaplaincy/MS/XPLNS +chaplet/SM/XPLT +Chaplin/M/XPLN +Chapman/M/XPMN +Chappaquiddick/M/XPKTK +chapped//XPT +chapping//XPN +chapter/SGDM/XPT +char/GS/X +Chara//XR +charabanc/MS/XRBNK +character/MDSG/XRKT +characterful//XRKTFL +characteristic/SM/XRKTRSTK +characteristically/U/XRKTRSTKL +characterizable/MS/XRKTRSBL +characterization/MS/XRKTRSXN +characterize/DRSBZG/XRKTRS +characterized/U/XRKTRST +characterizer/M/XRKTRS +characterless//XRKTLS +charade/SM/XRT +charbroil/SDG/XBRL +charcoal/MGSD/XKL +chard/SM/XT +Chardonnay//XTN +chardonnay/S/XTN +charge/EGRSDA/XK +chargeable/P/XKBL +chargeableness/M/XKBLNS +charged/U/XKT +charger/AME/XK +chargers//XKS +Charil/M/XRL +charily//XRL +Charin/M/XRN +chariness/MS/XRNS +Chariot/M/XRT +chariot/SMDG/XRT +charioteer/GSDM/XRT +Charis//XRS +charisma/M/XRSM +charismata//XRSMT +charismatic/S/XRSMTK +charismatically//XRSMTKL +Charissa/M/XRS +Charisse/M/XRS +Charita/M/XRT +charitable/UP/XRTBL +charitableness/UM/XRTBLNS +charitablenesses//XRTBLNSS +charitably/U/XRTBL +Charity/M/XRT +charity/MS/XRT +Charla/M/XL +charlady/M/XLT +charlatan/SM/XLTN +charlatanism/MS/XLTNSM +charlatanry/SM/XLTNR +Charlean/M/XLN +Charleen/M/XLN +Charlemagne/M/XLMKN +Charlena/M/XLN +Charlene/M/XLN +Charles/M/XLS +Charleston/SM/XLSTN +Charley/M/XL +Charlie/M/XL +Charline/M/XLN +Charlot/M/XLT +Charlotta/M/XLT +Charlotte/M/XLT +Charlottesville/M/XLTSFL +Charlottetown/M/XLTTN +Charlton/M/XLTN +charm/SGMZRD/XM +Charmain/M/XMN +Charmaine/M/XMN +Charmane/M/XMN +charmer/M/XM +Charmian/M/XMN +Charmin/M/XMN +Charmine/M/XMN +charming/RYT/XMN +Charmion/M/XMN +charmless//XMLS +Charo/M/XR +Charolais//XRLS +Charon/M/XRN +charred//XRT +charring//XRN +chart/SJMRDGBZ/XT +charted/U/XTT +charter/AGDS/XT +chartered/U/XTRT +charterer/SM/XTR +charter's//XTS +chartist/SM/XTST +Chartres/M/XTRS +chartreuse/MS/XTRS +chartroom/S/XTRM +charwoman/M/XWMN +charwomen//XWMN +chary/PTR/XR +Charybdis/M/XRBTS +Charyl/M/XRL +Chas//XS +chase/DSRGZ/XS +Chase/M/XS +chaser/M/XS +chasing/M/XSN +Chasity/M/XST +chasm/SM/XSM +chassis/M/XSS +chaste/UTR/XST +chastely//XSTL +chasten/GSD/XSTN +chasteness/SM/XSTNS +chastise/ZGLDRS/XSTS +chastisement/SM/XSTSMNT +chastiser/M/XSTS +Chastity/M/XSTT +chastity/SM/XSTT +chastity's/U/XSTTS +chasuble/SM/XSBL +chat/MS/XT +château/M/XT +Chateaubriand//XTBRNT +chateaus//XTS +châteaux//XTKS +châtelaine/SM/XTLN +Chattahoochee/M/XTHX +Chattanooga/M/XTNK +chatted//XTT +chattel/MS/XTL +chatter/SZGDRY/XT +chatterbox/MS/XTBKS +chatterer/M/XTR +Chatterley/M/XTL +Chatterton/M/XTTN +chattily//XTL +chattiness/SM/XTNS +chatting//XTN +chatty/RTP/XT +Chaucer/M/XS +chauffeur/GSMD/XF +Chaunce/M/XNS +Chauncey/M/XNS +Chautauqua/M/XTK +chauvinism/MS/XFNSM +chauvinist/MS/XFNST +chauvinistic//XFNSTK +chauvinistically//XFNSTKL +Chavez/M/XFS +chaw//X +Chayefsky/M/XYFSK +Che/M/X +cheap/YRNTXSP/XP +cheapen/DG/XPN +cheapish//XPX +cheapness/MS/XPNS +cheapskate/MS/XPSKT +cheat/RDSGZ/XT +cheater/M/XT +Chechen/M/XXN +Chechnya/M/XXNY +check/GZBSRDM/XK +checkable/U/XKBL +checkbook/MS/XKBK +checked/UA/XKT +checker/DMG/XK +checkerboard/MS/XKBT +checklist/S/XKLST +checkmate/MSDG/XKMT +checkoff/SM/XKF +checkout/S/XKT +checkpoint/MS/XKPNT +checkroom/MS/XKRM +checks/A/XKS +check's/A/XKS +checksum/SM/XKSM +checksummed//XKSMT +checksumming//XKSMN +checkup/MS/XKP +Cheddar/MS/XT +cheddar/S/XT +cheek/DMGS/XK +cheekbone/SM/XKBN +cheekily//XKL +cheekiness/SM/XKNS +cheeky/PRT/XK +cheep/GMDS/XP +cheer/YRDGZS/X +cheerer/M/XR +cheerful/YP/XFL +cheerfuller//XFL +cheerfullest//XFLST +cheerfulness/MS/XFLNS +cheerily//XRL +cheeriness/SM/XRNS +cheerio/S/XR +Cheerios/M/XRS +cheerleader/SM/XLT +cheerless/PY/XLS +cheerlessness/SM/XLSNS +cheers/S/XS +cheery/PTR/XR +cheese/SDGM/XS +cheeseburger/SM/XSBK +cheesecake/SM/XSKK +cheesecloth/M/XSKL@ +cheesecloths//XSKL@S +cheeseparing/S/XSPRN +cheesiness/SM/XSNS +cheesy/PRT/XS +cheetah/M/XT +cheetahs//XTS +Cheeto/M/XT +Cheever/M/XF +chef/SM/XF +cheffed//XFT +cheffing//XFN +Chekhov/M/XKHF +chelate/XDMNG/XLT +chelation/M/XLXN +Chelsae/M/XLS +Chelsea/M/XLS +Chelsey/M/XLS +Chelsie/M/XLS +Chelsy/M/XLS +Chelyabinsk/M/XLYBNSK +chem//XM +chemic//XMK +chemical/SYM/XMKL +chemiluminescence/M/XMLMNSNS +chemiluminescent//XMLMNSNT +chemise/SM/XMS +chemist/SM/XMST +chemistry/SM/XMSTR +chemotherapeutic/S/XM@RPTK +chemotherapy/SM/XM@RP +chemurgy/SM/XMK +Chen/M/XN +Cheng/M/XNK +Chengdu//XNKT +chenille/SM/XNL +Cheops/M/XPS +Cher/M/X +Chere/M/XR +Cherey/M/XR +Cheri/M/XR +Cherianne/M/XRN +Cherice/M/XRS +Cherida/M/XRT +Cherie/M/XR +Cherilyn/M/XRLN +Cherilynn/M/XRLN +Cherin/M/XRN +Cherise/M/XRS +cherish/GDRS/XRX +Cherish/M/XRX +cherisher/M/XRX +Cheriton/M/XRTN +Cherlyn/M/XLN +Chernenko/M/XNNK +Chernobyl/M/XNBL +Cherokee/MS/XRK +cheroot/MS/XRT +Cherri/M/XR +Cherrita/M/XRT +Cherry/M/XR +cherry/SM/XR +chert/MS/XT +cherub/SM/XRB +cherubic//XRBK +cherubim/S/XRBM +chervil/MS/XFL +Chery/M/XR +Cherye/M/XRY +Cheryl/M/XRL +Chesapeake/M/XSPK +Cheshire/M/XXR +Cheslie/M/XSL +chess/SM/XS +chessboard/SM/XSBT +chessman/M/XSMN +chessmen//XSMN +chest/MRDS/XST +Chester/M/XST +Chesterfield/M/XSTFLT +chesterfield/MS/XSTFLT +Chesterton/M/XSTTN +chestful/S/XSTFL +chestnut/SM/XSTNT +Cheston/M/XSTN +chesty/TR/XST +Chet/M/XT +Chev/M/XF +Chevalier/M/XFL +chevalier/SM/XFL +Cheviot/M/XFT +cheviot/S/XFT +Chevrolet/M/XFRLT +chevron/DMS/XFRN +Chevy/M/XF +chew/GZSDR/X +chewer/M/XW +chewiness/S/XWNS +chewy/RTP/X +Cheyenne/SM/XYN +chg//XK +chge//XK +Chi/M/X +chi/MS/X +Chiang/M/XNK +chianti/M/XNT +Chianti/S/XNT +chiaroscuro/SM/XRSKR +Chiarra/M/XR +Chiba/M/XB +Chic/M/XK +chic/SYRPT/XK +Chicago/M/XKK +Chicagoan/SM/XKKN +Chicana/MS/XKN +chicane/MGDS/XKN +chicanery/MS/XKNR +Chicano/MS/XKN +chichi/RTS/XX +Chick/M/XK +chick/XSNM/XK +chickadee/SM/XKT +Chickasaw/SM/XKS +chicken/GDM/XKN +chickenfeed//XKNFT +chickenhearted//XKNHTT +chickenpox/MS/XKNPKS +Chickie/M/XK +chickpea/MS/XKP +chickweed/MS/XKWT +Chicky/M/XK +chicle/MS/XKL +chicness/S/XKNS +Chico/M/XK +chicory/MS/XKR +chide/GDS/XT +chiding/Y/XTN +chief/YRMST/XF +chiefdom/MS/XFTM +chieftain/SM/XFTN +chiffon/MS/XFN +chiffonier/MS/XFN +chigger/MS/XK +chignon/MS/XKNN +Chihuahua/MS/XHH +chihuahua/S/XHH +chilblain/MS/XLBLN +child/GMYD/XLT +childbearing/MS/XLTBRN +childbirth/M/XLTB@ +childbirths//XLTB@S +childcare/S/XLTKR +childes//XLTS +childhood/MS/XLTHT +childish/YP/XLTX +childishness/SM/XLTXNS +childless/P/XLTLS +childlessness/SM/XLTLSNS +childlike/P/XLTLK +childlikeness/M/XLTLKNS +childminders//XLTMNTS +childproof/GSD/XLTPRF +childrearing//XLTRRN +children/M/XLTRN +Chile/MS/XL +Chilean/S/XLN +chile's//XLS +chili/M/XL +chilies//XLS +chill/MRDJGTZPS/XL +chiller/M/XL +chilliness/MS/XLNS +chilling/Y/XLN +chilli's//XLS +chillness/MS/XLNS +chilly/TPRS/XL +Chilton/M/XLTN +chimaera's//XMRS +chimaerical//XMRKL +Chimborazo/M/XMBRS +chime/DSRGMZ/XM +chimer/M/XM +Chimera/S/XMR +chimera/SM/XMR +chimeric//XMRK +chimerical//XMRKL +Chimiques//XMKS +chimney/SMD/XMN +chimp/MS/XMP +chimpanzee/SM/XMPNS +Chimu/M/XM +Ch'in//XN +Chin/M/XN +chin/SGDM/XN +China/M/XN +china/MS/XN +Chinaman/M/XNMN +Chinamen//XNMN +Chinatown/SM/XNTN +chinchilla/SM/XNXL +chine/MS/XN +Chinese/M/XNS +Ching/M/XN +chink/DMSG/XNK +chinless//XNLS +chinned//XNT +chinner/S/XN +chinning//XNN +chino/MS/XN +Chinook/MS/XNK +chinstrap/S/XNSTRP +chintz/SM/XNTS +chintzy/TR/XNTS +Chip/M/XP +chip/SM/XP +chipboard/M/XPBT +Chipewyan/M/XPYN +chipmunk/SM/XPMNK +chipped//XPT +Chippendale/M/XPNTL +chipper/DGS/XP +Chippewa/MS/XPW +chipping/MS/XPN +Chiquia/M/XK +Chiquita/M/XKT +chiral//XRL +Chirico/M/XRK +chirography/SM/XRKRF +chiropodist/SM/XRPTST +chiropody/MS/XRPT +chiropractic/MS/XRPRKTK +chiropractor/SM/XRPRKT +chirp/GDS/XP +chirpy/RT/XP +chirrup/DGS/XRP +chisel/ZGSJMDR/XSL +chiseler/M/XSL +Chisholm/M/XXLM +Chisinau/M/XSN +chit/SM/XT +chitchat/SM/XXT +chitchatted//XXTT +chitchatting//XXTN +chitin/SM/XTN +chitinous//XTNS +Chittagong/M/XTKNK +chitterlings//XTLNS +chivalric//XFLRK +chivalrous/YP/XFLRS +chivalrously/U/XFLRSL +chivalrousness/MS/XFLRSNS +chivalry/SM/XFLR +chive/GMDS/XF +chivvy/D/XFF +chivying//XFYN +chlamydia/S/XLMT +chlamydiae//XLMT +Chlo/M/XL +Chloe/M/XL +Chloette/M/XLT +chloral/MS/XLRL +chlorate/M/XLRT +chlordane/MS/XLTN +chloride/MS/XLRT +chlorinate/XDSGN/XLRNT +chlorinated/C/XLRNTT +chlorinates/C/XLRNTS +chlorination/M/XLRNXN +chlorine/MS/XLRN +Chloris//XLRS +chlorofluorocarbon/S/XLRFLRKBN +chloroform/DMSG/XLRFM +chlorophyll/SM/XLRFL +chloroplast/MS/XLRPLST +chloroquine/M/XLRKN +chm//XM +chock/SGRDM/XK +chockablock//XKBLK +chocoholic/S/XKHLK +chocolate/MS/XKLT +chocolaty//XKLT +Choctaw/MS/XKT +choice/RSMTYP/XS +choiceness/M/XSNS +choir/SDMG/X +choirboy/MS/XB +choirmaster/SM/XMST +choke/DSRGZ/XK +chokeberry/M/XKBR +chokecherry/SM/XKXR +choker/M/XK +chokes/M/XKS +choking/Y/XKN +choler/SM/XL +cholera/SM/XLR +choleric//XLRK +cholesterol/SM/XLSTRL +choline/M/XLN +cholinesterase/M/XLNSTRS +chomp/DSG/XMP +Chomsky/M/XMSK +Chongqing//XNKKN +choose/GZRS/XS +chooser/M/XS +choosiness/S/XSNS +choosy/RPT/XS +chop/S/XP +chophouse/SM/XFS +Chopin/M/XPN +chopped//XPT +chopper/SDMG/XP +choppily//XPL +choppiness/MS/XPNS +chopping//XPN +choppy/RPT/XP +chopstick/SM/XPSTK +choral/SY/XRL +chorale/MS/XRL +chord/SGMD/XT +chordal//XTL +chordata//XTT +chordate/MS/XTT +chording/M/XTN +chore/DSGNM/XR +chorea/MS/XR +choreograph/ZGDR/XRKRF +choreographer/M/XRKRF +choreographic//XRKRFK +choreographically//XRKRFKL +choreographs//XRKRFS +choreography/MS/XRKRF +chorines//XRNS +chorion/M/XRN +chorister/SM/XRST +choroid/S/XRT +chortle/ZGDRS/XTL +chortler/M/XTL +chorus/GDSM/XRS +chose/S/XS +chosen/U/XSN +Chou/M/X +chow/DGMS/X +chowder/SGDM/XT +Chretien/M/XRTN +Chris/M/XRS +chrism/SM/XRSM +chrissake//XRSK +Chrisse/M/XRS +Chrissie/M/XRS +Chrissy/M/XRS +Christ/SMN/XRST +Christa/M/XRST +Christabel/M/XRSTBL +Christabella/M/XRSTBL +Christal/M/XRSTL +Christalle/M/XRSTL +Christan/M/XRSTN +Christchurch/M/XRSXX +Christean/M/XRSTN +Christel/M/XRSTL +Christen/M/XRSTN +christen/SAGD/XRSTN +Christendom/MS/XRSTNTM +christened/U/XRSTNT +christening/SM/XRSTNN +Christensen/M/XRSTNSN +Christenson/M/XRSTNSN +Christi/M/XRST +Christian/MS/XRSXN +Christiana/M/XRSXN +Christiane/M/XRSXN +Christianity/SM/XRSXNT +Christianize/GSD/XRSXNS +Christiano/M/XRSXN +Christians/N/XRSXNS +Christiansen/M/XRSXNSN +Christie/SM/XRST +Christin/M/XRSTN +Christina/M/XRSTN +Christine/M/XRSTN +Christlike//XRSTLK +Christmas/SM/XRSTMS +Christmastide/SM/XRSTMSTT +Christmastime/S/XRSTMSTM +Christoffel/M/XRSTFL +Christoffer/M/XRSTF +Christoforo/M/XRSTFR +Christoper/M/XRSTP +Christoph/MR/XRSTF +Christophe/M/XRSTF +Christopher/M/XRSTF +Christophorus/M/XRSTFRS +Christos/M/XRSTS +Christye/M/XRSTY +Christyna/M/XRSTN +Christy's//XRSTS +Chrisy/M/XRS +chroma/M/XRM +chromate/M/XRMT +chromatic/PS/XRMTK +chromatically//XRMTKL +chromaticism/M/XRMTSSM +chromaticness/M/XRMTKNS +chromatics/M/XRMTKS +chromatin/MS/XRMTN +chromatogram/MS/XRMTKRM +chromatograph//XRMTKRF +chromatographic//XRMTKRFK +chromatography/M/XRMTKRF +chrome/GMSD/XRM +chromic//XRMK +chromite/M/XRMT +chromium/SM/XRMM +chromosomal//XRMSML +chromosome/MS/XRMSM +chromosphere/M/XRMSFR +chronic/S/XRNK +chronically//XRNKL +chronicle/SRDMZG/XRNKL +chronicled/U/XRNKLT +chronicler/M/XRNKL +chronograph/M/XRNKRF +chronographs//XRNKRFS +chronography//XRNKRF +chronological/Y/XRNLKKL +chronologist/MS/XRNLKST +chronology/MS/XRNLK +chronometer/MS/XRNMT +chronometric//XRNMTRK +Chrotoem/M/XRTM +Chrysa/M/XRS +chrysalids//XRSLTS +chrysalis/SM/XRSLS +chrysanthemum/MS/XRSN@MM +Chrysler/M/XRSL +Chrysostom/M/XRSSTM +Chrystal/M/XRSTL +Chryste/M/XRST +Chrystel/M/XRSTL +chub/MS/XB +chubbiness/SM/XBNS +chubby/RTP/XB +Chucho/M/XX +chuck/GSDM/XK +Chuck/M/XK +chuckhole/SM/XKHL +chuckle/DSG/XKL +chuckling/Y/XKLN +chuff/DM/XF +chug/MS/XK +chugged//XKT +chugging//XKN +Chukchi/M/XKX +chukka/S/XK +chum/MS/XM +Chumash/M/XMX +chummed//XMT +chummily//XML +chumminess/MS/XMNS +chumming//XMN +chummy/SRTP/XM +chump/MDGS/XMP +chumping/M/XMPN +Chung/M/XNK +Chungking's//XNKKNS +chunk/SGDM/XNK +chunkiness/MS/XNKNS +chunky/RPT/XNK +chuntering//XNTRN +church/MDSYG/XX +Church/MS/XX +churchgoer/SM/XXK +churchgoing/SM/XXKN +Churchill/M/XXL +Churchillian//XXLN +churchliness/M/XXLNS +churchly/P/XXL +churchman/M/XXMN +churchmen//XXMN +churchwarden/SM/XXWTN +churchwoman/M/XXWMN +churchwomen//XXWMN +churchyard/SM/XXYT +churl/SM/XL +churlish/YP/XLX +churlishness/SM/XLXNS +churn/SGZRDM/XN +churner/M/XN +churning/M/XNN +chute/DSGM/XT +chutney/MS/XTN +chutzpa/SM/XTSP +chutzpah/M/XTSP +chutzpahs//XTSPS +Chuvash/M/XFX +chyme/SM/XM +Ci//S +CIA//X +ciao/S/X +cicada/MS/SKT +cicatrice/S/SKTRS +cicatrix's//SKTRKSS +Cicely/M/SSL +Cicero/M/SSR +cicerone/MS/SSRN +ciceroni//SSRN +Ciceronian//SSRNN +Cicily/M/SSL +CID//ST +Cid/M/ST +cider/SM/ST +cider's/C/STS +Ciel/M/SL +cigar/SM/SK +cigarette/MS/SKRT +cigarillo/MS/SKRL +cilantro/S/SLNTR +cilia/M/SL +ciliate/FDS/SLT +ciliately//SLTL +cilium/M/SLM +Cilka/M/SLK +cinch/MSDG/SNX +cinchona/SM/SNXN +Cincinnati/M/SNSNT +cincture/MGSD/SNKTR +Cinda/M/SNT +Cindee/M/SNT +Cindelyn/M/SNTLN +cinder/DMGS/SNT +Cinderella/MS/SNTRL +Cindi/M/SNT +Cindie/M/SNT +Cindra/M/SNTR +Cindy/M/SNT +cine/M/SN +cinema/SM/SNM +cinematic//SNMTK +cinematographer/MS/SNMTKRF +cinematographic//SNMTKRFK +cinematography/MS/SNMTKRF +Cinerama/M/SNRM +cinnabar/MS/SNB +Cinnamon/M/SNMN +cinnamon/MS/SNMN +cipher/MSGD/SF +ciphered/C/SFRT +ciphers/C/SFS +cir//S +circa//SK +circadian//SKTN +Circe/M/SS +circle/RSDGM/SKL +circler/M/SKL +circlet/MS/SKLT +circuit/GSMD/SKT +circuital//SKTL +circuitous/YP/SKTS +circuitousness/MS/SKTSNS +circuitry/SM/SKTR +circuity/MS/SKT +circulant//SKLNT +circular/PSMY/SKL +circularity/SM/SKLRT +circularize/GSD/SKLRS +circularness/M/SKLNS +circulate/ASDNG/SKLT +circulation/MA/SKLXN +circulations//SKLXNS +circulative//SKLTF +circulatory//SKLTR +circumcise/DRSXNG/SKMSS +circumcised/U/SKMSST +circumciser/M/SKMSS +circumcision/M/SKMSXN +circumference/SM/SKMFRNS +circumferential/Y/SKMFRNXL +circumflex/MSDG/SKMFLKS +circumlocution/MS/SKMLKXN +circumlocutory//SKMLKTR +circumnavigate/DSNGX/SKMNFKT +circumnavigation/M/SKMNFKXN +circumnavigational//SKMNFKXNL +circumpolar//SKMPL +circumscribe/GSD/SKMSKRB +circumscription/SM/SKMSKRPXN +circumspect/Y/SKMSPKT +circumspection/SM/SKMSPKXN +circumsphere//SKMSFR +circumstance/SDMG/SKMSTNS +circumstantial/YS/SKMSTNXL +circumvent/SBGD/SKMFNT +circumvention/MS/SKMFNXN +circus/SM/SKS +Cirillo/M/SRL +Cirilo/M/SRL +Ciro/M/SR +cirque/SM/SK +cirrhoses//SRHSS +cirrhosis/M/SRHSS +cirrhotic/S/SRHTK +cirri/M/SR +cirrus/M/SRS +Cissiee/M/SS +Cissy/M/SS +cistern/SM/SSTN +cit/DSG/ST +citadel/SM/STTL +citation/SMA/STXN +citations/I/STXNS +cite/ISDAG/ST +Citibank/M/STBNK +citified//STFT +citizen/SYM/STSN +citizenry/SM/STSNR +citizenship/MS/STSNXP +citrate/DM/STRT +citric//STRK +Citroen/M/STRN +citron/MS/STRN +citronella/MS/STRNL +citrus/SM/STRS +city/DSM/ST +cityscape/MS/STSKP +citywide//STWT +civet/SM/SFT +civic/S/SFK +civics/M/SFKS +civil/UY/SFL +civilian/SM/SFLN +civility/IMS/SFLT +civilization/AMS/SFLSXN +civilizational/MS/SFLSXNL +civilize/DRSZG/SFLS +civilized/PU/SFLST +civilizedness/M/SFLSTNS +civilizer/M/SFLS +civilizes/AU/SFLSS +civvies//SFFS +ck/C/K +cl/GJ/KL +Cl/VM/KL +clack/SDG/KLK +clad/U/KLT +cladding/SM/KLTN +clads//KLTS +Claiborn/M/KLBN +Claiborne/M/KLBN +claim/CDRSKAEGZ/KLM +claimable//KLMBL +claimant/MS/KLMNT +claimed/U/KLMT +claimer/KMACE/KLM +Clair/M/KL +Claire/M/KLR +Clairol/M/KLRL +clairvoyance/MS/KLFYNS +clairvoyant/YS/KLFYNT +clam/MS/KLM +clambake/MS/KLMBK +clamber/SDRZG/KLMB +clamberer/M/KLMBR +clammed//KLMT +clammily//KLML +clamminess/MS/KLMNS +clamming//KLMN +clammy/TPR/KLM +clamor/GDRMSZ/KLM +clamorer/M/KLMR +clamorous/PUY/KLMRS +clamorousness/UM/KLMRSNS +clamp/MRDGS/KLMP +clampdown/SM/KLMPTN +clamper/M/KLMP +clamshell/MS/KLMXL +clan/MS/KLN +Clancy/M/KLNS +clandestine/YP/KLNTSTN +clandestineness/M/KLNTSTNNS +clang/SGZRD/KLNK +clanger/M/KLNK +clangor/MDSG/KLNK +clangorous/Y/KLNKRS +clank/SGDM/KLNK +clanking/Y/KLNKN +clannish/PY/KLNX +clannishness/SM/KLNXNS +clansman/M/KLNSMN +clansmen//KLNSMN +clap/S/KLP +clapboard/SDGM/KLPBT +Clapeyron/M/KLPRN +clapped//KLPT +clapper/GMDS/KLP +clapping//KLPN +Clapton/M/KLPTN +claptrap/SM/KLPTRP +claque/MS/KLK +Clara/M/KLR +Clarabelle/M/KLRBL +Clarance/M/KLRNS +Clare/M/KLR +Claremont/M/KLRMNT +Clarence/M/KLRNS +Clarendon/M/KLRNTN +Claresta/M/KLRST +claret/MDGS/KLRT +Clareta/M/KLRT +Claretta/M/KLRT +Clarette/M/KLRT +Clarey/M/KLR +Clari/M/KLR +Claribel/M/KLRBL +Clarice/M/KLRS +Clarie/M/KLR +clarification/M/KLRFKXN +clarifier/M/KLRF +clarify/NGXDRS/KLRF +Clarinda/M/KLRNT +Clarine/M/KLRN +clarinet/SM/KLRNT +clarinetist/SM/KLRNTST +clarinettist's//KLRNTSTS +clarion/GSMD/KLRN +Clarissa/M/KLRS +Clarisse/M/KLRS +Clarita/M/KLRT +clarities//KLRTS +clarity/UM/KLRT +Clark/M/KLK +Clarke/M/KLK +Clarridge/M/KLRK +Clary/M/KLR +clash/RSDG/KLX +clasher/M/KLX +clasp/UGSD/KLSP +clasped/M/KLSPT +clasper/M/KLSP +clasp's//KLSPS +class/GRSDM/KLS +classer/M/KLS +classic/S/KLSK +classical/Y/KLSKL +classicism/SM/KLSSSM +classicist/SM/KLSSST +classics/M/KLSKS +classifiable/U/KLSFBL +classification/AMC/KLSFKXN +classificatory//KLSFKTR +classified/S/KLSFT +classifier/SM/KLSF +classify/CNXASDG/KLSF +classiness/SM/KLSNS +classless/P/KLSLS +classmate/MS/KLSMT +classroom/MS/KLSRM +classwork/M/KLSWK +classy/PRT/KLS +clatter/SGDR/KLT +clatterer/M/KLTR +clattering/Y/KLTRN +clattery//KLTR +Claude/M/KLT +Claudell/M/KLTL +Claudelle/M/KLTL +Claudetta/M/KLTT +Claudette/M/KLTT +Claudia/M/KLT +Claudian/M/KLTN +Claudianus/M/KLTNS +Claudie/M/KLT +Claudina/M/KLTN +Claudine/M/KLTN +Claudio/M/KLT +Claudius/M/KLTS +Claus/NM/KLS +clausal//KLSL +clause/MS/KLS +Clausen/M/KLSN +Clausewitz/M/KLSWTS +Clausius/M/KLSS +claustrophobia/SM/KLSTRFB +claustrophobic//KLSTRFBK +clave/RM/KLF +clave's/F/KLFS +clavichord/SM/KLFXT +clavicle/MS/KLFKL +clavier/MS/KLF +claw/GDRMS/KL +clawer/M/KLW +Clay/M/KL +clay/MDGS/KL +Clayborn/M/KLBN +Clayborne/M/KLBN +Claybourne/M/KLBN +clayey//KLY +clayier//KLY +clayiest//KLYST +claymore/MS/KLMR +Clayson/M/KLSN +Clayton/M/KLTN +Clea/M/KL +clean/UYRDPT/KLN +cleanable//KLNBL +cleaner/MS/KLN +cleaning/SM/KLNN +cleanliness/UMS/KLNLNS +cleanly/PRTU/KLNL +cleanness/MSU/KLNS +cleans/GDRSZ/KLNS +cleanse//KLNS +cleanser/M/KLNS +cleanup/MS/KLNP +clear/UTRD/KL +clearance/MS/KLRNS +clearcut//KLKT +clearer/M/KLR +clearheaded/PY/KLHTT +clearheadedness/M/KLHTTNS +clearing/MS/KLRN +clearinghouse/S/KLRNHS +clearly//KLL +clearness/MS/KLNS +clears//KLS +Clearwater/M/KLWT +clearway/M/KLW +cleat/MDSG/KLT +cleavage/MS/KLFK +cleave/RSDGZ/KLF +cleaver/M/KLF +Cleavland/M/KLFLNT +clef/SM/KLF +cleft/MDGS/KLFT +Clem/XM/KLM +clematis/MS/KLMTS +clemence//KLMNS +Clemence/M/KLMNS +Clemenceau/M/KLMNS +clemency/ISM/KLMNS +clement/IY/KLMNT +Clement/MS/KLMNT +Clemente/M/KLMNT +Clementia/M/KLMNX +Clementina/M/KLMNTN +Clementine/M/KLMNTN +Clementius/M/KLMNTS +clements//KLMNTS +Clemmie/M/KLM +Clemmy/M/KLM +Clemons//KLMNS +Clemson/M/KLMSN +clench/UD/KLNX +clenches//KLNXS +clenching//KLNXN +Cleo/M/KL +Cleon/M/KLN +Cleopatra/M/KLPTR +Clerc/M/KLK +clerestory/MS/KLRSTR +clergy/MS/KLK +clergyman/M/KLKMN +clergymen//KLKMN +clergywoman//KLKWMN +clergywomen//KLKWMN +cleric/SM/KLRK +clerical/YS/KLRKL +clericalism/SM/KLRKLSM +Clerissa/M/KLRS +clerk/SGYDM/KLK +clerkship/MS/KLKXP +Cletis//KLTS +Cletus/M/KLTS +Cleve/M/KLF +Cleveland/M/KLFLNT +clever/RYPT/KLF +cleverness/SM/KLFNS +Clevey/M/KLF +Clevie/M/KLF +clevis/SM/KLFS +clew/DMGS/KL +Cliburn/M/KLBN +cliché/SM/KLX +clichéd//KLXT +click/GZSRDM/KLK +clicker/M/KLK +client/SM/KLNT +clientèle/SM/KLNTL +Cliff/M/KLF +cliff/SM/KLF +cliffhanger/MS/KLFHNK +cliffhanging//KLFHNKN +Clifford/M/KLFT +Clifton/M/KLFTN +Clim/M/KLM +climacteric/SM/KLMKTRK +climactic//KLMKTK +climate/MS/KLMT +climatic//KLMTK +climatically//KLMTKL +climatological/Y/KLMTLKKL +climatologist/SM/KLMTLKST +climatology/MS/KLMTLK +climax/MDSG/KLMKS +climb/BGZSJRD/KLM +climbable/U/KLMBBL +climbdown//KLMBTN +climbed/U/KLMBT +climber/M/KLMB +clime/SM/KLM +clinch/DRSZG/KLNX +clincher/M/KLNX +clinching/Y/KLNXN +Cline/M/KLN +cling/U/KLN +clinger/MS/KLN +clinging//KLNN +clingy/TR/KLN +clinic/MS/KLNK +clinical/Y/KLNKL +clinician/MS/KLNXN +clink/RDGSZ/KLNK +clinker/GMD/KLNK +clinometer/MIS/KLNMT +Clint/M/KLNT +Clinton/M/KLNTN +Clio/M/KL +cliometric/S/KLMTRK +cliometrician/S/KLMTRXN +clip/SM/KLP +clipboard/SM/KLPBT +clipped/U/KLPT +clipper/MS/KLP +clipping/SM/KLPN +clique/SDGM/KLK +cliquey//KLK +cliquier//KLK +cliquiest//KLKST +cliquish/YP/KLKX +cliquishness/SM/KLKXNS +clitoral//KLTRL +clitorides//KLTRTS +clitoris/MS/KLTRS +Clive/M/KLF +Clo/M/KL +cloaca/M/KLK +cloacae//KLK +cloak/USDG/KLK +cloakroom/MS/KLKRM +cloak's//KLKS +clobber/DGS/KLB +cloche/MS/KLX +clock/SGZRDMJ/KLK +clocker/M/KLK +clockmaker/M/KLKMK +clockwatcher//KLKWX +clockwise//KLKWS +clockwork/MS/KLKWK +clod/MS/KLT +clodded//KLTT +clodding//KLTN +cloddish/P/KLTX +cloddishness/M/KLTXNS +clodhopper/SM/KLTHP +Cloe/M/KL +clog/US/KLK +clogged/U/KLKT +clogging/U/KLKN +clog's//KLKS +cloisonné//KLSN +cloisonnes//KLSNS +cloister/MDGS/KLST +cloistral//KLSTRL +clomp/MDSG/KLMP +clonal//KLNL +clone/DSRGMZ/KLN +clonk/SGD/KLNK +clop/S/KLP +clopped//KLPT +clopping//KLPN +Cloris/M/KLRS +close/EDSRG/KLS +closed/U/KLST +closefisted//KLSFSTT +closely//KLSL +closemouthed//KLSM@T +closeness/MS/KLSNS +closeout/MS/KLST +closer/EM/KLS +closers//KLSS +closest//KLSST +closet/MDSG/KLST +closeup/S/KLSP +closing/S/KLSN +closure/EMS/KLSR +closured//KLSRT +closure's/I/KLSRS +closuring//KLSRN +clot/MS/KLT +cloth/GJMSD/KL@ +clothbound//KL@BNT +clothe/UDSG/KL@ +clothesbrush//KL@SBRX +clotheshorse/MS/KL@XS +clothesline/SDGM/KL@SLN +clothesman//KL@SMN +clothesmen//KL@SMN +clothespin/MS/KL@SPN +clothier/MS/KL@ +clothing/M/KL@N +Clotho/M/KL@ +cloths//KL@S +Clotilda/M/KLTLT +clotted//KLTT +clotting//KLTN +cloture/MDSG/KLTR +cloud/SGMD/KLT +cloudburst/MS/KLTBST +clouded/U/KLTT +cloudiness/SM/KLTNS +cloudless/YP/KLTLS +cloudlessness/M/KLTLSNS +cloudscape/SM/KLTSKP +cloudy/TPR/KLT +clout/GSMD/KLT +clove/SRMZ/KLF +cloven//KLFN +clover/M/KLF +cloverleaf/MS/KLFLF +Clovis/M/KLFS +clown/DMSG/KLN +clownish/PY/KLNX +clownishness/SM/KLNXNS +cloy/DSG/KL +cloying/Y/KLYN +club/MS/KLB +clubbed/M/KLBT +clubbing/M/KLBN +clubfeet//KLBFT +clubfoot/DM/KLBFT +clubhouse/SM/KLBHS +clubroom/SM/KLBRM +cluck/GSDM/KLK +clue/MGDS/KL +clueless//KLLS +Cluj/M/KLK +clump/MDGS/KLMP +clumpy/RT/KLMP +clumsily//KLMSL +clumsiness/MS/KLMSNS +clumsy/PRT/KLMS +clung//KLNK +clunk/SGZRDM/KLNK +clunky/PRYT/KLNK +cluster/SGJMD/KLST +clustered/AU/KLSTRT +clusters/A/KLSTS +clutch/DSG/KLX +clutter/GSD/KLT +cluttered/U/KLTRT +Cly/M/KL +Clyde/M/KLT +Clydesdale/M/KLTSTL +Clytemnestra/M/KLTMNSTR +Clyve/M/KLF +Clywd/M/KLT +cm//KM +Cm/M/KM +CMOS//KMS +cnidarian/MS/KNTRN +CNN//KN +CNS//KNS +CO//K +co/DES/K +Co/M/K +coach/MSRDG/KX +coacher/M/KX +coachman/M/KXMN +coachmen//KXMN +coachwork/M/KXWK +coadjutor/MS/KTKT +coagulable//KKLBL +coagulant/SM/KKLNT +coagulate/GNXSD/KKLT +coagulation/M/KKLXN +coagulator/S/KKLT +coal/MDRGS/KL +coaler/M/KL +coalesce/GDS/KLS +coalescence/SM/KLSNS +coalescent//KLSNT +coalface/SM/KLFS +coalfield/MS/KLFLT +coalition/MS/KLXN +coalitionist/SM/KLXNST +coalminers//KLMNS +coarse/TYRP/KS +coarsen/SGD/KSN +coarseness/SM/KSNS +coast/SMRDGZ/KST +coastal//KSTL +coaster/M/KST +coastguard/MS/KSTKT +coastline/SM/KSTLN +coat/MDRGZJS/KT +coated/U/KTT +Coates/M/KTS +coating/M/KTN +coattail/S/KTL +coattest//KTST +coauthor/MDGS/K@ +coax/GZDSR/KKS +coaxer/M/KKS +coaxial/Y/KKSL +coaxing/Y/KKSN +Cob/M/KB +cob/SM/KB +Cobain/M/KBN +cobalt/MS/KBLT +Cobb/M/KB +cobbed//KBT +Cobbie/M/KB +cobbing//KBN +cobble/SRDGMZ/KBL +cobbler/M/KBL +cobblestone/MSD/KBLSTN +Cobby/M/KB +coble/M/KBL +COBOL//KBL +Cobol/M/KBL +cobra/MS/KBR +cobweb/SM/KBWB +cobwebbed//KBWBT +cobwebbing//KBWBN +cobwebby/RT/KBWB +coca/MS/KK +cocaine/MS/KKN +cocci/MS/KS +coccus/M/KKS +coccyges//KSKS +coccyx/M/KSKS +Cochabamba/M/KXBMB +Cochin/M/KXN +cochineal/SM/KXNL +Cochise/M/KXS +cochlea/SM/KXL +cochleae//KXL +cochlear//KXL +Cochran/M/KXRN +cock/GDRMS/KK +cockade/SM/KKT +cockamamie//KKMM +cockatoo/SM/KKT +cockatrice/MS/KKTRS +cockcrow/MS/KKKR +cocker/M/KK +cockerel/MS/KKRL +cockeye/DM/KKY +cockeyed/PY/KKYT +cockfight/MJSG/KKFT +cockfighting/M/KKFTN +cockily//KKL +cockiness/MS/KKNS +cockle/SDGM/KKL +cocklebur/M/KKLB +cockleshell/SM/KKLXL +Cockney//KKN +cockney/MS/KKN +cockpit/MS/KKPT +cockroach/SM/KKRX +cockscomb/SM/KKSKM +cockshies//KKXS +cocksucker/S/KKSK +cocksure//KKSR +cocktail/GDMS/KKTL +cocky/RPT/KK +coco/MS/KK +cocoa/SM/KK +coconut/SM/KKNT +cocoon/GDMS/KKN +Cocteau/M/KKT +COD//KT +Cod/M/KT +cod/MDRSZGJ/KT +coda/SM/KT +codded//KTT +codding//KTN +coddle/GSRD/KTL +coddler/M/KTL +code/SCZGJRD/KT +codebook/S/KTBK +codebreak/R/KTBRK +coded/UA/KTT +Codee/M/KT +codeine/MS/KTN +codename/D/KTNM +codependency/S/KTPNTNS +codependent/S/KTPNTNT +coder/CM/KT +code's//KTS +codes/A/KTS +codetermine/S/KTTMN +codeword/SM/KTWT +codex/M/KTKS +codfish/SM/KTFX +codger/MS/KKR +Codi/M/KT +codices/M/KTSS +codicil/SM/KTSL +Codie/M/KT +codification/M/KTFKXN +codifier/M/KTF +codify/NZXGRSD/KTF +coding/M/KTN +codling/M/KTLN +codpiece/MS/KTPS +Cody/M/KT +coed/SM/KT +coedited//KTTT +coediting//KTTN +coeditor/MS/KTT +coedits//KTTS +coeducation/SM/KTKXN +coeducational//KTKXNL +coefficient/SYM/KFSNT +coelenterate/MS/KLNTRT +coequal/SY/KKL +coerce/SRDXVGNZ/KS +coercer/M/KS +coercible/I/KSBL +coercion/M/KSN +coercive/PY/KSF +coerciveness/M/KSFNS +coeval/YS/KFL +coexist/GDS/KKSST +coexistence/MS/KKSSTNS +coexistent//KKSSTNT +coextensive/Y/KKSTNSF +cofactor/MS/KFKT +coffee/SM/KF +coffeecake/SM/KFKK +coffeecup//KFKP +coffeehouse/SM/KFHS +coffeemaker/S/KFMK +coffeepot/MS/KFPT +coffer/DMSG/KF +cofferdam/SM/KFTM +Coffey/M/KF +coffin/DMGS/KFN +Coffman/M/KFMN +cog/MS/KK +cogency/MS/KKNS +cogent/Y/KKNT +cogged//KKT +cogging//KKN +cogitate/DSXNGV/KKTT +cogitation/M/KKTXN +cogitator/MS/KKTT +Cognac/M/KKNK +cognac/SM/KKNK +cognate/SXYN/KKNT +cognation/M/KKNXN +cognition/SAM/KKNXN +cognitional//KKNXNL +cognitive/SY/KKNTF +cognizable//KKNSBL +cognizance/MAI/KKNSNS +cognizances/A/KKNSNSS +cognizant/I/KKNSNT +cognomen/SM/KKNMN +cognoscente//KKNSNT +cognoscenti//KKNSNT +cogwheel/SM/KKHL +cohabit/SDG/KHBT +cohabitant/MS/KHBTNT +cohabitation/SM/KHBTXN +cohabitational//KHBTXNL +Cohan/M/KHN +coheir/MS/KH +Cohen/M/KHN +cohere/GSRD/KHR +coherence/SIM/KHRNS +coherencies//KHRNSS +coherency/I/KHRNS +coherent/IY/KHRNT +coherer/M/KHR +cohesion/MS/KHXN +cohesive/PY/KHSF +cohesiveness/SM/KHSFNS +Cohn/M/KN +coho/MS/KH +cohoes//KHS +cohort/SM/KHT +coif/SM/KF +coiffed//KFT +coiffing//KFN +coiffure/MGSD/KFR +coil/UGSAD/KL +Coimbatore/M/KMBTR +coin/GZSDRM/KN +coinage/SM/KNK +coinage's/A/KNKS +coincide/GSD/KNST +coincidence/MS/KNSTNS +coincident/Y/KNSTNT +coincidental/Y/KNSTNTL +coined/U/KNT +coiner/M/KN +coinsurance/SM/KNSRNS +Cointon/M/KNTN +cointreau//KNTR +coital/Y/KTL +coitus/SM/KTS +coke/MGDS/KK +Coke/MS/KK +COL//KL +Col/MY/KL +col/SD/KL +COLA//KL +cola/SM/KL +Colan/M/KLN +colander/SM/KLNT +Colas//KLS +colatitude/MS/KLTTT +Colbert/M/KLBT +Colby/M/KLB +cold/YRPST/KLT +coldblooded//KLTBLTT +coldish//KLTX +coldness/MS/KLTNS +Cole/M/KL +Coleen/M/KLN +Coleman/M/KLMN +Colene/M/KLN +Coleridge/M/KLRK +coleslaw/SM/KLSL +Colet/M/KLT +Coletta/M/KLT +Colette/M/KLT +coleus/SM/KLS +Colfax/M/KLFKS +Colgate/M/KLKT +colic/SM/KLK +colicky//KLK +coliform//KLFM +Colin/M/KLN +coliseum/SM/KLSM +colitis/MS/KLTS +coll/G/KL +collaborate/VGNXSD/KLBRT +collaboration/M/KLBRXN +collaborative/SY/KLBRTF +collaborator/SM/KLBRT +collage/MGSD/KLK +collagen/M/KLKN +collapse/SDG/KLPS +collapsibility/M/KLPSBLT +collapsible//KLPSBL +collar/DMGS/KL +collarbone/MS/KLBN +collard/SM/KLT +collarless//KLLS +collate/SDVNGX/KLT +collated/U/KLTT +collateral/SYM/KLTRL +collation/M/KLXN +collator/MS/KLT +colleague/SDGM/KLK +collect/SAGD/KLKT +collected/PY/KLKTT +collectedness/M/KLKTTNS +collectible/S/KLKTBL +collection/AMS/KLKXN +collective/SY/KLKTF +collectivism/SM/KLKTFSM +collectivist/MS/KLKTFST +collectivity/MS/KLKTFT +collectivization/MS/KLKTFSXN +collectivize/DSG/KLKTFS +collector/MS/KLKT +Colleen/M/KLN +colleen/SM/KLN +college/SM/KLK +collegiality/S/KLKLT +collegian/SM/KLKN +collegiate/Y/KLKT +Collen/M/KLN +Collete/M/KLT +Collette/M/KLT +collide/SDG/KLT +Collie/M/KL +collie/MZSRD/KL +collier/M/KL +Collier/M/KL +colliery/MS/KLR +collimate/C/KLMT +collimated/U/KLMTT +collimates//KLMTS +collimating//KLMTN +collimation/M/KLMXN +collimator/M/KLMT +Collin/MS/KLN +Colline/M/KLN +collinear//KLN +collinearity/M/KLNRT +collision/SM/KLXN +collisional//KLXNL +collocate/XSDGN/KLKT +collocation/M/KLKXN +colloid/MS/KLT +colloidal/Y/KLTL +colloq//KLK +colloquial/SY/KLKL +colloquialism/MS/KLKLSM +colloquies//KLKS +colloquium/SM/KLKM +colloquy/M/KLK +collude/SDG/KLT +collusion/SM/KLXN +collusive//KLSF +Colly/RM/KL +collying//KLYN +Colman/M/KLMN +Colo/M/KL +Cologne/M/KLKN +cologne/MSD/KLKN +Colombia/M/KLMB +Colombian/S/KLMBN +Colombo/M/KLMB +Colon/M/KLN +colon/SM/KLN +colonel/MS/KLNL +colonelcy/MS/KLNLS +colonial/SPY/KLNL +colonialism/MS/KLNLSM +colonialist/MS/KLNLST +colonist/SM/KLNST +colonization/ACSM/KLNSXN +colonize/ACSDG/KLNS +colonized/U/KLNST +colonizer/MS/KLNS +colonizes/U/KLNSS +colonnade/MSD/KLNT +colony/SM/KLN +colophon/SM/KLFN +color/SRDMGZJ/KL +Coloradan/S/KLRTN +Colorado/M/KLRT +Coloradoan/S/KLRTN +colorant/SM/KLRNT +coloration/EMS/KLRXN +coloratura/SM/KLRTR +colorblind/P/KLBLNT +colorblindness/S/KLBLNTNS +colored/USE/KLRT +colorer/M/KLR +colorfast/P/KLFST +colorfastness/SM/KLFSTNS +colorful/PY/KLFL +colorfulness/MS/KLFLNS +colorimeter/SM/KLRMT +colorimetry//KLRMTR +coloring/M/KLRN +colorization/S/KLRSXN +colorize/GSD/KLRS +colorizing/C/KLRSN +colorless/PY/KLLS +colorlessness/SM/KLLSNS +colors/EA/KLS +colossal/Y/KLSL +Colosseum/M/KLSM +colossi//KLS +colossus/M/KLSS +colostomy/SM/KLSTM +colostrum/SM/KLSTRM +Colt/M/KLT +colt/MRS/KLT +colter/M/KLT +coltish/PY/KLTX +coltishness/M/KLTXNS +Coltrane/M/KLTRN +Columbia/M/KLMB +Columbian//KLMBN +Columbine/M/KLMBN +columbine/SM/KLMBN +Columbus/M/KLMBS +column/SDM/KLMN +columnar//KLMN +columnist/MS/KLMNST +columnize/GSD/KLMNS +Colver/M/KLF +com/LJRTZG/KM +Com/M/KM +coma/SM/KM +comae//KM +comaker/SM/KMK +Comanche/MS/KMNX +comatose//KMTS +comb/SGZDRMJ/KM +combat/SVGMD/KMBT +combatant/SM/KMBTNT +combative/PY/KMBTF +combativeness/MS/KMBTFNS +combed/U/KMBT +comber/M/KMB +combination/ASM/KMBNXN +combinational/A/KMBNXNL +combinator/SM/KMBNT +combinatorial/Y/KMBNTRL +combinatoric/S/KMBNTRK +combine/ZGBRSD/KMBN +combined/AU/KMBNT +combiner/M/KMBN +combines/A/KMBNS +combining/A/KMBNN +combo/MS/KMB +Combs/M/KMBS +combusted//KMBSTT +combustibility/SM/KMBSTBLT +combustible/SI/KMBSTBL +combustion/MS/KMBSXN +combustive//KMBSTF +Comdex/M/KMTKS +Comdr/M/KMTR +come/IZSRGJ/KM +comeback/SM/KMBK +comedian/SM/KMTN +comedic//KMTK +comedienne/SM/KMTN +comedown/MS/KMTN +comedy/SM/KMT +comeliness/SM/KMLNS +comely/TPR/KML +comer/IM/KM +comes/M/KMS +comestible/MS/KMSTBL +comet/SM/KMT +cometary//KMTR +cometh//KM@ +comeuppance/SM/KMPNS +comfit/SE/KMFT +comfit's//KMFTS +comfort/ESMDG/KMFT +comfortability/S/KMFTBLT +comfortable/U/KMFTBL +comfortableness/MS/KMFTBLNS +comfortably/U/KMFTBL +comforted/U/KMFTT +comforter/MS/KMFT +comforting/YE/KMFTN +comfy/RT/KMF +comic/MS/KMK +comical/Y/KMKL +comicality/MS/KMKLT +Cominform/M/KMNFM +comity/SM/KMT +comm//KM +comma/MS/KM +command/SZRDMGL/KMNT +commandant/MS/KMNTNT +commandeer/SDG/KMNT +commander/M/KMNT +commanding/Y/KMNTN +commandment/SM/KMNTMNT +commando/SM/KMNT +commemorate/SDVNGX/KMMRT +commemoration/M/KMMRXN +commemorative/YS/KMMRTF +commemorator/S/KMMRT +commence/ALDSG/KMNS +commencement/AMS/KMNSMNT +commencer/M/KMNS +commend/GSADRB/KMNT +commendably//KMNTBL +commendation/ASM/KMNTXN +commendatory/A/KMNTTR +commender/AM/KMNT +commensurable/I/KMNSRBL +commensurate/IY/KMNSRT +commensurates//KMNSRTS +commensuration/SM/KMNSRXN +comment/SUGD/KMNT +commentary/MS/KMNTR +commentate/GSD/KMNTT +commentator/SM/KMNTT +commenter/M/KMNT +comment's//KMNTS +commerce/MGSD/KMS +commercial/PYS/KMXL +commercialism/MS/KMXLSM +commercialization/SM/KMXLSXN +commercialize/GSD/KMXLS +Commie//KM +commie/SM/KM +commingle/GSD/KMNL +commiserate/VGNXSD/KMSRT +commiseration/M/KMSRXN +commissar/MS/KMS +commissariat/MS/KMSRT +commissary/MS/KMSR +commission/ASCGD/KMXN +commissioner/SM/KMXN +commission's/A/KMXNS +commit/SA/KMT +commitment/SM/KMTMNT +committable//KMTBL +committal/MA/KMTL +committals//KMTLS +committed/UA/KMTT +committee/MS/KMT +committeeman/M/KMTMN +committeemen//KMTMN +committeewoman/M/KMTWMN +committeewomen//KMTWMN +committing/A/KMTN +commode/MS/KMT +commodes/IE/KMTS +commodious/YIP/KMTS +commodiousness/MI/KMTSNS +commodity/MS/KMTT +commodore/SM/KMTR +common/RYUPT/KMN +commonality/MS/KMNLT +commonalty/MS/KMNLT +commoner/MS/KMN +commonness/MSU/KMNS +commonplace/SP/KMNPLS +commonplaceness/M/KMNPLSNS +commons/M/KMNS +Commons/M/KMNS +commonsense//KMNSNS +commonweal/SHM/KMNWL +commonwealth/M/KMNWL@ +Commonwealth/M/KMNWL@ +commonwealths//KMNWL@S +Commonwealths//KMNWL@S +commotion/MS/KMXN +communal/Y/KMNL +communality/M/KMNLT +commune/XSDNG/KMN +communicability/MS/KMNKBLT +communicable/IU/KMNKBL +communicably//KMNKBL +communicant/MS/KMNKNT +communicate/VNGXSD/KMNKT +communication/M/KMNKXN +communicational//KMNKXNL +communicative/PY/KMNKTF +communicativeness/M/KMNKTFNS +communicator/SM/KMNKT +communion/M/KMNN +Communion/SM/KMNN +communique/S/KMNK +communism/MS/KMNSM +Communism/S/KMNSM +communist/MS/KMNST +Communist/S/KMNST +communistic//KMNSTK +communitarian/M/KMNTRN +community/MS/KMNT +communize/SDG/KMNS +commutable/I/KMTBL +commutate/XVGNSD/KMTT +commutation/M/KMTXN +commutative/Y/KMTTF +commutativity//KMTTFT +commutator/MS/KMTT +commute/BZGRSD/KMT +commuter/M/KMT +Comoros//KMRS +comp/GSYD/KMP +compact/TZGSPRDY/KMPKT +compaction/M/KMPKXN +compactness/MS/KMPKTNS +compactor/MS/KMPKT +companion/GBSMD/KMPNN +companionable/P/KMPNNBL +companionableness/M/KMPNNBLNS +companionably//KMPNNBL +companionship/MS/KMPNNXP +companionway/MS/KMPNNW +company/MSDG/KMPN +Compaq/M/KMPK +comparabilities//KMPRBLTS +comparability/IM/KMPRBLT +comparable/P/KMPRBL +comparableness/M/KMPRBLNS +comparably/I/KMPRBL +comparative/PYS/KMPRTF +comparativeness/M/KMPRTFNS +comparator/SM/KMPRT +compare/GRSDB/KMPR +comparer/M/KMPR +comparison/MS/KMPRSN +compartment/SDMG/KMPTMNT +compartmental//KMPTMNTL +compartmentalization/SM/KMPTMNTLSXN +compartmentalize/DSG/KMPTMNTLS +compass/MSDG/KMPS +compassion/MS/KMPXN +compassionate/PSDGY/KMPXNT +compassionateness/M/KMPXNTNS +compatibility/IMS/KMPTBLT +compatible/SI/KMPTBL +compatibleness/M/KMPTBLNS +compatibly/I/KMPTBL +compatriot/SM/KMPTRT +compeer/DSGM/KMP +compel/S/KMPL +compellable//KMPLBL +compelled//KMPLT +compelling/YM/KMPLN +compendious//KMPNTS +compendium/MS/KMPNTM +compensable//KMPNSBL +compensate/XVNGSD/KMPNST +compensated/U/KMPNSTT +compensation/M/KMPNSXN +compensator/M/KMPNST +compensatory//KMPNSTR +compete/GSD/KMPT +competence/ISM/KMPTNS +competency/IS/KMPTNS +competency's//KMPTNSS +competent/IY/KMPTNT +competition/SM/KMPTXN +competitive/YP/KMPTTF +competitiveness/SM/KMPTTFNS +competitor/MS/KMPTT +compilable/U/KMPLBL +compilation/SAM/KMPLXN +compile/ASDCG/KMPL +compiler/CS/KMPL +compiler's//KMPLS +complacence/S/KMPLSNS +complacency/SM/KMPLSNS +complacent/Y/KMPLSNT +complain/GZRDS/KMPLN +complainant/MS/KMPLNNT +complainer/M/KMPLN +complaining/YU/KMPLNN +complaint/MS/KMPLNT +complaisance/SM/KMPLSNS +complaisant/Y/KMPLSNT +complected//KMPLKTT +complement/ZSMRDG/KMPLMNT +complementariness/M/KMPLMNTRNS +complementarity//KMPLMNTRT +complementary/SP/KMPLMNTR +complementation/M/KMPLMNTXN +complementer/M/KMPLMNT +complete/BTYVNGPRSDX/KMPLT +completed/U/KMPLTT +completely/I/KMPLTL +completeness/ISM/KMPLTNS +completer/M/KMPLT +completion/MI/KMPLXN +complex/TGPRSDY/KMPLKS +complexion/DMS/KMPLKSN +complexional//KMPLKSNL +complexity/MS/KMPLKST +complexness/M/KMPLKSNS +compliance/SM/KMPLNS +compliant/Y/KMPLNT +complicate/SDG/KMPLKT +complicated/YP/KMPLKTT +complicatedness/M/KMPLKTTNS +complication/M/KMPLKXN +complicator/SM/KMPLKT +complicit//KMPLST +complicity/MS/KMPLST +complier/M/KMPL +compliment/ZSMRDG/KMPLMNT +complimentary/U/KMPLMNTR +complimenter/M/KMPLMNT +comply/ZXRSDNG/KMPL +component/SM/KMPNNT +comport/GLSD/KMPT +comportment/SM/KMPTMNT +compose/CGASDE/KMPS +composed/PY/KMPST +composedness/M/KMPSTNS +composer/CM/KMPS +composers//KMPSS +composite/YSDXNG/KMPST +composition/CMA/KMPSXN +compositional/Y/KMPSXNL +compositions/C/KMPSXNS +compositor/MS/KMPST +compost/DMGS/KMPST +composure/ESM/KMPSR +compote/MS/KMPT +compound/RDMBGS/KMPNT +compounded/U/KMPNTT +compounder/M/KMPNT +comprehend/DGS/KMPRHNT +comprehending/U/KMPRHNTN +comprehensibility/SIM/KMPRHNSBLT +comprehensible/PI/KMPRHNSBL +comprehensibleness/IM/KMPRHNSBLNS +comprehensibly/I/KMPRHNSBL +comprehension/IMS/KMPRHNXN +comprehensive/YPS/KMPRHNSF +comprehensiveness/SM/KMPRHNSFNS +compress/SDUGC/KMPRS +compressed/Y/KMPRST +compressibility/IM/KMPRSBLT +compressible/I/KMPRSBL +compression/CSM/KMPRXN +compressional//KMPRXNL +compressive/Y/KMPRSF +compressor/MS/KMPRS +comprise/GSD/KMPRS +compromise/SRDGMZ/KMPRMS +compromiser/M/KMPRMS +compromising/UY/KMPRMSN +Compton/M/KMPTN +comptroller/SM/KMPTRL +compulsion/SM/KMPLXN +compulsive/PYS/KMPLSF +compulsiveness/MS/KMPLSFNS +compulsivity//KMPLSFT +compulsorily//KMPLSRL +compulsory/S/KMPLSR +compunction/MS/KMPNKXN +Compuserve/M/KMPSF +CompuServe/M/KMPSF +computability/M/KMPTBLT +computable/UI/KMPTBL +computably//KMPTBL +computation/SM/KMPTXN +computational/Y/KMPTXNL +compute/RSDZBG/KMPT +computed/A/KMPTT +computer/M/KMPT +computerese//KMPTRS +computerization/MS/KMPTRSXN +computerize/SDG/KMPTRS +computes/A/KMPTS +computing/A/KMPTN +comrade/YMS/KMRT +comradely/P/KMRTL +comradeship/MS/KMRTXP +Comte/M/KMT +Con/M/KN +con/SGM/KN +Conakry/M/KNKR +Conan/M/KNN +Conant/M/KNNT +concatenate/XSDG/KNKTNT +concave/YP/KNKF +concaveness/MS/KNKFNS +conceal/BSZGRDL/KNSL +concealed/U/KNSLT +concealer/M/KNSL +concealing/Y/KNSLN +concealment/MS/KNSLMNT +conceded/Y/KNSTT +conceit/SGDM/KNST +conceited/YP/KNSTT +conceitedness/SM/KNSTTNS +conceivable/IU/KNSFBL +conceivably/I/KNSFBL +conceive/BGRSD/KNSF +conceiver/M/KNSF +concentrate/VNGSDX/KNSNTRT +concentration/M/KNSNTRXN +concentrator/MS/KNSNTRT +concentrically//KNSNTRKL +Concepción/M/KNSPSN +concept/SVM/KNSPT +conception/MS/KNSPXN +conceptional//KNSPXNL +conceptual/Y/KNSPTL +conceptuality/M/KNSPTLT +conceptualization/A/KNSPTLSXN +conceptualizations//KNSPTLSXNS +conceptualization's//KNSPTLSXNS +conceptualize/DRSG/KNSPTLS +conceptualizing/A/KNSPTLSN +concern/USGD/KNSN +concerned/YU/KNSNT +concert/EDSG/KNST +concerted/PY/KNSTT +concertina/MDGS/KNSTN +concertize/GDS/KNSTS +concertmaster/MS/KNSTMST +concerto/SM/KNST +concert's//KNSTS +concession/R/KNSXN +concessionaire/SM/KNSXNR +concessional//KNSXNL +concessionary//KNSXNR +Concetta/M/KNST +Concettina/M/KNSTN +conch/MDG/KNX +Conchita/M/KNXT +conchs//KNXS +concierge/SM/KNSK +conciliar//KNSL +conciliate/GNVX/KNSLT +conciliation/ASM/KNSLXN +conciliator/MS/KNSLT +conciliatory/A/KNSLTR +concise/TYRNPX/KNSS +conciseness/SM/KNSSNS +concision/M/KNSXN +conclave/S/KNKLF +conclude/RSDG/KNKLT +concluder/M/KNKLT +conclusion/SM/KNKLXN +conclusive/IPY/KNKLSF +conclusiveness/ISM/KNKLSFNS +concoct/RDVGS/KNKKT +concocter/M/KNKKT +concoction/SM/KNKKXN +concomitant/YS/KNKMTNT +Concord/MS/KNKT +concordance/MS/KNKTNS +concordant/Y/KNKTNT +concordat/SM/KNKTT +Concorde/M/KNKT +Concordia/M/KNKT +concourse//KNKS +concrete/NGXRSDPYM/KNKRT +concreteness/MS/KNKRTNS +concretion/M/KNKRXN +concubinage/SM/KNKBNK +concubine/SM/KNKBN +concupiscence/SM/KNKPSNS +concupiscent//KNKPSNT +concur/S/KNK +concurrence/MS/KNKRNS +concuss/VD/KNKS +concussion/MS/KNKXN +condemn/ZSGRDB/KNTMN +condemnate/XN/KNTMNT +condemnation/M/KNTMNXN +condemnatory//KNTMNTR +condemner/M/KNTMN +condensate/NMXS/KNTNST +condensation/M/KNTNSXN +condense/ZGSD/KNTNS +condenser/M/KNTNS +condensible//KNTNSBL +condescend//KNTSNT +condescending/Y/KNTSNTN +condescension/MS/KNTSNXN +condign//KNTN +condiment/SM/KNTMNT +condition/AGSJD/KNTXN +conditional/UY/KNTXNL +conditionals//KNTXNLS +conditioned/U/KNTXNT +conditioner/MS/KNTXN +conditioning/M/KNTXNN +condition's//KNTXNS +condo/SM/KNT +condole//KNTL +condolence/MS/KNTLNS +condom/SM/KNTM +condominium/MS/KNTMNM +condone/GRSD/KNTN +condoner/M/KNTN +condor/MS/KNT +Condorcet/M/KNTST +conduce/VGSD/KNTS +conducive/P/KNTSF +conduciveness/M/KNTSFNS +conduct/V/KNTKT +conductance/SM/KNTKTNS +conductibility/SM/KNTKTBLT +conductible//KNTKTBL +conduction/MS/KNTKXN +conductive/Y/KNTKTF +conductivity/MS/KNTKTFT +conductor/MS/KNTKT +conductress/MS/KNTKTRS +conduit/MS/KNTT +coneflower/M/KNFLW +Conestoga//KNSTK +coney's//KNS +confab/MS/KNFB +confabbed//KNFBT +confabbing//KNFBN +confabulate/XSDGN/KNFBLT +confabulation/M/KNFBLXN +confect/S/KNFKT +confection/RDMGZS/KNFKXN +confectioner/M/KNFKXN +confectionery/SM/KNFKXNR +confectionist//KNFKXNST +Confederacy/M/KNFTRS +confederacy/MS/KNFTRS +confederate/M/KNFTRT +Confederate/S/KNFTRT +confer/SB/KNF +conferee/MS/KNFR +conference/DSGM/KNFRNS +conferrable//KNFRBL +conferral/SM/KNFRL +conferred//KNFRT +conferrer/SM/KNFR +conferring//KNFRN +confessed/Y/KNFST +confession/MS/KNFXN +confessional/SY/KNFXNL +confessor/SM/KNFS +confetti/M/KNFT +confidant/SM/KNFTNT +confidante/SM/KNFTNT +confide/ZGRSD/KNFT +confidence/SM/KNFTNS +confident/Y/KNFTNT +confidential/PY/KNFTNXL +confidentiality/MS/KNFTNXLT +confidentialness/M/KNFTNXLNS +confider/M/KNFT +confiding/PY/KNFTN +configuration/ASM/KNFKRXN +configure/AGSDB/KNFKR +confine/L/KNFN +confined/U/KNFNT +confinement/MS/KNFNMNT +confiner/M/KNFN +confirm/AGDS/KNFM +confirmation/ASM/KNFMXN +confirmatory//KNFMTR +confirmed/YP/KNFMT +confirmedness/M/KNFMTNS +confiscate/DSGNX/KNFSKT +confiscation/M/KNFSKXN +confiscator/MS/KNFSKT +confiscatory//KNFSKTR +conflagration/MS/KNFLKRXN +conflate/NGSDX/KNFLT +conflation/M/KNFLXN +conflict/SVGDM/KNFLKT +conflicting/Y/KNFLKTN +confluence/MS/KNFLNS +conform/B/KNFM +conformable/U/KNFMBL +conformal//KNFML +conformance/SM/KNFMNS +conformational/Y/KNFMXNL +conformer/M/KNFM +conformism/SM/KNFMSM +conformist/SM/KNFMST +conformities//KNFMTS +conformity/MUI/KNFMT +confound/R/KNFNT +confounded/Y/KNFNTT +confrère/MS/KNFRR +confront/Z/KNFRNT +confrontation/SM/KNFRNTXN +confrontational//KNFRNTXNL +confronter/M/KNFRNT +Confucian/S/KNFXN +Confucianism/SM/KNFXNSM +Confucius/M/KNFSS +confuse/RBZ/KNFS +confused/PY/KNFST +confusedness/M/KNFSTNS +confusing/Y/KNFSN +confutation/MS/KNFTXN +confute/GRSD/KNFT +confuter/M/KNFT +Cong/M/KNK +conga/MDG/KNK +congeal/GSDL/KNKL +congealment/MS/KNKLMNT +congenial/U/KNKNL +congeniality/UM/KNKNLT +conger/SM/KNK +congeries/M/KNKRS +congest/VGSD/KNKST +congestion/MS/KNKSXN +conglomerate/XDSNGVM/KNKLMRT +conglomeration/M/KNKLMRXN +Congo/M/KNK +Congolese//KNKLS +congrats//KNKRTS +congratulate/NGXSD/KNKRTLT +congratulation/M/KNKRTLXN +congratulatory//KNKRTLTR +congregate/DSXGN/KNKRKT +congregation/M/KNKRKXN +congregational//KNKRKXNL +Congregational//KNKRKXNL +congregationalism/MS/KNKRKXNLSM +congregationalist/MS/KNKRKXNLST +Congregationalist/S/KNKRKXNLST +Congress/MS/KNKRS +congress/MSDG/KNKRS +congressional/Y/KNKRXNL +congressman/M/KNKRSMN +congressmen//KNKRSMN +congresspeople//KNKRSPPL +congressperson/S/KNKRSPSN +congresswoman/M/KNKRSWMN +congresswomen//KNKRSWMN +Congreve/M/KNKRF +congruence/IM/KNKRNS +congruences//KNKRNSS +congruency/M/KNKRNS +congruent/YI/KNKRNT +congruential//KNKRNXL +congruity/MSI/KNKRT +congruous/YIP/KNKRS +congruousness/IM/KNKRSNS +conic/S/KNK +conical/PSY/KNKL +conicalness/M/KNKLNS +conics/M/KNKS +conifer/MS/KNF +coniferous//KNFRS +conjectural/Y/KNKKTRL +conjecture/GMDRS/KNKKTR +conjecturer/M/KNKKTR +conjoint//KNKNT +conjugacy//KNKKS +conjugal/Y/KNKKL +conjugate/XVNGYSDP/KNKKT +conjugation/M/KNKKXN +conjunct/DSV/KNKNKT +conjunctiva/MS/KNKNKTF +conjunctive/YS/KNKNKTF +conjunctivitis/SM/KNKNKTFTS +conjuration/MS/KNKRXN +conjure/RSDZG/KNKR +conjurer/M/KNKR +conjuring/M/KNKRN +conk/ZDR/KNK +conker/M/KNK +Conley/M/KNL +conman//KNMN +conn/GVDR/KN +Conn/RM/KN +connect/ADGES/KNKT +connected/U/KNKTT +connectedly/E/KNKTTL +connectedness/ME/KNKTTNS +connectible//KNKTBL +Connecticut/M/KNKTKT +connection/AME/KNKXN +connectionless//KNKXNLS +connections/E/KNKXNS +connective/SYM/KNKTF +connectivity/MS/KNKTFT +connector/MS/KNKT +Connelly/M/KNL +Conner/M/KN +Connery/M/KNR +connexion/MS/KNKSN +Conney/M/KN +Conni/M/KN +Connie/M/KN +conniption/MS/KNPXN +connivance/MS/KNFNS +connive/ZGRSD/KNF +conniver/M/KNF +connoisseur/MS/KNS +Connor/SM/KN +connotative/Y/KNTTF +connubial/Y/KNBL +Conny/M/KN +conquer/RDSBZG/KNK +conquerable/U/KNKRBL +conquered/AU/KNKRT +conqueror/MS/KNKR +conquers/A/KNKS +conquest/ASM/KNKST +conquistador/MS/KNKSTT +Conrad/M/KNRT +Conrade/M/KNRT +Conrado/M/KNRT +Conrail/M/KNRL +Conroy/M/KNR +Consalve/M/KNSLF +consanguineous/Y/KNSNKNS +consanguinity/SM/KNSNKNT +conscienceless//KNSNSLS +conscientious/YP/KNSNXS +conscientiousness/MS/KNSNXSNS +conscionable/U/KNSNBL +conscious/UYSP/KNSS +consciousness/MUS/KNSSNS +conscription/SM/KNSKRPXN +consecrate/XDSNGV/KNSKRT +consecrated/AU/KNSKRTT +consecrates/A/KNSKRTS +consecrating/A/KNSKRTN +consecration/AMS/KNSKRXN +consecutive/YP/KNSKTF +consecutiveness/M/KNSKTFNS +consensus/SM/KNSNSS +consent/SZGRD/KNSNT +consenter/M/KNSNT +consenting/Y/KNSNTN +consequence//KNSKNS +consequent/PSY/KNSKNT +consequential/IY/KNSKNXL +consequentiality/S/KNSKNXLT +consequentialness/M/KNSKNXLNS +consequently/I/KNSKNTL +conservancy/SM/KNSFNS +conservation/SM/KNSFXN +conservationism//KNSFXNSM +conservationist/SM/KNSFXNST +conservatism/SM/KNSFTSM +Conservative/S/KNSFTF +conservative/SYP/KNSFTF +conservativeness/M/KNSFTFNS +conservator/MS/KNSFT +conservatory/MS/KNSFTR +consider/GASD/KNST +considerable/I/KNSTRBL +considerables//KNSTRBLS +considerably/I/KNSTRBL +considerate/XIPNY/KNSTRT +considerateness/MSI/KNSTRTNS +consideration/ASMI/KNSTRXN +considered/U/KNSTRT +considerer/M/KNSTR +considering/S/KNSTRN +consign/ASGD/KNSN +consignee/SM/KNSKN +consignment/SM/KNSKNMNT +consist/DSG/KNSST +consistence/S/KNSSTNS +consistency/IMS/KNSSTNS +consistent/IY/KNSSTNT +consistory/MS/KNSSTR +consolable/I/KNSLBL +Consolata/M/KNSLT +consolation/MS/KNSLXN +consolation's/E/KNSLXNS +consolatory//KNSLTR +console/ZBG/KNSL +consoled/U/KNSLT +consoler/M/KNSL +consolidate/NGDSX/KNSLTT +consolidated/AU/KNSLTTT +consolidates/A/KNSLTTS +consolidation/M/KNSLTXN +consolidator/SM/KNSLTT +consoling/Y/KNSLN +consommé/S/KNSM +consonance/IM/KNSNNS +consonances//KNSNNSS +consonant/MYS/KNSNNT +consonantal//KNSNNTL +consortia//KNSX +consortium/M/KNSTM +conspectus/MS/KNSPKTS +conspicuous/YIP/KNSPKS +conspicuousness/IMS/KNSPKSNS +conspiracy/MS/KNSPRS +conspirator/SM/KNSPRT +conspiratorial/Y/KNSPRTRL +constable//KNSTBL +Constable/M/KNSTBL +constabulary/MS/KNSTBLR +constance//KNSTNS +Constance/M/KNSTNS +Constancia/M/KNSTNX +constancy/IMS/KNSTNS +Constancy/M/KNSTNS +constant/IY/KNSTNT +Constanta/M/KNSTNT +Constantia/M/KNSTNX +Constantin/M/KNSTNTN +Constantina/M/KNSTNTN +Constantine/M/KNSTNTN +Constantino/M/KNSTNTN +Constantinople/M/KNSTNTNPL +constants//KNSTNTS +constellation/SM/KNSTLXN +consternate/XNGSD/KNSTNT +consternation/M/KNSTNXN +constipate/XDSNG/KNSTPT +constipation/M/KNSTPXN +constituency/MS/KNSTTNS +constituent/SYM/KNSTTNT +constitute/NGVXDS/KNSTTT +constituted/A/KNSTTTT +constitutes/A/KNSTTTS +constituting/A/KNSTTTN +Constitution//KNSTTXN +constitution/AMS/KNSTTXN +constitutional/SY/KNSTTXNL +constitutionality/US/KNSTTXNLT +constitutionality's//KNSTTXNLTS +constitutionally/U/KNSTTXNL +constitutive/Y/KNSTTTF +constrain//KNSTRN +constrained/U/KNSTRNT +constrainedly//KNSTRNTL +constraint/MS/KNSTRNT +constrict/SDGV/KNSTRKT +constriction/MS/KNSTRKXN +constrictor/MS/KNSTRKT +construable//KNSTRBL +construct/ASDGV/KNSTRKT +constructibility//KNSTRKTBLT +constructible/A/KNSTRKTBL +construction/MAS/KNSTRKXN +constructional/Y/KNSTRKXNL +constructionist/MS/KNSTRKXNST +constructions/C/KNSTRKXNS +constructive/YP/KNSTRKTF +constructiveness/SM/KNSTRKTFNS +constructor/MS/KNSTRKT +construe/GSD/KNSTR +Consuela/M/KNSL +Consuelo/M/KNSL +consul/KMS/KNSL +consular/S/KNSL +consulate/MS/KNSLT +consulship/MS/KNSLXP +consult/RDVGS/KNSLT +consultancy/S/KNSLTNS +consultant/MS/KNSLTNT +consultation/SM/KNSLTXN +consultative//KNSLTTF +consulted/A/KNSLTT +consulter/M/KNSLT +consumable/S/KNSMBL +consume/JZGSDB/KNSM +consumed/Y/KNSMT +consumer/M/KNSM +consumerism/MS/KNSMRSM +consumerist/S/KNSMRST +consuming/Y/KNSMN +consummate/DSGVY/KNSMT +consummated/U/KNSMTT +consumption/SM/KNSMPXN +consumptive/YS/KNSMPTF +cont//KNT +contact/BGD/KNTKT +contacted/A/KNTKTT +contacts/A/KNTKTS +contact's/A/KNTKTS +contagion/SM/KNTKN +contagious/YP/KNTKS +contagiousness/MS/KNTKSNS +contain/SLZGBRD/KNTN +container/M/KNTN +containerization/SM/KNTNRSXN +containerize/GSD/KNTNRS +containment/SM/KNTNMNT +contaminant/SM/KNTMNNT +contaminate/SDCXNG/KNTMNT +contaminated/AU/KNTMNTT +contaminates/A/KNTMNTS +contaminating/A/KNTMNTN +contamination/CM/KNTMNXN +contaminative//KNTMNTF +contaminator/MS/KNTMNT +contd//KNTT +cont'd//KNTT +contemn/SGD/KNTMN +contemplate/DVNGX/KNTMPLT +contemplation/M/KNTMPLXN +contemplative/PSY/KNTMPLTF +contemplativeness/M/KNTMPLTFNS +contemporaneity/MS/KNTMPRNT +contemporaneous/PY/KNTMPRNS +contemporaneousness/M/KNTMPRNSNS +contempt/M/KNTMPT +contemptible/P/KNTMPTBL +contemptibleness/M/KNTMPTBLNS +contemptibly//KNTMPTBL +contemptuous/PY/KNTMPTS +contemptuousness/SM/KNTMPTSNS +content/EMDLSG/KNTNT +contented/YP/KNTNTT +contentedly/E/KNTNTTL +contentedness/SM/KNTNTTNS +contention/MS/KNTNXN +contentious/PY/KNTNXS +contentiousness/SM/KNTNXSNS +contently//KNTNTL +contentment/ES/KNTNTMNT +contentment's//KNTNTMNTS +conterminous/Y/KNTMNS +contestable/I/KNTSTBL +contestant/SM/KNTSTNT +contested/U/KNTSTT +contextualize/GDS/KNTKSTLS +contiguity/MS/KNTKT +contiguous/YP/KNTKS +contiguousness/M/KNTKSNS +continence/ISM/KNTNNS +continent/IY/KNTNNT +Continent/M/KNTNNT +Continental/S/KNTNNTL +continental/SY/KNTNNTL +continents//KNTNNTS +continent's//KNTNNTS +contingency/SM/KNTNNS +contingent/SMY/KNTNNT +continua//KNTN +continuable//KNTNBL +continual/Y/KNTNL +continuance/ESM/KNTNNS +continuant/M/KNTNNT +continuation/ESM/KNTNXN +continue/ESDG/KNTN +continuer/M/KNTN +continuity/SEM/KNTNT +continuous/YE/KNTNS +continuousness/M/KNTNSNS +continuum/M/KNTNM +contort/VGD/KNTT +contortion/MS/KNTXN +contortionist/SM/KNTXNST +contour//KNT +contra/S/KNTR +contraband/SM/KNTRBNT +contrabass/M/KNTRBS +contraception/SM/KNTRSPXN +contraceptive/S/KNTRSPTF +contract/DG/KNTRKT +contractible//KNTRKTBL +contractile//KNTRKTL +contractual/Y/KNTRKTL +contradict/GDS/KNTRTKT +contradiction/MS/KNTRTKXN +contradictorily//KNTRTKTRL +contradictoriness/M/KNTRTKTRNS +contradictory/PS/KNTRTKTR +contradistinction/MS/KNTRTSTNKXN +contraflow/S/KNTRFL +contrail/M/KNTRL +contraindicate/SDVNGX/KNTRNTKT +contraindication/M/KNTRNTKXN +contralto/SM/KNTRLT +contrapositive/S/KNTRPSTF +contraption/MS/KNTRPXN +contrapuntal/Y/KNTRPNTL +contrariety/MS/KNTRRT +contrarily//KNTRRL +contrariness/MS/KNTRRNS +contrariwise//KNTRRWS +contrary/PS/KNTRR +contrast/SRDVGZ/KNTRST +contrasting/Y/KNTRSTN +contrastive/Y/KNTRSTF +contravene/GSRD/KNTRFN +contravener/M/KNTRFN +contravention/MS/KNTRFNXN +Contreras/M/KNTRRS +contretemps/M/KNTRTMPS +contribute/XVNZRD/KNTRBT +contribution/M/KNTRBXN +contributive/Y/KNTRBTF +contributor/SM/KNTRBT +contributorily//KNTRBTRL +contributory/S/KNTRBTR +contrite/NXP/KNTRT +contriteness/M/KNTRTNS +contrition/M/KNTRXN +contrivance/SM/KNTRFNS +contrive/ZGRSD/KNTRF +contriver/M/KNTRF +control/CS/KNTRL +controllability/M/KNTRLBLT +controllable/IU/KNTRLBL +controllably/U/KNTRLBL +controlled/CU/KNTRLT +controller/SM/KNTRL +controlling/C/KNTRLN +control's//KNTRLS +controversial/UY/KNTRFXL +controversialists//KNTRFXLSTS +controversy/MS/KNTRFS +controvert/DGS/KNTRFT +controvertible/I/KNTRFTBL +contumacious/Y/KNTMSS +contumacy/MS/KNTMS +contumelious//KNTMLS +contumely/MS/KNTML +contuse/NGXSD/KNTS +contusion/M/KNTXN +conundrum/SM/KNNTRM +conurbation/MS/KNBXN +convalesce/GDS/KNFLS +convalescence/SM/KNFLSNS +convalescent/S/KNFLSNT +convect/DSVG/KNFKT +convection/MS/KNFKXN +convectional//KNFKXNL +convector//KNFKT +convene/ASDG/KNFN +convener/MS/KNFN +convenience/ISM/KNFNNS +convenient/IY/KNFNNT +conventicle/SM/KNFNTKL +convention/MA/KNFNXN +conventional/UY/KNFNXNL +conventionalism/M/KNFNXNLSM +conventionalist/M/KNFNXNLST +conventionality/SUM/KNFNXNLT +conventionalize/GDS/KNFNXNLS +conventions//KNFNXNS +convergence/MS/KNFKNS +convergent//KNFKNT +conversant/Y/KNFSNT +conversation/SM/KNFSXN +conversational/Y/KNFSXNL +conversationalist/SM/KNFSXNLST +conversazione/M/KNFSSN +converse/Y/KNFS +conversion/AM/KNFXN +conversioning//KNFXNN +convert/GADS/KNFT +converted/U/KNFTT +converter/MS/KNFT +convertibility/SM/KNFTBLT +convertibility's/I/KNFTBLTS +convertible/PS/KNFTBL +convertibleness/M/KNFTBLNS +convex/Y/KNFKS +convexity/MS/KNFKST +convey/BDGS/KNF +conveyance/DRSGMZ/KNFYNS +conveyancer/M/KNFYNS +conveyancing/M/KNFYNSN +conveyor/MS/KNFY +convict/SVGD/KNFKT +conviction/MS/KNFKXN +convince/RSDZG/KNFNS +convinced/U/KNFNST +convincer/M/KNFNS +convincing/PUY/KNFNSN +convincingness/M/KNFNSNNS +convivial/Y/KNFFL +conviviality/MS/KNFFLT +convoke/GSD/KNFK +convolute/XDNY/KNFLT +convolution/M/KNFLXN +convolve/C/KNFLF +convolved//KNFLFT +convolves//KNFLFS +convolving//KNFLFN +convoy/GMDS/KNF +convulse/SDXVNG/KNFLS +convulsion/M/KNFLXN +convulsive/YP/KNFLSF +convulsiveness/M/KNFLSFNS +Conway/M/KNW +cony/SM/KN +coo/GSD/K +cook/GZDRMJS/KK +Cook/M/KK +cookbook/SM/KKBK +Cooke/M/KK +cooked/AU/KKT +cooker/M/KK +cookery/MS/KKR +Cookie/M/KK +cookie/SM/KK +cooking/M/KKN +cookout/SM/KKT +cooks/A/KKS +cookware/SM/KKWR +cooky's//KKS +cool/YDRPJGZTS/KL +coolant/SM/KLNT +cooled/U/KLT +cooler/M/KL +Cooley/M/KL +coolheaded//KLHTT +Coolidge/M/KLK +coolie/MS/KL +coolness/MS/KLNS +coon/MS/KN +coonskin/MS/KNSKN +coop/MDRGZS/KP +Coop/MR/KP +cooper/GDM/KP +Cooper/M/KP +cooperage/MS/KPRK +cooperate/VNGXSD/KPRT +cooperation/M/KPRXN +cooperative/PSY/KPRTF +cooperativeness/SM/KPRTFNS +cooperator/MS/KPRT +coordinate/XNGVYPDS/KTNT +coordinated/U/KTNTT +coordinateness/M/KTNTNS +coordination/M/KTNXN +coordinator/MS/KTNT +Coors/M/KS +coot/MS/KT +cootie/SM/KT +cop/SJMDRG/KP +copay/S/KP +cope/S/KP +Copeland/M/KPLNT +Copenhagen/M/KPNHKN +coper/M/KP +Copernican//KPNKN +Copernicus/M/KPNKS +copied/A/KPT +copier/M/KP +copies/A/KPS +copilot/SM/KPLT +coping/M/KPN +copious/YP/KPS +copiousness/SM/KPSNS +coplanar//KPLN +Copland/M/KPLNT +Copley/M/KPL +copolymer/MS/KPLM +copora//KPR +copped//KPT +copper/MSGD/KP +Copperfield/M/KPFLT +copperhead/MS/KPHT +copperplate/MS/KPPLT +coppersmith/M/KPSM@ +coppersmiths//KPSM@S +coppery//KPR +coppice's//KPSS +copping//KPN +Coppola/M/KPL +copra/MS/KPR +coprolite/M/KPRLT +coprophagous//KPRFKS +cops/GDS/KPS +copse/M/KPS +copter/SM/KPT +Coptic/M/KPTK +copula/MS/KPL +copulate/XDSNGV/KPLT +copulation/M/KPLXN +copulative/S/KPLTF +copy/MZBDSRG/KP +copybook/MS/KPBK +copycat/SM/KPKT +copycatted//KPKTT +copycatting//KPKTN +copyist/SM/KPYST +copyright/MSRDGZ/KPRT +copyrighter/M/KPRT +copywriter/MS/KPRT +coquetry/MS/KKTR +coquette/DSMG/KKT +coquettish/Y/KKTX +Cora/M/KR +Corabel/M/KRBL +Corabella/M/KRBL +Corabelle/M/KRBL +coracle/SM/KRKL +Coral/M/KRL +coral/SM/KRL +Coralie/M/KRL +Coraline/M/KRLN +coralline//KRLN +Coralyn/M/KRLN +corbel/GMDJS/KBL +Corbet/M/KBT +Corbett/M/KBT +Corbie/M/KB +Corbin/M/KBN +Corby/M/KB +cord/FSAEM/KT +Cord/M/KT +cordage/MS/KTK +corded/AE/KTT +Cordelia/M/KTL +Cordelie/M/KTL +Cordell/M/KTL +corder/AM/KT +Cordey/M/KT +Cordi/M/KT +cordial/PYS/KTL +cordiality/MS/KTLT +cordialness/M/KTLNS +Cordie/M/KT +cordillera/MS/KTLR +Cordilleras//KTLRS +cording/MA/KTN +cordite/MS/KTT +cordless//KTLS +Cordoba//KTB +cordon/DMSG/KTN +cordovan/SM/KTFN +Cordula/M/KTL +corduroy/GDMS/KTR +Cordy/M/KT +core/MZGDRS/KR +cored/A/KRT +Coreen/M/KRN +Corella/M/KRL +Corenda/M/KRNT +Corene/M/KRN +corer/M/KR +corespondent/MS/KRSPNTNT +Coretta/M/KRT +Corette/M/KRT +Corey/M/KR +Corfu/M/KF +corgi/MS/KK +Cori/M/KR +coriander/SM/KRNT +Corie/M/KR +Corilla/M/KRL +Corina/M/KRN +Corine/M/KRN +coring/M/KRN +Corinna/M/KRN +Corinne/M/KRN +Corinth/M/KRN@ +Corinthian/S/KRN@N +Corinthians/M/KRN@NS +Coriolanus/M/KRLNS +Coriolis/M/KRLS +Coriss/M/KRS +Corissa/M/KRS +cork/GZDRMS/KK +Cork/M/KK +corked/U/KKT +corker/M/KK +corks/U/KKS +corkscrew/DMGS/KKSKR +Corliss/M/KLS +Corly/M/KL +corm/MS/KM +Cormack/M/KMK +cormorant/MS/KMRNT +corn/GZDRMS/KN +Cornall/M/KNL +cornball/SM/KNBL +cornbread/S/KNBRT +corncob/SM/KNKB +corncrake/M/KNKRK +cornea/SM/KN +corneal//KNL +Corneille/M/KNL +Cornela/M/KNL +Cornelia/M/KNL +Cornelius/M/KNLS +Cornell/M/KNL +Cornelle/M/KNL +corner/GDM/KN +cornerstone/MS/KNSTN +cornet/SM/KNT +Corney/M/KN +cornfield/SM/KNFLT +cornflake/S/KNFLK +cornflour/M/KNFL +cornflower/SM/KNFLW +cornice/GSDM/KNS +Cornie/M/KN +cornily//KNL +corniness/S/KNNS +Cornish/S/KNX +cornmeal/S/KNML +cornrow/GDS/KNR +cornstalk/MS/KNSTLK +cornstarch/SM/KNSTX +cornucopia/MS/KNKP +Cornwall/M/KNWL +Cornwallis/M/KNWLS +Corny/M/KN +corny/RPT/KN +corolla/MS/KRL +corollary/SM/KRLR +corona/SM/KRN +Coronado/M/KRNT +coronal/MS/KRNL +coronary/S/KRNR +coronate/NX/KRNT +coronation/M/KRNXN +coroner/MS/KRN +coronet/DMS/KRNT +Corot/M/KRT +coroutine/SM/KRTN +Corp//KP +corp/S/KP +corpora/MS/KPR +corporal/SYM/KPRL +corporate/INVXS/KPRT +corporately//KPRTL +corporation/MI/KPRXN +corporatism/M/KPRTSM +corporatist//KPRTST +corporeal/IY/KPRL +corporeality/MS/KPRLT +corporealness/M/KPRLNS +corps/SM/KPS +corpse/M/KPS +corpsman/M/KPSMN +corpsmen//KPSMN +corpulence/MS/KPLNS +corpulent/YP/KPLNT +corpulentness/S/KPLNTNS +corpus/M/KPS +corpuscle/SM/KPSKL +corpuscular//KPSKL +corr//KR +corral/MS/KRL +corralled//KRLT +corralling//KRLN +correct/BPSDRYTGV/KRKT +correctable/U/KRKTBL +corrected/U/KRKTT +correction/MS/KRKXN +correctional//KRKXNL +corrective/YPS/KRKTF +correctly/I/KRKTL +correctness/MSI/KRKTNS +corrector/MS/KRKT +Correggio/M/KRK +correlate/SDXVNG/KRLT +correlated/U/KRLTT +correlation/M/KRLXN +correlative/YS/KRLTF +Correna/M/KRN +correspond/DSG/KRSPNT +correspondence/MS/KRSPNTNS +correspondent/SM/KRSPNTNT +corresponding/Y/KRSPNTN +Correy/M/KR +Corri/M/KR +Corrianne/M/KRN +corridor/SM/KRT +Corrie/M/KR +corrigenda//KRKNT +corrigendum/M/KRKNTM +corrigible/I/KRKBL +Corrina/M/KRN +Corrine/M/KRN +Corrinne/M/KRN +corroborate/GNVXDS/KRBRT +corroborated/U/KRBRTT +corroboration/M/KRBRXN +corroborative/Y/KRBRTF +corroborator/MS/KRBRT +corroboratory//KRBRTR +corrode/SDG/KRT +corrodible//KRTBL +corrosion/SM/KRXN +corrosive/YPS/KRSF +corrosiveness/M/KRSFNS +corrugate/NGXSD/KRKT +corrugation/M/KRKXN +corrupt/DRYPTSGV/KRPT +corrupted/U/KRPTT +corrupter/M/KRPT +corruptibility/SMI/KRPTBLT +corruptible/I/KRPTBL +corruption/IM/KRPXN +corruptions//KRPXNS +corruptive/Y/KRPTF +corruptness/MS/KRPTNS +Corry/M/KR +corsage/MS/KSK +corsair/SM/KS +corset/GMDS/KST +Corsica/M/KSK +Corsican/S/KSKN +Cort/M/KT +cortège/MS/KTK +Cortes/S/KTS +cortex/M/KTKS +Cortez's//KTSS +cortical/Y/KTKL +cortices//KTSS +corticosteroid/SM/KTKSTRT +Cortie/M/KT +cortisone/SM/KTSN +Cortland/M/KTLNT +Cortney/M/KTN +Corty/M/KT +corundum/MS/KRNTM +coruscate/XSDGN/KRSKT +coruscation/M/KRSKXN +Corvallis/M/KFLS +corvette/MS/KFT +Corvus/M/KFS +Cory/M/KR +Cos//KS +cos/GDS/KS +Cosby/M/KSB +Cosetta/M/KST +Cosette/M/KST +cosign/SRDZG/KSN +cosignatory/MS/KSKNTR +cosily//KSL +Cosimo/M/KSM +cosine/MS/KSN +cosiness/MS/KSNS +Cosme/M/KSM +cosmetic/SM/KSMTK +cosmetically//KSMTKL +cosmetician/MS/KSMTXN +cosmetologist/MS/KSMTLKST +cosmetology/MS/KSMTLK +cosmic//KSMK +cosmical/Y/KSMKL +Cosmo/M/KSM +cosmogonist/MS/KSMKNST +cosmogony/SM/KSMKN +cosmological/Y/KSMLKKL +cosmologist/MS/KSMLKST +cosmology/SM/KSMLK +cosmonaut/MS/KSMNT +cosmopolitan/SM/KSMPLTN +cosmopolitanism/MS/KSMPLTNSM +cosmos/SM/KSMS +cosponsor/DSG/KSPNS +cossack/S/KSK +Cossack/SM/KSK +cosset/GDS/KST +cost/MYGVJS/KST +Costa/M/KST +Costanza/M/KSTNS +costar/S/KST +costarred//KSTRT +costarring//KSTRN +Costello/M/KSTL +costive/PY/KSTF +costiveness/M/KSTFNS +costless//KSTLS +costliness/SM/KSTLNS +costly/RTP/KSTL +Costner/M/KSTN +costume/ZMGSRD/KSTM +costumer/M/KSTM +cot/SGMD/KT +cotangent/SM/KTNKNT +Cote/M/KT +cote/MS/KT +coterie/MS/KTR +coterminous/Y/KTMNS +cotillion/SM/KTLN +Cotonou/M/KTN +Cotopaxi/M/KTPKS +cottage/ZMGSRD/KTK +cottager/M/KTK +cottar's//KTS +cotted//KTT +cotter/SDM/KT +cotton/GSDM/KTN +Cotton/M/KTN +cottonmouth/M/KTNM@ +cottonmouths//KTNM@S +cottonseed/MS/KTNST +cottontail/SM/KTNTL +cottonwood/SM/KTNWT +cottony//KTN +cotyledon/MS/KTLTN +couch/MSDG/KX +couching/M/KXN +cougar/MS/KK +cough/RDG/KF +cougher/M/KF +coughs//KFS +could/T/KLT +couldn't//KLTNT +could've//KLTF +coulée/MS/KL +Coulomb/M/KLM +coulomb/SM/KLM +council/SM/KNSL +councilman/M/KNSLMN +councilmen//KNSLMN +councilor/MS/KNSL +councilperson/S/KNSLPSN +councilwoman/M/KNSLWMN +councilwomen//KNSLWMN +counsel/GSDM/KNSL +counsellings//KNSLNS +counselor/MS/KNSL +count/EGARDS/KNT +countability/E/KNTBLT +countable/U/KNTBL +countably/U/KNTBL +countdown/SM/KNTTN +counted/U/KNTT +countenance/EGDS/KNTNNS +countenancer/M/KNTNNS +countenance's//KNTNNSS +counter/GSMD/KNT +counteract/DSVG/KNTRKT +counteraction/SM/KNTRKXN +counterargument/SM/KNTRKMNT +counterattack/DRMGS/KNTRTK +counterbalance/MSDG/KNTBLNS +counterclaim/GSDM/KNTKLM +counterclockwise//KNTKLKWS +counterculture/MS/KNTKLTR +countercyclical//KNTSKLKL +counterespionage/MS/KNTRSPNK +counterexample/S/KNTRKSMPL +counterfeit/ZSGRD/KNTFT +counterfeiter/M/KNTFT +counterflow//KNTFL +counterfoil/MS/KNTFL +counterforce/M/KNTFS +counterinsurgency/MS/KNTRNSKNS +counterintelligence/MS/KNTRNTLKNS +counterintuitive//KNTRNTTF +counterman/M/KNTMN +countermand/DSG/KNTMNT +countermeasure/SM/KNTMSR +countermen//KNTMN +counteroffensive/SM/KNTRFNSF +counteroffer/SM/KNTRF +counterpane/SM/KNTPN +counterpart/SM/KNTPT +counterpoint/GSDM/KNTPNT +counterpoise/GMSD/KNTPS +counterproductive//KNTPRTKTF +counterproposal/M/KNTPRPSL +counterrevolution/MS/KNTRFLXN +counterrevolutionary/MS/KNTRFLXNR +counters/E/KNTS +counter's/E/KNTS +countersign/SDG/KNTSN +countersignature/MS/KNTSKNTR +countersink/SG/KNTSNK +counterspy/MS/KNTSP +counterstrike//KNTSTRK +countersunk//KNTSNK +countertenor/SM/KNTTN +countervail/DSG/KNTFL +counterweight/GMDS/KNTWT +countess/MS/KNTS +countless/Y/KNTLS +countrify/D/KNTRF +country/MS/KNTR +countryman/M/KNTRMN +countrymen//KNTRMN +countryside/MS/KNTRST +countrywide//KNTRWT +countrywoman/M/KNTRWMN +countrywomen//KNTRWMN +county/SM/KNT +coup/ASDG/KP +coupe/MS/KP +Couperin/M/KPRN +couple/ACU/KPL +coupled/CU/KPLT +coupler/C/KPL +couplers//KPLS +coupler's//KPLS +couple's//KPLS +couples/CU/KPLS +couplet/SM/KPLT +coupling/SM/KPLN +coupling's/C/KPLNS +coupon/SM/KPN +coup's//KPS +courage/MS/KRK +courageous/U/KRKS +courageously//KRKSL +courageousness/MS/KRKSNS +courages/E/KRKS +Courbet/M/KBT +courgette/MS/KKT +courier/GMDS/KR +course/EGSRDM/KS +courser/SM/KS +courser's/E/KSS +course's/AF/KSS +courses/FA/KSS +coursework//KSWK +coursing/M/KSN +court/GZMYRDS/KT +Court/M/KT +Courtenay/M/KTN +courteous/PEY/KTS +courteousness/EM/KTSNS +courteousnesses//KTSNSS +courtesan/MS/KTSN +courtesied//KTST +courtesy/ESM/KTS +courtesying//KTSYN +courthouse/MS/K@S +courtier/SM/KT +courtliness/MS/KTLNS +courtly/RTP/KTL +Courtnay/M/KTN +Courtney/M/KTN +courtroom/MS/KTRM +courtship/SM/KTXP +courtyard/SM/KTYT +couscous/MS/KSKS +cousin/YMS/KSN +cousinly/U/KSNL +Cousteau/M/KST +couture/SM/KTR +couturier/SM/KTR +covalent/Y/KFLNT +covariance/SM/KFRNS +covariant/S/KFRNT +covariate/SN/KFRT +covary//KFR +cove/DRSMZG/KF +coven/SM/KFN +covenant/SGRDM/KFNNT +covenanted/U/KFNNTT +covenanter/M/KFNNT +Covent/M/KFNT +Coventry/MS/KFNTR +cover/AEGUDS/KF +coverable/E/KFRBL +coverage/MS/KFRK +coverall/DMS/KFRL +coverer/AME/KFR +covering/MS/KFRN +coverlet/MS/KFLT +covers/M/KFS +coversheet//KFXT +covert/YPS/KFT +covertness/SM/KFTNS +covet/SGRD/KFT +coveter/M/KFT +coveting/Y/KFTN +covetous/PY/KFTS +covetousness/SM/KFTSNS +covey/SM/KF +covington//KFNTN +cow/MDRSZG/K +Coward/M/KWT +coward/MYS/KWT +cowardice/MS/KWTS +cowardliness/MS/KWTLNS +cowardly/P/KWTL +cowbell/MS/KBL +cowbird/MS/KBT +cowboy/MS/KB +cowcatcher/SM/KKX +cowed/Y/KWT +cower/RDGZ/KW +cowering/Y/KWRN +cowgirl/MS/KKL +cowhand/S/KHNT +cowherd/SM/KHT +cowhide/MGSD/KHT +cowl/SGMD/KL +Cowley/M/KL +cowlick/MS/KLK +cowling/M/KLN +cowman/M/KMN +cowmen//KMN +coworker/MS/KWK +Cowper/M/KP +cowpoke/MS/KPK +cowpony//KPN +cowpox/MS/KPKS +cowpunch/RZ/KPNX +cowpuncher/M/KPNX +cowrie/SM/KR +cowshed/SM/KXT +cowslip/MS/KSLP +Cox/M/KKS +cox/MDSG/KKS +coxcomb/MS/KKSKM +coxswain/GSMD/KKSSWN +coy/CDSG/K +Coy/M/K +coyer//KY +coyest//KYST +coyly//KL +coyness/MS/KNS +coyote/SM/KYT +coypu/SM/KP +cozen/SGD/KSN +cozenage/MS/KSNK +cozily//KSL +coziness/MS/KSNS +Cozmo/M/KSM +Cozumel/M/KSML +cozy/DSRTPG/KS +CPA//KP +cpd//KPT +CPI//KP +cpl//KPL +Cpl//KPL +CPO//KP +CPR//KPR +cps//KPS +CPU/SM/KP +Cr/M/KR +crab/MS/KRB +crabapple//KRBPL +Crabbe/M/KRB +crabbed/YP/KRBT +crabbedness/M/KRBTNS +crabber/MS/KRB +crabbily//KRBL +crabbiness/S/KRBNS +crabbing/M/KRBN +crabby/PRT/KRB +crabgrass/S/KRBKRS +crablike//KRBLK +crack/ZSBYRDG/KRK +crackable/U/KRKBL +crackdown/MS/KRKTN +cracker/M/KRK +crackerjack/S/KRKKK +crackle/GJDS/KRKL +crackling/M/KRKLN +crackly/RT/KRKL +crackpot/SM/KRKPT +crackup/S/KRKP +cradle/SRDGM/KRTL +cradler/M/KRTL +cradling/M/KRTLN +Craft/M/KRFT +craft/MRDSG/KRFT +craftily//KRFTL +craftiness/SM/KRFTNS +craftsman/M/KRFTSMN +craftsmanship/SM/KRFTSMNXP +craftsmen//KRFTSMN +craftspeople//KRFTSPPL +craftspersons//KRFTSPSNS +craftswoman//KRFTSWMN +craftswomen//KRFTSWMN +crafty/TRP/KRFT +crag/SM/KRK +Craggie/M/KRK +cragginess/SM/KRKNS +Craggy/M/KRK +craggy/RTP/KRK +Craig/M/KRK +cram/S/KRM +Cramer/M/KRM +crammed//KRMT +crammer/M/KRM +cramming//KRMN +cramp/MRDGS/KRMP +cramper/M/KRMP +crampon/SM/KRMPN +Cranach/M/KRNX +cranberry/SM/KRNBR +Crandall/M/KRNTL +crane/DSGM/KRN +Crane/M/KRN +cranelike//KRNLK +Cranford/M/KRNFT +cranial//KRNL +cranium/MS/KRNM +crank/SGTRDM/KRNK +crankcase/MS/KRNKKS +crankily//KRNKL +crankiness/MS/KRNKNS +crankshaft/MS/KRNKXFT +cranky/TRP/KRNK +Cranmer/M/KRNM +cranny/DSGM/KRN +Cranston/M/KRNSTN +crap/SMDG/KRP +crape/SM/KRP +crapped//KRPT +crappie/M/KRP +crapping//KRPN +crappy/RST/KRP +crapshooter/SM/KRPXT +crash/SRDGZ/KRX +crasher/M/KRX +crashing/Y/KRXN +crass/TYRP/KRS +crassness/MS/KRSNS +crate/DSRGMZ/KRT +crater/DMG/KRT +Crater/M/KRT +cravat/SM/KRFT +cravatted//KRFTT +cravatting//KRFTN +crave/DSRGJ/KRF +craven/SPYDG/KRFN +cravenness/SM/KRFNS +craver/M/KRF +craving/M/KRFN +craw/SYM/KR +crawdad/S/KRTT +crawfish's//KRFXS +Crawford/M/KRFT +crawl/RDSGZ/KRL +crawler/M/KRL +crawlspace/S/KRLSPS +crawlway//KRLW +crawly/TRS/KRL +Cray/SM/KR +crayfish/GSDM/KRFX +Crayola/M/KRYL +crayon/GSDM/KRYN +craze/GMDS/KRS +crazily//KRSL +craziness/MS/KRSNS +crazy/SRTP/KRS +creak/SDG/KRK +creakily//KRKL +creakiness/SM/KRKNS +creaky/PTR/KRK +cream/SMRDGZ/KRM +creamer/M/KRM +creamery/MS/KRMR +creamily//KRML +creaminess/SM/KRMNS +creamy/TRP/KRM +crease/IDRSG/KRS +creased/CU/KRST +crease's//KRSS +creases/C/KRSS +creasing/C/KRSN +create/XKVNGADS/KRT +created/U/KRTT +Creation/M/KRXN +creation/MAK/KRXN +creationism/MS/KRXNSM +creationist/MS/KRXNST +creative/YP/KRTF +creativeness/SM/KRTFNS +creativities//KRTFTS +creativity/K/KRTFT +creativity's//KRTFTS +Creator/M/KRT +creator/MS/KRT +creature/YMS/KRTR +creatureliness/M/KRTRLNS +creaturely/P/KRTRL +crèche/SM/KRX +credence/MS/KRTNS +credent//KRTNT +credential/SGMD/KRTNXL +credenza/SM/KRTNS +credibility/IMS/KRTBLT +credible/I/KRTBL +credibly/I/KRTBL +credit/EGBSD/KRTT +creditability/M/KRTTBLT +creditable/P/KRTTBL +creditableness/M/KRTTBLNS +creditably/E/KRTTBL +credited/U/KRTTT +creditor/MS/KRTT +credit's//KRTTS +creditworthiness//KRTTW@NS +credo/SM/KRT +credulity/ISM/KRTLT +credulous/IY/KRTLS +credulousness/SM/KRTLSNS +Cree/MDS/KR +creed/C/KRT +creedal//KRTL +creeds//KRTS +creed's//KRTS +creek/SM/KRK +Creek/SM/KRK +creekside//KRKST +creel/SMDG/KRL +creep/SGZR/KRP +creeper/M/KRP +creepily//KRPL +creepiness/SM/KRPNS +creepy/PRST/KRP +Creigh/M/KR +Creight/M/KRT +Creighton/M/KRTN +cremate/XDSNG/KRMT +cremation/M/KRMXN +crematoria//KRMTR +crematorium/MS/KRMTRM +crematory/S/KRMTR +creme/S/KRM +crenelate/XGNSD/KRNLT +crenelation/M/KRNLXN +Creole/MS/KRL +creole/SM/KRL +Creon/M/KRN +creosote/MGDS/KRST +crepe/DSGM/KRP +crept//KRPT +crescendo/SCM/KRSNT +crescendoed//KRSNTT +crescendoing//KRSNTN +crescent/MS/KRSNT +cress/S/KRS +crest/SGMD/KRST +crestfallen/PY/KRSTFLN +crestfallenness/M/KRSTFLNS +cresting/M/KRSTN +crestless//KRSTLS +Crestview/M/KRSTF +cretaceous//KRTSS +Cretaceous/Y/KRTSS +Cretaceously/M/KRTSSL +Cretan/S/KRTN +Crete/M/KRT +cretin/MS/KRTN +cretinism/MS/KRTNSM +cretinous//KRTNS +cretonne/SM/KRTN +crevasse/DSMG/KRFS +crevice/SM/KRFS +crew/DMGS/KR +crewel/SM/KRWL +crewelwork/SM/KRWLWK +crewman/M/KRMN +crewmen//KRMN +crib/SM/KRB +cribbage/SM/KRBK +cribbed//KRBT +cribber/SM/KRB +cribbing/M/KRBN +Crichton/M/KRXTN +crick/GDSM/KRK +Crick/M/KRK +cricket/SMZRDG/KRKT +cricketer/M/KRKT +cried/C/KRT +crier/CM/KR +cries/C/KRS +crime/GMDS/KRM +Crimea/M/KRM +Crimean//KRMN +criminal/SYM/KRMNL +criminality/MS/KRMNLT +criminalization/C/KRMNLSXN +criminalize/GC/KRMNLS +criminologist/SM/KRMNLKST +criminology/MS/KRMNLK +crimp/RDGS/KRMP +crimper/M/KRMP +crimson/DMSG/KRMSN +Crin/M/KRN +cringe/SRDG/KRN +cringer/M/KRN +crinkle/DSG/KRNKL +crinkly/TRS/KRNKL +crinoline/SM/KRNLN +cripple/GMZDRS/KRPL +crippler/M/KRPL +crippling/Y/KRPLN +Cris/M/KRS +Crisco/M/KRSK +crises//KRSS +crisis/M/KRSS +crisp/PGTYRDS/KRSP +crisper/M/KRSP +crispiness/SM/KRSPNS +crispness/MS/KRSPNS +crispy/RPT/KRSP +criss//KRS +crisscross/GDS/KRSKRS +Crissie/M/KRS +Crissy/M/KRS +Crista/M/KRST +Cristabel/M/KRSTBL +Cristal/M/KRSTL +Cristen/M/KRSTN +Cristi/M/KRST +Cristian/M/KRSXN +Cristiano/M/KRSXN +Cristie/M/KRST +Cristin/M/KRSTN +Cristina/M/KRSTN +Cristine/M/KRSTN +Cristionna/M/KRSXN +Cristobal/M/KRSTBL +Cristy/M/KRST +criteria//KRTR +criterion/M/KRTRN +critic/MS/KRTK +critical/YP/KRTKL +criticality//KRTKLT +critically/U/KRTKL +criticalness/M/KRTKLNS +criticism/MS/KRTSSM +criticize/GSRDZ/KRTSS +criticized/U/KRTSST +criticizer/M/KRTSS +criticizes/A/KRTSSS +criticizing/UY/KRTSSN +criticizingly/S/KRTSSNL +critique/MGSD/KRTK +critter/SM/KRT +croak/SRDGZ/KRK +croaker/M/KRK +croaky/RT/KRK +Croat/SM/KRT +Croatia/M/KRX +Croatian/S/KRXN +Croce/M/KRS +crochet/RDSZJG/KRXT +crocheter/M/KRXT +crock/SGRDM/KRK +crockery/SM/KRKR +Crockett/M/KRKT +Crockpot/M/KRKPT +crocodile/MS/KRKTL +crocus/SM/KRKS +Croesus/SM/KRSS +croft/MRGZS/KRFT +crofter/M/KRFT +croissant/MS/KRSNT +Croix/M/KRKS +Cromwell/M/KRMWL +Cromwellian//KRMWLN +crone/SM/KRN +Cronin/M/KRNN +Cronkite/M/KRNKT +Cronus/M/KRNS +crony/SM/KRN +crook/SGDM/KRK +crooked/TPRY/KRKT +crookedness/SM/KRKTNS +Crookes/M/KRKS +crookneck/MS/KRKNK +croon/SRDGZ/KRN +crooner/M/KRN +crop/MS/KRP +cropland/MS/KRPLNT +cropped//KRPT +cropper/SM/KRP +cropping//KRPN +croquet/MDSG/KRKT +croquette/SM/KRKT +Crosby/M/KRSB +crosier/SM/KRS +Cross/M/KRS +cross/ZTYSRDMPBJG/KRS +crossarm//KRSM +crossbar/SM/KRSB +crossbarred//KRSBRT +crossbarring//KRSBRN +crossbeam/MS/KRSBM +crossbones//KRSBNS +crossbow/SM/KRSB +crossbowman/M/KRSBMN +crossbowmen//KRSBMN +crossbred/S/KRSBRT +crossbreed/SG/KRSBRT +crosscheck/SGD/KRSKK +crosscurrent/SM/KRSKRNT +crosscut/SM/KRSKT +crosscutting//KRSKTN +crossed/UA/KRST +crosses/UA/KRSS +crossfire/SM/KRSFR +crosshatch/GDS/KRXX +crossing/M/KRSN +crossness/MS/KRSNS +crossover/MS/KRSF +crosspatch/MS/KRSPX +crosspiece/SM/KRSPS +crosspoint//KRSPNT +crossproduct/S/KRSPRTKT +crossroad/GSM/KRSRT +crossroads/M/KRSRTS +crosstalk/M/KRSTLK +crosstown//KRSTN +crosswalk/MS/KRSWLK +crossway/M/KRSW +crosswind/SM/KRSWNT +crosswise//KRSWS +crossword/MS/KRSWT +crotch/MDS/KRX +crotchet/MS/KRXT +crotchetiness/M/KRXTNS +crotchety/P/KRXT +crotchless//KRXLS +crouch/DSG/KRX +croup/SMDG/KRP +croupier/M/KRP +croupy/TZR/KRP +croûton/MS/KRTN +crow/GDMS/KR +crowbait//KRBT +crowbar/SM/KRB +crowbarred//KRBRT +crowbarring//KRBRN +crowd/MRDSG/KRT +crowded/P/KRTT +crowdedness/M/KRTTNS +crowfeet//KRFT +crowfoot/M/KRFT +Crowley/M/KRL +crown/RDMSJG/KRN +crowned/U/KRNT +crowner/M/KRN +crozier's//KRSS +CRT/S/KRT +crucial/Y/KRXL +crucible/MS/KRSBL +crucifiable//KRSFBL +crucifix/SM/KRSFKS +crucifixion/MS/KRSFKSN +Crucifixion/MS/KRSFKSN +cruciform/S/KRSFM +crucify/NGDS/KRSF +crud/STMR/KRT +crudded//KRTT +crudding//KRTN +cruddy/TR/KRT +crude/YSP/KRT +crudeness/MS/KRTNS +crudités//KRTTS +crudity/MS/KRTT +cruel/YRTSP/KRL +cruelness/MS/KRLNS +cruelty/SM/KRLT +cruet/MS/KRT +cruft//KRFT +crufty//KRFT +Cruikshank/M/KRKXNK +cruise/GZSRD/KRS +cruiser/M/KRS +cruller/SM/KRL +crumb/GSYDM/KRM +crumble/DSJG/KRMBL +crumbliness/MS/KRMBLNS +crumbly/PTRS/KRMBL +crumby/RT/KRMB +crumminess/S/KRMNS +crummy/SRTP/KRM +crump//KRMP +crumpet/SM/KRMPT +crumple/DSG/KRMPL +crunch/DSRGZ/KRNX +crunchiness/MS/KRNXNS +crunchy/TRP/KRNX +crupper/MS/KRP +crusade/GDSRMZ/KRST +crusader/M/KRST +cruse/MS/KRS +crush/SRDBGZ/KRX +crushable/U/KRXBL +crusher/M/KRX +crushing/Y/KRXN +crushproof//KRXPRF +Crusoe/M/KRS +crust/GMDS/KRST +crustacean/MS/KRSTSN +crustal//KRSTL +crustily//KRSTL +crustiness/SM/KRSTNS +crusty/SRTP/KRST +crutch/MDSG/KRX +Crux/M/KRKS +crux/MS/KRKS +Cruz/M/KRS +cry/JGDRSZ/KR +crybaby/MS/KRBB +cryogenic/S/KRYKNK +cryogenics/M/KRYKNKS +cryostat/M/KRYSTT +cryosurgery/SM/KRYSKR +crypt/CS/KRPT +cryptanalysis/M/KRPTNLSS +cryptanalyst/M/KRPTNLST +cryptanalytic//KRPTNLTK +cryptic//KRPTK +cryptically//KRPTKL +cryptogram/MS/KRPTKRM +cryptographer/MS/KRPTKRF +cryptographic//KRPTKRFK +cryptographically//KRPTKRFKL +cryptography/MS/KRPTKRF +cryptologic//KRPTLKK +cryptological//KRPTLKKL +cryptologist/M/KRPTLKST +cryptology/M/KRPTLK +Cryptozoic/M/KRPTSK +crypt's//KRPTS +Crysta/M/KRST +Crystal/M/KRSTL +crystal/SM/KRSTL +crystalline/S/KRSTLN +crystallite/SM/KRSTLT +crystallization/AMS/KRSTLSXN +crystallize/SRDZG/KRSTLS +crystallized/UA/KRSTLST +crystallizes/A/KRSTLSS +crystallizing/A/KRSTLSN +crystallographer/MS/KRSTLKRF +crystallographic//KRSTLKRFK +crystallography/M/KRSTLKRF +Crystie/M/KRST +Cs//KS +C's//KS +cs/EA/KS +cs's//KSS +CST//KST +ct//KT +CT//KT +Ct/M/KT +Cthrine/M/K@RN +ctn//KTN +ctr//KTR +cu/DG/K +Cu/M/K +cub/MDRSZG/KB +Cuba/M/KB +Cuban/S/KBN +cubbed//KBT +cubbing//KBN +cubbyhole/MS/KBHL +cube/SM/KB +cuber/M/KB +cubic/YS/KBK +cubical/Y/KBKL +cubicle/SM/KBKL +cubism/SM/KBSM +cubist/MS/KBST +cubit/MS/KBT +cuboid//KBT +Cuchulain/M/KXLN +cuckold/GSDM/KKLT +cuckoldry/MS/KKLTR +cuckoo/SGDM/KK +cucumber/MS/KKMB +cud/MS/KT +cuddle/GSD/KTL +cuddly/TRP/KTL +cudgel/GSJMD/KKL +cue/MS/K +cuff/GSDM/KF +Cuisinart/M/KSNT +cuisine/MS/KSN +Culbertson/M/KLBTSN +culinary//KLNR +cull/DRGS/KL +Cull/MN/KL +Cullan/M/KLN +Cullen/M/KLN +cullender's//KLNTS +culler/M/KL +Culley/M/KL +Cullie/M/KL +Cullin/M/KLN +Cully/M/KL +culminate/XSDGN/KLMNT +culmination/M/KLMNXN +culotte/S/KLT +culpa/SM/KLP +culpability/MS/KLPBLT +culpable/I/KLPBL +culpableness/M/KLPBLNS +culpably//KLPBL +culprit/SM/KLPRT +cult/MS/KLT +cultism/SM/KLTSM +cultist/SM/KLTST +cultivable//KLTFBL +cultivate/XBSDGN/KLTFT +cultivated/U/KLTFTT +cultivation/M/KLTFXN +cultivator/SM/KLTFT +cultural/Y/KLTRL +culture/SDGM/KLTR +cultured/U/KLTRT +Culver/MS/KLF +culvert/SM/KLFT +cum/S/KM +cumber/DSG/KMB +Cumberland/M/KMBLNT +cumbersome/YP/KMBSM +cumbersomeness/MS/KMBSMNS +cumbrous//KMBRS +cumin/MS/KMN +cummerbund/MS/KMBNT +Cummings//KMNS +cumquat's//KMKTS +cumulate/XVNGSD/KMLT +cumulation/M/KMLXN +cumulative/Y/KMLTF +cumuli//KML +cumulonimbi//KMLNMB +cumulonimbus/M/KMLNMBS +cumulus/M/KMLS +Cunard/M/KNT +cuneiform/S/KNFM +cunnilingus/SM/KNLNS +cunning/RYSPT/KNN +Cunningham/M/KNNHM +cunningness/M/KNNNS +cunt/SM/KNT +cup/MS/KP +cupboard/SM/KPBT +cupcake/SM/KPKK +Cupertino/M/KPTN +cupful/SM/KPFL +Cupid/M/KPT +cupid/S/KPT +cupidinously//KPTNSL +cupidity/MS/KPTT +cupola/MDGS/KPL +cupped//KPT +cupping/M/KPN +cupric//KPRK +cuprous//KPRS +cur/IBS/K +curability/MS/KRBLT +curable/IP/KRBL +curableness/MI/KRBLNS +curably/I/KRBL +Curacao/M/KRK +curacy/SM/KRS +curare/MS/KRR +curate/VGMSD/KRT +curative/YS/KRTF +curator/KMS/KRT +curatorial//KRTRL +curb/SJDMG/KB +curbing/M/KBN +curbside//KBST +curbstone/MS/KBSTN +Curcio/M/KS +curd/SMDG/KT +curdle/SDG/KTL +cure/KBDRSGZ/KR +cured/U/KRT +curer/MK/KR +curettage/SM/KRTK +curfew/SM/KF +curfs//KFS +curia/M/KR +curiae//KR +Curie/M/KR +curie/SM/KR +curio/SM/KR +curiosity/SM/KRST +curious/TPRY/KRS +curiousness/SM/KRSNS +Curitiba/M/KRTB +curium/MS/KRM +curl/UDSG/KL +curler/SM/KL +curlew/MS/KL +curlicue/MGDS/KLK +curliness/SM/KLNS +curling/M/KLN +curly/PRT/KL +curlycue's//KLKS +curmudgeon/MYS/KMKN +Curr/M/KR +Curran/M/KRN +currant/SM/KRNT +curred/AFI/KRT +currency/SF/KRNS +currency's//KRNSS +current/FSY/KRNT +currently/A/KRNTL +currentness/M/KRNTNS +Currey/M/KR +curricle/M/KRKL +curricula//KRKL +curricular//KRKL +curriculum/M/KRKLM +Currie/M/KR +currier/M/KR +Currier/M/KR +curring/FAI/KRN +Curry/MR/KR +curry/RSDMG/KR +currycomb/DMGS/KRKM +cur's//KS +curs/ASDVG/KS +curse/A/KS +cursed/YRPT/KST +cursedness/M/KSTNS +curse's//KSS +cursive/EPYA/KSF +cursiveness/EM/KSFNS +cursives//KSFS +cursor/DMSG/KS +cursorily//KSRL +cursoriness/SM/KSRNS +cursory/P/KSR +Curt/M/KT +curt/TYRP/KT +curtail/LSGDR/KTL +curtailer/M/KTL +curtailment/SM/KTLMNT +curtain/GSMD/KTN +Curtice/M/KTS +Curtis/M/KTS +curtness/MS/KTNS +curtsey's//KTSS +curtsy/SDMG/KTS +curvaceous/YP/KFSS +curvaceousness/S/KFSSNS +curvature/MS/KFTR +curve/DSGM/KF +curved/A/KFT +curved's//KFTS +curvilinear/Y/KFLN +curvilinearity/M/KFLNRT +curving/M/KFN +curvy/RT/KF +cushion/SMDG/KXN +Cushman/M/KXMN +cushy/TR/KX +cusp/MS/KSP +cuspid/MS/KSPT +cuspidor/MS/KSPT +cuss/EGDSR/KS +cussed/YP/KST +cussedness/M/KSTNS +cusses/F/KSS +cussing/F/KSN +cuss's//KSS +custard/MS/KSTT +Custer/M/KST +custodial//KSTTL +custodian/SM/KSTTN +custodianship/MS/KSTTNXP +custody/MS/KSTT +custom/SMRZ/KSTM +customarily//KSTMRL +customariness/M/KSTMRNS +customary/PS/KSTMR +customer/M/KSTM +customhouse/S/KSTMHS +customization/SM/KSTMSXN +customize/ZGBSRD/KSTMS +cut/MRST/KT +cutaneous/Y/KTNS +cutaway/SM/KTW +cutback/SM/KTBK +cute/SPY/KT +cuteness/MS/KTNS +cutesy/RT/KTS +cuticle/SM/KTKL +cutlass/MS/KTLS +cutler/SM/KTL +cutlery/MS/KTLR +cutlet/SM/KTLT +cutoff/MS/KTF +cutout/SM/KTT +cutter/SM/KT +cutthroat/SM/K@RT +cutting/MYS/KTN +cuttle/M/KTL +cuttlebone/SM/KTLBN +cuttlefish/MS/KTLFX +cutup/MS/KTP +cutworm/MS/KTWM +Cuvier/M/KF +Cuzco/M/KSK +CV//KF +cw//K +cwt//KT +Cy/M/S +cyan/MS/SYN +Cyanamid/M/SYNMT +cyanate/M/SYNT +cyanic//SYNK +cyanide/GMSD/SYNT +cyanogen/M/SYNKN +Cyb/M/SB +Cybele/M/SBL +cybernetic/S/SBNTK +cybernetics/M/SBNTKS +cyberpunk/S/SBPNK +cyberspace/S/SBSPS +Cybil/M/SBL +Cybill/M/SBL +cyborg/S/SBK +Cyclades//SKLTS +cyclamen/MS/SKLMN +cycle/ASDG/SKL +cycler//SKL +cycle's//SKLS +cycleway/S/SKLW +cyclic//SKLK +cyclical/SY/SKLKL +cycling/M/SKLN +cyclist/MS/SKLST +cyclohexanol//SKLHKSNL +cycloid/SM/SKLT +cycloidal//SKLTL +cyclometer/MS/SKLMT +cyclone/SM/SKLN +cyclonic//SKLNK +cyclopean//SKLPN +cyclopedia/MS/SKLPT +cyclopes//SKLPS +Cyclopes//SKLPS +cyclops//SKLPS +Cyclops/M/SKLPS +cyclotron/MS/SKLTRN +cyder/SM/ST +cygnet/MS/SKNT +Cygnus/M/SKNS +cylinder/GMDS/SLNT +cylindric//SLNTRK +cylindrical/Y/SLNTRKL +cymbal/SM/SMBL +cymbalist/MS/SMBLST +Cymbre/M/SMBR +Cynde/M/SNT +Cyndi/M/SNT +Cyndia/M/SNT +Cyndie/M/SNT +Cyndy/M/SNT +cynic/MS/SNK +cynical/UY/SNKL +cynicism/MS/SNSSM +cynosure/SM/SNSR +Cynthea/M/SN@ +Cynthia/M/SN@ +Cynthie/M/SN@ +Cynthy/M/SN@ +cypher/MGSD/SF +cypreses//SPRSS +cypress/SM/SPRS +Cyprian//SPRN +Cypriot/SM/SPRT +Cyprus/M/SPRS +Cyrano/M/SRN +Cyril/M/SRL +Cyrill/M/SRL +Cyrille/M/SRL +Cyrillic//SRLK +Cyrillus/M/SRLS +Cyrus/M/SRS +cyst/MS/SST +cystic//SSTK +cytochemistry/M/STXMSTR +cytochrome/M/STXRM +cytologist/MS/STLKST +cytology/MS/STLK +cytolysis/M/STLSS +cytoplasm/SM/STPLSM +cytoplasmic//STPLSMK +cytosine/MS/STSN +cytotoxic//STTKSK +CZ//KS +czar/SM/KS +czarevitch/M/KSRFX +czarina/SM/KSRN +czarism/M/KSRSM +czarist/S/KSRST +czarship//KSXP +Czech//KSX +Czechoslovak/S/KSXSLFK +Czechoslovakia/M/KSXSLFK +Czechoslovakian/S/KSXSLFKN +Czechs//KSXS +Czerniak/M/KSNK +Czerny/M/KSN +D//T +d/JGVX/T +DA//T +dab/S/TB +dabbed//TBT +dabber/MS/TB +dabbing//TBN +dabble/RSDZG/TBL +dabbler/M/TBL +Dacca's//TKS +dace/MS/TS +Dacey/M/TS +dacha/SM/TX +Dachau/M/TX +dachshund/SM/TXXNT +Dacia/M/TX +Dacie/M/TS +Dacron/MS/TKRN +dactyl/MS/TKTL +dactylic/S/TKTLK +Dacy/M/TS +dad/SM/TT +Dada/M/TT +Dadaism/M/TTSM +dadaism/S/TTSM +Dadaist/M/TTST +dadaist/S/TTST +daddy/SM/TT +Dade/M/TT +dado/DMG/TT +dadoes//TTS +Daedalus/M/TTLS +Dael/M/TL +daemon/SM/TMN +daemonic//TMNK +Daffi/M/TF +Daffie/M/TF +daffiness/S/TFNS +daffodil/MS/TFTL +Daffy/M/TF +daffy/PTR/TF +daft/TYRP/TFT +daftness/MS/TFTNS +DAG//TK +Dag/M/TK +dagger/DMSG/TK +Dagmar/M/TKM +Dagny/M/TKN +Daguerre/M/TKR +daguerreotype/MGDS/TKRTP +Dagwood/M/TKWT +Dahl/M/TL +Dahlia/M/TL +dahlia/MS/TL +Dahomey/M/THM +Daile/M/TL +dailiness/MS/TLNS +daily/PS/TL +Daimler/M/TML +daintily//TNTL +daintiness/MS/TNTNS +dainty/TPRS/TNT +daiquiri/SM/TKR +dairy/MJGS/TR +dairying/M/TRYN +dairyland//TRLNT +dairymaid/SM/TRMT +dairyman/M/TRMN +dairymen//TRMN +dairywoman/M/TRWMN +dairywomen//TRWMN +dais/SM/TS +Daisey/M/TS +Daisi/M/TS +Daisie/M/TS +Daisy/M/TS +daisy/SM/TS +Dakar/M/TK +Dakota/SM/TKT +Dakotan//TKTN +Dal/M/TL +Dale/M/TL +dale/SMH/TL +Dalenna/M/TLN +daleth/M/TL@ +Daley/M/TL +Dalhousie/M/TLHS +Dali/SM/TL +Dalia/M/TL +Dalian/M/TLN +Dalila/M/TLL +Dall/M/TL +Dallas/M/TLS +Dalli/MS/TL +dalliance/SM/TLNS +dallier/M/TL +Dallon/M/TLN +dally/ZRSDG/TL +Dalmatia/M/TLMX +dalmatian/S/TLMXN +Dalmatian/SM/TLMXN +Daloris/M/TLRS +Dalston/M/TLSTN +Dalt/M/TLT +Dalton/M/TLTN +Daly/M/TL +dam/MDS/TM +damage/MZGRSD/TMK +damageable//TMKBL +damaged/U/TMKT +damager/M/TMK +damaging/Y/TMKN +Damara/M/TMR +Damaris/M/TMRS +Damascus/M/TMSKS +damask/DMGS/TMSK +dame/SM/TM +Dame/SMN/TM +Damian/M/TMN +Damiano/M/TMN +Damien/M/TMN +Damion/M/TMN +Damita/M/TMT +dammed//TMT +damming//TMN +dammit/S/TMT +damn/GSBRD/TMN +damnably//TMNBL +damnation/MS/TMNXN +damned/TR/TMNT +damnedest/MS/TMNTST +damning/Y/TMNN +Damocles/M/TMKLS +Damon/M/TMN +damp/SGZTXYRDNP/TMP +damped/U/TMPT +dampen/RDZG/TMPN +dampener/M/TMPN +damper/M/TMP +dampness/MS/TMPNS +damsel/MS/TMSL +damselfly/MS/TMSLFL +damson/MS/TMSN +Dan/SM/TN +Dana/M/TN +Danaë//TN +Danbury/M/TNBR +dance/SRDJGZ/TNS +dancelike//TNSLK +dancer/M/TNS +dandelion/MS/TNTLN +dander/DMGS/TNT +dandify/SDG/TNTF +dandily//TNTL +dandle/GSD/TNTL +dandruff/MS/TNTRF +dandy/TRSM/TNT +Dane/SM/TN +Danelaw/M/TNL +Danell/M/TNL +Danella/M/TNL +Danette/M/TNT +dang/SGZRD/TNK +danger/DMG/TNK +Dangerfield/M/TNKFLT +dangerous/YP/TNKRS +dangerousness/M/TNKRSNS +dangle/ZGRSD/TNKL +dangler/M/TNKL +dangling/Y/TNKLN +Dani/M/TN +Dania/M/TN +Danial/M/TNL +Danica/M/TNK +Danice/M/TNS +Danie/M/TN +Daniel/SM/TNL +Daniela/M/TNL +Daniele/M/TNL +Daniella/M/TNL +Danielle/M/TNL +Danielson/M/TNLSN +Danika/M/TNK +Danila/M/TNL +Danish//TNX +danish/S/TNX +Danit/M/TNT +Danita/M/TNT +dank/TPYR/TNK +dankness/MS/TNKNS +Danna/M/TN +Dannel/M/TNL +Danni/M/TN +Dannie/M/TN +Danny/M/TN +Dannye/M/TNY +danseuse/SM/TNSS +Dante/M/TNT +Danton/M/TNTN +Danube/M/TNB +Danubian//TNBN +Danville/M/TNFL +Danya/M/TNY +Danyelle/M/TNYL +Danyette/M/TNYT +Danzig/M/TNSK +Daphene/M/TFN +Daphna/M/TFN +Daphne/M/TFN +dapper/PSTRY/TP +dapperness/M/TPNS +dapple/SDG/TPL +Dar/MNH/T +Dara/M/TR +Darb/M/TB +Darbee/M/TB +Darbie/M/TB +Darby/M/TB +Darcee/M/TS +Darcey/M/TS +Darci/M/TS +Darcie/M/TS +D'Arcy//TS +Darcy/M/TS +Darda/M/TT +Dardanelles//TTNLS +Dare/M/TR +dare/ZGDRSJ/TR +daredevil/MS/TRTFL +daredevilry/S/TRTFLR +Dareen/M/TRN +Darell/M/TRL +Darelle/M/TRL +Daren/M/TRN +darer/M/TR +daresay//TRS +d'Arezzo//TRS +Dari/M/TR +Daria/M/TR +Darice/M/TRS +Darill/M/TRL +Darin/M/TRN +daring/PY/TRN +daringness/M/TRNNS +Dario/M/TR +Darius/M/TRS +Darjeeling/M/TKLN +dark/GTXYRDNSP/TK +darken/RDZG/TKN +darkener/M/TKN +darkish//TKX +darkly/TR/TKL +darkness/MS/TKNS +darkroom/SM/TKRM +Darla/M/TL +Darleen/M/TLN +Darlene/M/TLN +Darline/M/TLN +Darling/M/TLN +darling/YMSP/TLN +darlingness/M/TLNNS +Darlington/M/TLNTN +Darlleen/M/TLN +darn/GRDZS/TN +Darn/M/TN +Darnall/M/TNL +darned/TR/TNT +Darnell/M/TNL +darner/M/TN +darning/M/TNN +Daron/M/TRN +DARPA/M/TP +Darrel/M/TRL +Darrell/M/TRL +Darrelle/M/TRL +Darren/M/TRN +Darrick/M/TRK +Darrin/M/TRN +Darrow/M/TR +Darryl/M/TRL +Darsey/M/TS +Darsie/M/TS +d'art//TT +dart/MRDGZS/TT +dartboard/SM/TTBT +darter/M/TT +Darth/M/T@ +Dartmouth/M/TTM@ +Darvon/M/TFN +Darwin/M/TWN +Darwinian/S/TWNN +Darwinism/MS/TWNSM +Darwinist/MS/TWNST +Darya/M/TRY +Daryl/M/TRL +Daryle/M/TRL +Daryn/M/TRN +dash/GZSRD/TX +Dasha/M/TX +dashboard/SM/TXBT +dasher/M/TX +dashiki/SM/TXK +dashing/Y/TXN +Dasi/M/TS +Dasie/M/TS +dastard/MYS/TSTT +dastardliness/SM/TSTTLNS +dastardly/P/TSTTL +Dasya/M/TSY +DAT//TT +data/M/TT +database/DSMG/TTBS +datafile//TTFL +datagram/MS/TTKRM +Datamation/M/TTMXN +Datamedia/M/TTMT +dataset/S/TTST +date/DRSMZGV/TT +dated/U/TTT +datedly//TTTL +datedness//TTTNS +dateless//TTLS +dateline/DSMG/TTLN +dater/M/TT +Datha/M/T@ +dative/S/TTF +Datsun/M/TTSN +datum/MS/TTM +daub/RDSGZ/TB +dauber/M/TB +Daugherty/M/TKT +daughter/MYS/TT +Daumier/M/TM +Daune/M/TN +daunt/DSG/TNT +daunted/U/TNTT +daunting/Y/TNTN +dauntless/PY/TNTLS +dauntlessness/SM/TNTLSNS +dauphin/SM/TFN +Dav/MN/TF +Davao/M/TF +Dave/M/TF +Daveen/M/TFN +Daven/M/TFN +Davenport/M/TFNPT +davenport/MS/TFNPT +Daveta/M/TFT +Davey/M/TF +David/SM/TFT +Davida/M/TFT +Davidde/M/TFT +Davide/M/TFT +Davidson/M/TFTSN +Davie/M/TF +Davin/M/TFN +Davina/M/TFN +Davine/M/TFN +Davinich/M/TFNX +Davis/M/TFS +davit/SM/TFT +Davita/M/TFT +Davon/M/TFN +Davy/SM/TF +dawdle/ZGRSD/TTL +dawdler/M/TTL +Dawes/M/TWS +dawn/GSDM/TN +Dawn/M/TN +Dawna/M/TN +Dawson/M/TSN +Day/M/T +day/SM/T +daybed/S/TBT +daybreak/SM/TBRK +daycare/S/TKR +daydream/RDMSZG/TTRM +daydreamer/M/TTRM +Dayle/M/TL +daylight/GSDM/TLT +Dayna/M/TN +daysack//TSK +daytime/SM/TTM +Dayton/M/TTN +daze/DSG/TS +dazed/PY/TST +dazzle/ZGJRSD/TSL +dazzler/M/TSL +dazzling/Y/TSLN +db//TB +DB//TB +dB/M/TB +dbl//TBL +DBMS//TBMS +DC//TK +DD//T +Ddene/M/TN +DDS//TS +DDT//TT +DE//T +De/NM/T +deacon/DSMG/TKN +deaconess/MS/TKNS +dead/PTXYRN/TT +deadbeat/SM/TTBT +deadbolt/S/TTBLT +deaden/RDG/TTN +deadener/M/TTN +deadening/MY/TTNN +deadhead/MS/TTHT +deadline/MGDS/TTLN +deadliness/SM/TTLNS +deadlock/MGDS/TTLK +deadly/RPT/TTL +deadness/M/TTNS +deadpan/S/TTPN +deadpanned//TTPNT +deadpanner//TTPN +deadpanning//TTPNN +deadwood/SM/TTWT +deaf/TXPYRN/TF +deafen/JGD/TFN +deafening/MY/TFNN +deafness/MS/TFNS +deal/RSGZJ/TL +dealer/M/TL +dealership/MS/TLXP +dealing/M/TLN +deallocator//TLKT +dealt//TLT +dean/DMG/TN +Dean/M/TN +Deana/M/TN +Deandre/M/TNTR +Deane/M/TN +deanery/MS/TNR +Deann/M/TN +Deanna/M/TN +Deanne/M/TN +deanship/SM/TNXP +dear/TYRHPS/T +Dearborn/M/TBN +dearness/MS/TNS +dearth/M/T@ +dearths//T@S +deary/MS/TR +deassign//TSN +death/MY/T@ +deathbed/MS/T@BT +deathblow/SM/T@BL +deathless/Y/T@LS +deathlike//T@LK +deathly/TR/T@L +deaths//T@S +deathtrap/SM/T@TRP +deathward//T@WT +deathwatch/MS/T@WX +deb/MS/TB +Deb/MS/TB +debacle/SM/TBKL +debar/L/TB +debark/G/TBK +debarkation/SM/TBKXN +debarment/SM/TBMNT +debarring//TBRN +debaser/M/TBS +debatable/U/TBTBL +debate/BMZ/TBT +debater/M/TBT +debauch/GDRS/TBX +debauched/PY/TBXT +debauchedness/M/TBXTNS +debauchee/SM/TBX +debaucher/M/TBX +debauchery/SM/TBXR +Debbi/M/TB +Debbie/M/TB +Debby/M/TB +Debee/M/TB +debenture/MS/TBNTR +Debera/M/TBR +Debi/M/TB +debilitate/NGXSD/TBLTT +debilitation/M/TBLTXN +debility/MS/TBLT +debit/DG/TBT +debonair/PY/TBN +debonairness/SM/TBNNS +Debor/M/TB +Debora/M/TBR +Deborah/M/TBR +debouch/DSG/TBX +Debra/M/TBR +debrief/GJ/TBRF +debris/M/TBRS +debt/SM/TBT +debtor/SM/TBT +Debussy/M/TBS +debut/MDG/TBT +débutante/SM/TBTNT +Dec/M/TK +DEC/M/TK +decade/MS/TKT +decadency/S/TKTNS +decadent/YS/TKTNT +decaf/S/TKF +decaffeinate/DSG/TKFNT +decagon/MS/TKKN +decal/SM/TKL +Decalogue/M/TKLK +decamp/L/TKMP +decampment/MS/TKMPMNT +decapitate/GSD/TKPTT +decapitator/SM/TKPTT +decathlon/SM/TK@LN +Decatur/M/TKT +decay/GRD/TK +Decca/M/TK +Deccan/M/TKN +decease/M/TSS +decedent/MS/TSTNT +deceit/SM/TST +deceitful/PY/TSTFL +deceitfulness/SM/TSTFLNS +deceive/ZGRSD/TSF +deceived/U/TSFT +deceiver/M/TSF +deceives/U/TSFS +deceiving/U/TSFN +deceivingly//TSFNL +decelerate/XNGSD/TSLRT +deceleration/M/TSLRXN +decelerator/SM/TSLRT +December/SM/TSMB +decency/ISM/TSNS +decennial/SY/TSNL +decent/TIYR/TSNT +deception/SM/TSPXN +deceptive/YP/TSPTF +deceptiveness/SM/TSPTFNS +decertify/N/TSTF +dechlorinate/N/TXLRNT +decibel/MS/TSBL +decidability/U/TSTBLT +decidable/U/TSTBL +decide/GRSDB/TST +decided/PY/TSTT +decidedness/M/TSTTNS +deciduous/YP/TSTS +deciduousness/M/TSTSNS +decile/SM/TSL +deciliter/SM/TSLT +decimal/SYM/TSML +decimate/XNGDS/TSMT +decimation/M/TSMXN +decimeter/MS/TSMT +decipher/BRZG/TSF +decipherable/IU/TSFRBL +decipherer/M/TSFR +decision/ISM/TSXN +decisional//TSXNL +decisioned//TSXNT +decisioning//TSXNN +decisive/IPY/TSSF +decisiveness/MSI/TSSFNS +deck/GRDMSJ/TK +Deck/RM/TK +deckchair//TKX +decker/M/TK +Decker/M/TK +deckhand/S/TKHNT +decking/M/TKN +declamation/SM/TKLMXN +declamatory//TKLMTR +declarable//TKLRBL +declaration/MS/TKLRXN +declaration's/A/TKLRXNS +declarative/SY/TKLRTF +declarator/MS/TKLRT +declaratory//TKLRTR +declare/AGSD/TKLR +declared/U/TKLRT +declarer/MS/TKLR +declension/SM/TKLNXN +declination/MS/TKLNXN +decline/ZGRSD/TKLN +decliner/M/TKLN +declivity/SM/TKLFT +DECNET//TKNT +DECnet/M/TKNT +deco//TK +décolletage/S/TKLTK +décolleté//TKLT +decolletes//TKLTS +decolorising//TKLRSN +decomposability/M/TKMPSBLT +decomposable/IU/TKMPSBL +decompose/B/TKMPS +decompress/R/TKMPRS +decongestant/S/TKNKSTNT +deconstruction//TKNSTRKXN +deconvolution//TKNFLXN +decor/S/TK +decorate/NGVDSX/TKRT +decorated/AU/TKRTT +decorates/A/TKRTS +decorating/A/TKRTN +decoration/ASM/TKRXN +decorative/YP/TKRTF +decorativeness/M/TKRTFNS +decorator/SM/TKRT +decorous/PIY/TKRS +decorousness/MS/TKRSNS +decorousness's/I/TKRSNSS +decorticate/GNDS/TKTKT +decortication/M/TKTKXN +decorum/MS/TKRM +decoupage/MGSD/TKPK +decouple/G/TKPL +decoy/M/TK +decrease//TKRS +decreasing/Y/TKRSN +decree/RSM/TKR +decreeing//TKRN +decrement/DMGS/TKRMNT +decremental//TKRMNTL +decrepit//TKRPT +decrepitude/SM/TKRPTT +decriminalization/S/TKRMNLSXN +decriminalize/DS/TKRMNLS +decry/G/TKR +decrypt/GD/TKRPT +decryption//TKRPXN +DECstation/M/TKSTXN +DECsystem/M/TKSSTM +DECtape/M/TKTP +decustomised//TKSTMST +Dede/M/TT +Dedekind/M/TTKNT +dedicate/AGDS/TTKT +dedicated/Y/TTKTT +dedication/MS/TTKXN +dedicative//TTKTF +dedicator/MS/TTKT +dedicatory//TTKTR +Dedie/M/TT +Dedra/M/TTR +deduce/RSDG/TTS +deducible//TTSBL +deduct/VG/TTKT +deductibility/M/TTKTBLT +deductible/S/TTKTBL +deduction/SM/TTKXN +deductive/Y/TTKTF +Dee/M/T +Deeann/M/TN +Deeanne/M/TN +deed/IS/TT +deeded//TTT +Deedee/M/TT +deeding//TTN +deed's//TTS +deejay/MDSG/TK +deem/ADGS/TM +deemphasis//TMFSS +Deena/M/TN +deep/PTXSYRN/TP +deepen/DG/TPN +deepish//TPX +deepness/MS/TPNS +deer/SM/T +Deerdre/M/TTR +Deere/M/TR +deerskin/MS/TSKN +deerstalker/SM/TSTLK +deerstalking/M/TSTLKN +Deeyn/M/TN +def/Z/TF +deface/LZ/TFS +defacement/SM/TFSMNT +defaecate//TFKT +defalcate/NGXSD/TFLKT +defalcation/M/TFLKXN +defamation/SM/TFMXN +defamatory//TFMTR +defame/ZR/TFM +defamer/M/TFM +default/ZR/TFLT +defaulter/M/TFLT +defeat/ZGD/TFT +defeated/U/TFTT +defeater/M/TFT +defeatism/SM/TFTSM +defeatist/SM/TFTST +defecate/DSNGX/TFKT +defecation/M/TFKXN +defect/MDSVG/TFKT +defection/SM/TFKXN +defective/PYS/TFKTF +defectiveness/MS/TFKTFNS +defector/MS/TFKT +defendant/SM/TFNTNT +defended/U/TFNTT +defenestrate/GSD/TFNSTRT +defense/VGSDM/TFNS +defenseless/PY/TFNSLS +defenselessness/MS/TFNSLSNS +defenses/U/TFNSS +defensibility/M/TFNSBLT +defensible/I/TFNSBL +defensibly/I/TFNSBL +defensive/PSY/TFNSF +defensiveness/MS/TFNSFNS +deference/MS/TFRNS +deferent/S/TFRNT +deferential/Y/TFRNXL +deferrable//TFRBL +deferral/SM/TFRL +deferred//TFRT +deferrer/MS/TFR +deferring//TFRN +deffer//TF +defiance/MS/TFNS +defiant/Y/TFNT +defibrillator/M/TFBRLT +deficiency/MS/TFSNS +deficient/SY/TFSNT +deficit/MS/TFST +defier/M/TF +defile/L/TFL +defilement/MS/TFLMNT +definable/UI/TFNBL +definably/I/TFNBL +define/AGDRS/TFN +defined/U/TFNT +definer/SM/TFN +definite/IPY/TFNT +definiteness/IMS/TFNTNS +definition/ASM/TFNXN +definitional//TFNXNL +definitive/SYP/TFNTF +definitiveness/M/TFNTFNS +defis//TFS +deflate/XNGRSDB/TFLT +deflation/M/TFLXN +deflationary//TFLXNR +deflect/DSGV/TFLKT +deflected/U/TFLKTT +deflection/MS/TFLKXN +deflector/MS/TFLKT +defocus//TFKS +defocussing//TFKSN +Defoe/M/TF +defog//TFK +defogger/S/TFK +defoliant/SM/TFLNT +defoliator/SM/TFLT +deform/B/TFM +deformational//TFMXNL +deformed/U/TFMT +deformity/SM/TFMT +defraud/ZGDR/TFRT +defrauder/M/TFRT +defrayal/SM/TFRYL +defrost/RZ/TFRST +defroster/M/TFRST +deft/TYRP/TFT +deftness/MS/TFTNS +defunct/S/TFNKT +defy/RDG/TF +defying/Y/TFYN +deg//TK +Degas/M/TKS +degassing//TKSN +degauss/GD/TKS +degeneracy/MS/TKNRS +degenerate/PY/TKNRT +degenerateness/M/TKNRTNS +degrade/B/TKRT +degraded/YP/TKRTT +degradedness/M/TKRTTNS +degrading/Y/TKRTN +degrease//TKRS +degree/SM/TKR +degum//TKM +Dehlia/M/TL +dehumanize//THMNS +dehydrator/MS/THTRT +deice/ZR/TS +deicer/M/TS +deictic//TKTK +Deidre/M/TTR +deification/M/TFKXN +deify/SDXGN/TF +deign/DGS/TN +Deimos/M/TMS +Deina/M/TN +Deirdre/MS/TTR +deist/SM/TST +deistic//TSTK +Deity/M/TT +deity/SM/TT +deja//TK +deject/DSG/TKKT +dejected/PY/TKKTT +dejectedness/M/TKKTTNS +dejection/SM/TKKXN +Dejesus/M/TKSS +DeKalb/M/TKLB +DeKastere/M/TKSTR +Del/MY/TL +Dela/M/TL +Delacroix/M/TLKRKS +Delacruz/M/TLKRS +Delainey/M/TLN +Delaney/M/TLN +Delano/M/TLN +Delaware/MS/TLWR +Delawarean/SM/TLWRN +delay/D/TL +delayer/G/TLY +Delbert/M/TLBT +Delcina/M/TLSN +Delcine/M/TLSN +delectable/SP/TLKTBL +delectableness/M/TLKTBLNS +delectably//TLKTBL +delectation/MS/TLKTXN +delegable//TLKBL +Deleon/M/TLN +delete/XBRSDNG/TLT +deleted/U/TLTT +deleterious/PY/TLTRS +deleteriousness/M/TLTRSNS +deletion/M/TLXN +delfs//TLFS +Delft/M/TLFT +delft/MS/TLFT +delftware/S/TLFTWR +Delgado/M/TLKT +Delhi/M/TLH +deli/SM/TL +Delia/M/TL +deliberate/PVY/TLBRT +deliberateness/SM/TLBRTNS +deliberative/PY/TLBRTF +deliberativeness/M/TLBRTFNS +Delibes/M/TLBS +delicacy/IMS/TLKS +delicate/IYP/TLKT +delicateness/IM/TLKTNS +delicatenesses//TLKTNSS +delicates//TLKTS +delicatessen/MS/TLKTSN +delicious/YSP/TLSS +deliciousness/MS/TLSSNS +delicti//TLKT +delighted/YP/TLTT +delightedness/M/TLTTNS +delightful/YP/TLTFL +delightfulness/M/TLTFLNS +Delila/M/TLL +Delilah/M/TLL +Delilahs//TLLS +Delinda/M/TLNT +delineate/SDXVNG/TLNT +delineation/M/TLNXN +delinquency/MS/TLNKNS +delinquent/SYM/TLNKNT +deliquesce/GSD/TLKS +deliquescent//TLKSNT +delirious/PY/TLRS +deliriousness/MS/TLRSNS +delirium/SM/TLRM +Delius/M/TLS +deliver/AGSD/TLF +deliverable/U/TLFRBL +deliverables//TLFRBLS +deliverance/SM/TLFRNS +delivered/U/TLFRT +deliverer/SM/TLFR +delivery/AM/TLFR +deliverymen/M/TLFRMN +Dell/M/TL +dell/SM/TL +Della/M/TL +Dellwood/M/TLWT +Delly/M/TL +Delmar/M/TLM +Delmarva/M/TLMF +Delmer/M/TLM +Delmonico//TLMNK +Delmor/M/TLM +Delmore/M/TLMR +Delora/M/TLR +Delores/M/TLRS +Deloria/M/TLR +Deloris/M/TLRS +Delphi/M/TLF +Delphic//TLFK +Delphine/M/TLFN +Delphinia/M/TLFN +delphinium/SM/TLFNM +Delphinus/M/TLFNS +Delta/M/TLT +delta/MS/TLT +deltoid/SM/TLTT +delude/RSDG/TLT +deluder/M/TLT +deluding/Y/TLTN +deluge/SDG/TLK +delusion/SM/TLXN +delusional//TLXNL +delusive/PY/TLSF +delusiveness/M/TLSFNS +deluxe//TLKS +delve/GZSRD/TLF +delver/M/TLF +Dem/MG/TM +demagnify/N/TMKNF +demagogic//TMKKK +demagogue/GSDM/TMKK +demagoguery/SM/TMKKR +demagogy/MS/TMKK +demand/GSRD/TMNT +demander/M/TMNT +demanding/U/TMNTN +demandingly//TMNTNL +demarcate/SDNGX/TMKT +demarcation/M/TMKXN +Demavend/M/TMFNT +demean/GDS/TMN +demeanor/SM/TMN +demented/YP/TMNTT +dementedness/M/TMNTTNS +dementia/MS/TMNX +Demerol/M/TMRL +demesne/SM/TMSN +Demeter/M/TMT +Demetra/M/TMTR +Demetre/M/TMTR +Demetri/MS/TMTR +Demetria/M/TMTR +Demetrius/M/TMTRS +demigod/MS/TMKT +demijohn/MS/TMKN +demimondaine/SM/TMMNTN +demimonde/SM/TMMNT +demineralization/SM/TMNRLSXN +Deming/M/TMN +demise/DMG/TMS +demit//TMT +demitasse/MS/TMTS +demitted//TMTT +demitting//TMTN +demo/DMPG/TM +democracy/MS/TMKRS +Democrat/MS/TMKRT +democrat/SM/TMKRT +Democratic//TMKRTK +democratic/U/TMKRTK +democratically/U/TMKRTKL +democratization/MS/TMKRTSXN +democratize/DRSG/TMKRTS +democratizes/U/TMKRTSS +Democritus/M/TMKRTS +démodé//TMT +demographer/MS/TMKRF +demographic/S/TMKRFK +demographical/Y/TMKRFKL +demography/MS/TMKRF +demolish/GSRD/TMLX +demolisher/M/TMLX +demolition/MS/TMLXN +demon/SM/TMN +demonetization/S/TMNTSXN +demoniac/S/TMNK +demoniacal/Y/TMNKL +demonic//TMNK +demonology/M/TMNLK +demonstrable/I/TMNSTRBL +demonstrableness/M/TMNSTRBLNS +demonstrably/I/TMNSTRBL +demonstrate/XDSNGV/TMNSTRT +demonstration/M/TMNSTRXN +demonstrative/YUP/TMNSTRTF +demonstrativeness/UM/TMNSTRTFNS +demonstrativenesses//TMNSTRTFNSS +demonstratives//TMNSTRTFS +demonstrator/MS/TMNSTRT +demoralization/M/TMRLSXN +demoralizer/M/TMRLS +demoralizing/Y/TMRLSN +DeMorgan/M/TMKN +Demosthenes/M/TMS@NS +demote/DGX/TMT +demotic/S/TMTK +Demott/M/TMT +demount/B/TMNT +Dempsey/M/TMPS +demulcent/S/TMLSNT +demultiplex//TMLTPLKS +demur/RTS/TM +demure/YP/TMR +demureness/SM/TMRNS +demurral/MS/TMRL +demurred//TMRT +demurrer/MS/TMR +demurring//TMRN +demythologization/M/TM@LKSXN +demythologize/R/TM@LKS +den//TN +Den/M/TN +Dena/M/TN +dendrite/MS/TNTRT +Dene/M/TN +Deneb/M/TNB +Denebola/M/TNBL +Deneen/M/TNN +Deng/M/TNK +dengue/MS/TNK +Deni/SM/TN +deniable/U/TNBL +denial/SM/TNL +Denice/M/TNS +denier/M/TN +denigrate/VNGXSD/TNKRT +denigration/M/TNKRXN +denim/SM/TNM +Denise/M/TNS +denizen/SMDG/TNSN +Denmark/M/TNMK +Denna/M/TN +denned//TNT +Dennet/M/TNT +Denney/M/TN +Denni/MS/TN +Dennie/M/TN +denning//TNN +Dennison/M/TNSN +Denny/M/TN +denominate/V/TNMNT +denominational/Y/TNMNXNL +denote/B/TNT +denouement/MS/TNMNT +denounce/LZRSDG/TNNS +denouncement/SM/TNNSMNT +denouncer/M/TNNS +dens/RT/TNS +dense/FR/TNS +densely//TNSL +denseness/SM/TNSNS +densitometer/MS/TNSTMT +densitometric//TNSTMTRK +densitometry/M/TNSTMTR +density/MS/TNST +dent/ISGD/TNT +dental/YS/TNTL +dentifrice/SM/TNTFRS +dentin/SM/TNTN +dentine's//TNTNS +dentist/SM/TNTST +dentistry/MS/TNTSTR +dentition/MS/TNTXN +dent's//TNTS +denture/IMS/TNTR +denuclearize/GSD/TNKLRS +denudation/SM/TNTXN +denude/DG/TNT +denuder/M/TNT +denunciate/VNGSDX/TNNXT +denunciation/M/TNNXXN +Denver/M/TNF +Deny/M/TN +deny/SRDZG/TN +denying/Y/TNYN +Denys//TNS +Denyse/M/TNS +deodorant/SM/TTRNT +deodorization/SM/TTRSXN +deodorize/GZSRD/TTRS +deodorizer/M/TTRS +Deon/M/TN +Deonne/M/TN +deoxyribonucleic//TKSRBNKLK +depart/L/TPT +department/MS/TPTMNT +departmental/Y/TPTMNTL +departmentalization/SM/TPTMNTLSXN +departmentalize/DSG/TPTMNTLS +departure/MS/TPTR +depend/B/TPNT +dependability/MS/TPNTBLT +dependable/P/TPNTBL +dependableness/M/TPNTBLNS +dependably//TPNTBL +Dependant/MS/TPNTNT +dependence/ISM/TPNTNS +dependency/MS/TPNTNS +dependent/IYS/TPNTNT +dependent's//TPNTNTS +depict/RDSG/TPKT +depicted/U/TPKTT +depicter/M/TPKT +depiction/SM/TPKXN +depilatory/S/TPLTR +deplete/VGNSDX/TPLT +depletion/M/TPLXN +deplorable/P/TPLRBL +deplorableness/M/TPLRBLNS +deplorably//TPLRBL +deplore/SRDBG/TPLR +deplorer/M/TPLR +deploring/Y/TPLRN +deploy/AGDLS/TPL +deployable//TPLYBL +deployment/SAM/TPLMNT +depolarize//TPLRS +deponent/S/TPNNT +deport/LG/TPT +deportation/MS/TPTXN +deportee/SM/TPT +deportment/MS/TPTMNT +depose//TPS +deposit/ADGS/TPST +depositary/M/TPSTR +deposition/A/TPSXN +depositor/SAM/TPST +depository/MS/TPSTR +deprave/GSRD/TPRF +depraved/PY/TPRFT +depravedness/M/TPRFTNS +depraver/M/TPRF +depravity/SM/TPRFT +deprecate/XSDNG/TPRKT +deprecating/Y/TPRKTN +deprecation/M/TPRKXN +deprecatory//TPRKTR +depreciable//TPRXBL +depreciate/XDSNGV/TPRXT +depreciating/Y/TPRXTN +depreciation/M/TPRXXN +depreciative/Y/TPRXTF +depress/V/TPRS +depressant/S/TPRSNT +depressible//TPRSBL +depression/MS/TPRXN +depressive/YS/TPRSF +depressor/MS/TPRS +deprive/GSD/TPRF +Dept/M/TPT +depth/M/TP@ +depths//TP@S +deputation/SM/TPTXN +depute/SDG/TPT +deputize/DSG/TPTS +deputy/MS/TPT +dequeue//TK +Der/M/T +derail/L/TRL +dérailleur/MS/TRL +derailment/MS/TRLMNT +derange/L/TRNK +derangement/MS/TRNKMNT +derby/SM/TB +Derby/SM/TB +Derbyshire/M/TBXR +dereference/Z/TRFRNS +Derek/M/TRK +derelict/S/TRLKT +dereliction/SM/TRLKXN +Derick/M/TRK +deride/D/TRT +deriding/Y/TRTN +derision/SM/TRXN +derisive/PY/TRSF +derisiveness/MS/TRSFNS +derisory//TRSR +derivable/U/TRFBL +derivate/XNV/TRFT +derivation/M/TRFXN +derivative/SPYM/TRFTF +derivativeness/M/TRFTFNS +derive/B/TRF +derived/U/TRFT +Derk/M/TK +dermal//TML +dermatitides//TMTTTS +dermatitis/MS/TMTTS +dermatological//TMTLKKL +dermatologist/MS/TMTLKST +dermatology/MS/TMTLK +dermis/SM/TMS +Dermot/M/TMT +derogate/XDSNGV/TRKT +derogation/M/TRKXN +derogatorily//TRKTRL +derogatory//TRKTR +Derrek/M/TRK +Derrick/M/TRK +derrick/SMDG/TRK +Derrida/M/TRT +derrière/S/TRR +Derrik/M/TRK +Derril/M/TRL +derringer/SM/TRN +Derron/M/TRN +Derry/M/TR +dervish/SM/TFX +Derward/M/TWT +Derwin/M/TWN +Des//TS +desalinate/NGSDX/TSLNT +desalination/M/TSLNXN +desalinization/MS/TSLNSXN +desalinize/GSD/TSLNS +desalt/G/TSLT +descant/M/TSKNT +Descartes/M/TSKTS +descend/ZGSDR/TSNT +descendant/SM/TSNTNT +descended/FU/TSNTT +descendent's//TSNTNTS +descender/M/TSNT +descending/F/TSNTN +descends/F/TSNTS +descent//TSNT +describable/I/TSKRBBL +describe/ZB/TSKRB +description/MS/TSKRPXN +descriptive/SYP/TSKRPTF +descriptiveness/MS/TSKRPTFNS +descriptor/SM/TSKRPT +descry/SDG/TSKR +Desdemona/M/TSTMN +desecrate/SRDGNX/TSKRT +desecrater/M/TSKRT +desecration/M/TSKRXN +desert/ZGMRDS/TST +deserter/M/TST +desertification//TSTFKXN +desertion/MS/TSXN +deserve/J/TSF +deserved/YU/TSFT +deservedness/M/TSFTNS +deserving/Y/TSFN +déshabillé's//TXBLS +Desi/M/TS +desiccant/S/TSKNT +desiccate/XNGSD/TSKT +desiccation/M/TSKXN +desiccator/SM/TSKT +desiderata//TSTRT +desideratum/M/TSTRTM +design/ADGS/TSN +designable//TSKNBL +designate/VNGSDX/TSKNT +designation/M/TSKNXN +designational//TSKNXNL +designator/SM/TSKNT +designed/Y/TSN +designer/M/TSKN +designing/U/TSKNN +desirabilia//TSRBL +desirability/US/TSRBLT +desirability's//TSRBLTS +desirable/UPS/TSRBL +desirableness/SM/TSRBLNS +desirableness's/U/TSRBLNSS +desirably/U/TSRBL +Desirae/M/TSR +desire/BR/TSR +desired/U/TSRT +Desiree/M/TSR +desirer/M/TSR +Desiri/M/TSR +desirous/PY/TSRS +desirousness/M/TSRSNS +desist/DSG/TSST +desk/SM/TSK +desktop/S/TSKTP +Desmond/M/TSMNT +Desmund/M/TSMNT +desolate/PXDRSYNG/TSLT +desolateness/SM/TSLTNS +desolater/M/TSLT +desolating/Y/TSLTN +desolation/M/TSLXN +desorption/M/TSPXN +despair/SGDR/TSP +despairer/M/TSPR +despairing/Y/TSPRN +desperado/M/TSPRT +desperadoes//TSPRTS +desperate/YNXP/TSPRT +desperateness/SM/TSPRTNS +desperation/M/TSPRXN +despicable//TSPKBL +despicably//TSPKBL +despise/SRDG/TSPS +despiser/M/TSPS +despoil/L/TSPL +despoilment/MS/TSPLMNT +despond//TSPNT +despondence/S/TSPNTNS +despondency/MS/TSPNTNS +despondent/Y/TSPNTNT +despotic//TSPTK +despotically//TSPTKL +despotism/SM/TSPTSM +dessert/SM/TST +dessicate/DN/TSKT +d'Estaing//TSTN +destinate/NX/TSTNT +destination/M/TSTNXN +destine/GSD/TSTN +destiny/MS/TSTN +destitute/NXP/TSTTT +destituteness/M/TSTTTNS +destitution/M/TSTTXN +destroy/BZGDRS/TSTR +destroyer/M/TSTRY +destruct/VGSD/TSTRKT +destructibility/SMI/TSTRKTBLT +destructible/I/TSTRKTBL +destruction/SM/TSTRKXN +destructive/YP/TSTRKTF +destructiveness/MS/TSTRKTFNS +destructor/M/TSTRKT +desuetude/MS/TSTT +desultorily//TSLTRL +desultoriness/M/TSLTRNS +desultory/P/TSLTR +detach/LSRDBG/TTX +detached/YP/TTXT +detachedness/M/TTXTNS +detacher/M/TTX +detachment/SM/TTXMNT +detailed/YP/TTLT +detailedness/M/TTLTNS +detain/LGRDS/TTN +detainee/S/TTN +detainer/M/TTN +detainment/MS/TTNMNT +d'etat//TTT +detect/DBSVG/TTKT +detectability/U/TTKTBLT +detectable/U/TTKTBL +detectably/U/TTKTBL +detected/U/TTKTT +detection/SM/TTKXN +detective/MS/TTKTF +detector/MS/TTKT +détente//TTNT +detentes//TTNTS +detention/SM/TTNXN +deter/SL/TT +detergency/M/TTKNS +detergent/SM/TTKNT +deteriorate/XDSNGV/TTRRT +deterioration/M/TTRRXN +determent/SM/TTMNT +determinability/M/TTMNBLT +determinable/IP/TTMNBL +determinableness/IM/TTMNBLNS +determinacy/I/TTMNS +determinant/MS/TTMNNT +determinate/PYIN/TTMNT +determinateness/IM/TTMNTNS +determination/IM/TTMNXN +determinative/P/TTMNTF +determinativeness/M/TTMNTFNS +determine/GASD/TTMN +determined/U/TTMNT +determinedly//TTMNTL +determinedness/M/TTMNTNS +determiner/SM/TTMN +determinism/MS/TTMNSM +determinism's/I/TTMNSMS +deterministic/I/TTMNSTK +deterministically//TTMNSTKL +deterred/U/TTRT +deterrence/SM/TTRNS +deterrent/SMY/TTRNT +deterring//TTRN +deters/V/TTS +detersive/S/TTSF +detestable/P/TTSTBL +detestableness/M/TTSTBLNS +detestably//TTSTBL +detestation/SM/TTSTXN +dethrone/L/T@RN +dethronement/SM/T@RNMNT +detonable//TTNBL +detonate/XDSNGV/TTNT +detonated/U/TTNTT +detonation/M/TTNXN +detonator/MS/TTNT +detour/G/TT +detox/SDG/TTKS +detoxification/M/TTKSFKXN +detoxify/NXGSD/TTKSF +detract/GVD/TTRKT +detractive/Y/TTRKTF +d'etre//TTR +detribalize/GSD/TTRBLS +detriment/SM/TTRMNT +detrimental/SY/TTRMNTL +detritus/M/TTRTS +Detroit/M/TTRT +deuce/SDGM/TS +deuced/Y/TST +deus//TS +deuterium/MS/TTRM +deuteron/M/TTRN +Deuteronomy/M/TTRNM +Deutsch/M/TTSX +Dev/M/TF +Deva/M/TF +Devan/M/TFN +Devanagari/M/TFNKR +devastate/XVNGSD/TFSTT +devastating/Y/TFSTTN +devastation/M/TFSTXN +devastator/SM/TFSTT +develop/ALZSGDR/TFLP +developed/U/TFLPT +developer/MA/TFLP +development/ASM/TFLPMNT +developmental/Y/TFLPMNTL +Devi/M/TF +deviance/MS/TFNS +deviancy/S/TFNS +deviant/YMS/TFNT +deviate/XSDGN/TFT +deviated/U/TFTT +deviating/U/TFTN +deviation/M/TFXN +devil/SLMDG/TFL +devilish/PY/TFLX +devilishness/MS/TFLXNS +devilment/SM/TFLMNT +devilry/MS/TFLR +deviltry/MS/TFLTR +Devin/M/TFN +Devina/M/TFN +Devinne/M/TFN +devious/YP/TFS +deviousness/SM/TFSNS +devise/JR/TFS +deviser/M/TFS +Devland/M/TFLNT +Devlen/M/TFLN +Devlin/M/TFLN +devoice//TFS +devolution/MS/TFLXN +devolve/GSD/TFLF +Devon/M/TFN +Devondra/M/TFNTR +Devonian//TFNN +Devonna/M/TFN +Devonne/M/TFN +Devonshire/M/TFNXR +Devora/M/TFR +devote/XN/TFT +devoted/Y/TFTT +devotee/MS/TFT +devotion/M/TFXN +devotional/YS/TFXNL +devour/SRDZG/TF +devourer/M/TFR +devout/PRYT/TFT +devoutness/MS/TFTNS +Devy/M/TF +Dew/M/T +dew/MDGS/T +Dewain/M/TWN +dewar//TW +Dewar/M/TW +Dewayne/M/TWN +dewberry/MS/TBR +dewclaw/SM/TKL +dewdrop/MS/TTRP +Dewey/M/TW +Dewie/M/TW +dewiness/MS/TWNS +Dewitt/M/TWT +dewlap/MS/TLP +dewy/TPR/T +Dex/M/TKS +Dexedrine/M/TKSTRN +dexes/I/TKSS +dexter//TKST +Dexter/M/TKST +dexterity/MS/TKSTRT +dexterous/PY/TKSTRS +dexterousness/MS/TKSTRSNS +dextrose/SM/TKSTRS +DH//TH +Dhaka//THK +Dhaulagiri/M/THLKR +dhoti/SM/THT +dhow/MS/TH +DI//T +Di/M/T +diabase/M/TBS +diabetes/M/TBTS +diabetic/S/TBTK +diabolic//TBLK +diabolical/YP/TBLKL +diabolicalness/M/TBLKLNS +diabolism/M/TBLSM +diachronic/P/TXRNK +diacritic/MS/TKRTK +diacritical/YS/TKRTKL +diadem/GMDS/TTM +diaereses//TRSS +diaeresis/M/TRSS +Diaghilev/M/TKLF +diagnometer/SM/TKNMT +diagnosable/U/TKNSBL +diagnose/BGDS/TKNS +diagnosed/U/TKNST +diagnosis/M/TKNSS +diagnostic/MS/TKNSTK +diagnostically//TKNSTKL +diagnostician/SM/TKNSTXN +diagnostics/M/TKNSTKS +diagonal/YS/TKNL +diagonalize/GDSB/TKNLS +diagram/MS/TKRM +diagrammable//TKRMBL +diagrammatic//TKRMTK +diagrammaticality//TKRMTKLT +diagrammatically//TKRMTKL +diagrammed//TKRMT +diagrammer/SM/TKRM +diagramming//TKRMN +Diahann/M/THN +dial/MRDSGZJ/TL +dialect/MS/TLKT +dialectal/Y/TLKTL +dialectic/MS/TLKTK +dialectical/Y/TLKTKL +dialed/A/TLT +dialer/M/TL +dialing/M/TLN +dialog/MS/TLK +dialogged//TLKT +dialogging//TLKN +dials/A/TLS +dialysis/M/TLSS +dialyzed/U/TLST +dialyzes//TLSS +diam//TM +diamagnetic//TMKNTK +diameter/MS/TMT +diametric//TMTRK +diametrical/Y/TMTRKL +diamond/GSMD/TMNT +diamondback/SM/TMNTBK +Dian/M/TN +Diana/M/TN +Diandra/M/TNTR +Diane/M/TN +Dianemarie/M/TNMR +Diann/M/TN +Dianna/M/TN +Dianne/M/TN +Diannne/M/TN +diapason/MS/TPSN +diaper/SGDM/TP +diaphanous/YP/TFNS +diaphanousness/M/TFNSNS +diaphragm/SM/TFRKM +diaphragmatic//TFRKMTK +diarist/SM/TRST +Diarmid/M/TMT +diarrhea/MS/TRH +diarrheal//TRHL +diary/MS/TR +diaspora//TSPR +Diaspora/SM/TSPR +diastase/SM/TSTS +diastole/MS/TSTL +diastolic//TSTLK +diathermy/SM/T@M +diathesis/M/T@SS +diatom/SM/TTM +diatomic//TTMK +diatonic//TTNK +diatribe/MS/TTRB +Diaz's//TSS +dibble/SDMG/TBL +dibs//TBS +DiCaprio/M/TKPR +dice/GDRS/TS +dicer/M/TS +dicey//TS +dichloride/M/TXLRT +dichotomization/M/TXTMSXN +dichotomize/DSG/TXTMS +dichotomous/PY/TXTMS +dichotomy/SM/TXTM +dicier//TS +diciest//TSST +dicing/M/TSN +dick/GZXRDMS/TK +Dick/XM/TK +dickens/M/TKNS +Dickens/M/TKNS +Dickensian/S/TKNXN +dicker/DG/TK +Dickerson/M/TKSN +dickey/SM/TK +Dickie/M/TK +dickier//TK +dickiest//TKST +Dickinson/M/TKNSN +Dickson/M/TKSN +Dicky/M/TK +dicky's//TKS +dicotyledon/SM/TKTLTN +dicotyledonous//TKTLTNS +dicta/M/TKT +Dictaphone/SM/TKTFN +dictate/SDNGX/TKTT +dictation/M/TKTXN +dictator/MS/TKTT +dictatorial/YP/TKTTRL +dictatorialness/M/TKTTRLNS +dictatorship/SM/TKTTXP +diction/MS/TKXN +dictionary/SM/TKXNR +dictum/M/TKTM +did/AU/TT +didactic/S/TTKTK +didactically//TTKTKL +didactics/M/TTKTKS +diddle/ZGRSD/TTL +diddler/M/TTL +Diderot/M/TTRT +Didi/M/TT +didn't//TTNT +dido/M/TT +Dido/M/TT +didoes//TTS +didst//TTST +die/DS/T +Diefenbaker/M/TFNBK +Diego/M/TK +dieing//TN +dielectric/MS/TLKTRK +diem//TM +Diem/M/TM +Diena/M/TN +Dierdre/M/TTR +diereses//TRSS +dieresis/M/TRSS +dies/U/TS +diesel/GMDS/TSL +Diesel's//TSLS +dies's//TSS +diet/RDGZSM/TT +dietary/S/TTR +dieter/M/TT +Dieter/M/TT +dietetic/S/TTTK +dietetics/M/TTTKS +diethylaminoethyl//T@LMN@L +diethylstilbestrol/M/T@LSTLBSTRL +dietitian/MS/TTXN +Dietrich/M/TTRX +Dietz/M/TTS +differ/SZGRD/TF +difference/DSGM/TFRNS +differences/I/TFRNSS +difference's/I/TFRNSS +different/YI/TFRNT +differentiability//TFRNXBLT +differentiable//TFRNXBL +differential/SMY/TFRNXL +differentiate/XSDNG/TFRNXT +differentiated/U/TFRNXTT +differentiation/M/TFRNXXN +differentiator/SM/TFRNXT +differentness//TFRNTNS +difficile//TFSL +difficult/Y/TFKLT +difficulty/SM/TFKLT +diffidence/MS/TFTNS +diffident/Y/TFTNT +diffract/GSD/TFRKT +diffraction/SM/TFRKXN +diffractometer/SM/TFRKTMT +diffuse/PRSDZYVXNG/TFS +diffuseness/MS/TFSNS +diffuser/M/TFS +diffusible//TFSBL +diffusion/M/TFXN +diffusional//TFXNL +diffusive/YP/TFSF +diffusiveness/M/TFSFNS +diffusivity/M/TFSFT +dig/TS/TK +digerati//TKRT +digest/RDVGS/TKST +digested/IU/TKSTT +digester/M/TKST +digestibility/MS/TKSTBLT +digestible/I/TKSTBL +digestifs//TKSTFS +digestion/ISM/TKSXN +digestive/YSP/TKSTF +digger/MS/TK +digging/S/TKN +digit/SM/TKT +digital/SY/TKTL +digitalis/M/TKTLS +digitalization/MS/TKTLSXN +digitalized//TKTLST +digitalizes//TKTLSS +digitalizing//TKTLSN +digitization/M/TKTSXN +digitize/ZGDRS/TKTS +digitizer/M/TKTS +dignified/U/TKNFT +dignify/DSG/TKNF +dignitary/SM/TKNTR +dignity/ISM/TKNT +digram//TKRM +digraph/M/TKRF +digraphs//TKRFS +digress/GVDS/TKRS +digression/SM/TKRXN +digressive/PY/TKRSF +digressiveness/M/TKRSFNS +dihedral//THTRL +Dijkstra/M/TKKSTR +Dijon/M/TKN +dike/DRSMG/TK +diker/M/TK +diktat/SM/TKTT +Dilan/M/TLN +dilapidate/XGNSD/TLPTT +dilapidation/M/TLPTXN +dilatation/SM/TLTXN +dilate/XVNGSD/TLT +dilated/YP/TLTT +dilation/M/TLXN +dilator/SM/TLT +dilatoriness/M/TLTRNS +dilatory/P/TLTR +Dilbert/M/TLBT +dilemma/MS/TLM +dilettante/MS/TLTNT +dilettantish//TLTNTX +dilettantism/MS/TLTNTSM +diligence/SM/TLKNS +diligent/YP/TLKNT +diligentness/M/TLKNTNS +dilithium//TL@M +Dill/M/TL +dill/SGMD/TL +Dillard/M/TLT +Dillie/M/TL +dilling/R/TLN +Dillinger/M/TLN +dillis//TLS +Dillon/M/TLN +Dilly/M/TL +dilly/SM/TL +dillydally/GSD/TLTL +dilogarithm//TLKR@M +diluent//TLNT +dilute/RSDPXYVNG/TLT +diluted/U/TLTT +diluteness/M/TLTNS +dilution/M/TLXN +dim/RYPZS/TM +DiMaggio/M/TMK +dime/SM/TM +dimension/MDGS/TMNXN +dimensional/Y/TMNXNL +dimensionality/M/TMNXNLT +dimensionless//TMNXNLS +dimer/M/TM +dimethyl/M/TM@L +dimethylglyoxime//TM@LKLYKSM +diminish/SDGBJ/TMNX +diminished/U/TMNXT +diminuendo/SM/TMNNT +diminution/SM/TMNXN +diminutive/SYP/TMNTF +diminutiveness/M/TMNTFNS +Dimitri/M/TMTR +Dimitry/M/TMTR +dimity/MS/TMT +dimmed/U/TMT +dimmer/MS/TM +dimmest//TMST +dimming//TMN +dimness/SM/TMNS +dimorphism/M/TMFSM +dimple/MGSD/TMPL +dimply/RT/TMPL +dimwit/MS/TMWT +dimwitted//TMWTT +din/MDRZGS/TN +Dina/M/TN +Dinah/M/TN +dinar/SM/TN +dine/S/TN +diner/M/TN +dinette/MS/TNT +ding/GD/TN +dingbat/MS/TNBT +dinghy/SM/TNH +dingily//TNL +dinginess/SM/TNNS +dingle/MS/TNL +dingo/MS/TN +dingoes//TNS +dingus/SM/TNS +dingy/PRST/TN +dinky/RST/TNK +dinned//TNT +dinner/SM/TN +dinnertime/S/TNTM +dinnerware/MS/TNWR +Dinnie/M/TN +dinning//TNN +Dinny/M/TN +Dino/M/TN +dinosaur/MS/TNS +dint/SGMD/TNT +diocesan/S/TSSN +diocese/SM/TSS +Diocletian/M/TKLXN +diode/SM/TT +Diogenes/M/TKNS +Dion/M/TN +Dione/M/TN +Dionis/M/TNS +Dionisio/M/TNX +Dionne/M/TN +Dionysian//TNXN +Dionysus/M/TNSS +Diophantine/M/TFNTN +diopter/MS/TPT +Dior/M/T +diorama/SM/TRM +dioxalate//TKSLT +dioxide/MS/TKST +dioxin/S/TKSN +dip/S/TP +diphtheria/SM/TF@R +diphthong/SM/TF@NK +diplexers//TPLKSS +diploid/S/TPLT +diploma/SMDG/TPLM +diplomacy/SM/TPLMS +diplomat/MS/TPLMT +diplomata//TPLMT +diplomatic/S/TPLMTK +diplomatically//TPLMTKL +diplomatics/M/TPLMTKS +diplomatist/SM/TPLMTST +dipodic//TPTK +dipody/M/TPT +dipole/MS/TPL +dipped//TPT +Dipper/M/TP +dipper/SM/TP +dipping/S/TPN +dippy/TR/TP +dipsomania/SM/TPSMN +dipsomaniac/MS/TPSMNK +dipstick/MS/TPSTK +dipterous//TPTRS +diptych/M/TPTX +diptychs//TPTXS +Dir//T +Dirac/M/TRK +dire/YTRP/TR +direct/RDYPTSVG/TRKT +directed/IUA/TRKTT +direction/MIS/TRKXN +directional/SY/TRKXNL +directionality//TRKXNLT +directions/A/TRKXNS +directive/SM/TRKTF +directivity/M/TRKTFT +directly/I/TRKTL +directness/ISM/TRKTNS +director/AMS/TRKT +directorate/SM/TRKTRT +directorial//TRKTRL +directorship/SM/TRKTXP +directory/SM/TRKTR +directrix/MS/TRKTRKS +directs/IA/TRKTS +direful/Y/TRFL +direness/M/TRNS +dirge/GSDM/TK +Dirichlet/M/TRXLT +dirigible/S/TRKBL +dirk/GDMS/TK +Dirk/M/TK +dirndl/MS/TNTL +dirt/MS/TT +dirtily//TTL +dirtiness/SM/TTNS +dirty/GPRSDT/TT +Dis//TS +dis/MB/TS +disable/LZGD/TSBL +disablement/MS/TSBLMNT +disabler/M/TSBL +disabuse//TSBS +disadvantaged/P/TSTFNTKT +disagreeable/S/TSKRBL +disallow/D/TSL +disambiguate/DSGNX/TSMBKT +disappointed/Y/TSPNTT +disappointing/Y/TSPNTN +disarming/Y/TSMN +disarrange/L/TSRNK +disastrous/Y/TSSTRS +disband/L/TSBNT +disbandment/SM/TSBNTMNT +disbar/L/TSB +disbarment/MS/TSBMNT +disbarring//TSBRN +disbelieving/Y/TSBLFN +disbursal/S/TSBSL +disburse/GDRSL/TSBS +disbursement/MS/TSBSMNT +disburser/M/TSBS +disc/GDM/TSK +discern/SDRGL/TSN +discerner/M/TSN +discernibility//TSNBLT +discernible/I/TSNBL +discernibly//TSNBL +discerning/Y/TSNN +discernment/MS/TSNMNT +discharged/U/TSXKT +disciple/DSMG/TSPL +discipleship/SM/TSPLXP +disciplinarian/SM/TSPLNRN +disciplinary//TSPLNR +discipline/IDM/TSPLN +disciplined/U/TSPLNT +discipliner/M/TSPLN +disciplines//TSPLNS +disciplining//TSPLNN +disclosed/U/TSKLST +disco/MG/TSK +discography/MS/TSKKRF +discolor/G/TSKL +discolored/MP/TSKLRT +discoloreds/U/TSKLRTS +discombobulate/SDGNX/TSKMBBLT +discomfit/DG/TSKMFT +discomfiture/MS/TSKMFTR +discommode/DG/TSKMT +disconcerting/Y/TSKNSTN +disconnect/R/TSKNKT +disconnected/P/TSKNKTT +disconnectedness/S/TSKNKTTNS +disconnecter/M/TSKNKT +disconsolate/YN/TSKNSLT +discord/G/TSKT +discordance/SM/TSKTNS +discordant/Y/TSKTNT +discorporate/D/TSKPRT +discotheque/MS/TSK@K +discount/B/TSKNT +discourage/LGDR/TSKRK +discouragement/MS/TSKRKMNT +discouraging/Y/TSKRKN +discover/ADGS/TSKF +discoverable/I/TSKFRBL +discovered/U/TSKFRT +discoverer/S/TSKFR +discovery/SAM/TSKFR +discreet/TRYP/TSKRT +discreetly/I/TSKRTL +discreetness/SM/TSKRTNS +discreetness's/I/TSKRTNSS +discrepancy/SM/TSKRPNS +discrepant/Y/TSKRPNT +discrete/YPNX/TSKRT +discreteness/SM/TSKRTNS +discretion/IMS/TSKRXN +discretionary//TSKRXNR +discretization//TSKRTSXN +discretized//TSKRTST +discriminable//TSKRMNBL +discriminant/MS/TSKRMNNT +discriminate/SDVNGX/TSKRMNT +discriminated/U/TSKRMNTT +discriminating/YI/TSKRMNTN +discrimination/MI/TSKRMNXN +discriminator/MS/TSKRMNT +discriminatory//TSKRMNTR +discursiveness/S/TSKSFNS +discus/SM/TSKS +discussant/MS/TSKSNT +discussed/UA/TSKST +discusser/M/TSKS +discussion/SM/TSKXN +disdain/MGSD/TSTN +disdainful/YP/TSTNFL +disdainfulness/M/TSTNFLNS +disease/G/TSS +disembowel/SLGD/TSMBWL +disembowelment/SM/TSMBWLMNT +disengage/L/TSNKK +disfigure/L/TSFKR +disfigurement/MS/TSFKRMNT +disfranchise/L/TSFRNXS +disfranchisement/MS/TSFRNXSMNT +disgorge//TSKK +disgrace/R/TSKRS +disgracer/M/TSKRS +disgruntle/DSLG/TSKRNTL +disgruntlement/MS/TSKRNTLMNT +disguise/R/TSKS +disguised/UY/TSKST +disguiser/M/TSKS +disgust//TSKST +disgusted/Y/TSKSTT +disgustful/Y/TSKSTFL +disgusting/Y/TSKSTN +dish/GD/TX +dishabille/SM/TXBL +disharmonious//TXMNS +dishcloth/M/TXKL@ +dishcloths//TXKL@S +dishevel/LDGS/TXFL +dishevelment/MS/TXFLMNT +dishonest//TXNST +dishonored/U/TXNRT +dishpan/MS/TXPN +dishrag/SM/TXRK +dishtowel/SM/TXTWL +dishwasher/MS/TXWX +dishwater/SM/TXWT +disillusion/LGD/TSLXN +disillusionment/SM/TSLXNMNT +disinfectant/MS/TSNFKTNT +disinherit//TSNHRT +disinterested/P/TSNTRSTT +disinterestedness/SM/TSNTRSTTNS +disinvest/L/TSNFST +disjoin//TSKN +disjointedness/S/TSKNTTNS +disjunct/VS/TSKNKT +disjunctive/YS/TSKNKTF +disk/D/TSK +diskette/S/TSKT +dislike/G/TSLK +dislodge/LG/TSLK +dislodgement/M/TSLKMNT +dismal/PSTRY/TSML +dismalness/M/TSMLNS +dismantle/L/TSMNTL +dismantlement/SM/TSMNTLMNT +dismay/D/TSM +dismayed/U/TSMYT +dismaying/Y/TSMYN +dismember/LG/TSMMB +dismemberment/MS/TSMMBMNT +dismiss/RZ/TSMS +dismissive/Y/TSMSF +Disney/M/TSN +Disneyland/M/TSNLNT +disoblige/G/TSBLK +disorder/Y/TST +disordered/YP/TSTRT +disorderedness/M/TSTRTNS +disorderliness/M/TSTLNS +disorderly/P/TSTL +disorganize//TSKNS +disorganized/U/TSKNST +disparage/RSDLG/TSPRK +disparagement/MS/TSPRKMNT +disparager/M/TSPRK +disparaging/Y/TSPRKN +disparate/PSY/TSPRT +disparateness/M/TSPRTNS +dispatch/Z/TSPX +dispel/S/TSPL +dispelled//TSPLT +dispelling//TSPLN +dispensable/I/TSPNSBL +dispensary/MS/TSPNSR +dispensate/NX/TSPNST +dispensation/M/TSPNSXN +dispense/ZGDRSB/TSPNS +dispenser/M/TSPNS +dispersal/MS/TSPSL +dispersant/M/TSPSNT +disperse/XDRSZLNGV/TSPS +dispersed/Y/TSPST +disperser/M/TSPS +dispersible//TSPSBL +dispersion/M/TSPXN +dispersive/PY/TSPSF +dispersiveness/M/TSPSFNS +dispirit/DSG/TSPRT +displace/L/TSPLS +display/AGDS/TSPL +displayed/U/TSPLYT +displease/G/TSPLS +displeased/Y/TSPLST +displeasure//TSPLSR +disport//TSPT +disposable/S/TSPSBL +disposal/SM/TSPSL +dispose/IGSD/TSPS +disposition/ISM/TSPSXN +dispositional//TSPSXNL +disproportional//TSPRPXNL +disproportionate/N/TSPRPXNT +disproportionation/M/TSPRPXNXN +disprove/B/TSPRF +disputable/I/TSPTBL +disputably/I/TSPTBL +disputant/SM/TSPTNT +disputation/SM/TSPTXN +disputatious/Y/TSPTXS +dispute/ZBGSRD/TSPT +disputed/U/TSPTT +disputer/M/TSPT +disquiet/M/TSKT +disquieting/Y/TSKTN +disquisition/SM/TSKSXN +Disraeli/M/TSRL +disregardful//TSRKTFL +disrepair/M/TSRP +disreputable/P/TSRPTBL +disreputableness/M/TSRPTBLNS +disrepute/M/TSRPT +disrespect//TSRSPKT +disrupt/GVDRS/TSRPT +disrupted/U/TSRPTT +disrupter/M/TSRPT +disruption/MS/TSRPXN +disruptive/YP/TSRPTF +disruptor/M/TSRPT +dissatisfy//TSTSF +dissect/DG/TSKT +dissed//TST +dissemble/ZGRSD/TSMBL +dissembler/M/TSMBL +disseminate/XGNSD/TSMNT +dissemination/M/TSMNXN +dissension/SM/TSNXN +dissent/ZGSDR/TSNT +dissenter/M/TSNT +dissertation/SM/TSTXN +disservice//TSFS +disses//TSS +dissever//TSF +dissidence/SM/TSTNS +dissident/MS/TSTNT +dissimilar/S/TSML +dissing//TSN +dissipate/XRSDVNG/TSPT +dissipated/U/TSPTT +dissipatedly//TSPTTL +dissipatedness/M/TSPTTNS +dissipater/M/TSPT +dissipation/M/TSPXN +dissociable/I/TSXBL +dissociate/DSXNGV/TSXT +dissociated/U/TSXTT +dissociation/M/TSXXN +dissociative/Y/TSXTF +dissoluble/I/TSLBL +dissolute/PY/TSLT +dissoluteness/SM/TSLTNS +dissolve/ASDG/TSLF +dissolved/U/TSLFT +dissonance/SM/TSNNS +dissonant/Y/TSNNT +dissuade/GDRS/TST +dissuader/M/TST +dissuasive//TSSF +dist//TST +distaff/SM/TSTF +distal/Y/TSTL +distance/DSMG/TSTNS +distant/YP/TSTNT +distantness/M/TSTNTNS +distaste//TSTST +distemper//TSTMP +distend//TSTNT +distension//TSTNXN +distention/SM/TSTNXN +distillate/XNMS/TSTLT +distillation/M/TSTLXN +distillery/MS/TSTLR +distinct/IYVP/TSTNKT +distincter//TSTNKT +distinctest//TSTNKTST +distinction/MS/TSTNKXN +distinctive/YP/TSTNKTF +distinctiveness/MS/TSTNKTFNS +distinctness/MSI/TSTNKTNS +distinguish/BDRSG/TSTNX +distinguishable/I/TSTNXBL +distinguishably/I/TSTNXBL +distinguished/U/TSTNXT +distinguisher/M/TSTNX +distort/BGDR/TSTT +distorted/U/TSTTT +distorter/M/TSTT +distortion/MS/TSTXN +distract/DG/TSTRKT +distracted/YP/TSTRKTT +distractedness/M/TSTRKTTNS +distracting/Y/TSTRKTN +distrait//TSTRT +distraught/Y/TSTRT +distress//TSTRS +distressful//TSTRSFL +distressing/Y/TSTRSN +distribute/ADXSVNGB/TSTRBT +distributed/U/TSTRBTT +distributer//TSTRBT +distribution/AM/TSTRBXN +distributional//TSTRBXNL +distributive/SPY/TSTRBTF +distributiveness/M/TSTRBTFNS +distributivity//TSTRBTFT +distributor/SM/TSTRBT +distributorship/M/TSTRBTXP +district/GSAD/TSTRKT +district's//TSTRKTS +distrust/G/TSTRST +disturb/ZGDRS/TSTB +disturbance/SM/TSTBNS +disturbed/U/TSTBT +disturber/M/TSTB +disturbing/Y/TSTBN +disulfide/M/TSLFT +disuse/M/TSS +disyllable/M/TSLBL +Dita/M/TT +ditch/MRSDG/TX +ditcher/M/TX +dither/RDZSG/T@ +ditsy/TR/TTS +ditto/DMGS/TT +ditty/SDGM/TT +ditz/S/TTS +Ditzel/M/TTSL +diuresis/M/TRSS +diuretic/S/TRTK +diurnal/SY/TNL +div/TZGJDRS/TF +diva/MS/TF +divalent/S/TFLNT +divan/SM/TFN +dive/S/TF +dived/M/TFT +diver/M/TF +diverge/SDG/TFK +divergence/SM/TFKNS +divergent/Y/TFKNT +diverse/XYNP/TFS +diverseness/MS/TFSNS +diversification/M/TFSFKXN +diversifier/M/TFSF +diversify/GSRDNX/TFSF +diversion/M/TFXN +diversionary//TFXNR +diversity/SM/TFST +divert/GSD/TFT +diverticulitis/SM/TFTKLTS +divertimento/M/TFTMNT +divest/LDGS/TFST +divestiture/MS/TFSTTR +divestment/S/TFSTMNT +dividable//TFTBL +divide/AGDS/TFT +divided/U/TFTT +dividend/MS/TFTNT +divider/MS/TFT +divination/SM/TFNXN +divine/RSDTZYG/TFN +diviner/M/TFN +divinity/MS/TFNT +divisibility/IMS/TFSBLT +divisible/I/TFSBL +division/SM/TFXN +divisional//TFXNL +divisive/PY/TFSF +divisiveness/MS/TFSFNS +divisor/SM/TFS +divorce/GSDLM/TFS +divorcée/MS/TFK +divorcement/MS/TFSMNT +divot/MS/TFT +divulge/GSD/TFLK +divvy/GSDM/TFF +Dix/M/TKS +Dixie/M/TKS +Dixiecrat/MS/TKSKRT +dixieland//TKSLNT +Dixieland/MS/TKSLNT +Dixon/M/TKSN +dizzily//TSL +dizziness/SM/TSNS +dizzy/PGRSDT/TS +dizzying/Y/TSYN +DJ//TK +Djakarta's//TKKTS +djellaba/S/TKLB +djellabah's//TKLBS +Djibouti/M/TKBT +DMD//TMT +Dmitri/M/TMTR +DMZ//TMS +DNA//TN +Dnepropetrovsk/M/TNPRPTRFSK +Dnepr's//TNPRS +Dnieper's//TNPS +Dniester/M/TNST +Dniren/M/TNRN +do/TZRHGJ/T +DOA//T +doable//TBL +DOB//TB +Dobbin/M/TBN +dobbin/MS/TBN +Doberman//TBMN +Dobro/M/TBR +doc/MS/TK +docent/SM/TSNT +docile/Y/TSL +docility/MS/TSLT +dock/GZSRDM/TK +docker/M/TK +docket/GSMD/TKT +dockland/MS/TKLNT +dockside/M/TKST +dockworker/S/TKWK +dockyard/SM/TKYT +Doctor//TKT +doctor/GSDM/TKT +doctoral//TKTRL +doctorate/SM/TKTRT +Doctorow/M/TKTR +doctrinaire/S/TKTRNR +doctrinal/Y/TKTRNL +doctrine/SM/TKTRN +docudrama/S/TKTRM +document/RDMZGS/TKMNT +documentary/MS/TKMNTR +documentation/MS/TKMNTXN +documented/U/TKMNTT +DOD//TT +dodder/DGS/TT +Dode/M/TT +dodecahedra//TTKHTR +dodecahedral//TTKHTRL +dodecahedron/M/TTKHTRN +dodge/GZSRD/TK +Dodge/M/TK +dodgem/S/TKM +dodger/M/TKR +Dodgson/M/TTKSN +Dodi/M/TT +Dodie/M/TT +Dodington/M/TTNTN +dodo/SM/TT +Dodoma/M/TTM +Dodson/M/TTSN +Dody/M/TT +DOE//T +Doe/M/T +doe/MS/T +doer/MU/T +does/AU/TS +doeskin/MS/TSKN +doesn't//TSNT +d'oeuvre//TFR +doff/SGD/TF +dog/SM/TK +dogcart/SM/TKKT +dogcatcher/MS/TKKX +Doge/M/TK +doge/SM/TK +dogeared//TKRT +dogfight/GMS/TKFT +dogfish/SM/TKFX +dogfought//TKFT +dogged/PY/TKT +doggedness/SM/TKTNS +doggerel/SM/TKRL +dogging//TKN +doggone/RSDTG/TKN +doggy/SRMT/TK +doghouse/SM/TKS +dogie/SM/TK +dogleg/SM/TKLK +doglegged//TKLKT +doglegging//TKLKN +dogma/MS/TKM +dogmatic/S/TKMTK +dogmatically/U/TKMTKL +dogmatics/M/TKMTKS +dogmatism/SM/TKMTSM +dogmatist/SM/TKMTST +dogsbody/M/TKSBT +dogtooth/M/TKT@ +Dogtown/M/TKTN +dogtrot/MS/TKTRT +dogtrotted//TKTRTT +dogtrotting//TKTRTN +dogwood/SM/TKWT +dogy's//TKS +Doha/M/TH +doh's//TS +doily/SM/TL +doing/MU/TN +Dolby/SM/TLB +doldrum/S/TLTRM +doldrums/M/TLTRMS +Dole/M/TL +dole/MGDS/TL +doled/F/TLT +doleful/PY/TLFL +dolefuller//TLFL +dolefullest//TLFLST +dolefulness/MS/TLFLNS +doles/F/TLS +Dolf/M/TLF +doling/F/TLN +Doll/M/TL +doll/MDGS/TL +dollar/SM/TL +Dolley/M/TL +Dolli/M/TL +Dollie/M/TL +dollop/GSMD/TLP +Dolly/M/TL +dolly/SDMG/TL +dolmen/MS/TLMN +dolomite/SM/TLMT +dolomitic//TLMTK +dolor/SM/TL +Dolores/M/TLRS +Dolorita/SM/TLRT +dolorous/Y/TLRS +Dolph/M/TLF +dolphin/SM/TLFN +dolt/MS/TLT +doltish/YP/TLTX +doltishness/SM/TLTXNS +Dom/M/TM +domain/MS/TMN +dome/DSMG/TM +Domenic/M/TMNK +Domenico/M/TMNK +Domeniga/M/TMNK +Domesday/M/TMST +domestic/S/TMSTK +domestically//TMSTKL +domesticate/DSXGN/TMSTKT +domesticated/U/TMSTKTT +domestication/M/TMSTKXN +domesticity/MS/TMSTST +domicile/SDMG/TMSL +domiciliary//TMSLR +dominance/MS/TMNNS +dominant/YS/TMNNT +dominate/VNGXSD/TMNT +domination/M/TMNXN +dominator/M/TMNT +dominatrices//TMNTRSS +dominatrix//TMNTRKS +domineer/DSG/TMN +domineering/YP/TMNRN +domineeringness/M/TMNRNNS +Dominga/M/TMN +Domingo/M/TMN +Dominguez/M/TMNS +Domini/M/TMN +Dominic/M/TMNK +Dominica/M/TMNK +Dominican/MS/TMNKN +Dominick/M/TMNK +Dominik/M/TMNK +dominion/MS/TMNN +Dominique/M/TMNK +domino/M/TMN +dominoes//TMNS +Domitian/M/TMXN +don/S/TN +Don/SM/TN +Dona/M/TN +dona/MS/TN +Donahue/M/TNH +Donal/M/TNL +Donald/M/TNLT +Donaldson/M/TNLTSN +Donall/M/TNL +Donalt/M/TNLT +donate/XVGNSD/TNT +Donatello/M/TNTL +donation/M/TNXN +donative/M/TNTF +Donaugh/M/TN +Donavon/M/TNFN +done/AUF/TN +Donella/M/TNL +Donelle/M/TNL +Donetsk/M/TNTSK +Donetta/M/TNT +dong/GDMS/TNK +dongle/S/TNKL +Donia/M/TN +Donica/M/TNK +Donielle/M/TNL +Donizetti/M/TNST +donkey/MS/TNK +Donn/RM/TN +Donna/M/TN +Donnamarie/M/TNMR +Donne/M/TN +donned//TNT +Donnell/M/TNL +Donnelly/M/TNL +Donner/M/TN +Donni/M/TN +Donnie/M/TN +donning//TNN +donnish/YP/TNX +donnishness/M/TNXNS +Donny/M/TN +donnybrook/MS/TNBRK +donor/MS/TN +Donovan/M/TNFN +don't//TNT +donut/MS/TNT +donutted//TNTT +donutting//TNTN +doodad/MS/TTT +doodle/SRDZG/TTL +doodlebug/MS/TTLBK +doodler/M/TTL +doohickey/MS/THK +Dooley/M/TL +Doolittle/M/TLTL +doom/MDGS/TM +doomsday/SM/TMST +Doonesbury/M/TNSBR +door/GDMS/T +doorbell/SM/TBL +doorhandles//THNTLS +doorkeep/RZ/TKP +doorkeeper/M/TKP +doorknob/SM/TKNB +doorman/M/TMN +doormat/SM/TMT +doormen//TMN +doornail/M/TNL +doorplate/SM/TPLT +doors/I/TS +doorstep/MS/TSTP +doorstepped//TSTPT +doorstepping//TSTPN +doorstop/MS/TSTP +doorway/MS/TW +dooryard/SM/TRYT +dopa/SM/TP +dopamine//TPMN +dopant/M/TPNT +dope/DRSMZG/TP +doper/M/TP +dopey//TP +dopier//TP +dopiest//TPST +dopiness/S/TPNS +Doppler/M/TPL +Dora/M/TR +Dorado/M/TRT +Doralia/M/TRL +Doralin/M/TRLN +Doralyn/M/TRLN +Doralynn/M/TRLN +Doralynne/M/TRLN +Dorcas//TKS +Dorchester/M/TXST +Doré/M/T +Doreen/M/TRN +Dorelia/M/TRL +Dorella/M/TRL +Dorelle/M/TRL +Dorena/M/TRN +Dorene/M/TRN +Doretta/M/TRT +Dorette/M/TRT +Dorey/M/TR +Dori/MS/TR +Doria/M/TR +Dorian/M/TRN +Doric//TRK +Dorice/M/TRS +Dorie/M/TR +Dorine/M/TRN +Dorisa/M/TRS +Dorise/M/TRS +Dorita/M/TRT +dork/S/TK +dorky/RT/TK +dorm/MRZS/TM +dormancy/MS/TMNS +dormant/S/TMNT +dormer/M/TM +dormice//TMS +dormitory/SM/TMTR +dormouse/M/TMS +Doro/M/TR +Dorolice/M/TRLS +Dorolisa/M/TRLS +Dorotea/M/TRT +Doroteya/M/TRTY +Dorothea/M/TR@ +Dorothee/M/TR@ +Dorothy/M/TR@ +Dorree/M/TR +Dorri/SM/TR +Dorrie/M/TR +Dorry/M/TR +dorsal/YS/TSL +Dorsey/M/TS +Dorthea/M/T@ +Dorthy/M/T@ +Dortmund/M/TTMNT +Dory/M/TR +dory/SM/TR +DOS//TS +dos/GDS/TS +dosage/SM/TSK +dose/M/TS +Dosi/M/TS +dosimeter/MS/TSMT +dosimetry/M/TSMTR +dossier/MS/TS +dost//TST +Dostoevsky/M/TSTFSK +DOT//TT +Dot/M/TT +dot/MDRSJZG/TT +dotage/SM/TTK +dotard/MS/TTT +dote/S/TT +doter/M/TT +Doti/M/TT +doting/Y/TTN +Dotson/M/TTSN +dotted//TTT +Dotti/M/TT +Dottie/M/TT +dottiness/M/TTNS +dotting//TTN +Dotty/M/TT +dotty/PRT/TT +Douala/M/TL +Douay/M/T +double/GPSRDZ/TBL +doubled/UA/TBLT +Doubleday/M/TBLT +doubleheader/MS/TBLHT +doubleness/M/TBLNS +doubler/M/TBL +doubles/M/TBLS +doublespeak/S/TBLSPK +doublet/MS/TBLT +doublethink/M/TBL@NK +doubleton/M/TBLTN +doubling/A/TBLN +doubloon/MS/TBLN +doubly//TBL +doubt/AGSDMB/TBT +doubted/U/TBTT +doubter/SM/TBT +doubtful/YP/TBTFL +doubtfulness/SM/TBTFLNS +doubting/Y/TBTN +doubtless/YP/TBTLS +doubtlessness/M/TBTLSNS +douche/GSDM/TX +Doug/M/TK +dough/M/T +Dougherty/M/TKT +doughs//TS +doughty/RT/TT +doughy/RT/TK +Dougie/M/TK +Douglas/M/TKLS +Douglass//TKLS +Dougy/M/TK +dour/TYRP/T +dourness/MS/TNS +Douro/M/TR +douse/SRDG/TS +douser/M/TS +Dov/MR/TF +dove/RSM/TF +dovecote/MS/TFKT +Dover/M/TF +dovetail/GSDM/TFTL +dovish//TFX +Dow/M/T +dowager/SM/TWK +dowdily//TTL +dowdiness/MS/TTNS +dowdy/TPSR/TT +dowel/GMDS/TWL +dower/GDMS/TW +down/GZSRD/TN +downbeat/SM/TNBT +downcast/S/TNKST +downdraft/M/TNTRFT +downer/M/TN +Downey/M/TN +downfall/NMS/TNFL +downgrade/GSD/TNKRT +downhearted/PY/TNHTT +downheartedness/MS/TNHTTNS +downhill/RS/TNHL +downland//TNLNT +download/DGS/TNLT +downpipes//TNPPS +downplay/GDS/TNPL +downpour/MS/TNP +downrange//TNRNK +downright/YP/TNRT +downrightness/M/TNRTNS +downriver//TNRF +Downs//TNS +downscale/GSD/TNSKL +downside/S/TNST +downsize/DSG/TNSS +downslope//TNSLP +downspout/SM/TNSPT +downstage/S/TNSTK +downstairs//TNSTS +downstate/SR/TNSTT +downstream//TNSTRM +downswing/MS/TNSWN +downtime/SM/TNTM +downtown/MRS/TNTN +downtowner/M/TNTN +downtrend/M/TNTRNT +downtrodden//TNTRTN +downturn/MS/TNTN +downward/YPS/TNWT +downwardness/M/TNWTNS +downwind//TNWNT +downy/RT/TN +dowry/SM/TR +dowse/GZSRD/TS +dowser/M/TS +doxology/MS/TKSLK +Doy/M/T +doyen/SM/TYN +doyenne/SM/TYN +Doyle/M/TL +doz/XGNDRS/TS +doze//TS +dozen/GHD/TSN +dozenths//TSN@S +dozer/M/TS +dozy//TS +DP//TP +DPs//TPS +dpt//TPT +DPT//TPT +Dr/M/TR +drab/YSP/TRB +drabbed//TRBT +drabber//TRB +drabbest//TRBST +drabbing//TRBN +drabness/MS/TRBNS +drachma/MS/TRXM +Draco/M/TRK +draconian//TRKNN +Draconian//TRKNN +Dracula/M/TRKL +draft/AMDGS/TRFT +draftee/SM/TRFT +drafter/MS/TRFT +draftily//TRFTL +draftiness/SM/TRFTNS +drafting/S/TRFTN +draftsman/M/TRFTSMN +draftsmanship/SM/TRFTSMNXP +draftsmen//TRFTSMN +draftsperson//TRFTSPSN +draftswoman//TRFTSWMN +draftswomen//TRFTSWMN +drafty/PTR/TRFT +drag/MS/TRK +dragged//TRKT +dragger/M/TRK +dragging/Y/TRKN +draggy/RT/TRK +dragnet/MS/TRKNT +dragon/SM/TRKN +dragonfly/SM/TRKNFL +dragonhead/M/TRKNHT +dragoon/DMGS/TRKN +drain/SZGRDM/TRN +drainage/MS/TRNK +drainboard/SM/TRNBT +drained/U/TRNT +drainer/M/TRN +drainpipe/MS/TRNPP +Drake/M/TRK +drake/SM/TRK +dram/MS/TRM +drama/SM/TRM +Dramamine/MS/TRMMN +dramatic/S/TRMTK +dramatical/Y/TRMTKL +dramatically/U/TRMTKL +dramatics/M/TRMTKS +dramatist/MS/TRMTST +dramatization/MS/TRMTSXN +dramatize/SRDZG/TRMTS +dramatized/U/TRMTST +dramatizer/M/TRMTS +dramaturgy/M/TRMTK +Drambuie/M/TRMB +drammed//TRMT +dramming//TRMN +drank//TRNK +Drano/M/TRN +drape/SRDGZ/TRP +draper/M/TRP +drapery/MS/TRPR +drastic//TRSTK +drastically//TRSTKL +drat/S/TRT +dratted//TRTT +dratting//TRTN +Dravidian/M/TRFTN +draw/ASG/TR +drawable//TRWBL +drawback/MS/TRBK +drawbridge/SM/TRBRK +drawer/SM/TRW +drawing/SM/TRWN +drawl/RDSG/TRL +drawler/M/TRL +drawling/Y/TRLN +drawly//TRL +drawn/AI/TRN +drawnly//TRNL +drawnness//TRNS +drawstring/MS/TRSTRN +dray/SMDG/TR +Dre/M/TR +dread/SRDG/TRT +dreadful/YPS/TRTFL +dreadfulness/SM/TRTFLNS +dreadlocks//TRTLKS +dreadnought/SM/TRTNT +dream/SMRDZG/TRM +dreamboat/SM/TRMBT +dreamed/U/TRMT +dreamer/M/TRM +dreamily//TRML +dreaminess/SM/TRMNS +dreaming/Y/TRMN +dreamland/SM/TRMLNT +dreamless/PY/TRMLS +dreamlessness/M/TRMLSNS +dreamlike//TRMLK +dreamworld/S/TRMWLT +dreamy/PTR/TRM +drear/S/TR +drearily//TRRL +dreariness/SM/TRRNS +dreary/TRSP/TRR +Dreddy/M/TRT +dredge/MZGSRD/TRK +dredger/M/TRKR +Dredi/M/TRT +dreg/MS/TRK +Dreiser/M/TRS +drench/GDRS/TRNX +drencher/M/TRNX +Dresden/M/TRSTN +dress/ADRSG/TRS +dressage/MS/TRSK +dressed/U/TRST +dresser/MS/TRS +dresser's/A/TRSS +dresses/U/TRSS +dressiness/SM/TRSNS +dressing/MS/TRSN +dressmaker/MS/TRSMK +dressmaking/SM/TRSMKN +dressy/PTR/TRS +drew/A/TR +Drew/M/TR +Drexel/M/TRKSL +Dreyfus/M/TRFS +Dreyfuss//TRFS +drib/SM/TRB +dribble/DRSGZ/TRBL +dribbler/M/TRBL +driblet/SM/TRBLT +dried/U/TRT +drier/M/TR +drift/RDZSG/TRFT +drifter/M/TRFT +drifting/Y/TRFTN +driftwood/SM/TRFTWT +drill/MRDZGS/TRL +driller/M/TRL +drilling/M/TRLN +drillmaster/SM/TRLMST +drink/BRSZG/TRNK +drinkable/S/TRNKBL +drinker/M/TRNK +drip/SM/TRP +dripped//TRPT +dripping/MS/TRPN +drippy/RT/TRP +drive/SRBGZJ/TRF +drivel/GZDRS/TRFL +driveler/M/TRFL +driven/P/TRFN +driver/M/TRF +driveway/MS/TRFW +drizzle/DSGM/TRSL +drizzling/Y/TRSLN +drizzly/TR/TRSL +drogue/MS/TRK +droll/RDSPTG/TRL +drollery/SM/TRLR +drollness/MS/TRLNS +drolly//TRL +dromedary/MS/TRMTR +Drona/M/TRN +drone/SRDGM/TRN +droning/Y/TRNN +drool/GSRD/TRL +droop/SGD/TRP +droopiness/MS/TRPNS +drooping/Y/TRPN +droopy/PRT/TRP +drop/SM/TRP +drophead//TRFT +dropkick/S/TRPKK +droplet/SM/TRPLT +dropout/MS/TRPT +dropped//TRPT +dropper/SM/TRP +dropping/MS/TRPN +dropsical//TRPSKL +dropsy/MS/TRPS +drosophila/M/TRSFL +dross/SM/TRS +drought/SM/TRT +drove/SRDGZ/TRF +drover/M/TRF +drown/RDSJG/TRN +drowner/M/TRN +drowse/SDG/TRS +drowsily//TRSL +drowsiness/SM/TRSNS +drowsy/PTR/TRS +Dru/M/TR +drub/S/TRB +drubbed//TRBT +drubber/MS/TRB +drubbing/SM/TRBN +Druci/M/TRS +Drucie/M/TRS +Drucill/M/TRSL +Drucy/M/TRS +Drud/M/TRT +drudge/MGSRD/TRK +drudger/M/TRKR +drudgery/SM/TRKR +drudging/Y/TRKNK +drug/SM/TRK +drugged//TRKT +druggie/SRT/TRK +drugging//TRKN +druggist/SM/TRKST +Drugi/M/TRK +drugless//TRKLS +drugstore/SM/TRKSTR +druid/MS/TRT +druidism/MS/TRTSM +Druid's//TRTS +drum/SM/TRM +drumbeat/SGM/TRMBT +drumhead/M/TRMHT +drumlin/MS/TRMLN +drummed//TRMT +drummer/SM/TRM +drumming//TRMN +Drummond/M/TRMNT +drumstick/SM/TRMSTK +drunk/SRNYMT/TRNK +drunkard/SM/TRNKT +drunken/YP/TRNKN +drunkenness/SM/TRNKNS +drupe/SM/TRP +Drury/M/TRR +Drusi/M/TRS +Drusie/M/TRS +Drusilla/M/TRSL +Drusy/M/TRS +druthers//TR@S +dry/GYDRSTZ/TR +dryad/MS/TRYT +Dryden/M/TRTN +dryer/MS/TRY +dryish//TRYX +dryness/SM/TRNS +drys//TRS +drystone//TRSTN +drywall/GSD/TRWL +D's//TS +d's/A/TS +Dshubba/M/TXB +DST//TST +DTP//TTP +Du/M/T +dual/YS/TL +dualism/MS/TLSM +dualist/M/TLST +dualistic//TLSTK +duality/MS/TLT +Duane/M/TN +dub/S/TB +Dubai/M/TB +dubbed//TBT +dubber/S/TB +dubbin/MS/TBN +dubbing/M/TBN +Dubcek/M/TBSK +Dubhe/M/TBH +dubiety/MS/TBT +dubious/YP/TBS +dubiousness/SM/TBSNS +Dublin/M/TBLN +Dubrovnik/M/TBRFNK +Dubuque/M/TBK +ducal//TKL +ducat/SM/TKT +duce/CAIKF/TS +duce's//TSS +Duchamp/M/TXMP +duchess/MS/TXS +duchy/SM/TX +duck/GSRDM/TK +duckbill/SM/TKBL +ducker/M/TK +duckling/SM/TKLN +duckpins//TKPNS +duckpond//TKPNT +duckweed/MS/TKWT +ducky/RSMT/TK +duct/KMSF/TKT +ducted/CFI/TKTT +ductile/I/TKTL +ductility/SM/TKTLT +ducting/F/TKTN +ductless//TKTLS +duct's/A/TKTS +ducts/CI/TKTS +ductwork/M/TKTWK +dud/GMDS/TT +Dud/M/TT +dudder//TT +dude/MS/TT +dudgeon/SM/TKN +Dudley/M/TTL +due/PMS/T +duel/MRDGZSJ/TL +duelist/MS/TLST +dueness/M/TNS +duenna/MS/TN +duet/MS/TT +duetted//TTT +duetting//TTN +duff/GZSRDM/TF +Duff/M/TF +duffel/M/TFL +duffer/M/TF +Duffie/M/TF +Duffy/M/TF +dug/S/TK +Dugald/M/TKLT +dugout/SM/TKT +duh//T +DUI//T +Duisburg/M/TSBK +duke/DSMG/TK +Duke/M/TK +dukedom/SM/TKTM +Dukey/M/TK +Dukie/M/TK +Duky/M/TK +Dulce/M/TLS +Dulcea/M/TLS +dulcet/SY/TLST +Dulci/M/TLS +Dulcia/M/TLX +Dulciana/M/TLXN +Dulcie/M/TLS +dulcify//TLSF +dulcimer/MS/TLSM +Dulcine/M/TLSN +Dulcinea/M/TLSN +Dulcy/M/TLS +dull/SRDPGT/TL +dullard/MS/TLT +Dulles/M/TLS +dullness/MS/TLNS +dully//TL +dulness's//TLNSS +Dulsea/M/TLS +Duluth/M/TL@ +duly/U/TL +Dumas//TMS +dumb/PSGTYRD/TM +dumbbell/MS/TMBL +dumbfound/GSDR/TMBFNT +dumbness/MS/TMBNS +Dumbo/M/TMB +dumbstruck//TMBSTRK +dumbwaiter/SM/TMBWT +dumdum/MS/TMTM +dummy/SDMG/TM +Dumont/M/TMNT +dump/SGZRD/TMP +dumper/UM/TMP +dumpiness/MS/TMPNS +dumpling/MS/TMPLN +dumpster/S/TMPST +Dumpster/S/TMPST +Dumpty/M/TMPT +dumpy/PRST/TMP +Dun/M/TN +dun/S/TN +Dunant/M/TNNT +Dunbar/M/TNB +Dunc/M/TNK +Duncan/M/TNKN +dunce/MS/TNS +Dundee/M/TNT +dunderhead/MS/TNTHT +dune/SM/TN +Dunedin/M/TNTN +dung/SGDM/TNK +dungaree/SM/TNKR +dungeon/GSMD/TNKN +dunghill/MS/TNKL +Dunham/M/TNHM +dunk/GSRD/TNK +dunker/M/TNK +Dunkirk/M/TNKK +Dunlap/M/TNLP +Dunn/M/TN +Dunne/M/TN +dunned//TNT +dunner//TN +dunnest//TNST +dunning//TNN +dunno/M/TN +Dunstan/M/TNSTN +duo/MS/T +duodecimal/S/TTSML +duodena//TTN +duodenal//TTNL +duodenum/M/TTNM +duologue/M/TLK +duopolist//TPLST +duopoly/M/TPL +dupe/NGDRSMZ/TP +duper/M/TP +dupion/M/TPN +duple//TPL +duplex/MSRDG/TPLKS +duplexer/M/TPLKS +duplicability/M/TPLKBLT +duplicable//TPLKBL +duplicate/ADSGNX/TPLKT +duplication/AM/TPLKXN +duplicative//TPLKTF +duplicator/MS/TPLKT +duplicitous//TPLSTS +duplicity/SM/TPLST +Dupont/MS/TPNT +DuPont/MS/TPNT +Dur/M/T +durability/MS/TRBLT +durable/PS/TRBL +durableness/M/TRBLNS +durably//TRBL +Duracell/M/TRSL +Duran/M/TRN +durance/SM/TRNS +Durand/M/TRNT +Durant/M/TRNT +Durante/M/TRNT +duration/MS/TRXN +durational//TRXNL +Durban/M/TBN +Dürer/M/TR +duress/SM/TRS +Durex/M/TRKS +Durham/MS/THM +during//TRN +Durkee/M/TK +Durkheim/M/TKHM +Durocher/M/TRX +durst//TST +durum/MS/TRM +Durward/M/TWT +Duse/M/TS +Dusenberg/M/TSNBK +Dusenbury/M/TSNBR +Dushanbe/M/TXNB +dusk/GDMS/TSK +duskiness/MS/TSKNS +dusky/RPT/TSK +Düsseldorf//TSLTF +dust/MRDGZS/TST +dustbin/MS/TSTBN +dustcart/M/TSTKT +dustcover//TSTKF +duster/M/TST +dustily//TSTL +Dustin/M/TSTN +dustiness/MS/TSTNS +dusting/M/TSTN +dustless//TSTLS +dustman/M/TSTMN +dustmen//TSTMN +dustpan/SM/TSTPN +Dusty/M/TST +dusty/RPT/TST +Dutch/M/TX +dutch/MS/TX +Dutchman/M/TXMN +Dutchmen//TXMN +Dutchwoman//TXWMN +Dutchwomen//TXWMN +duteous/Y/TTS +dutiable//TXBL +dutiful/UPY/TTFL +dutifulness/S/TTFLNS +duty/SM/TT +Duvalier/M/TFL +duvet/SM/TFT +duxes//TKSS +Dvina/M/TFN +Dvorák/M/TFK +Dwain/M/TWN +dwarf/MTGSPRD/TWF +dwarfish//TWFX +dwarfism/MS/TWFSM +Dwayne/M/TWN +dweeb/S/TWB +dwell/IGS/TWL +dweller/SM/TWL +dwelling/MS/TWLN +dwelt/I/TWLT +DWI//TW +Dwight/M/TWT +dwindle/GSD/TWNTL +Dy/M/T +dyad/MS/TYT +dyadic//TYTK +Dyan/M/TYN +Dyana/M/TYN +Dyane/M/TYN +Dyann/M/TYN +Dyanna/M/TYN +Dyanne/M/TYN +dybbuk/SM/TBK +dybbukim//TBKM +dye/JDRSMZG/TY +dyed/A/TYT +dyeing/M/TYN +dyer/M/TY +Dyer/M/TY +dyes/A/TYS +dyestuff/SM/TYSTF +dying/UA/TYN +Dyke/M/TK +dyke's//TKS +Dylan/M/TLN +Dyna/M/TN +Dynah/M/TN +dynamic/S/TNMK +dynamical/Y/TNMKL +dynamics/M/TNMKS +dynamism/SM/TNMSM +dynamite/RSDZMG/TNMT +dynamiter/M/TNMT +dynamized//TNMST +dynamo/MS/TNM +dynastic//TNSTK +dynasty/MS/TNST +dyne/M/TN +dysentery/SM/TSNTR +dysfunction/MS/TSFNKXN +dysfunctional//TSFNKXNL +dyslectic/S/TSLKTK +dyslexia/MS/TSLKS +dyslexic/S/TSLKSK +dyslexically//TSLKSKL +dyspepsia/MS/TSPPX +dyspeptic/S/TSPPTK +dysprosium/MS/TSPRSM +dystopia/M/TSTP +dystrophy/M/TSTRF +dz//TS +Dzerzhinsky/M/TSSHNSK +E//* +e/FMDS/* +ea//* +each//*X +Eachelle/M/*XL +Eada/M/*T +Eadie/M/*T +Eadith/M/*T@ +Eadmund/M/*TMNT +eager/TSPRYM/*K +eagerness/MS/*KNS +eagle/SDGM/*KL +eaglet/SM/*KLT +Eakins/M/*KNS +Eal/M/*L +Ealasaid/M/*LST +Eamon/M/*MN +ear/GSMDYH/* +earache/SM/*RX +eardrum/SM/*TRM +earful/MS/*FL +Earhart/M/*HT +earing/M/*RN +Earl/M/*L +earl/MS/*L +earldom/MS/*LTM +Earle/M/*L +Earlene/M/*LN +Earlie/M/*L +Earline/M/*LN +earliness/SM/*LNS +earlobe/S/*LB +Early/M/*L +early/PRST/*L +earmark/DGSJ/*MK +earmuff/SM/*MF +earn/GRDZTSJ/*N +earned/U/*NT +earner/M/*N +Earnest/M/*NST +earnest/PYS/*NST +Earnestine/M/*NSTN +earnestness/MS/*NSTNS +earning/M/*NN +Earp/M/*P +earphone/MS/*FN +earpieces//*PSS +earplug/MS/*PLK +earring/MS/*RN +earshot/MS/*XT +earsplitting//*SPLTN +earth/MDNYG/*@ +Eartha/M/*@ +earthbound//*@BNT +earthed/U/*@T +earthenware/MS/*@NWR +earthiness/SM/*@NS +earthliness/M/*@LNS +earthling/MS/*@LN +earthly/TPR/*@L +earthmen//*@MN +earthmover/M/*@MF +earthmoving//*@MFN +earthquake/SDGM/*@KK +earths/U/*@S +earthshaking//*@XKN +earthward/S/*@WT +earthwork/MS/*@WK +earthworm/MS/*@WM +earthy/PTR/*@ +Earvin/M/*FN +earwax/MS/*WKS +earwig/MS/*WK +earwigged//*WKT +earwigging//*WKN +ease/LDRSMG/*S +eased/E/*ST +easel/MS/*SL +easement/MS/*SMNT +easer/M/*S +ease's/EU/*SS +eases/UE/*SS +easies//*SS +easily/U/*SL +easiness/MSU/*SNS +easing/M/*SN +east/GSMR/*ST +East/ZSMR/*ST +eastbound//*STBNT +Easter/M/*ST +easter/Y/*ST +easterly/S/*STL +Eastern/RZ/*STN +eastern/ZR/*STN +easterner/M/*STN +Easterner/M/*STN +easternmost//*STNMST +Easthampton/M/*S@MPTN +easting/M/*STN +Eastland/M/*STLNT +Eastman/M/*STMN +eastward/S/*STWT +Eastwick/M/*STWK +Eastwood/M/*STWT +easy/PUTR/*S +easygoing/P/*SKN +easygoingness/M/*SKNNS +eat/SJZGNRB/*T +eatable/U/*TBL +eatables//*TBLS +eaten/U/*TN +eater/M/*T +eatery/MS/*TR +eating/M/*TN +Eaton/M/*TN +eave/SM/*F +eavesdrop/S/*FSTRP +eavesdropped//*FSTRPT +eavesdropper/MS/*FSTRP +eavesdropping//*FSTRPN +Eb/MN/*B +Eba/M/*B +ebb/DSG/*B +Ebba/M/*B +EBCDIC//*BKTK +Eben/M/*BN +Ebeneezer/M/*BNS +Ebeneser/M/*BNS +Ebenezer/M/*BNS +Eberhard/M/*BHT +Eberto/M/*BT +Ebola//*BL +Ebonee/M/*BN +Ebonics//*BNKS +Ebony/M/*BN +ebony/SM/*BN +Ebro/M/*BR +ebullience/SM/*BLNS +ebullient/Y/*BLNT +ebullition/SM/*BLXN +EC//*K +eccentric/MS/*SNTRK +eccentrically//*SNTRKL +eccentricity/SM/*SNTRST +eccl//*KL +Eccles//*KLS +Ecclesiastes/M/*KLXSTS +ecclesiastic/MS/*KLXSTK +ecclesiastical/Y/*KLXSTKL +ECG//*KK +echelon/SGDM/*XLN +echinoderm/SM/*XNTM +echo/DMG/*X +echoed/A/*XT +echoes/A/*XS +echoic//*XK +echolocation/SM/*XLKXN +éclair/MS/KL +éclat/MS/KLT +eclectic/S/*KLKTK +eclectically//*KLKTKL +eclecticism/MS/*KLKTSSM +eclipse/MGSD/*KLPS +ecliptic/MS/*KLPTK +eclogue/MS/*KLK +Eco/M/*K +ecocide/SM/*KST +ecol//*KL +Ecole/M/*KL +ecologic//*KLKK +ecological/Y/*KLKKL +ecologist/MS/*KLKST +ecology/MS/*KLK +econ//*KN +econometric/S/*KNMTRK +Econometrica/M/*KNMTRK +econometricians//*KNMTRXNS +econometrics/M/*KNMTRKS +economic/S/*KNMK +economical/YU/*KNMKL +economics/M/*KNMKS +economist/MS/*KNMST +economization//*KNMSXN +economize/GZSRD/*KNMS +economizer/M/*KNMS +economizing/U/*KNMSN +economy/MS/*KNM +ecosystem/MS/*KSSTM +ecru/SM/*KR +ecstasy/MS/*KSTS +Ecstasy/S/*KSTS +ecstatic/S/*KSTTK +ecstatically//*KSTTKL +ectoplasm/M/*KTPLSM +Ecuador/M/*KT +Ecuadoran/S/*KTRN +Ecuadorean/S/*KTRN +Ecuadorian/S/*KTRN +ecumenic/MS/*KMNK +ecumenical/Y/*KMNKL +ecumenicism/SM/*KMNSSM +ecumenicist/MS/*KMNSST +ecumenics/M/*KMNKS +ecumenism/SM/*KMNSM +ecumenist/MS/*KMNST +eczema/MS/*KSM +ed/ASC/*T +Ed/XMN/*T +Eda/M/*T +Edam/SM/*TM +Edan/M/*TN +Edd/M/*T +Edda/M/*T +Eddi/M/*T +Eddie/M/*T +Eddy/M/*T +eddy/SDMG/*T +Ede/M/*T +Edee/M/*T +Edeline/M/*TLN +edelweiss/MS/*TLWS +edema/SM/*TM +edematous//*TMTS +eden//*TN +Eden/M/*TN +Edgar/M/*TK +Edgard/M/*TKT +Edgardo/M/*TKT +edge/DRSMZGJ/*K +edgeless//*KLS +edger/M/*KR +Edgerton/M/*KRTN +Edgewater/M/*KWT +edgewise//*KWS +Edgewood/M/*KWT +edgily//*KL +edginess/MS/*KNS +edging/M/*KNK +edgy/TRP/*K +Edi/MH/*T +edibility/MS/*TBLT +edible/SP/*TBL +edibleness/SM/*TBLNS +edict/SM/*TKT +Edie/M/*T +edification/M/*TFKXN +edifice/SM/*TFS +edifier/M/*TF +edify/ZNXGRSD/*TF +edifying/U/*TFYN +Edik/M/*TK +Edin/M/*TN +Edinburgh/M/*TNB +Edison/M/*TSN +edit/SADG/*TT +Edita/M/*TT +editable//*TTBL +edited/IU/*TTT +Edith/M/*T@ +Editha/M/*T@ +Edithe/M/*T@ +edition/SM/*TXN +editor/MS/*TT +editorial/YS/*TTRL +editorialist/M/*TTRLST +editorialize/DRSG/*TTRLS +editorializer/M/*TTRLS +editorship/MS/*TTXP +Ediva/M/*TF +Edlin/M/*TLN +Edmon/M/*TMN +Edmond/M/*TMNT +Edmonton/M/*TMNTN +Edmund/M/*TMNT +Edna/M/*TN +Edouard/M/*TT +EDP//*TP +eds//*TS +Edsel/M/*TSL +Edsger/M/*TSK +EDT//*TT +Eduard/M/*TT +Eduardo/M/*TT +educ/DBG/*TK +educability/SM/*TKBLT +educable/S/*TKBL +educate/XASDGN/*TKT +educated/YP/*TKTT +education/AM/*TKXN +educational/Y/*TKXNL +educationalists//*TKXNLSTS +educationists//*TKXNSTS +educative//*TKTF +educator/MS/*TKT +educe/S/*TS +eduction/M/*TKXN +Eduino/M/*TN +edutainment/S/*TTNMNT +Edvard/M/*TFT +Edward/SM/*TWT +Edwardian//*TWTN +Edwardo/M/*TWT +Edwin/M/*TWN +Edwina/M/*TWN +Edy/M/*T +Edyth/M/*T@ +Edythe/M/*T@ +EEC//*K +EEG//*K +eek/S/*K +eel/MS/*L +eelgrass/M/*LKRS +e'en//*N +EEO//* +EEOC//*K +e'er//* +eerie/RT/*R +eerily//*RL +eeriness/MS/*RNS +Eeyore/M/*YR +efface/SRDLG/*FS +effaceable/I/*FSBL +effacement/MS/*FSMNT +effacer/M/*FS +effect/SMDGV/*FKT +effective/YIP/*FKTF +effectiveness/ISM/*FKTFNS +effectives//*FKTFS +effector/MS/*FKT +effectual/IYP/*FKTL +effectualness/MI/*FKTLNS +effectuate/SDGN/*FKTT +effectuation/M/*FKTXN +effeminacy/MS/*FMNS +effeminate/SY/*FMNT +effendi/MS/*FNT +efferent/SY/*FRNT +effervesce/GSD/*FFS +effervescence/SM/*FFSNS +effervescent/Y/*FFSNT +effete/YP/*FT +effeteness/SM/*FTNS +efficacious/IPY/*FKSS +efficaciousness/MI/*FKSSNS +efficacy/IMS/*FKS +efficiency/MIS/*FSNS +efficient/ISY/*FSNT +Effie/M/*F +effigy/SM/*FK +effloresce//*FLRS +efflorescence/SM/*FLRSNS +efflorescent//*FLRSNT +effluence/SM/*FLNS +effluent/MS/*FLNT +effluvia//*FLF +effluvium/M/*FLFM +efflux/M/*FLKS +effluxion//*FLKSN +effort/MS/*FT +effortless/PY/*FTLS +effortlessness/SM/*FTLSNS +effrontery/MS/*FRNTR +effulgence/SM/*FLKNS +effulgent//*FLKNT +effuse/XSDVGN/*FS +effusion/M/*FXN +effusive/YP/*FSF +effusiveness/MS/*FSFNS +EFL//*FL +Efrain/M/*FRN +Efrem/M/*FRM +Efren/M/*FRN +EFT//*FT +EGA/M/*K +egad//*KT +egalitarian/I/*KLTRN +egalitarianism/MS/*KLTRNSM +egalitarians//*KLTRNS +Egan/M/*KN +Egbert/M/*KBT +Egerton/M/*KTN +egg/GMDRS/*K +eggbeater/SM/*KBT +eggcup/MS/*KKP +egger/M/*K +egghead/SDM/*KHT +eggheaded/P/*KHTT +eggnog/SM/*KNK +eggplant/MS/*KPLNT +eggshell/SM/*KXL +egis's//*KSS +eglantine/MS/*KLNTN +ego/SM/*K +egocentric/S/*KSNTRK +egocentrically//*KSNTRKL +egocentricity/SM/*KSNTRST +egoism/SM/*KSM +egoist/SM/*KST +egoistic//*KSTK +egoistical/Y/*KSTKL +egomania/MS/*KMN +egomaniac/MS/*KMNK +Egon/M/*KN +Egor/M/*K +egotism/SM/*KTSM +egotist/MS/*KTST +egotistic//*KTSTK +egotistical/Y/*KTSTKL +egregious/PY/*KRKS +egregiousness/MS/*KRKSNS +egress/SDMG/*KRS +egret/SM/*KRT +Egypt/M/*KPT +Egyptian/S/*KPXN +Egyptology/M/*KPTLK +eh//* +Ehrlich/M/*RLX +Eichmann/M/*XMN +eider/SM/*T +eiderdown/SM/*TTN +eidetic//*TTK +Eiffel/M/*FL +eigenfunction/MS/*KNFNKXN +eigenstate/S/*KNSTT +eigenvalue/SM/*KNFL +eigenvector/MS/*KNFKT +eight/SM/*T +eighteen/MHS/*TN +eighteenths//*TN@S +eightfold//*TFLT +eighth/MS/*@ +eighths//*@S +eightieths//*T@S +eightpence//*TPNS +eighty/SHM/*T +Eileen/M/*LN +Eilis/M/*LS +Eimile/M/*ML +Einstein/SM/*NSTN +Einsteinian//*NSTNN +einsteinium/MS/*NSTNM +Eire/M/*R +Eirena/M/*RN +Eisenhower/M/*SNHW +Eisenstein/M/*SNSTN +Eisner/M/*SN +eisteddfod/M/*STTFT +either//*@ +ejaculate/SDXNG/*KKLT +ejaculation/M/*KKLXN +ejaculatory//*KKLTR +eject/VGSD/*KKT +ejecta//*KKT +ejection/SM/*KKXN +ejector/SM/*KKT +Ekaterina/M/*KTRN +Ekberg/M/*KBK +eke/DSG/*K +eked/A/*KT +EKG//*KK +Ekstrom/M/*KSTRM +Ektachrome/M/*KTXRM +el/AS/*L +El/MY/*L +elaborate/SDYPVNGX/*LBRT +elaborateness/SM/*LBRTNS +elaboration/M/*LBRXN +elaborators//*LBRTS +Elaina/M/*LN +Elaine/M/*LN +élan/M/LN +Elana/M/*LN +eland/SM/*LNT +Elane/M/*LN +Elanor/M/*LN +elans//*LNS +elapse/SDG/*LPS +elastic/S/*LSTK +elastically/I/*LSTKL +elasticated//*LSTKTT +elasticity/SM/*LSTST +elasticize/GDS/*LSTSS +elastodynamics//*LSTTNMKS +elastomer/M/*LSTM +elate/SRDXGN/*LT +elated/PY/*LTT +elatedness/M/*LTTNS +elater/M/*LT +elation/M/*LXN +Elayne/M/*LN +Elba/MS/*LB +Elbe/M/*LB +Elbert/M/*LBT +Elberta/M/*LBT +Elbertina/M/*LBTN +Elbertine/M/*LBTN +elbow/GDMS/*LB +elbowroom/SM/*LBRM +Elbrus/M/*LBRS +Elden/M/*LTN +elder/SY/*LT +elderberry/MS/*LTBR +elderflower//*LTFLW +elderliness/M/*LTLNS +elderly/PS/*LTL +eldest//*LTST +Eldin/M/*LTN +Eldon/M/*LTN +Eldorado's//*LTRTS +Eldredge/M/*LTRK +Eldridge/M/*LTRK +Eleanor/M/*LN +Eleanora/M/*LNR +Eleanore/M/*LNR +Eleazar/M/*LS +elect/ASGD/*LKT +electable/U/*LKTBL +elected/U/*LKTT +election/SAM/*LKXN +electioneer/GSD/*LKXN +elective/SPY/*LKTF +electiveness/M/*LKTFNS +elector/SM/*LKT +electoral/Y/*LKTRL +electorate/SM/*LKTRT +Electra/M/*LKTR +electress/M/*LKTRS +electric/S/*LKTRK +electrical/PY/*LKTRKL +electricalness/M/*LKTRKLNS +electrician/SM/*LKTRXN +electricity/SM/*LKTRST +electrification/M/*LKTRFKXN +electrifier/M/*LKTRF +electrify/ZXGNDRS/*LKTRF +electro/M/*LKTR +electrocardiogram/MS/*LKTRKTKRM +electrocardiograph/M/*LKTRKTKRF +electrocardiographs//*LKTRKTKRFS +electrocardiography/MS/*LKTRKTKRF +electrochemical/Y/*LKTRXMKL +electrocute/GNXSD/*LKTRKT +electrocution/M/*LKTRKXN +electrode/SM/*LKTRT +electrodynamic/YS/*LKTRTNMK +electrodynamics/M/*LKTRTNMKS +electroencephalogram/SM/*LKTRNSFLKRM +electroencephalograph/M/*LKTRNSFLKRF +electroencephalographic//*LKTRNSFLKRFK +electroencephalographs//*LKTRNSFLKRFS +electroencephalography/MS/*LKTRNSFLKRF +electrologist/MS/*LKTRLKST +electroluminescent//*LKTRLMNSNT +electrolysis/M/*LKTRLSS +electrolyte/SM/*LKTRLT +electrolytic//*LKTRLTK +electrolytically//*LKTRLTKL +electrolyze/SDG/*LKTRLS +electromagnet/SM/*LKTRMKNT +electromagnetic//*LKTRMKNTK +electromagnetically//*LKTRMKNTKL +electromagnetism/SM/*LKTRMKNTSM +electromechanical//*LKTRMXNKL +electromechanics//*LKTRMXNKS +electromotive//*LKTRMTF +electromyograph//*LKTRMYKRF +electromyographic//*LKTRMYKRFK +electromyographically//*LKTRMYKRFKL +electromyography/M/*LKTRMYKRF +electron/MS/*LKTRN +electronegative//*LKTRNKTF +electronic/S/*LKTRNK +electronically//*LKTRNKL +electronics/M/*LKTRNKS +electrophoresis/M/*LKTRFRSS +electrophorus/M/*LKTRFRS +electroplate/DSG/*LKTRPLT +electroscope/MS/*LKTRSKP +electroscopic//*LKTRSKPK +electroshock/GDMS/*LKTRXK +electrostatic/S/*LKTRSTTK +electrostatics/M/*LKTRSTTKS +electrotherapist/M/*LKTR@RPST +electrotype/GSDZM/*LKTRTP +electroweak//*LKTRWK +eleemosynary//*LMSNR +Eleen/M/*LN +elegance/ISM/*LKNS +elegant/YI/*LKNT +elegiac/S/*LKK +elegiacal//*LKKL +elegy/SM/*LK +elem//*LM +element/MS/*LMNT +elemental/YS/*LMNTL +elementarily//*LMNTRL +elementariness/M/*LMNTRNS +elementary/P/*LMNTR +Elena/M/*LN +Elene/M/*LN +Eleni/M/*LN +Elenore/M/*LNR +Eleonora/M/*LNR +Eleonore/M/*LNR +elephant/SM/*LFNT +elephantiases//*LFNXSS +elephantiasis/M/*LFNXSS +elephantine//*LFNTN +elev/NX/*LF +elevate/XDSNG/*LFT +elevated/S/*LFTT +elevation/M/*LFXN +elevator/SM/*LFT +eleven/HM/*LFN +elevens/S/*LFNS +elevenths//*LFN@S +elf/M/*LF +Elfie/M/*LF +elfin/S/*LFN +elfish//*LFX +Elfreda/M/*LFRT +Elfrida/M/*LFRT +Elfrieda/M/*LFRT +Elga/M/*LK +Elgar/M/*LK +Eli/M/*L +Elia/SM/*L +Elianora/M/*LNR +Elianore/M/*LNR +Elicia/M/*LX +elicit/GSD/*LST +elicitation/MS/*LSTXN +elide/GSD/*LT +Elie/M/*L +eligibility/ISM/*LKBLT +eligible/SI/*LKBL +Elihu/M/*LH +Elijah/M/*LK +eliminate/XSDYVGN/*LMNT +elimination/M/*LMNXN +eliminator/SM/*LMNT +Elinor/M/*LN +Elinore/M/*LNR +Eliot/M/*LT +Elisa/M/*LS +Elisabet/M/*LSBT +Elisabeth/M/*LSB@ +Elisabetta/M/*LSBT +Elise/M/*LS +Eliseo/M/*LS +Elisha/M/*LX +elision/SM/*LXN +Elissa/M/*LS +Elita/M/*LT +elite/MPS/*LT +elitism/SM/*LTSM +elitist/SM/*LTST +elixir/MS/*LKS +Eliza/M/*LS +Elizabet/M/*LSBT +Elizabeth/M/*LSB@ +Elizabethan/S/*LSB@N +elk/MS/*LK +Elka/M/*LK +Elke/M/*LK +Elkhart/M/*LKHT +ell/MS/*L +Ella/M/*L +Elladine/M/*LTN +Ellary/M/*LR +Elle/M/*L +Ellen/M/*LN +Ellene/M/*LN +Ellerey/M/*LR +Ellery/M/*LR +Ellesmere/M/*LSMR +Ellette/M/*LT +Elli/SM/*L +Ellie/M/*L +Ellington/M/*LNTN +Elliot/M/*LT +Elliott/M/*LT +ellipse/MS/*LPS +ellipsis/M/*LPSS +ellipsoid/MS/*LPST +ellipsoidal//*LPSTL +ellipsometer/MS/*LPSMT +ellipsometry//*LPSMTR +elliptic//*LPTK +elliptical/YS/*LPTKL +ellipticity/M/*LPTST +Ellison/M/*LSN +Ellissa/M/*LS +Ellswerth/M/*LSW@ +Ellsworth/M/*LSW@ +Ellwood/M/*LWT +Elly/M/*L +Ellyn/M/*LN +Ellynn/M/*LN +elm/MRS/*LM +Elma/M/*LM +Elmer/M/*LM +Elmhurst/M/*LMHST +Elmira/M/*LMR +Elmo/M/*LM +Elmore/M/*LMR +Elmsford/M/*LMSFT +Elna/MH/*LN +Elnar/M/*LN +Elnath/M/*LN@ +Elnora/M/*LNR +Elnore/M/*LNR +elocution/SM/*LKXN +elocutionary//*LKXNR +elocutionist/MS/*LKXNST +elodea/S/*LT +Elohim/M/*LHM +Eloisa/M/*LS +Eloise/M/*LS +elongate/NGXSD/*LNKT +elongation/M/*LNKXN +Elonore/M/*LNR +elope/SRDLG/*LP +elopement/MS/*LPMNT +eloper/M/*LP +eloquence/SM/*LKNS +eloquent/IY/*LKNT +Elora/M/*LR +Eloy/M/*L +Elroy/M/*LR +els//*LS +Elsa/M/*LS +Elsbeth/M/*LSB@ +else/M/*LS +Else/M/*LS +Elset/M/*LST +elsewhere//*LSHR +Elsey/M/*LS +Elsi/M/*LS +Elsie/M/*LS +Elsinore/M/*LSNR +Elspeth/M/*LSP@ +Elston/M/*LSTN +Elsworth/M/*LSW@ +Elsy/M/*LS +Eltanin/M/*LTNN +Elton/M/*LTN +eluate/SM/*LT +elucidate/SDVNGX/*LSTT +elucidation/M/*LSTXN +elude/GSD/*LT +elusive/YP/*LSF +elusiveness/SM/*LSFNS +elute/DGN/*LT +elution/M/*LXN +Elva/M/*LF +elven//*LFN +elver/SM/*LF +Elvera/M/*LFR +elves/M/*LFS +Elvia/M/*LF +Elvin/M/*LFN +Elvina/M/*LFN +Elvira/M/*LFR +Elvis/M/*LFS +elvish//*LFX +Elvyn/M/*LFN +Elwin/M/*LWN +Elwira/M/*LWR +Elwood/M/*LWT +Elwyn/M/*LN +Ely/M/*L +Elyn/M/*LN +Elyse/M/*LS +Elysée/M/*LS +Elysees//*LSS +Elysha/M/*LX +Elysia/M/*LX +elysian//*LXN +Elysian//*LXN +Elysium/SM/*LSM +Elyssa/M/*LS +EM//*M +em/M/*M +Em/M/*M +Ema/M/*M +emaciate/NGXDS/*MXT +emaciation/M/*MXXN +emacs/M/*MKS +Emacs/M/*MKS +email/SMDG/*ML +Emalee/M/*ML +Emalia/M/*ML +emanate/XSDVNG/*MNT +emanation/M/*MNXN +emancipate/DSXGN/*MNSPT +emancipation/M/*MNSPXN +emancipator/MS/*MNSPT +Emanuel/M/*MNL +Emanuele/M/*MNL +emasculate/GNDSX/*MSKLT +emasculation/M/*MSKLXN +embalm/ZGRDS/*MBLM +embalmer/M/*MBLM +embank/GLDS/*MBNK +embankment/MS/*MBNKMNT +embarcadero//*MBKTR +embargo/GMD/*MBK +embargoes//*MBKS +embark/ADESG/*MBK +embarkation/EMS/*MBKXN +embarrass/SDLG/*MBRS +embarrassed/U/*MBRST +embarrassedly//*MBRSTL +embarrassing/Y/*MBRSN +embarrassment/MS/*MBRSMNT +embassy/MS/*MBS +embattle/DSG/*MBTL +embed/S/*MBT +embeddable//*MBTBL +embedded//*MBTT +embedder//*MBT +embedding/MS/*MBTN +embellish/LGRSD/*MBLX +embellished/U/*MBLXT +embellisher/M/*MBLX +embellishment/MS/*MBLXMNT +ember/MS/*MB +embezzle/LZGDRS/*MBSL +embezzlement/MS/*MBSLMNT +embezzler/M/*MBSL +embitter/LGDS/*MBT +embitterment/SM/*MBTMNT +emblazon/DLGS/*MBLSN +emblazonment/SM/*MBLSNMNT +emblem/GSMD/*MBLM +emblematic//*MBLMTK +embodier/M/*MBT +embodiment/ESM/*MBTMNT +embody/ESDGA/*MBT +embolden/DSG/*MBLTN +embolism/SM/*MBLSM +embosom//*MBSM +emboss/ZGRSD/*MBS +embosser/M/*MBS +embouchure/SM/*MBXR +embower/GSD/*MBW +embrace/RSDVG/*MBRS +embraceable//*MBRSBL +embracer/M/*MBRS +embracing/Y/*MBRSN +embrasure/MS/*MBRSR +embrittle//*MBRTL +embrocation/SM/*MBRKXN +embroider/SGZDR/*MBRT +embroiderer/M/*MBRTR +embroidery/MS/*MBRTR +embroil/SLDG/*MBRL +embroilment/MS/*MBRLMNT +embryo/SM/*MBRY +embryologist/SM/*MBRYLKST +embryology/MS/*MBRYLK +embryonic//*MBRYNK +emcee/SDM/*MS +emceeing//*MSN +Emelda/M/*MLT +Emelen/M/*MLN +Emelia/M/*ML +Emelina/M/*MLN +Emeline/M/*MLN +Emelita/M/*MLT +Emelyne/M/*MLN +emend/SRDGB/*MNT +emendation/MS/*MNTXN +Emera/M/*MR +emerald/SM/*MRLT +emerge/ADSG/*MK +emergence/MAS/*MKNS +emergency/SM/*MKNS +emergent/S/*MKNT +emerita//*MRT +emeritae//*MRT +emeriti//*MRT +emeritus//*MRTS +Emerson/M/*MSN +Emery/M/*MR +emery/MGSD/*MR +emetic/S/*MTK +emf/S/*MF +emigrant/MS/*MKRNT +emigrate/SDXNG/*MKRT +emigration/M/*MKRXN +émigré/S/MKR +Emil/M/*ML +Emile/M/*ML +Emilee/M/*ML +Emili/M/*ML +Emilia/M/*ML +Emilie/M/*ML +Emiline/M/*MLN +Emilio/M/*ML +Emily/M/*ML +eminence/MS/*MNNS +Eminence/MS/*MNNS +eminent/Y/*MNNT +emir/SM/*M +emirate/SM/*MRT +emissary/SM/*MSR +emission/AMS/*MXN +emissivity/MS/*MSFT +emit/S/*MT +emittance/M/*MTNS +emitted//*MTT +emitter/SM/*MT +emitting//*MTN +Emlen/M/*MLN +Emlyn/M/*MLN +Emlynn/M/*MLN +Emlynne/M/*MLN +Emma/M/*M +Emmalee/M/*ML +Emmaline/M/*MLN +Emmalyn/M/*MLN +Emmalynn/M/*MLN +Emmalynne/M/*MLN +Emmanuel/M/*MNL +Emmeline/M/*MLN +Emmerich/M/*MRX +Emmery/M/*MR +Emmet/M/*MT +Emmett/M/*MT +Emmey/M/*M +Emmi/M/*M +Emmie/M/*M +Emmit/M/*MT +Emmott/M/*MT +Emmy/SM/*M +Emmye/M/*MY +Emogene/M/*MKN +emollient/S/*MLNT +emolument/SM/*MLMNT +Emory/M/*MR +emote/SDVGNX/*MT +emotion/M/*MXN +emotional/UY/*MXNL +emotionalism/MS/*MXNLSM +emotionality/M/*MXNLT +emotionalize/GDS/*MXNLS +emotionless//*MXNLS +emotive/Y/*MTF +empaneled//*MPNLT +empaneling//*MPNLN +empath//*MP@ +empathetic//*MP@TK +empathetical/Y/*MP@TKL +empathic//*MP@K +empathize/SDG/*MP@S +empathy/MS/*MP@ +emperor/MS/*MPR +emphases//*MFSS +emphasis/M/*MFSS +emphasize/ZGCRSDA/*MFSS +emphatic/U/*MFTK +emphatically/U/*MFTKL +emphysema/SM/*MFSM +emphysematous//*MFSMTS +empire/MS/*MPR +empiric/SM/*MPRK +empirical/Y/*MPRKL +empiricism/SM/*MPRSSM +empiricist/SM/*MPRSST +emplace/L/*MPLS +emplacement/MS/*MPLSMNT +employ/LAGDS/*MPL +employability/UM/*MPLYBLT +employable/US/*MPLYBL +employed/U/*MPLYT +employee/SM/*MPLY +employer/SM/*MPLY +employment/UMAS/*MPLMNT +emporium/MS/*MPRM +empower/GLSD/*MPW +empowerment/MS/*MPWMNT +empress/MS/*MPRS +emptier/M/*MPT +emptily//*MPTL +emptiness/SM/*MPTNS +empty/GRSDPT/*MPT +empyrean/SM/*MPRN +ems/C/*MS +EMT//*MT +emu/SM/*M +emulate/SDVGNX/*MLT +emulation/M/*MLXN +emulative/Y/*MLTF +emulator/MS/*MLT +emulsification/M/*MLSFKXN +emulsifier/M/*MLSF +emulsify/NZSRDXG/*MLSF +emulsion/SM/*MLXN +Emyle/M/*ML +Emylee/M/*ML +en/BM/*N +enable/SRDZG/*NBL +enabler/M/*NBL +enact/SGALD/*NKT +enactment/ASM/*NKTMNT +enamel/ZGJMDRS/*NML +enameler/M/*NML +enamelware/SM/*NMLWR +enamor/DSG/*NM +enc//*NK +encamp/LSDG/*NKMP +encampment/MS/*NKMPMNT +encapsulate/SDGNX/*NKPSLT +encapsulation/M/*NKPSLXN +encase/GSDL/*NKS +encasement/SM/*NKSMNT +encephalitic//*NSFLTK +encephalitides//*NSFLTTS +encephalitis/M/*NSFLTS +encephalographic//*NSFLKRFK +encephalopathy/M/*NSFLP@ +enchain/SGD/*NXN +enchant/ESLDG/*NXNT +enchanter/MS/*NXNT +enchanting/Y/*NXNTN +enchantment/MSE/*NXNTMNT +enchantress/MS/*NXNTRS +enchilada/SM/*NXLT +encipher/SRDG/*NSF +encipherer/M/*NSFR +encircle/GLDS/*NSKL +encirclement/SM/*NSKLMNT +encl//*NKL +enclave/MGDS/*NKLF +enclose/GDS/*NKLS +enclosed/U/*NKLST +enclosure/SM/*NKLSR +encode/ZJGSRD/*NKT +encoder/M/*NKT +encomium/SM/*NKMM +encompass/GDS/*NKMPS +encore/GSD/*NKR +encounter/GSD/*NKNT +encourage/SRDGL/*NKRK +encouragement/SM/*NKRKMNT +encourager/M/*NKRK +encouraging/Y/*NKRKN +encroach/LGRSD/*NKRX +encroacher/M/*NKRX +encroachment/MS/*NKRXMNT +encrust/DSG/*NKRST +encrustation/MS/*NKRSTXN +encrypt/DGS/*NKRPT +encrypted/U/*NKRPTT +encryption/SM/*NKRPXN +encumber/SEDG/*NKMB +encumbered/U/*NKMBRT +encumbrance/SRM/*NKMBRNS +encumbrancer/M/*NKMBRNS +ency//*NS +encyclical/SM/*NSKLKL +encyclopaedia's//*NSKLPTS +encyclopedia/SM/*NSKLPT +encyclopedic//*NSKLPTK +encyst/GSLD/*NSST +encystment/MS/*NSSTMNT +end/ZGVMDRSJ/*NT +endanger/DGSL/*NTNK +endangerment/SM/*NTNKMNT +endear/GSLD/*NT +endearing/Y/*NTRN +endearment/MS/*NTMNT +endeavor/GZSMRD/*NTF +endeavored/U/*NTFRT +endeavorer/M/*NTFR +endemic/S/*NTMK +endemically//*NTMKL +endemicity//*NTMST +ender/M/*NT +endgame/M/*NTKM +Endicott/M/*NTKT +ending/M/*NTN +endive/SM/*NTF +endless/PY/*NTLS +endlessness/MS/*NTLSNS +endmost//*NTMST +endnote/MS/*NTNT +endocrine/S/*NTKRN +endocrinologist/SM/*NTKRNLKST +endocrinology/SM/*NTKRNLK +endogamous//*NTKMS +endogamy/M/*NTKM +endogenous/Y/*NTKNS +endomorphism/SM/*NTMFSM +endorse/DRSZGL/*NTS +endorsement/MS/*NTSMNT +endorser/M/*NTS +endoscope/MS/*NTSKP +endoscopic//*NTSKPK +endoscopy/SM/*NTSKP +endosperm/M/*NTSPM +endothelial//*NT@LL +endothermic//*NT@MK +endow/GSDL/*NT +endowment/SM/*NTMNT +endpoint/MS/*NTPNT +endue/SDG/*NT +endungeoned//*NTNKNT +endurable/U/*NTRBL +endurably/U/*NTRBL +endurance/SM/*NTRNS +endure/BSDG/*NTR +enduring/YP/*NTRN +enduringness/M/*NTRNNS +endways//*NTWS +Endymion/M/*NTMN +ENE//*N +enema/SM/*NM +enemy/SM/*NM +energetic/S/*NKTK +energetically//*NKTKL +energetics/M/*NKTKS +energize/ZGDRS/*NKS +energized/U/*NKST +energizer/M/*NKS +energy/MS/*NK +enervate/XNGVDS/*NFT +enervation/M/*NFXN +enfeeble/GLDS/*NFBL +enfeeblement/SM/*NFBLMNT +enfilade/MGDS/*NFLT +enfold/SGD/*NFLT +enforce/LDRSZG/*NFS +enforceability/M/*NFSBLT +enforceable/U/*NFSBL +enforced/Y/*NFST +enforcement/SM/*NFSMNT +enforcer/M/*NFS +enforcible/U/*NFSBL +enfranchise/ELDRSG/*NFRNXS +enfranchisement/EMS/*NFRNXSMNT +enfranchiser/M/*NFRNXS +Eng/M/*NK +engage/ADSGE/*NKK +engagement/SEM/*NKKMNT +engaging/Y/*NKKN +Engel/MS/*NKL +Engelbert/M/*NKLBT +engender/DGS/*NKNT +engine/MGSD/*NKN +engineer/GSMDJ/*NKN +engineering/MY/*NKNRN +England/M/*NKLNT +england/ZR/*NKLNT +Englebert/M/*NKLBT +Englewood/M/*NKLWT +English/GDRSM/*NKLX +Englishman/M/*NKLXMN +Englishmen//*NKLXMN +Englishwoman/M/*NKLXWMN +Englishwomen//*NKLXWMN +engorge/LGDS/*NKK +engorgement/MS/*NKKMNT +Engracia/M/*NKRX +engram/MS/*NKRM +engrave/ZGDRSJ/*NKRF +engraver/M/*NKRF +engraving/M/*NKRFN +engross/GLDRS/*NKRS +engrossed/Y/*NKRST +engrosser/M/*NKRS +engrossing/Y/*NKRSN +engrossment/SM/*NKRSMNT +engulf/GDSL/*NKLF +engulfment/SM/*NKLFMNT +enhance/LZGDRS/*NHNS +enhanceable//*NHNSBL +enhancement/MS/*NHNSMNT +enhancer/M/*NHNS +enharmonic//*NHMNK +Enid/M/*NT +Enif/M/*NF +enigma/MS/*NKM +enigmatic//*NKMTK +enigmatically//*NKMTKL +Eniwetok/M/*NWTK +enjambement's//*NKMBMNTS +enjambment/MS/*NKMBMNT +enjoin/GSD/*NKN +enjoinder//*NKNT +enjoy/GBDSL/*NK +enjoyability//*NKYBLT +enjoyable/P/*NKYBL +enjoyableness/M/*NKYBLNS +enjoyably//*NKYBL +enjoyment/SM/*NKMNT +Enkidu/M/*NKT +enlarge/LDRSZG/*NLK +enlargeable//*NLKBL +enlargement/MS/*NLKMNT +enlarger/M/*NLK +enlighten/GDSL/*NLTN +enlightened/U/*NLTNT +enlightening/U/*NLTNN +enlightenment/SM/*NLTNMNT +enlist/SAGDL/*NLST +enlistee/MS/*NLST +enlister/M/*NLST +enlistment/SAM/*NLSTMNT +enliven/LDGS/*NLFN +enlivenment/SM/*NLFNMNT +enmesh/DSLG/*NMX +enmeshment/SM/*NMXMNT +enmity/MS/*NMT +Ennis/M/*NS +ennoble/LDRSG/*NBL +ennoblement/SM/*NBLMNT +ennobler/M/*NBL +ennui/SM/*N +Enoch/M/*NX +enormity/SM/*NMT +enormous/YP/*NMS +enormousness/MS/*NMSNS +Enos//*NS +enough//*NF +enoughs//*NS +enplane/DSG/*NPLN +enqueue/DS/*NK +enquirer/S/*NKR +enquiringly//*NKRNL +enrage/SDG/*NRK +enrapture/GSD/*NRPTR +Enrica/M/*NRK +enrich/LDSRG/*NRX +enricher/M/*NRX +Enrichetta/M/*NRXT +enrichment/SM/*NRXMNT +Enrico/M/*NRK +Enrika/M/*NRK +Enrique/M/*NRK +Enriqueta/M/*NRKT +enrobed//*NRBT +enroll/LGSD/*NRL +enrollee/SM/*NRL +enrollment/SM/*NRLMNT +ens//*NS +ensconce/DSG/*NSKNS +ensemble/MS/*NSMBL +enshrine/DSLG/*NXRN +enshrinement/SM/*NXRNMNT +enshroud/DGS/*NXRT +ensign/SM/*NSN +ensilage/DSMG/*NSLK +enslave/ZGLDSR/*NSLF +enslavement/MS/*NSLFMNT +enslaver/M/*NSLF +ensnare/GLDS/*NSNR +ensnarement/SM/*NSNRMNT +Ensolite/M/*NSLT +ensue/SDG/*NS +ensure/SRDZG/*NSR +ensurer/M/*NSR +entail/SDRLG/*NTL +entailer/M/*NTL +entailment/MS/*NTLMNT +entangle/EGDRSL/*NTNKL +entanglement/ESM/*NTNKLMNT +entangler/EM/*NTNKL +entente/MS/*NTNT +enter/ASDG/*NT +entered/U/*NTRT +enterer/M/*NTR +enteritides//*NTRTTS +enteritis/SM/*NTRTS +enterprise/GMSR/*NTPRS +Enterprise/M/*NTPRS +enterpriser/M/*NTPRS +enterprising/Y/*NTPRSN +entertain/SGZRDL/*NTTN +entertainer/M/*NTTN +entertaining/Y/*NTTNN +entertainment/SM/*NTTNMNT +enthalpy/SM/*N@LP +enthrall/GDSL/*N@RL +enthrallment/SM/*N@RLMNT +enthrone/GDSL/*N@RN +enthronement/MS/*N@RNMNT +enthuse/DSG/*N@S +enthusiasm/SM/*N@XSM +enthusiast/MS/*N@XST +enthusiastic/U/*N@XSTK +enthusiastically/U/*N@XSTKL +entice/SRDJLZG/*NTS +enticement/SM/*NTSMNT +enticing/Y/*NTSN +entire/SY/*NTR +entirety/SM/*NTRT +entitle/GLDS/*NTTL +entitlement/MS/*NTTLMNT +entity/SM/*NTT +entomb/GDSL/*NTM +entombment/MS/*NTMBMNT +entomological//*NTMLKKL +entomologist/S/*NTMLKST +entomology/MS/*NTMLK +entourage/SM/*NTRK +entr'acte/S/*NTRKT +entrails//*NTRLS +entrain/GSLDR/*NTRN +entrainer/M/*NTRN +entrance/MGDSL/*NTRNS +entrancement/MS/*NTRNSMNT +entranceway/M/*NTRNSW +entrancing/Y/*NTRNSN +entrant/MS/*NTRNT +entrap/SL/*NTRP +entrapment/SM/*NTRPMNT +entrapped//*NTRPT +entrapping//*NTRPN +entreat/SGD/*NTRT +entreating/Y/*NTRTN +entreaty/SM/*NTRT +entrée/S/*NTR +entrench/LSDG/*NTRNX +entrenchment/MS/*NTRNXMNT +entrepreneur/MS/*NTRPRN +entrepreneurial//*NTRPRNRL +entrepreneurship/M/*NTRPRNXP +entropic//*NTRPK +entropy/MS/*NTRP +entrust/DSG/*NTRST +entry/ASM/*NTR +entryway/SM/*NTRW +entwine/DSG/*NTWN +enumerable//*NMRBL +enumerate/AN/*NMRT +enumerated/U/*NMRTT +enumerates//*NMRTS +enumerating//*NMRTN +enumeration/SM/*NMRXN +enumeration's/A/*NMRXNS +enumerative//*NMRTF +enumerator/SM/*NMRT +enunciable//*NNXBL +enunciate/XGNSD/*NNXT +enunciated/U/*NNXTT +enunciation/M/*NNXXN +enureses//*NRSS +enuresis/M/*NRSS +envelop/ZGLSDR/*NFLP +envelope/MS/*NFLP +enveloper/M/*NFLP +envelopment/MS/*NFLPMNT +envenom/SDG/*NFNM +enviable/U/*NFBL +enviableness/M/*NFBLNS +enviably//*NFBL +envied/U/*NFT +envier/M/*NF +envious/PY/*NFS +enviousness/SM/*NFSNS +environ/LGSD/*NFRN +environment/MS/*NFRNMNT +environmental/Y/*NFRNMNTL +environmentalism/SM/*NFRNMNTLSM +environmentalist/SM/*NFRNMNTLST +envisage/DSG/*NFSK +envision/GSD/*NFXN +envoy/SM/*NF +envy/SRDMG/*NF +envying/Y/*NFYN +enzymatic//*NSMTK +enzymatically//*NSMTKL +enzyme/SM/*NSM +enzymology/M/*NSMLK +Eocene//*SN +EOE//* +eohippus/M/*HPS +Eolanda/M/*LNT +Eolande/M/*LNT +eolian//*LN +eon/SM/*N +EPA//*P +epaulet/SM/*PLT +épée/S/P +ephedrine/MS/*FTRN +ephemera/MS/*FMR +ephemeral/SY/*FMRL +ephemerids//*FMRTS +ephemeris/M/*FMRS +Ephesian/S/*FXN +Ephesians/M/*FXNS +Ephesus/M/*FSS +Ephraim/M/*FRM +Ephrayim/M/*FRYM +Ephrem/M/*FRM +epic/SM/*PK +epically//*PKL +epicenter/SM/*PSNT +Epictetus/M/*PKTTS +epicure/SM/*PKR +Epicurean//*PKRN +epicurean/S/*PKRN +Epicurus/M/*PKRS +epicycle/MS/*PSKL +epicyclic//*PSKLK +epicyclical/Y/*PSKLKL +epicycloid/M/*PSKLT +epidemic/MS/*PTMK +epidemically//*PTMKL +epidemiological/Y/*PTMLKKL +epidemiologist/MS/*PTMLKST +epidemiology/MS/*PTMLK +epidermal//*PTML +epidermic//*PTMK +epidermis/MS/*PTMS +epidural//*PTRL +epigenetic//*PKNTK +epiglottis/SM/*PKLTS +epigram/MS/*PKRM +epigrammatic//*PKRMTK +epigraph/RM/*PKRF +epigrapher/M/*PKRF +epigraphs//*PKRFS +epigraphy/MS/*PKRF +epilepsy/SM/*PLPS +epileptic/S/*PLPTK +epilogue/SDMG/*PLK +Epimethius/M/*PM@S +epinephrine/SM/*PNFRN +epiphany/SM/*PFN +Epiphany/SM/*PFN +epiphenomena//*PFNMN +episcopacy/MS/*PSKPS +Episcopal/S/*PSKPL +episcopal/Y/*PSKPL +episcopalian//*PSKPLN +Episcopalian/S/*PSKPLN +episcopate/MS/*PSKPT +episode/SM/*PST +episodic//*PSTK +episodically//*PSTKL +epistemic//*PSTMK +epistemological/Y/*PSTMLKKL +epistemology/M/*PSTMLK +epistle/MRS/*PSTL +Epistle/SM/*PSTL +epistolary/S/*PSTLR +epistolatory//*PSTLTR +epitaph/GMD/*PTF +epitaphs//*PTFS +epitaxial/Y/*PTKSL +epitaxy/M/*PTKS +epithelial//*P@LL +epithelium/MS/*P@LM +epithet/MS/*P@T +epitome/MS/*PTM +epitomize/SRDZG/*PTMS +epitomized/U/*PTMST +epitomizer/M/*PTMS +epoch/M/*PX +epochal/Y/*PXL +epochs//*PXS +eponymous//*PNMS +epoxy/GSD/*PKS +epsilon/SM/*PSLN +Epsom/M/*PSM +Epstein/M/*PSTN +equability/MS/*KBLT +equable/P/*KBL +equableness/M/*KBLNS +equably//*KBL +equal/USDY/*KL +equaling//*KLN +equality/ISM/*KLT +equalization/MS/*KLSXN +equalize/DRSGJZ/*KLS +equalized/U/*KLST +equalizer/M/*KLS +equalizes/U/*KLSS +equanimity/MS/*KNMT +equate/NGXBSD/*KT +equation/M/*KXN +equator/SM/*KT +equatorial/S/*KTRL +equerry/MS/*KR +equestrian/S/*KSTRN +equestrianism/SM/*KSTRNSM +equestrienne/SM/*KSTRN +equiangular//*KNKL +equidistant/Y/*KTSTNT +equilateral/S/*KLTRL +equilibrate/GNSD/*KLBRT +equilibration/M/*KLBRXN +equilibrium/MSE/*KLBRM +equine/S/*KN +equinoctial/S/*KNKXL +equinox/MS/*KNKS +equip/AS/*KP +equipage/SM/*KPK +equipartition/M/*KPTXN +equipment/SM/*KPMNT +equipoise/GMSD/*KPS +equipotent//*KPTNT +equipped/AU/*KPT +equipping/A/*KPN +equiproportional//*KPRPXNL +equiproportionality//*KPRPXNLT +equiproportionate//*KPRPXNT +equitable/I/*KTBL +equitableness/M/*KTBLNS +equitably/I/*KTBL +equitation/SM/*KTXN +equity/IMS/*KT +equiv//*KF +equivalence/DSMG/*KFLNS +equivalent/SY/*KFLNT +equivocal/UY/*KFKL +equivocalness/MS/*KFKLNS +equivocate/NGSDX/*KFKT +equivocation/M/*KFKXN +equivocator/SM/*KFKT +Equuleus/M/*KLS +ER//* +Er/M/* +ERA//*R +era/MS/*R +eradicable/I/*RTKBL +eradicate/SDXVGN/*RTKT +eradication/M/*RTKXN +eradicator/SM/*RTKT +Eran/M/*RN +eras/SRDBGZ/*RS +erase/N/*RS +eraser/M/*RS +erasion/M/*RXN +Erasmus/M/*RSMS +Erastus/M/*RSTS +erasure/MS/*RSR +Erato/M/*RT +Eratosthenes/M/*RTS@NS +erbium/SM/*BM +Erda/M/*T +ere//*R +Erebus/M/*RBS +erect/GPSRDY/*RKT +erectile//*RKTL +erection/SM/*RKXN +erectness/MS/*RKTNS +erector/SM/*RKT +Erek/M/*RK +erelong//*RLNK +eremite/MS/*RMT +Erena/M/*RN +erg/SM/*K +ergo//*K +ergodic//*KTK +ergodicity/M/*KTST +ergonomic/U/*KNMK +ergonomically//*KNMKL +ergonomics/M/*KNMKS +ergophobia//*KFB +ergosterol/SM/*KSTRL +ergot/SM/*KT +Erhard/M/*HT +Erhart/M/*HT +Eric/M/*RK +Erica/M/*RK +Erich/M/*RX +Ericha/M/*RX +Erick/M/*RK +Ericka/M/*RK +Erickson/M/*RKSN +Ericson's//*RKSNS +Ericsson's//*RKSNS +Eridanus/M/*RTNS +Erie/SM/*R +Erik/M/*RK +Erika/M/*RK +Erikson/M/*RKSN +Erin/M/*RN +Erina/M/*RN +Erinn/M/*RN +Erinna/M/*RN +eris//*RS +Eris//*RS +Eritrea/M/*RTR +Erl/M/*L +Erlang/M/*LNK +Erlenmeyer/M/*LNMY +Erma/M/*M +Ermanno/M/*MN +Ermengarde/M/*MNKT +Ermentrude/M/*MNTRT +Ermin/M/*MN +Ermina/M/*MN +ermine/MSD/*MN +Erminia/M/*MN +Erminie/M/*MN +Erna/M/*N +Ernaline/M/*NLN +Ernest/M/*NST +Ernesta/M/*NST +Ernestine/M/*NSTN +Ernesto/M/*NST +Ernestus/M/*NSTS +Ernie/M/*N +Ernst/M/*NST +Erny/M/*N +erode/SDG/*RT +erodible//*RTBL +erogenous//*RKNS +Eros/SM/*RS +erosible//*RSBL +erosion/SM/*RXN +erosional//*RXNL +erosive/P/*RSF +erosiveness/M/*RSFNS +erotic/S/*RTK +erotica/M/*RTK +erotically//*RTKL +eroticism/MS/*RTSSM +err/DGS/*R +errancy/MS/*RNS +errand/MS/*RNT +errant/YS/*RNT +errantry/M/*RNTR +errata/SM/*RT +erratic/S/*RTK +erratically//*RTKL +erratum/MS/*RTM +Errick/M/*RK +erring/UY/*RN +Errol/M/*RL +Erroll/M/*RL +erroneous/YP/*RNS +erroneousness/M/*RNSNS +error/SM/*R +ersatz/S/*STS +Erse/M/*S +Erskine/M/*SKN +erst//*ST +erstwhile//*STHL +Ertha/M/*@ +eruct/DGS/*RKT +eructation/MS/*RKTXN +erudite/NYX/*RTT +erudition/M/*RTXN +erupt/DSVG/*RPT +eruption/SM/*RPXN +eruptive/SY/*RPTF +Erv/M/*F +Ervin/M/*FN +ErvIn/M/*FN +Erwin/M/*WN +Eryn/M/*RN +erysipelas/SM/*RSPLS +erythrocyte/SM/*R@RST +es//*S +e's//*S +Es//*S +E's//*S +Esau/M/*S +escadrille/M/*SKTRL +escalate/CDSXGN/*SKLT +escalation/MC/*SKLXN +escalator/SM/*SKLT +escallop/SGDM/*SKLP +escapable/I/*SKPBL +escapade/SM/*SKPT +escape/LGSRDB/*SKP +escapee/MS/*SKP +escapement/MS/*SKPMNT +escaper/M/*SKP +escapism/SM/*SKPSM +escapist/S/*SKPST +escapology//*SKPLK +escarole/MS/*SKRL +escarpment/MS/*SKPMNT +eschatology/M/*SXTLK +Escher/M/*SK +Escherichia/M/*SKRX +eschew/SGD/*SK +Escondido/M/*SKNTT +escort/SGMD/*SKT +escritoire/SM/*SKRTR +escrow/DMGS/*SKR +escudo/MS/*SKT +escutcheon/SM/*SKXN +Esdras/M/*STRS +ESE//*S +Eskimo/SM/*SKM +ESL//*SL +Esma/M/*SM +Esmaria/M/*SMR +Esmark/M/*SMK +Esme/M/*SM +Esmeralda/M/*SMRLT +esophageal//*SFKL +esophagi//*SFK +esophagus/M/*SFKS +esoteric//*STRK +esoterica//*STRK +esoterically//*STRKL +esp//*SP +ESP//*SP +Esp/M/*SP +espadrille/MS/*SPTRL +Espagnol/M/*SPKNL +espalier/SMDG/*SPL +especial/Y/*SPXL +Esperanto/M/*SPRNT +Esperanza/M/*SPRNS +Espinoza/M/*SPNS +espionage/SM/*SPNK +esplanade/SM/*SPLNT +Esposito/M/*SPST +espousal/MS/*SPSL +espouse/SRDG/*SPS +espouser/M/*SPS +espresso/SM/*SPRS +esprit/SM/*SPRT +espy/GSD/*SP +Esq/M/*SK +esquire/GMSD/*SKR +Esquire/S/*SKR +Esra/M/*SR +Essa/M/*S +essay/SZMGRD/*S +essayer/M/*SY +essayist/SM/*SYST +Essen/M/*SN +essence/MS/*SNS +Essene/SM/*SN +essential/USI/*SNXL +essentialist/M/*SNXLST +essentially//*SNXL +essentialness/M/*SNXLNS +Essequibo/M/*SKB +Essex/M/*SKS +Essie/M/*S +Essy/M/*S +EST//*ST +est/RZ/*ST +Esta/M/*ST +establish/LAEGSD/*STBLX +established/U/*STBLXT +establisher/M/*STBLX +establishment/EMAS/*STBLXMNT +Establishment/MS/*STBLXMNT +estate/GSDM/*STT +Esteban/M/*STBN +esteem/EGDS/*STM +Estel/M/*STL +Estela/M/*STL +Estele/M/*STL +Estell/M/*STL +Estella/M/*STL +Estelle/M/*STL +ester/M/*ST +Ester/M/*ST +Esterházy/M/*STHS +Estes//*STS +Estevan/M/*STFN +Esther/M/*S@ +esthete's//*S@TS +esthetically//*S@TKL +esthetic's//*S@TKS +esthetics's//*S@TKSS +estimable/I/*STMBL +estimableness/M/*STMBLNS +estimate/XDSNGV/*STMT +estimating/A/*STMTN +estimation/M/*STMXN +estimator/SM/*STMT +Estonia/M/*STN +Estonian/S/*STNN +estoppal//*STPL +Estrada/M/*STRT +estrange/DRSLG/*STRNK +estrangement/SM/*STRNKMNT +estranger/M/*STRNK +Estrella/M/*STRL +Estrellita/M/*STRLT +estrogen/SM/*STRKN +estrous//*STRS +estrus/SM/*STRS +estuarine//*STRN +estuary/SM/*STR +et//*T +ET//*T +ETA//*T +eta/SM/*T +Etan/M/*TN +etc//*TK +etcetera/SM/*TSTR +etch/GZJSRD/*X +etcher/M/*X +etching/M/*XN +ETD//*TT +eternal/PSY/*TNL +eternalness/SM/*TNLNS +eternity/SM/*TNT +Ethan/M/*@N +ethane/SM/*@N +ethanol/MS/*@NL +Ethe/M/*@ +Ethel/M/*@L +Ethelbert/M/*@LBT +Ethelda/M/*@LT +Ethelin/M/*@LN +Ethelind/M/*@LNT +Etheline/M/*@LN +Ethelred/M/*@LRT +Ethelyn/M/*@LN +ether/SM/*@ +ethereal/PY/*@RL +etherealness/M/*@RLNS +etherized//*@RST +Ethernet/MS/*@NT +ethic/MS/*@K +ethical/PYS/*@KL +ethically/U/*@KL +ethicalness/M/*@KLNS +ethicist/S/*@SST +Ethiopia/M/*@P +Ethiopian/S/*@PN +ethnic/S/*@NK +ethnically//*@NKL +ethnicity/MS/*@NST +ethnocentric//*@NSNTRK +ethnocentrism/MS/*@NSNTRSM +ethnographers//*@NKRFS +ethnographic//*@NKRFK +ethnography/M/*@NKRF +ethnological//*@NLKKL +ethnologist/SM/*@NLKST +ethnology/SM/*@NLK +ethnomethodology//*@NM@TLK +ethological//*@LKKL +ethologist/MS/*@LKST +ethology/SM/*@LK +ethos/SM/*@S +Ethyl/M/*@L +ethyl/SM/*@L +ethylene/MS/*@LN +Etienne/M/*TN +etiologic//*XLKK +etiological//*XLKKL +etiology/SM/*XLK +etiquette/SM/*TKT +Etna/M/*TN +Etruria/M/*TRR +Etruscan/MS/*TRSKN +Etta/M/*T +Etti/M/*T +Ettie/M/*T +Ettore/M/*TR +Etty/M/*T +étude/MS/TT +etymological/Y/*TMLKKL +etymologist/SM/*TMLKST +etymology/MS/*TMLK +EU//* +Eu/M/* +eucalypti//*KLPT +eucalyptus/SM/*KLPTS +Eucharist/SM/*XRST +Eucharistic//*XRSTK +euchre/MGSD/*XR +Euclid/M/*KLT +euclidean//*KLTN +Eudora/M/*TR +Euell/M/*L +Eugen/M/*KN +Eugene/M/*KN +Eugenia/M/*KN +eugenic/S/*KNK +eugenically//*KNKL +eugenicist/SM/*KNSST +eugenics/M/*KNKS +Eugenie/M/*KN +Eugenio/M/*KN +Eugenius/M/*KNS +Eugine/M/*KN +Eula/M/*L +Eulalie/M/*LL +Euler/M/*L +Eulerian/M/*LRN +eulogist/MS/*LKST +eulogistic//*LKSTK +eulogize/GRSDZ/*LKS +eulogized/U/*LKST +eulogizer/M/*LKS +eulogy/MS/*LK +Eumenides//*MNTS +Eunice/M/*NS +eunuch/M/*NX +eunuchs//*NXS +Euphemia/M/*FM +euphemism/MS/*FMSM +euphemist/M/*FMST +euphemistic//*FMSTK +euphemistically//*FMSTKL +euphonious/Y/*FNS +euphonium/M/*FNM +euphony/SM/*FN +euphoria/SM/*FR +euphoric//*FRK +euphorically//*FRKL +Euphrates/M/*FRTS +Eur/M/* +Eurasia/M/*RX +Eurasian/S/*RXN +eureka/S/*RK +Euripides/M/*RPTS +Eurodollar/SM/*RTL +Europa/M/*RP +Europe/M/*RP +European/MS/*RPN +Europeanization/SM/*RPNSXN +Europeanized//*RPNST +europium/MS/*RPM +Eurydice/M/*RTS +Eustace/M/*STS +Eustachian/M/*STXN +Eustacia/M/*STX +eutectic//*TKTK +Euterpe/M/*TP +euthanasia/SM/*@NX +euthenics/M/*@NKS +Ev/MN/*F +Eva/M/*F +evacuate/DSXNGV/*FKT +evacuation/M/*FKXN +evacuee/MS/*FK +evade/SRDBGZ/*FT +evader/M/*FT +Evaleen/M/*FLN +evaluable//*FLBL +evaluate/ADSGNX/*FLT +evaluated/U/*FLTT +evaluation/MA/*FLXN +evaluational//*FLXNL +evaluative//*FLTF +evaluator/MS/*FLT +Evan/MS/*FN +evanescence/MS/*FNSNS +evanescent//*FNSNT +Evangelia/M/*FNKL +evangelic//*FNKLK +Evangelical/S/*FNKLKL +evangelical/YS/*FNKLKL +evangelicalism/SM/*FNKLKLSM +Evangelin/M/*FNKLN +Evangelina/M/*FNKLN +Evangeline/M/*FNKLN +evangelism/SM/*FNKLSM +evangelist/MS/*FNKLST +Evangelist/MS/*FNKLST +evangelistic//*FNKLSTK +evangelize/GDS/*FNKLS +Evania/M/*FN +Evanne/M/*FN +Evanston/M/*FNSTN +Evansville/M/*FNSFL +evaporate/VNGSDX/*FPRT +evaporation/M/*FPRXN +evaporative/Y/*FPRTF +evaporator/MS/*FPRT +evasion/SM/*FXN +evasive/PY/*FSF +evasiveness/SM/*FSFNS +Eve/M/*F +eve/RSM/*F +Eveleen/M/*FLN +Evelin/M/*FLN +Evelina/M/*FLN +Eveline/M/*FLN +Evelyn/M/*FLN +Even/M/*FN +even/PUYRT/*FN +evened//*FNT +evener/M/*FN +evenhanded/YP/*FNHNTT +evening/SM/*FNN +Evenki/M/*FNK +evenness/MSU/*FNS +evens//*FNS +evensong/MS/*FNSNK +event/SGM/*FNT +eventful/YU/*FNTFL +eventfulness/SM/*FNTFLNS +eventide/SM/*FNTT +eventual/Y/*FNTL +eventuality/MS/*FNTLT +eventuate/GSD/*FNTT +ever/T/*F +Everard/M/*FRT +Eveready/M/*FRT +Evered/M/*FRT +Everest/M/*FRST +Everett/M/*FRT +Everette/M/*FRT +everglade/MS/*FKLT +Everglades//*FKLTS +evergreen/S/*FKRN +Everhart/M/*FHT +everlasting/PYS/*FLSTN +everlastingness/M/*FLSTNNS +everliving//*FLFN +evermore//*FMR +EverReady/M/*FRT +every//*FR +everybody/M/*FRBT +everyday/P/*FRT +everydayness/M/*FRTNS +everyman//*FRMN +everyone/MS/*FRYN +everyplace//*FRPLS +everything//*FR@N +everywhere//*FRHR +eves/A/*FS +eve's/A/*FS +Evey/M/*F +evict/DGS/*FKT +eviction/SM/*FKXN +evidence/MGSD/*FTNS +evident/YS/*FTNT +evidential/Y/*FTNXL +Evie/M/*F +evil/YRPTS/*FL +evildoer/SM/*FLT +evildoing/MS/*FLTN +evilness/MS/*FLNS +Evin/M/*FN +evince/SDG/*FNS +eviscerate/GNXDS/*FSRT +evisceration/M/*FSRXN +Evita/M/*FT +evocable//*FKBL +evocate/NVX/*FKT +evocation/M/*FKXN +evocative/YP/*FKTF +evocativeness/M/*FKTFNS +evoke/SDG/*FK +evolute/NMXS/*FLT +evolution/M/*FLXN +evolutionarily//*FLXNRL +evolutionary//*FLXNR +evolutionist/MS/*FLXNST +evolve/SDG/*FLF +Evonne/M/*FN +Evvie/M/*FF +Evvy/M/*FF +Evy/M/*F +Evyn/M/*FN +Ewan/M/*WN +Eward/M/*WT +Ewart/M/*WT +ewe/MZRS/*W +Ewell/M/*WL +Ewen/M/*WN +ewer/M/*W +Ewing/M/*WN +ex/S/*KS +exacerbate/NGXDS/*KSSBT +exacerbation/M/*KSSBXN +exact/TGSPRDY/*KSKT +exacter/M/*KSKT +exacting/YP/*KSKTN +exactingness/M/*KSKTNNS +exaction/SM/*KSKXN +exactitude/ISM/*KSKTTT +exactly/I/*KSKTL +exactness/MSI/*KSKTNS +exaggerate/DSXNGV/*KSKRT +exaggerated/YP/*KSKRTT +exaggeration/M/*KSKRXN +exaggerative/Y/*KSKRTF +exaggerator/MS/*KSKRT +exalt/ZRDGS/*KSLT +exaltation/SM/*KSLTXN +exalted/Y/*KSLTT +exalter/M/*KSLT +exam/MNS/*KSM +examen/M/*KSMN +examination/AS/*KSMNXN +examination's//*KSMNXNS +examine/BGZDRS/*KSMN +examined/AU/*KSMNT +examinees//*KSMNS +examiner/M/*KSMN +examines/A/*KSMNS +examining/A/*KSMNN +example/DSGM/*KSMPL +exampled/U/*KSMPLT +exasperate/DSXGN/*KSSPRT +exasperated/Y/*KSSPRTT +exasperating/Y/*KSSPRTN +exasperation/M/*KSSPRXN +Excalibur/M/*KSKLB +excavate/NGDSX/*KSKFT +excavation/M/*KSKFXN +excavator/SM/*KSKFT +Excedrin/M/*KSSTRN +exceed/SGDR/*KSST +exceeder/M/*KSST +exceeding/Y/*KSSTN +excel/S/*KSSL +excelled//*KSSLT +excellence/SM/*KSSLNS +excellency/MS/*KSSLNS +Excellency/MS/*KSSLNS +excellent/Y/*KSSLNT +excelling//*KSSLN +excelsior/S/*KSSLX +except/DSGV/*KSSPT +exception/BMS/*KSSPXN +exceptionable/U/*KSSPXNBL +exceptional/YU/*KSSPXNL +exceptionalness/M/*KSSPXNLNS +excerpt/GMDRS/*KSSPT +excerpter/M/*KSSPT +excess/GVDSM/*KSSS +excessive/PY/*KSSSF +excessiveness/M/*KSSSFNS +exchange/GDRSZ/*KSXNK +exchangeable//*KSXNKBL +exchanger/M/*KSXNK +exchequer/SM/*KSXK +Exchequer/SM/*KSXK +excise/XMSDNGB/*KSSS +excision/M/*KSSXN +excitability/MS/*KSSTBLT +excitable/P/*KSSTBL +excitableness/M/*KSSTBLNS +excitably//*KSSTBL +excitation/SM/*KSSTXN +excitatory//*KSSTTR +excite/RSDLBZG/*KSST +excited/Y/*KSSTT +excitement/MS/*KSSTMNT +exciter/M/*KSST +exciting/U/*KSSTN +excitingly//*KSSTNL +exciton/M/*KSSTN +exclaim/SZDRG/*KSKLM +exclaimer/M/*KSKLM +exclamation/MS/*KSKLMXN +exclamatory//*KSKLMTR +exclude/DRSG/*KSKLT +excluder/M/*KSKLT +exclusion/SZMR/*KSKLXN +exclusionary//*KSKLXNR +exclusioner/M/*KSKLXN +exclusive/SPY/*KSKLSF +exclusiveness/SM/*KSKLSFNS +exclusivity/MS/*KSKLSFT +excommunicate/XVNGSD/*KSKMNKT +excommunication/M/*KSKMNKXN +excoriate/GNXSD/*KSKRT +excoriation/M/*KSKRXN +excrement/SM/*KSKRMNT +excremental//*KSKRMNTL +excrescence/MS/*KSKRSNS +excrescent//*KSKRSNT +excreta//*KSKRT +excrete/NGDRSX/*KSKRT +excreter/M/*KSKRT +excretion/M/*KSKRXN +excretory/S/*KSKRTR +excruciate/NGDS/*KSKRXT +excruciating/Y/*KSKRXTN +excruciation/M/*KSKRXXN +exculpate/XSDGN/*KSKLPT +exculpation/M/*KSKLPXN +exculpatory//*KSKLPTR +excursion/MS/*KSKXN +excursionist/SM/*KSKXNST +excursive/PY/*KSKSF +excursiveness/SM/*KSKSFNS +excursus/MS/*KSKSS +excusable/IP/*KSKSBL +excusableness/IM/*KSKSBLNS +excusably/I/*KSKSBL +excuse/BGRSD/*KSKS +excused/U/*KSKST +excuser/M/*KSKS +exec/MS/*KSK +execrable/P/*KSKRBL +execrableness/M/*KSKRBLNS +execrably//*KSKRBL +execrate/DSXNGV/*KSKRT +execration/M/*KSKRXN +executable/MS/*KSKTBL +execute/NGVZBXDRS/*KSKT +executer/M/*KSKT +execution/ZMR/*KSKXN +executional//*KSKXNL +executioner/M/*KSKXN +executive/SM/*KSKTF +executor/SM/*KSKT +executrices//*KSKTRSS +executrix/M/*KSKTRKS +exegeses//*KSKSS +exegesis/M/*KSKSS +exegete/M/*KSKT +exegetic/S/*KSKTK +exegetical//*KSKTKL +exemplar/MS/*KSMPL +exemplariness/M/*KSMPLRNS +exemplary/P/*KSMPLR +exemplification/M/*KSMPLFKXN +exemplifier/M/*KSMPLF +exemplify/ZXNSRDG/*KSMPLF +exempt/SDG/*KSMPT +exemption/MS/*KSMPXN +exercise/ZDRSGB/*KSSS +exerciser/M/*KSSS +exert/SGD/*KST +exertion/MS/*KSXN +Exeter/M/*KST +exeunt//*KSNT +exhalation/SM/*KSHLXN +exhale/GSD/*KSHL +exhaust/VGRDS/*KSHST +exhausted/Y/*KSHSTT +exhauster/M/*KSHST +exhaustible/I/*KSHSTBL +exhausting/Y/*KSHSTN +exhaustion/SM/*KSHSXN +exhaustive/YP/*KSHSTF +exhaustiveness/MS/*KSHSTFNS +exhibit/VGSD/*KSHBT +exhibition/ZMRS/*KSHBXN +exhibitioner/M/*KSHBXN +exhibitionism/MS/*KSHBXNSM +exhibitionist/MS/*KSHBXNST +exhibitor/SM/*KSHBT +exhilarate/XSDVNG/*KSHLRT +exhilarating/Y/*KSHLRTN +exhilaration/M/*KSHLRXN +exhort/DRSG/*KSHT +exhortation/SM/*KSHTXN +exhorter/M/*KSHT +exhumation/SM/*KSHMXN +exhume/GRSD/*KSHM +exhumer/M/*KSHM +exigence/S/*KSKNS +exigency/SM/*KSKNS +exigent/SY/*KSKNT +exiguity/SM/*KSKT +exiguous//*KSKS +exile/SDGM/*KSL +exist/SDG/*KSST +existence/MS/*KSSTNS +existent/I/*KSSTNT +existential/Y/*KSSTNXL +existentialism/MS/*KSSTNXLSM +existentialist/MS/*KSSTNXLST +existentialistic//*KSSTNXLSTK +existents//*KSSTNTS +exit/MDSG/*KST +exobiology/MS/*KSBLK +exocrine//*KSKRN +Exodus/M/*KSTS +exodus/SM/*KSTS +exogamous//*KSKMS +exogamy/M/*KSKM +exogenous/Y/*KSKNS +exonerate/SDVGNX/*KSNRT +exoneration/M/*KSNRXN +exorbitance/MS/*KSBTNS +exorbitant/Y/*KSBTNT +exorcise/SDG/*KSSS +exorcism/SM/*KSSSM +exorcist/SM/*KSSST +exorcizer/M/*KSSS +exoskeleton/MS/*KSSKLTN +exosphere/SM/*KSSFR +exothermic//*KS@MK +exothermically//*KS@MKL +exotic/PS/*KSTK +exotica//*KSTK +exotically//*KSTKL +exoticism/SM/*KSTSSM +exoticness/M/*KSTKNS +exp//*KSP +expand/DRSGZB/*KSPNT +expandability/M/*KSPNTBLT +expanded/U/*KSPNTT +expander/M/*KSPNT +expanse/DSXGNVM/*KSPNS +expansible//*KSPNSBL +expansion/M/*KSPNXN +expansionary//*KSPNXNR +expansionism/MS/*KSPNXNSM +expansionist/MS/*KSPNXNST +expansive/YP/*KSPNSF +expansiveness/S/*KSPNSFNS +expatiate/XSDNG/*KSPXT +expatiation/M/*KSPXXN +expatriate/SDNGX/*KSPTRT +expatriation/M/*KSPTRXN +expect/SBGD/*KSPKT +expectancy/MS/*KSPKTNS +expectant/YS/*KSPKTNT +expectation/MS/*KSPKTXN +expectational//*KSPKTXNL +expected/UPY/*KSPKTT +expecting/Y/*KSPKTN +expectorant/S/*KSPKTRNT +expectorate/NGXDS/*KSPKTRT +expectoration/M/*KSPKTRXN +expedience/IS/*KSPTNS +expediency/IMS/*KSPTNS +expedient/YI/*KSPTNT +expedients//*KSPTNTS +expedite/ZDRSNGX/*KSPTT +expediter/M/*KSPTT +expedition/M/*KSPTXN +expeditionary//*KSPTXNR +expeditious/YP/*KSPTXS +expeditiousness/MS/*KSPTXSNS +expeditor's//*KSPTTS +expel/S/*KSPL +expellable//*KSPLBL +expelled//*KSPLT +expelling//*KSPLN +expend/SDRGB/*KSPNT +expendable/S/*KSPNTBL +expended/U/*KSPNTT +expender/M/*KSPNT +expenditure/SM/*KSPNTTR +expense/DSGVM/*KSPNS +expensive/IYP/*KSPNSF +expensiveness/SMI/*KSPNSFNS +experience/ISDM/*KSPRNS +experienced/U/*KSPRNST +experiencing//*KSPRNSN +experiential/Y/*KSPRNXL +experiment/GSMDRZ/*KSPRMNT +experimental/Y/*KSPRMNTL +experimentalism/M/*KSPRMNTLSM +experimentalist/SM/*KSPRMNTLST +experimentation/SM/*KSPRMNTXN +experimenter/M/*KSPRMNT +expert/PISY/*KSPT +experted//*KSPTT +experting//*KSPTN +expertise/SM/*KSPTS +expertize/GD/*KSPTS +expertness/IM/*KSPTNS +expertnesses//*KSPTNSS +expert's//*KSPTS +expiable/I/*KSPBL +expiate/XGNDS/*KSPT +expiation/M/*KSPXN +expiatory//*KSPTR +expiration/MS/*KSPRXN +expire/SDG/*KSPR +expired/U/*KSPRT +expiry/MS/*KSPR +explain/ADSG/*KSPLN +explainable/UI/*KSPLNBL +explained/U/*KSPLNT +explainer/SM/*KSPLN +explanation/MS/*KSPLNXN +explanatory//*KSPLNTR +expletive/SM/*KSPLTF +explicable/I/*KSPLKBL +explicate/VGNSDX/*KSPLKT +explication/M/*KSPLKXN +explicative/Y/*KSPLKTF +explicit/PSY/*KSPLST +explicitness/SM/*KSPLSTNS +explode/DSRGZ/*KSPLT +exploded/U/*KSPLTT +exploder/M/*KSPLT +exploit/ZGVSMDRB/*KSPLT +exploitation/MS/*KSPLTXN +exploitative//*KSPLTTF +exploited/U/*KSPLTT +exploiter/M/*KSPLT +exploration/MS/*KSPLRXN +exploratory//*KSPLRTR +explore/DSRBGZ/*KSPLR +explored/U/*KSPLRT +explorer/M/*KSPLR +explosion/MS/*KSPLXN +explosive/YPS/*KSPLSF +explosiveness/SM/*KSPLSFNS +expo/MS/*KSP +exponent/MS/*KSPNNT +exponential/SY/*KSPNNXL +exponentiate/XSDNG/*KSPNNXT +exponentiation/M/*KSPNNXXN +export/AGSD/*KSPT +exportability//*KSPTBLT +exportable//*KSPTBL +exportation/SM/*KSPTXN +exporter/MS/*KSPT +export's//*KSPTS +expos/RSDZG/*KSPS +expose//*KSPS +exposed/U/*KSPST +exposer/M/*KSPS +exposit/D/*KSPST +exposition/SM/*KSPSXN +expositor/MS/*KSPST +expository//*KSPSTR +expostulate/DSXNG/*KSPSTLT +expostulation/M/*KSPSTLXN +exposure/SM/*KSPSR +expound/ZGSDR/*KSPNT +expounder/M/*KSPNT +express/GVDRSY/*KSPRS +expressed/U/*KSPRST +expresser/M/*KSPRS +expressibility/I/*KSPRSBLT +expressible/I/*KSPRSBL +expressibly/I/*KSPRSBL +expression/MS/*KSPRXN +expressionism/SM/*KSPRXNSM +expressionist/S/*KSPRXNST +expressionistic//*KSPRXNSTK +expressionless/YP/*KSPRXNLS +expressive/IYP/*KSPRSF +expressiveness/MS/*KSPRSFNS +expressiveness's/I/*KSPRSFNSS +expressway/SM/*KSPRSW +expropriate/XDSGN/*KSPRPRT +expropriation/M/*KSPRPRXN +expropriator/SM/*KSPRPRT +expulsion/MS/*KSPLXN +expunge/GDSR/*KSPNK +expunger/M/*KSPNK +expurgate/SDGNX/*KSPKT +expurgated/U/*KSPKTT +expurgation/M/*KSPKXN +exquisite/YPS/*KSKST +exquisiteness/SM/*KSKSTNS +ext//*KST +extant//*KSTNT +extemporaneous/YP/*KSTMPRNS +extemporaneousness/MS/*KSTMPRNSNS +extempore/S/*KSTMPR +extemporization/SM/*KSTMPRSXN +extemporize/ZGSRD/*KSTMPRS +extemporizer/M/*KSTMPRS +extend/SGZDR/*KSTNT +extendability/M/*KSTNTBLT +extended/U/*KSTNTT +extendedly//*KSTNTTL +extendedness/M/*KSTNTTNS +extender/M/*KSTNT +extendibility/M/*KSTNTBLT +extendibles//*KSTNTBLS +extensibility/M/*KSTNSBLT +extensible/I/*KSTNSBL +extension/SM/*KSTNXN +extensional/Y/*KSTNXNL +extensive/PY/*KSTNSF +extensiveness/SM/*KSTNSFNS +extensor/MS/*KSTNS +extent/SM/*KSTNT +extenuate/XSDGN/*KSTNT +extenuation/M/*KSTNXN +exterior/MYS/*KSTR +exterminate/XNGDS/*KSTMNT +extermination/M/*KSTMNXN +exterminator/SM/*KSTMNT +extern/M/*KSTN +external/YS/*KSTNL +externalities//*KSTNLTS +externalization/SM/*KSTNLSXN +externalize/GDS/*KSTNLS +extinct/DGVS/*KSTNKT +extinction/MS/*KSTNKXN +extinguish/BZGDRS/*KSTNX +extinguishable/I/*KSTNXBL +extinguisher/M/*KSTNX +extirpate/XSDVNG/*KSTPT +extirpation/M/*KSTPXN +extol/S/*KSTL +extolled//*KSTLT +extoller/M/*KSTL +extolling//*KSTLN +extort/DRSGV/*KSTT +extorter/M/*KSTT +extortion/ZSRM/*KSTXN +extortionate/Y/*KSTXNT +extortioner/M/*KSTXN +extortionist/SM/*KSTXNST +extra/S/*KSTR +extracellular/Y/*KSTRSLL +extract/GVSBD/*KSTRKT +extraction/SM/*KSTRKXN +extractive/Y/*KSTRKTF +extractor/SM/*KSTRKT +extracurricular/S/*KSTRKRKL +extradite/XNGSDB/*KSTRTT +extradition/M/*KSTRTXN +extragalactic//*KSTRKLKTK +extralegal/Y/*KSTRLKL +extramarital//*KSTRMRTL +extramural//*KSTRMRL +extraneous/YP/*KSTRNS +extraneousness/M/*KSTRNSNS +extraordinarily//*KSTRTNRL +extraordinariness/M/*KSTRTNRNS +extraordinary/PS/*KSTRTNR +extrapolate/XVGNSD/*KSTRPLT +extrapolation/M/*KSTRPLXN +extrasensory//*KSTRSNSR +extraterrestrial/S/*KSTRTRSTRL +extraterritorial//*KSTRTRTRL +extraterritoriality/MS/*KSTRTRTRLT +extravagance/MS/*KSTRFKNS +extravagant/Y/*KSTRFKNT +extravaganza/SM/*KSTRFKNS +extravehicular//*KSTRFHKL +extravert's//*KSTRFTS +extrema//*KSTRM +extremal//*KSTRML +extreme/DSRYTP/*KSTRM +extremeness/MS/*KSTRMNS +extremism/SM/*KSTRMSM +extremist/MS/*KSTRMST +extremity/SM/*KSTRMT +extricable/I/*KSTRKBL +extricate/XSDNG/*KSTRKT +extrication/M/*KSTRKXN +extrinsic//*KSTRNSK +extrinsically//*KSTRNSKL +extroversion/SM/*KSTRFXN +extrovert/GMDS/*KSTRFT +extrude/GDSR/*KSTRT +extruder/M/*KSTRT +extrusion/MS/*KSTRXN +extrusive//*KSTRSF +exuberance/MS/*KSBRNS +exuberant/Y/*KSBRNT +exudate/XNM/*KSTT +exudation/M/*KSTXN +exude/GSD/*KST +exult/DGS/*KSLT +exultant/Y/*KSLTNT +exultation/SM/*KSLTXN +exulting/Y/*KSLTN +exurb/MS/*KSB +exurban//*KSBN +exurbanite/SM/*KSBNT +exurbia/MS/*KSB +Exxon/M/*KSKSN +Eyck/M/*K +Eyde/M/*T +Eydie/M/*T +eye/GDRSMZ/*Y +eyeball/GSMD/*YBL +eyebrow/MS/*YBR +eyed/P/*YT +eyedropper/MS/*YTRP +eyeful/MS/*YFL +eyeglass/MS/*YKLS +eyelash/MS/*YLX +eyeless//*YLS +eyelet/GSMD/*YLT +eyelid/SM/*YLT +eyeliner/MS/*YLN +eyeopener/MS/*YPN +eyeopening//*YPNN +eyepiece/SM/*YPS +eyer/M/*Y +eyeshadow//*YXT +eyesight/MS/*YST +eyesore/SM/*YSR +eyestrain/MS/*YSTRN +eyeteeth//*YT@ +eyetooth/M/*YT@ +eyewash/MS/*YWX +eyewitness/SM/*YWTNS +Eyre/M/*R +eyrie's//*RS +Eysenck/M/*SNK +Ezechiel/M/*SXL +Ezekiel/M/*SKL +Ezequiel/M/*SKL +Eziechiele/M/*SXL +Ezmeralda/M/*SMRLT +Ezra/M/*SR +Ezri/M/*SR +F//F +f/IRAC/F +fa/M/F +FAA//F +Fabe/MR/FB +Faber/M/FB +Fabergé/M/FBK +Fabian/S/FBN +Fabiano/M/FBN +Fabien/M/FBN +Fabio/M/FB +fable/GMSRD/FBL +fabler/M/FBL +fabric/MS/FBRK +fabricate/SDXNG/FBRKT +fabrication/M/FBRKXN +fabricator/MS/FBRKT +fabulists//FBLSTS +fabulous/YP/FBLS +fabulousness/M/FBLSNS +facade/GMSD/FKT +face/AGCSD/FS +facecloth//FSKL@ +facecloths//FSKL@S +faceless/P/FSLS +faceplate/M/FSPLT +facer/CM/FS +face's//FSS +facet/SGMD/FST +facetious/YP/FSXS +facetiousness/MS/FSXSNS +facial/YS/FXL +facile/YP/FSL +facileness/M/FSLNS +facilitate/VNGXSD/FSLTT +facilitation/M/FSLTXN +facilitator/SM/FSLTT +facilitatory//FSLTTR +facility/MS/FSLT +facing/MS/FSN +facsimile/MSD/FKSML +facsimileing//FKSMLN +fact/MS/FKT +faction/SM/FKXN +factional//FKXNL +factionalism/SM/FKXNLSM +factious/PY/FKXS +factiousness/M/FKXSNS +factitious//FKTXS +facto//FKT +factoid/S/FKTT +factor/SDMJG/FKT +factorial/MS/FKTRL +factoring/A/FKTRN +factoring's//FKTRNS +factorisable//FKTRSBL +factorization/SM/FKTRSXN +factorize/GSD/FKTRS +factory/MS/FKTR +factotum/MS/FKTTM +factual/PY/FKTL +factuality/M/FKTLT +factualness/M/FKTLNS +faculty/MS/FKLT +fad/ZGSMDR/FT +faddish//FTX +faddist/SM/FTST +fade/S/FT +faded/U/FTT +fadedly//FTTL +fadeout//FTT +fader/M/FT +fading/U/FTN +fading's//FTNS +Fae/M/F +faerie/MS/FR +Faeroe/M/FR +faery's//FRS +Fafnir/M/FFN +fag/MS/FK +fagged//FKT +fagging//FKN +faggoting's//FKTNS +Fagin/M/FKN +fagot/MDSJG/FKT +fagoting/M/FKTN +Fahd/M/FT +Fahrenheit/S/FRNHT +faïence/S/FNS +fail/JSGD/FL +failing/UY/FLN +failing's//FLNS +faille/MS/FL +failsafe//FLSF +failure/SM/FLR +fain/GTSRD/FN +Faina/M/FN +faint/YRDSGPT/FNT +fainter/M/FNT +fainthearted//FN@TT +faintness/MS/FNTNS +Fair/M/F +fair/TURYP/F +Fairbanks//FBNKS +Fairchild/M/FXLT +faired//FRT +Fairfax/M/FFKS +Fairfield/M/FFLT +fairgoer/S/FK +fairground/MS/FKRNT +fairing/MS/FRN +fairish//FRX +Fairleigh/M/FL +fairless//FLS +Fairlie/M/FL +Fairmont/M/FMNT +fairness/US/FNS +fairness's//FNSS +Fairport/M/FPT +fairs//FS +Fairview/M/FF +fairway/MS/FW +fairy/MS/FR +fairyland/MS/FRLNT +fairytale//FRTL +Faisal/M/FSL +Faisalabad//FSLBT +Faith/M/F@ +faith/U/F@ +faithed//F@T +faithful/UYP/F@FL +faithfulness/MSU/F@FLNS +faithfuls//F@FLS +faithing//F@N +faithless/YP/F@LS +faithlessness/SM/F@LSNS +faiths//F@S +faith's//F@S +fajitas//FKTS +fake/ZGDRS/FK +faker/M/FK +fakir/SM/FK +falafel//FLFL +falcon/ZSRM/FLKN +falconer/M/FLKN +falconry/MS/FLKNR +Falito/M/FLT +Falk/M/FLK +Falkland/MS/FLKLNT +Falkner/M/FLKN +fall/SGZMRN/FL +fallacious/PY/FLSS +fallaciousness/M/FLSSNS +fallacy/MS/FLS +faller/M/FL +fallibility/MSI/FLBLT +fallible/I/FLBL +fallibleness/MS/FLBLNS +fallibly/I/FLBL +falloff/S/FLF +Fallon/M/FLN +fallopian//FLPN +Fallopian/M/FLPN +fallout/MS/FLT +fallow/PSGD/FL +fallowness/M/FLNS +false/PTYR/FLS +falsehood/SM/FLSHT +falseness/SM/FLSNS +falsetto/SM/FLST +falsie/MS/FLS +falsifiability/M/FLSFBLT +falsifiable/U/FLSFBL +falsification/M/FLSFKXN +falsifier/M/FLSF +falsify/ZRSDNXG/FLSF +falsity/MS/FLST +Falstaff/M/FLSTF +falter/RDSGJ/FLT +falterer/M/FLTR +faltering/UY/FLTRN +Falwell/M/FLWL +fame/DSMG/FM +famed/C/FMT +fames/C/FMS +familial//FMLL +familiar/YPS/FML +familiarity/MUS/FMLRT +familiarization/MS/FMLRSXN +familiarize/ZGRSD/FMLRS +familiarized/U/FMLRST +familiarizer/M/FMLRS +familiarizing/Y/FMLRSN +familiarly/U/FMLL +familiarness/M/FMLNS +family/MS/FML +famine/SM/FMN +faming/C/FMN +famish/GSD/FMX +famous/PY/FMS +famously/I/FMSL +famousness/M/FMSNS +Fan/M/FN +fan/SM/FN +fanatic/SM/FNTK +fanatical/YP/FNTKL +fanaticalness/M/FNTKLNS +fanaticism/MS/FNTSSM +Fanchette/M/FNXT +Fanchon/M/FNXN +Fancie/M/FNS +fancied//FNST +fancier/SM/FNS +fanciest//FNSST +fanciful/YP/FNSFL +fancifulness/MS/FNSFLNS +fancily//FNSL +fanciness/SM/FNSNS +fancy/IS/FNS +Fancy/M/FNS +fancying//FNSYN +fancywork/SM/FNSWK +fandango/SM/FNTNK +Fanechka/M/FNXK +fanfare/SM/FNFR +fanfold/M/FNFLT +fang/DMS/FNK +fangled//FNKLT +Fania/M/FN +fanlight/SM/FNLT +fanned//FNT +Fanni/M/FN +Fannie/M/FN +fanning//FNN +fanny/SM/FN +Fanny/SM/FN +fanout//FNT +fantail/SM/FNTL +fantasia/SM/FNTX +fantasist/M/FNTSST +fantasize/SRDG/FNTSS +fantastic/S/FNTSTK +fantastical/Y/FNTSTKL +fantasy/GMSD/FNTS +Fanya/M/FNY +fanzine/S/FNSN +FAQ/SM/FK +far/GDR/F +Far/MY/F +Fara/M/FR +farad/SM/FRT +Faraday/M/FRT +Farah/M/FR +Farand/M/FRNT +faraway//FRW +Farber/M/FB +farce/SDGM/FS +farcical/Y/FSKL +fare/MS/FR +farer/M/FR +farewell/DGMS/FRWL +farfetchedness/M/FFXTNS +Fargo/M/FK +Farica/M/FRK +farina/MS/FRN +farinaceous//FRNSS +Farkas/M/FKS +Farlay/M/FL +Farlee/M/FL +Farleigh/M/FL +Farley/M/FL +Farlie/M/FL +Farly/M/FL +farm/MRDGZSJ/FM +farmer/M/FM +Farmer/M/FM +farmhand/S/FMHNT +farmhouse/SM/FMHS +farming/M/FMN +Farmington/M/FMNTN +farmland/SM/FMLNT +farmstead/SM/FMSTT +farmworker/S/FMWK +farmyard/MS/FMYT +faro/MS/FR +Farr/M/FR +Farra/M/FR +farrago/M/FRK +farragoes//FRKS +Farragut/M/FRKT +Farrah/M/FR +Farrakhan/M/FRKHN +Farrand/M/FRNT +Farrel/M/FRL +Farrell/M/FRL +farrier/SM/FR +Farris/M/FRS +farrow/DMGS/FR +farseeing//FSN +farsighted/YP/FSTT +farsightedness/SM/FSTTNS +fart/MDGS/FT +farther//F@ +farthermost//F@MST +farthest//F@ST +farthing/SM/F@N +fas//FS +fascia/SM/FS +fascicle/DSM/FSKL +fasciculate/DNX/FSKLT +fasciculation/M/FSKLXN +fascinate/SDNGX/FSNT +fascinating/Y/FSNTN +fascination/M/FSNXN +fascism/MS/FSSM +Fascism's//FSSMS +fascist/SM/FSST +fascistic//FSSTK +Fascist's//FSSTS +fashion/ADSG/FXN +fashionable/PS/FXNBL +fashionableness/M/FXNBLNS +fashionably/U/FXNBL +fashioner/SM/FXN +fashion's//FXNS +Fassbinder/M/FSBNT +fast/GTXSPRND/FST +fastback/MS/FSTBK +fastball/S/FSTBL +fasten/AGUDS/FSTN +fastener/MS/FSTN +fastening/SM/FSTNN +fastidious/PY/FSTTS +fastidiousness/MS/FSTTSNS +fastness/MS/FSTNS +fat/PSGMDY/FT +fatal/SY/FTL +fatalism/MS/FTLSM +fatalist/MS/FTLST +fatalistic//FTLSTK +fatalistically//FTLSTKL +fatality/MS/FTLT +fatback/SM/FTBK +fate/MS/FT +fateful/YP/FTFL +fatefulness/MS/FTFLNS +Fates//FTS +fathead/SMD/F@T +fatheaded/P/F@TT +father/DYMGS/F@ +Father/SM/F@ +fathered/U/F@RT +fatherhood/MS/F@HT +fatherland/SM/F@LNT +fatherless//F@LS +fatherliness/M/F@LNS +fatherly/P/F@L +fathom/MDSBG/F@M +fathomable/U/F@MBL +fathomless//F@MLS +fatigue/MGSD/FTK +fatigued/U/FTKT +fatiguing/Y/FTKN +Fatima/M/FTM +fatness/SM/FTNS +fatso/M/FTS +fatted//FTT +fatten/JZGSRD/FTN +fattener/M/FTN +fatter//FT +fattest/M/FTST +fattiness/SM/FTNS +fatting//FTN +fatty/RSPT/FT +fatuity/MS/FTT +fatuous/YP/FTS +fatuousness/SM/FTSNS +fatwa/SM/FTW +faucet/SM/FST +Faulkner/M/FLKN +Faulknerian//FLKNRN +fault/CGSMD/FLT +faultfinder/MS/FLTFNT +faultfinding/MS/FLTFNTN +faultily//FLTL +faultiness/MS/FLTNS +faultless/PY/FLTLS +faultlessness/SM/FLTLSNS +faulty/RTP/FLT +Faun/M/FN +faun/MS/FN +fauna/MS/FN +Faunie/M/FN +Fauntleroy/M/FNTLR +Faust/M/FST +Faustian//FSXN +Faustina/M/FSTN +Faustine/M/FSTN +Faustino/M/FSTN +Faustus/M/FSTS +fauvism/S/FFSM +favor/ESMRDGZ/FF +favorable/UMPS/FFRBL +favorableness/MU/FFRBLNS +favorably/U/FFRBL +favored/YPSM/FFRT +favoredness/M/FFRTNS +favored's/U/FFRTS +favorer/EM/FFR +favoring/MYS/FFRN +favorings/U/FFRNS +favorite/SMU/FFRT +favoritism/MS/FFRTSM +favors/A/FFS +Fawkes/M/FKS +fawn/GZRDMS/FN +Fawn/M/FN +Fawne/M/FN +fawner/M/FN +Fawnia/M/FN +fawning/Y/FNN +fax/GMDS/FKS +Fax/M/FKS +Fay/M/F +fay/MDRGS/F +Faydra/M/FTR +Faye/M/FY +Fayette/M/FYT +Fayetteville/M/FYTFL +Fayina/M/FYN +Fayre/M/FR +Fayth/M/F@ +Faythe/M/F@ +faze/DSG/FS +FBI//FB +FCC//FK +FD//FT +FDA//FT +FDIC//FTK +FDR/M/FTR +Fe/M/F +fealty/MS/FLT +fear/RDMSG/F +fearful/YP/FFL +fearfuller//FFL +fearfullest//FFLST +fearfulness/MS/FFLNS +fearless/PY/FLS +fearlessness/MS/FLSNS +fearsome/PY/FSM +fearsomeness/M/FSMNS +feasibility/SM/FSBLT +feasible/UI/FSBL +feasibleness/M/FSBLNS +feasibly/U/FSBL +feast/GSMRD/FST +feaster/M/FST +feat/MYRGTS/FT +feater/C/FT +feather/ZMDRGS/F@ +featherbed//F@BT +featherbedding/SM/F@BTN +featherbrain/MD/F@BRN +feathered/U/F@RT +feathering/M/F@RN +featherless//F@LS +featherlight//F@LT +Featherman/M/F@MN +feathertop//F@TP +featherweight/SM/F@WT +feathery/TR/F@R +feats/C/FTS +feature/MGSD/FTR +featureless//FTRLS +Feb/M/FB +febrile//FBRL +February/MS/FBRR +fecal//FKL +feces//FSS +feckless/PY/FKLS +fecklessness/M/FKLSNS +fecund/I/FKNT +fecundability//FKNTBLT +fecundate/XSDGN/FKNTT +fecundation/M/FKNTXN +fecundity/SM/FKNTT +Fed/SM/FT +fed/U/FT +Federal/S/FTRL +federal/YS/FTRL +federalism/SM/FTRLSM +Federalist//FTRLST +federalist/MS/FTRLST +federalization/MS/FTRLSXN +federalize/GSD/FTRLS +federate/FSDXVNG/FTRT +federated/U/FTRTT +federation/FM/FTRXN +federative/Y/FTRTF +Federica/M/FTRK +Federico/M/FTRK +FedEx/M/FTKS +Fedora/M/FTR +fedora/SM/FTR +feds//FTS +Fee/M/F +fee/MDS/F +feeble/TPR/FBL +feebleness/SM/FBLNS +feebly//FBL +feed/GRZJS/FT +feedback/SM/FTBK +feedbag/MS/FTBK +feeder/M/FT +feeding/M/FTN +feedlot/SM/FTLT +feedstock//FTSTK +feedstuffs//FTSTFS +feeing//FN +feel/GZJRS/FL +feeler/M/FL +feeling/MYP/FLN +feelingly/U/FLNL +feelingness/M/FLNNS +feet/M/FT +feign/RDGS/FN +feigned/U/FN +feigner/M/FKN +feint/MDSG/FNT +feisty/RT/FST +Felder/M/FLT +Feldman/M/FLTMN +feldspar/MS/FLTSP +Felecia/M/FLX +Felic/M/FLK +Felicdad/M/FLKTT +Felice/M/FLS +Felicia/M/FLX +Felicio/M/FLS +felicitate/XGNSD/FLSTT +felicitation/M/FLSTXN +felicitous/IY/FLSTS +felicitousness/M/FLSTSNS +felicity/IMS/FLST +Felicity/M/FLST +Felicle/M/FLKL +Felike/M/FLK +Feliks/M/FLKS +feline/SY/FLN +Felipa/M/FLP +Felipe/M/FLP +Felisha/M/FLX +Felita/M/FLT +Felix/M/FLKS +Feliza/M/FLS +Felizio/M/FLS +fell/PSGZTRD/FL +fella/S/FL +fellatio/SM/FLX +felled/A/FLT +feller/M/FL +felling/A/FLN +Fellini/M/FLN +fellness/M/FLNS +fellow/SGDYM/FL +fellowman//FLMN +fellowmen//FLMN +fellowship/SM/FLXP +fellowshipped//FLXPT +fellowshipping//FLXPN +felon/MS/FLN +felonious/PY/FLNS +feloniousness/M/FLNSNS +felony/MS/FLN +felt/GSD/FLT +felting/M/FLTN +fem/S/FM +female/MPS/FML +femaleness/SM/FMLNS +feminine/PYS/FMNN +feminineness/M/FMNNNS +femininity/MS/FMNNT +feminism/MS/FMNSM +feminist/MS/FMNST +femme/MS/FM +femoral//FMRL +femur/MS/FM +fen/MS/FN +fence/SRDJGMZ/FNS +fenced/U/FNST +fencepost/M/FNSPST +fencer/M/FNS +fencing/M/FNSN +fend/RDSCZG/FNT +fender/CM/FNT +Fenelia/M/FNL +fenestration/CSM/FNSTRXN +Fenian/M/FNN +fenland/M/FNLNT +fennel/SM/FNL +Fenwick/M/FNWK +Feodor/M/FT +Feodora/M/FTR +fer/FLC/F +feral//FRL +Ferber/M/FB +Ferd/M/FT +Ferdie/M/FT +Ferdinand/M/FTNNT +Ferdinanda/M/FTNNT +Ferdinande/M/FTNNT +Ferdinando/M/FTNNT +Ferdy/M/FT +Fergus/M/FKS +Ferguson/M/FKSN +Ferlinghetti/M/FLNHT +Fermat/M/FMT +ferment/FSCM/FMNT +fermentation/MS/FMNTXN +fermented//FMNTT +fermenter//FMNT +fermenting//FMNTN +Fermi/M/FM +fermion/MS/FMN +fermium/MS/FMM +Fern/M/FN +fern/MS/FN +Fernanda/M/FNNT +Fernande/M/FNNT +Fernandez/M/FNNTS +Fernandina/M/FNNTN +Fernando/M/FNNT +Ferne/M/FN +fernery/M/FNR +ferny/TR/FN +ferocious/YP/FRSS +ferociousness/MS/FRSSNS +ferocity/MS/FRST +Ferrari/M/FRR +Ferraro/M/FRR +Ferreira/M/FRR +Ferrel/M/FRL +Ferrell/M/FRL +Ferrer/M/FR +ferret/SMRDG/FRT +ferreter/M/FRT +ferric//FRK +ferris//FRS +Ferris//FRS +ferrite/M/FRT +ferro//FR +ferroelectric//FRLKTRK +ferromagnet/M/FRMKNT +ferromagnetic//FRMKNTK +ferrous//FRS +ferrule/MGSD/FRL +ferry/SDMG/FR +ferryboat/MS/FRBT +ferryman/M/FRMN +ferrymen//FRMN +fertile/YP/FTL +fertileness/M/FTLNS +fertility/IMS/FTLT +fertilization/ASM/FTLSXN +fertilize/SRDZG/FTLS +fertilized/U/FTLST +fertilizer/M/FTLS +fertilizes/A/FTLSS +ferule/SDGM/FRL +fervency/MS/FFNS +fervent/Y/FFNT +fervid/YP/FFT +fervidness/M/FFTNS +fervor/MS/FF +fess/KGFSD/FS +Fess/M/FS +fess's//FSS +fest/RVZ/FST +festal/S/FSTL +fester/GD/FST +festival/SM/FSTFL +festive/PY/FSTF +festiveness/SM/FSTFNS +festivity/SM/FSTFT +festoon/SMDG/FSTN +feta/MS/FT +fetal//FTL +fetch/RSDGZ/FX +fetcher/M/FX +fetching/Y/FXN +fête/MS/FT +feted//FTT +fetich's//FTXS +fetid/YP/FTT +fetidness/SM/FTTNS +feting//FTN +fetish/MS/FTX +fetishism/SM/FTXSM +fetishist/SM/FTXST +fetishistic//FTXSTK +fetlock/MS/FTLK +fetter/UGSD/FT +fetter's//FTS +fettle/GSD/FTL +fettling/M/FTLN +fettuccine/S/FTSN +fetus/SM/FTS +feud/MDSG/FT +feudal/Y/FTL +feudalism/MS/FTLSM +feudalistic//FTLSTK +feudatory/M/FTTR +fever/SDMG/FF +feverish/PY/FFRX +feverishness/SM/FFRXNS +few/PTRS/F +fewness/MS/FNS +Fey/M/F +fey/RT/F +Feynman/M/FNMN +fez/M/FS +Fez/M/FS +fezzes//FSS +ff//F +FHA//FH +fiancé/MS/FNK +fiancée/S/FNK +Fiann/M/FN +Fianna/M/FN +fiasco/M/FSK +fiascoes//FSKS +Fiat/M/FT +fiat/MS/FT +fib/SZMR/FB +fibbed//FBT +fibber/MS/FB +fibbing//FBN +fiber/DM/FB +fiberboard/MS/FBBT +fiberfill/S/FBFL +Fiberglas/M/FBKLS +fiberglass/DSMG/FBKLS +Fibonacci/M/FBNS +fibril/MS/FBRL +fibrillate/XGNDS/FBRLT +fibrillation/M/FBRLXN +fibrin/MS/FBRN +fibroblast/MS/FBRBLST +fibroid/S/FBRT +fibroses//FBRSS +fibrosis/M/FBRSS +fibrous/YP/FBRS +fibrousness/M/FBRSNS +fibula/M/FBL +fibulae//FBL +fibular//FBL +FICA//FK +fices//FSS +fiche/SM/FX +Fichte/M/FXT +fichu/SM/FX +fickle/RTP/FKL +fickleness/MS/FKLNS +ficos//FKS +fiction/SM/FKXN +fictional/Y/FKXNL +fictionalization/MS/FKXNLSXN +fictionalize/DSG/FKXNLS +fictitious/PY/FKTXS +fictitiousness/M/FKTXSNS +fictive/Y/FKTF +ficus//FKS +fiddle/GMZJRSD/FTL +fiddler/M/FTL +fiddlestick/SM/FTLSTK +fiddly//FTL +fide/F/FT +Fidel/M/FTL +Fidela/M/FTL +Fidelia/M/FTL +Fidelio/M/FTL +fidelity/IMS/FTLT +Fidelity/M/FTLT +fidget/DSG/FKT +fidgety//FKT +Fido/M/FT +Fidole/M/FTL +fiducial/Y/FTXL +fiduciary/MS/FTXR +fie/S/F +fief/MS/FF +fiefdom/S/FFTM +Field/MGS/FLT +field/ZISMR/FLT +fielded//FLTT +fielder/IM/FLT +fielding//FLTN +Fielding/M/FLTN +fieldstone/M/FLTSTN +fieldwork/ZMRS/FLTWK +fieldworker/M/FLTWK +fiend/MS/FNT +fiendish/YP/FNTX +fiendishness/M/FNTXNS +fierce/RPTY/FS +fierceness/SM/FSNS +fierily//FRL +fieriness/MS/FRNS +fiery/PTR/FR +fies/C/FS +fiesta/MS/FST +fife/DRSMZG/FF +fifer/M/FF +Fifi/M/FF +Fifine/M/FFN +FIFO//FF +fifteen/HRMS/FFTN +fifteenths//FFTN@S +fifth/Y/FF@ +fifths//FF@S +fiftieths//FFT@S +fifty/HSM/FFT +fig/MLS/FK +Figaro/M/FKR +figged//FKT +figging//FKN +fight/ZSJRG/FT +fightback//FTBK +fighter/MIS/FT +fighting/IS/FTN +figment/MS/FKMNT +Figueroa/M/FKR +figural//FKRL +figuration/FSM/FKRXN +figurative/YP/FKRTF +figurativeness/M/FKRTFNS +figure/GFESD/FKR +figurehead/SM/FKRHT +figurer/SM/FKR +figure's//FKRS +figurine/SM/FKRN +figuring/S/FKRN +Fiji/M/FK +Fijian/SM/FKN +filament/MS/FLMNT +filamentary//FLMNTR +filamentous//FLMNTS +Filbert/M/FLBT +filbert/MS/FLBT +Filberte/M/FLBT +Filberto/M/FLBT +filch/SDG/FLX +file/KDRSGMZ/FL +filed/AC/FLT +filename/SM/FLNM +filer/KMCS/FL +files/AC/FLS +filet's//FLTS +Filia/M/FL +filial/UY/FLL +filibuster/MDRSZG/FLBST +filibusterer/M/FLBSTR +Filide/M/FLT +filigree/MSD/FLKR +filigreeing//FLKRN +filing/AC/FLN +filings//FLNS +Filip/M/FLP +Filipino/SM/FLPN +Filippa/M/FLP +Filippo/M/FLP +fill/BAJGSD/FL +filled/U/FLT +filler/MS/FL +fillet/MDSG/FLT +filleting/M/FLTN +filling/M/FLN +fillip/MDGS/FLP +Fillmore/M/FLMR +filly/SM/FL +film/SGMD/FLM +filmdom/M/FLMTM +Filmer/M/FLM +filminess/SM/FLMNS +filming/M/FLMN +filmmaker/S/FLMK +Filmore/M/FLMR +filmstrip/SM/FLMSTRP +filmy/RTP/FLM +Filofax/S/FLFKS +filter/RDMSZGB/FLT +filtered/U/FLTRT +filterer/M/FLTR +filth/M/FL@ +filthily//FL@L +filthiness/SM/FL@NS +filths//FL@S +filthy/TRSDGP/FL@ +filtrate/SDXMNG/FLTRT +filtrated/I/FLTRTT +filtrates/I/FLTRTS +filtrating/I/FLTRTN +filtration/IMS/FLTRXN +Fin/M/FN +fin/TGMDRS/FN +Fina/M/FN +finagle/RSDZG/FNKL +finagler/M/FNKL +final/SY/FNL +finale/MS/FNL +finalist/MS/FNLST +finality/MS/FNLT +finalization/SM/FNLSXN +finalize/GSD/FNLS +finance/MGSDJ/FNNS +financed/A/FNNST +finances/A/FNNSS +financial/Y/FNNXL +financier/DMGS/FNNS +financing/A/FNNSN +Finch/M/FNX +finch/MS/FNX +find/BRJSGZ/FNT +findable/U/FNTBL +finder/M/FNT +finding/M/FNTN +Findlay/M/FNTL +Findley/M/FNTL +fine/FGSCRDA/FN +finely//FNL +fineness/MS/FNNS +finery/MAS/FNR +fine's//FNS +finespun//FNSPN +finesse/SDMG/FNS +finger/SGRDMJ/FN +fingerboard/SM/FNBT +fingerer/M/FNR +fingering/M/FNRN +fingerless//FNLS +fingerling/M/FNLN +fingernail/MS/FNNL +fingerprint/SGDM/FNPRNT +fingertip/MS/FNTP +finial/SM/FNL +finical//FNKL +finickiness/S/FNKNS +finicky/RPT/FNK +fining/M/FNN +finis/SM/FNS +finish/JZGRSD/FNX +finished/UA/FNXT +finisher/M/FNX +finishes/A/FNXS +finite/ISPY/FNT +finitely/C/FNTL +finiteness/MIC/FNTNS +fink/GDMS/FNK +Finland/M/FNLNT +Finlay/M/FNL +Finley/M/FNL +Finn/MS/FN +Finnbogadottir/M/FNBKTT +finned//FNT +Finnegan/M/FNKN +finner//FN +finning//FNN +Finnish//FNX +finny/RT/FN +Fiona/M/FN +Fionna/M/FN +Fionnula/M/FNL +fiord's//FTS +Fiorello/M/FRL +Fiorenze/M/FRNS +Fiori/M/FR +fir/ZGJMDRHS/F +fire/MS/FR +firearm/SM/FRM +fireball/SM/FRBL +fireboat/M/FRBT +firebomb/MDSG/FRBM +firebox/MS/FRBKS +firebrand/MS/FRBRNT +firebreak/SM/FRBRK +firebrick/SM/FRBRK +firebug/SM/FRBK +firecracker/SM/FRKRK +fired/U/FRT +firedamp/SM/FRTMP +firefight/JRGZS/FRFT +firefly/MS/FRFL +fireguard/M/FRKT +firehouse/MS/FRHS +firelight/GZSM/FRLT +fireman/M/FRMN +firemen//FRMN +fireplace/MS/FRPLS +fireplug/MS/FRPLK +firepower/SM/FRPW +fireproof/SGD/FRPRF +firer/M/FR +firesafe//FRSF +fireside/SM/FRST +Firestone/M/FRSTN +firestorm/SM/FRSTM +firetrap/SM/FRTRP +firetruck/S/FRTRK +firewall/S/FRWL +firewater/SM/FRWT +firewood/MS/FRWT +firework/MS/FRWK +firing/M/FRN +firkin/M/FKN +firm/ISFDG/FM +firmament/MS/FMMNT +firmer//FM +firmest//FMST +firmly/I/FML +firmness/MS/FMNS +firm's//FMS +firmware/MS/FMWR +firring//FRN +first/SY/FST +firstborn/S/FSTBN +firsthand//FS@NT +firth/M/F@ +firths//F@S +fiscal/YS/FSKL +Fischbein/M/FSXBN +Fischer/M/FSK +fish/JGZMSRD/FX +fishbowl/MS/FXBL +fishcake/S/FXKK +fisher/M/FX +Fisher/M/FX +fisherman/M/FXMN +fishermen/M/FXMN +fishery/MS/FXR +fishhook/MS/FXHK +fishily//FXL +fishiness/MS/FXNS +fishing/M/FXN +Fishkill/M/FXKL +fishmeal//FXML +fishmonger/MS/FXMNK +fishnet/SM/FXNT +fishpond/SM/FXPNT +fishtail/DMGS/FXTL +fishtanks//FXTNKS +fishwife/M/FXWF +fishwives//FXWFS +fishy/TPR/FX +Fisk/M/FSK +Fiske/M/FSK +fissile//FSL +fission/BSDMG/FXN +fissionable/S/FXNBL +fissure/MGSD/FSR +fist/MDGS/FST +fistfight/SM/FSTFT +fistful/MS/FSTFL +fisticuff/SM/FSTKF +fistula/SM/FSTL +fistulous//FSTLS +fit/UYPS/FT +Fitch/M/FX +Fitchburg/M/FXBK +fitful/PY/FTFL +fitfulness/SM/FTFLNS +fitments//FTMNTS +fitness/USM/FTNS +fits/AK/FTS +fit's/K/FTS +fitted/UA/FTT +fitter/SM/FT +fittest//FTST +fitting/AU/FTN +fittingly//FTNL +fittingness/M/FTNNS +fittings//FTNS +Fitz/M/FTS +Fitzgerald/M/FTSKRLT +Fitzpatrick/M/FTSPTRK +Fitzroy/M/FTSR +five/MRS/FF +fivefold//FFFLT +fiver/M/FF +fix/USDG/FKS +fixable//FKSBL +fixate/VNGXSD/FKST +fixatifs//FKSTFS +fixation/M/FKSXN +fixative/S/FKSTF +fixed/YP/FKST +fixedness/M/FKSTNS +fixer/SM/FKS +fixes/I/FKSS +fixing/SM/FKSN +fixity/MS/FKST +fixture/SM/FKSTR +Fizeau/M/FS +fizz/SRDG/FS +fizzer/M/FS +fizzle/GSD/FSL +fizzy/RT/FS +fjord/SM/FKT +FL//FL +fl/GJD/FL +Fla/M/FL +flab/MS/FLB +flabbergast/GSD/FLBKST +flabbergasting/Y/FLBKSTN +flabbily//FLBL +flabbiness/SM/FLBNS +flabby/TPR/FLB +flaccid/Y/FLST +flaccidity/MS/FLSTT +flack/SGDM/FLK +flag/MS/FLK +flagella/M/FLKL +flagellate/DSNGX/FLKLT +flagellation/M/FLKLXN +flagellum/M/FLKLM +flagged//FLKT +flagging/SMY/FLKN +flaggingly/U/FLKNL +flagman/M/FLKMN +flagmen//FLKMN +flagon/SM/FLKN +flagpole/SM/FLKPL +flagrance/MS/FLKRNS +flagrancy/SM/FLKRNS +flagrant/Y/FLKRNT +flagship/MS/FLKXP +flagstaff/MS/FLKSTF +flagstone/SM/FLKSTN +flail/SGMD/FLL +flair/SM/FL +flak/RDMGS/FLK +flake/SM/FLK +flaker/M/FLK +flakiness/MS/FLKNS +flaky/PRT/FLK +flam/MRNDJGZ/FLM +flambé/D/FLMB +flambeing//FLMBN +flambes//FLMBS +flamboyance/MS/FLMBYNS +flamboyancy/MS/FLMBYNS +flamboyant/YS/FLMBYNT +flame/SIGDR/FLM +flamen/M/FLMN +flamenco/SM/FLMNK +flameproof/DGS/FLMPRF +flamer/IM/FLM +flame's//FLMS +flamethrower/SM/FLM@RW +flaming/Y/FLMN +flamingo/SM/FLMN +flammability/ISM/FLMBLT +flammable/SI/FLMBL +flan/MS/FLN +Flanagan/M/FLNKN +Flanders/M/FLNTS +flange/GMSD/FLNK +flank/SGZRDM/FLNK +flanker/M/FLNK +flannel/DMGS/FLNL +flannelet/MS/FLNLT +flannelette's//FLNLTS +flap/MS/FLP +flapjack/SM/FLPKK +flapped//FLPT +flapper/SM/FLP +flapping//FLPN +flaps/M/FLPS +flare/SDG/FLR +flareup/S/FLRP +flaring/Y/FLRN +flash/JMRSDGZ/FLX +flashback/SM/FLXBK +flashbulb/SM/FLXBLB +flashcard/S/FLXKT +flashcube/MS/FLXKB +flasher/M/FLX +flashgun/S/FLXKN +flashily//FLXL +flashiness/SM/FLXNS +flashing/M/FLXN +flashlight/MS/FLXLT +flashy/TPR/FLX +flask/SM/FLSK +flat/MYPS/FLT +flatbed/S/FLTBT +flatboat/MS/FLTBT +flatcar/MS/FLTK +flatfeet//FLTFT +flatfish/SM/FLTFX +flatfoot/SGDM/FLTFT +flathead/M/FL@T +flatiron/SM/FLTRN +flatland/RS/FLTLNT +flatmate/M/FLTMT +flatness/MS/FLTNS +Flatt/M/FLT +flatted//FLTT +flatten/SDRG/FLTN +flattener/M/FLTN +flatter/DRSZG/FLT +flatterer/M/FLTR +flattering/YU/FLTRN +flattery/SM/FLTR +flattest/M/FLTST +flatting//FLTN +flattish//FLTX +flattop/MS/FLTP +flatulence/SM/FLTLNS +flatulent/Y/FLTLNT +flatus/SM/FLTS +flatware/MS/FLTWR +flatworm/SM/FLTWM +Flaubert/M/FLBT +flaunt/SDG/FLNT +flaunting/Y/FLNTN +flautist/SM/FLTST +flavor/SJDRMZG/FLF +flavored/U/FLFRT +flavorer/M/FLFR +flavorful//FLFFL +flavoring/M/FLFRN +flavorless//FLFLS +flavorsome//FLFSM +flaw/GDMS/FL +flawless/PY/FLLS +flawlessness/MS/FLLSNS +flax/MSN/FLKS +flaxseed/M/FLKSST +flay/RDGZS/FL +flayer/M/FLY +flea/SM/FL +fleabag/MS/FLBK +fleabites//FLBTS +fleawort/M/FLWT +fleck/GRDMS/FLK +Fledermaus/M/FLTMS +fledge/GSD/FLK +fledged/U/FLKT +fledgling/SM/FLTKLN +flee/RS/FL +fleece/RSDGMZ/FLS +fleecer/M/FLS +fleeciness/SM/FLSNS +fleecy/RTP/FLS +fleeing//FLN +fleet/MYRDGTPS/FLT +fleeting/YP/FLTN +fleetingly/M/FLTNL +fleetingness/SM/FLTNNS +fleetness/MS/FLTNS +Fleischer/M/FLSK +Fleischman/M/FLSXMN +Fleisher/M/FLX +Flem/JGM/FLM +Fleming/M/FLMN +Flemish/GDSM/FLMX +Flemished/M/FLMXT +Flemishing/M/FLMXN +Flemming/M/FLMN +flesh/JMYRSDG/FLX +flesher/M/FLX +fleshiness/M/FLXNS +fleshless//FLXLS +fleshly/TR/FLXL +fleshpot/SM/FLXPT +fleshy/TPR/FLX +fletch/DRSGJ/FLX +Fletch/MR/FLX +fletcher/M/FLX +Fletcher/M/FLX +fletching/M/FLXN +Fleur/M/FL +Fleurette/M/FLRT +flew/S/FL +flews/M/FLS +flex/MSDAG/FLKS +flexed/I/FLKST +flexibility/MSI/FLKSBLT +flexible/I/FLKSBL +flexibly/I/FLKSBL +flexitime's//FLKSTMS +flextime/S/FLKSTM +flexural//FLKSRL +flexure/M/FLKSR +flibbertigibbet/MS/FLBTKBT +flick/GZSRD/FLK +flicker/GD/FLK +flickering/Y/FLKRN +flickery//FLKR +flier/M/FL +flight/GMDS/FLT +flightiness/SM/FLTNS +flightless//FLTLS +flightpath//FLTP@ +flighty/RTP/FLT +flimflam/MS/FLMFLM +flimflammed//FLMFLMT +flimflamming//FLMFLMN +flimsily//FLMSL +flimsiness/MS/FLMSNS +flimsy/PTRS/FLMS +Flin/M/FLN +flinch/GDRS/FLNX +flincher/M/FLNX +flinching/U/FLNXN +fling/RMG/FLN +flinger/M/FLN +Flinn/M/FLN +Flint/M/FLNT +flint/MDSG/FLNT +flintiness/M/FLNTNS +flintless//FLNTLS +flintlock/MS/FLNTLK +Flintstones//FLNTSTNS +flinty/TRP/FLNT +flip/S/FLP +flipflop//FLPFLP +flippable//FLPBL +flippancy/MS/FLPNS +flippant/Y/FLPNT +flipped//FLPT +flipper/SM/FLP +flippest//FLPST +flipping//FLPN +flirt/GRDS/FLT +flirtation/SM/FLTXN +flirtatious/PY/FLTXS +flirtatiousness/MS/FLTXSNS +flit/S/FLT +flitted//FLTT +flitting//FLTN +Flo/M/FL +float/SRDGJZ/FLT +floater/M/FLT +floaty//FLT +flocculate/GNDS/FLKLT +flocculation/M/FLKLXN +flock/SJDMG/FLK +floe/MS/FL +flog/S/FLK +flogged//FLKT +flogger/SM/FLK +flogging/SM/FLKN +flood/SMRDG/FLT +floodgate/MS/FLTKT +floodlight/DGMS/FLTLT +floodlit//FLTLT +floodplain/S/FLTPLN +floodwater/SM/FLTWT +floor/SJRDMG/FL +floorboard/MS/FLBT +floorer/M/FLR +flooring/M/FLRN +floorspace//FLSPS +floorwalker/SM/FLWLK +floozy/SM/FLS +flop/MS/FLP +flophouse/SM/FLFS +flopped//FLPT +flopper/M/FLP +floppily//FLPL +floppiness/SM/FLPNS +flopping//FLPN +floppy/TMRSP/FLP +Flor/M/FL +Flora/M/FLR +flora/SM/FLR +floral/SY/FLRL +Florance/M/FLRNS +Flore/SM/FLR +Florella/M/FLRL +Florence/M/FLRNS +Florencia/M/FLRNX +Florentia/M/FLRNX +Florentine/S/FLRNTN +Florenza/M/FLRNS +florescence/MIS/FLRSNS +florescent/I/FLRSNT +floret/MS/FLRT +Florette/M/FLRT +Flori/SM/FLR +Floria/M/FLR +Florian/M/FLRN +florid/YP/FLRT +Florida/M/FLRT +Floridan/S/FLRTN +Floridian/S/FLRTN +floridness/SM/FLRTNS +Florie/M/FLR +florin/MS/FLRN +Florina/M/FLRN +Florinda/M/FLRNT +Florine/M/FLRN +florist/MS/FLRST +Florri/M/FLR +Florrie/M/FLR +Florry/M/FLR +Flory/M/FLR +floss/GSDM/FLS +Flossi/M/FLS +Flossie/M/FLS +Flossy/M/FLS +flossy/RST/FLS +flotation/SM/FLTXN +flotilla/SM/FLTL +flotsam/SM/FLTSM +flounce/GDS/FLNS +flouncing/M/FLNSN +flouncy/RT/FLNS +flounder/SDG/FLNT +flour/SGDM/FL +flourish/GSRD/FLRX +flourisher/M/FLRX +flourishing/Y/FLRXN +floury/TR/FLR +flout/GZSRD/FLT +flouter/M/FLT +flow/ISG/FL +flowchart/SG/FLXT +flowed//FLWT +flower/CSGD/FLW +flowerbed/SM/FLWBT +flowerer/M/FLWR +floweriness/SM/FLWRNS +flowerless//FLWLS +flowerpot/MS/FLWPT +flower's//FLWS +Flowers//FLWS +flowery/TRP/FLWR +flowing/Y/FLWN +flown//FLN +flowstone//FLSTN +Floyd/M/FLT +Flss/M/FLS +flt//FLT +flu/MS/FL +flub/S/FLB +flubbed//FLBT +flubbing//FLBN +fluctuate/XSDNG/FLKTT +fluctuation/M/FLKTXN +flue/SM/FL +fluency/MS/FLNS +fluent/SF/FLNT +fluently//FLNTL +fluff/SGDM/FLF +fluffiness/SM/FLFNS +fluffy/PRT/FLF +fluid/MYSP/FLT +fluidity/SM/FLTT +fluidized//FLTST +fluidness/M/FLTNS +fluke/SDGM/FLK +fluky/RT/FLK +flume/SDGM/FLM +flummox/DSG/FLMKS +flung//FLNK +flunk/SRDG/FLNK +flunkey's//FLNKS +flunky/MS/FLNK +fluoresce/GSRD/FLRS +fluorescence/MS/FLRSNS +fluorescent/S/FLRSNT +fluoridate/XDSGN/FLRTT +fluoridation/M/FLRTXN +fluoride/SM/FLRT +fluorimetric//FLRMTRK +fluorinated//FLRNTT +fluorine/SM/FLRN +fluorite/MS/FLRT +fluorocarbon/MS/FLRKBN +fluoroscope/MGDS/FLRSKP +fluoroscopic//FLRSKPK +flurry/GMDS/FLR +flush/TRSDPBG/FLX +flushness/M/FLXNS +fluster/DSG/FLST +flute/SRDGMJ/FLT +fluter/M/FLT +fluting/M/FLTN +flutist/MS/FLTST +flutter/DRSG/FLT +flutterer/M/FLTR +fluttery//FLTR +flux/IMS/FLKS +fluxed/A/FLKST +fluxes/A/FLKSS +fluxing//FLKSN +fly/JGBDRSTZ/FL +flyaway//FLYW +flyblown//FLBLN +flyby/M/FLB +flybys//FLBS +flycatcher/MS/FLKX +flyer's//FLYS +flyleaf/M/FLLF +flyleaves//FLLFS +Flynn/M/FLN +flyover/MS/FLYF +flypaper/MS/FLPP +flysheet/S/FLXT +flyspeck/MDGS/FLSPK +flyswatter/S/FLSWT +flyway/MS/FLW +flyweight/MS/FLWT +flywheel/MS/FLHL +FM//FM +Fm/M/FM +FNMA/M/FNM +foal/MDSG/FL +foam/MRDSG/FM +foaminess/MS/FMNS +foamy/RPT/FM +fob/SM/FB +fobbed//FBT +fobbing//FBN +focal/F/FKL +focally//FKL +Foch/M/FX +foci's//FSS +focus/SRDMBG/FKS +focused/AU/FKST +focuser/M/FKS +focuses/A/FKSS +fodder/GDMS/FT +foe/SM/F +foetid//FTT +FOFL//FFL +fog/SM/FK +fogbound//FKBNT +fogged/C/FKT +foggily//FKL +fogginess/MS/FKNS +fogging/C/FKN +foggy/RPT/FK +foghorn/SM/FKN +fogs/C/FKS +fogy/SM/FK +fogyish//FKYX +foible/MS/FBL +foil/GSD/FL +foist/GDS/FST +Fokker/M/FK +fol/Y/FL +fold/RDJSGZ/FLT +foldaway/S/FLTW +folded/AU/FLTT +folder/M/FLT +foldout/MS/FLTT +folds/UA/FLTS +Foley/M/FL +foliage/MSD/FLK +foliate/CSDXGN/FLT +foliation/CM/FLXN +folio/SDMG/FL +folk/MS/FLK +folklike//FLKLK +folklore/MS/FLKLR +folkloric//FLKLRK +folklorist/SM/FLKLRST +folksiness/MS/FLKSNS +folksinger/S/FLKSN +folksinging/S/FLKSNN +folksong/S/FLKSNK +folksy/TPR/FLKS +folktale/S/FLKTL +folkway/S/FLKW +foll//FL +follicle/SM/FLKL +follicular//FLKL +follow/JSZBGRD/FL +follower/M/FLW +followup's//FLWPS +folly/SM/FL +Folsom//FLSM +Fomalhaut/M/FMLHT +foment/RDSG/FMNT +fomentation/SM/FMNTXN +fomenter/M/FMNT +fond/PMYRDGTS/FNT +Fonda/M/FNT +fondant/SM/FNTNT +fondle/GSRD/FNTL +fondler/M/FNTL +fondness/MS/FNTNS +fondue/MS/FNT +Fons//FNS +Fonsie/M/FNS +font/MS/FNT +Fontaine/M/FNTN +Fontainebleau/M/FNTNBL +Fontana/M/FNTN +fontanel/MS/FNTNL +fontanelle's//FNTNLS +Fonz/M/FNS +Fonzie/M/FNS +food/MS/FT +foodie/S/FT +foodstuff/MS/FTSTF +fool/MDGS/FL +foolery/MS/FLR +foolhardily//FLHTL +foolhardiness/SM/FLHTNS +foolhardy/PTR/FLHT +foolish/PRYT/FLX +foolishness/SM/FLXNS +foolproof//FLPRF +foolscap/MS/FLSKP +foot/SMRDGZJ/FT +footage/SM/FTK +football/SRDMGZ/FTBL +footbridge/SM/FTBRK +Foote/M/FT +footer/M/FT +footfall/SM/FTFL +foothill/SM/F@L +foothold/MS/F@LT +footing/M/FTN +footless//FTLS +footlights//FTLTS +footling//FTLN +footlocker/SM/FTLK +footloose//FTLS +footman/M/FTMN +footmarks//FTMKS +footmen//FTMN +footnote/MSDG/FTNT +footpad/SM/FTPT +footpath/M/FTP@ +footpaths//FTP@S +footplate/M/FTPLT +footprint/MS/FTPRNT +footrace/S/FTRS +footrest/MS/FTRST +footsie/SM/FTS +footsore//FTSR +footstep/SM/FTSTP +footstool/SM/FTSTL +footwear/M/FTW +footwork/SM/FTWK +fop/MS/FP +fopped//FPT +foppery/MS/FPR +fopping//FPN +foppish/YP/FPX +foppishness/SM/FPXNS +for/HT/F +forage/GSRDMZ/FRK +forager/M/FRK +foray/SGMRD/FR +forayer/M/FRY +forbade//FBT +forbear/MRSG/FB +forbearance/SM/FBRNS +forbearer/M/FBR +Forbes/M/FBS +forbid/S/FBT +forbidden//FBTN +forbidding/YPS/FBTN +forbiddingness/M/FBTNNS +forbore//FBR +forborne//FBN +force/SRDGM/FS +forced/Y/FST +forcefield/MS/FSFLT +forceful/PY/FSFL +forcefulness/MS/FSFLNS +forceps/M/FSPS +forcer/M/FS +forcible/P/FSBL +forcibleness/M/FSBLNS +forcibly//FSBL +Ford/M/FT +ford/SMDBG/FT +fordable/U/FTBL +Fordham/M/FTHM +fore/S/FR +forearm/GSDM/FRM +forebear/MS/FRB +forebode/GJDS/FRBT +foreboding/PYM/FRBTN +forebodingness/M/FRBTNNS +forecast/SZGR/FRKST +forecaster/M/FRKST +forecastle/MS/FRKSTL +foreclose/GSD/FRKLS +foreclosure/MS/FRKLSR +forecourt/SM/FRKT +foredoom/SDG/FRTM +forefather/SM/FRF@ +forefeet//FRFT +forefinger/MS/FRFN +forefoot/M/FRFT +forefront/SM/FRFRNT +foregoer/M/FRK +foregoing/S/FRKN +foregone//FRKN +foregos//FRKS +foreground/MGDS/FRKRNT +forehand/S/FRHNT +forehead/MS/FRHT +foreign/PRYZS/FRN +foreigner/M/FRKN +foreignness/SM/FRKNS +foreknew//FRKN +foreknow/GS/FRKN +foreknowledge/MS/FRKNLK +foreknown//FRKNN +foreleg/MS/FRLK +forelimb/MS/FRLM +forelock/MDSG/FRLK +foreman/M/FRMN +Foreman/M/FRMN +foremast/SM/FRMST +foremen//FRMN +foremost//FRMST +forename/DSM/FRNM +forenoon/SM/FRNN +forensic/S/FRNSK +forensically//FRNSKL +forensics/M/FRNSKS +foreordain/DSG/FRTN +forepart/MS/FRPT +forepaws//FRPS +forepeople//FRPPL +foreperson/S/FRPSN +foreplay/MS/FRPL +forequarter/SM/FRKT +forerunner/MS/FRRN +foresail/SM/FRSL +foresaw//FRS +foresee/ZSRB/FRS +foreseeable/U/FRSBL +foreseeing//FRSN +foreseen/U/FRSN +foreseer/M/FRS +foreshadow/SGD/FRXT +foreshore/M/FRXR +foreshorten/DSG/FRXTN +foresight/SMD/FRST +foresighted/PY/FRSTT +foresightedness/SM/FRSTTNS +foreskin/SM/FRSKN +forest/CSAGD/FRST +Forest/MR/FRST +forestall/LGSRD/FRSTL +forestaller/M/FRSTL +forestallment/M/FRSTLMNT +forestation/MCS/FRSTXN +forestations/A/FRSTXNS +Forester/M/FRST +forester/SM/FRST +forestland/S/FRSTLNT +forestry/MS/FRSTR +forest's//FRSTS +foretaste/MGSD/FRTST +foretell/RGS/FRTL +foreteller/M/FRTL +forethought/MS/FR@T +foretold//FRTLT +forever/PS/FRF +forevermore//FRFMR +forewarn/GSJRD/FRWN +forewarner/M/FRWN +forewent//FRWNT +forewoman/M/FRWMN +forewomen//FRWMN +foreword/SM/FRWT +forfeit/ZGDRMS/FFT +forfeiter/M/FFT +forfeiture/MS/FFTR +forfend/GSD/FFNT +forgather/GSD/FK@ +forgave//FKF +forge/JVGMZSRD/FK +forged/A/FKT +forger/M/FK +forgery/MS/FKR +forges/A/FKS +forget/SV/FKT +forgetful/PY/FKTFL +forgetfulness/SM/FKTFLNS +forgettable/U/FKTBL +forgettably/U/FKTBL +forgetting//FKTN +forging/M/FKN +forgivable/U/FKFBL +forgivably/U/FKFBL +forgive/SRPBZG/FKF +forgiven//FKFN +forgiveness/SM/FKFNS +forgiver/M/FKF +forgiving/UP/FKFN +forgivingly//FKFNL +forgivingness/M/FKFNNS +forgo/RSGZ/FK +forgoer/M/FK +forgoes//FKS +forgone//FKN +forgot//FKT +forgotten/U/FKTN +fork/GSRDM/FK +forkful/S/FKFL +forklift/DMSG/FKLFT +forlorn/PTRY/FLN +forlornness/M/FLNS +form/CGSAFDI/FM +formability/AM/FMBLT +formal/IY/FML +formaldehyde/SM/FMLTHT +formalin/M/FMLN +formalism/SM/FMLSM +formalist/SM/FMLST +formalistic//FMLSTK +formality/SMI/FMLT +formalization/SM/FMLSXN +formalize/ZGSRD/FMLS +formalized/U/FMLST +formalizer/M/FMLS +formalizes/I/FMLSS +formalness/M/FMLNS +formals//FMLS +formant/MIS/FMNT +format/AVS/FMT +formate/MXGNSD/FMT +formation/AFSCIM/FMXN +formative/SYP/FMTF +formatively/I/FMTFL +formativeness/IM/FMTFNS +format's//FMTS +formatted/UA/FMTT +formatter/A/FMT +formatters//FMTS +formatter's//FMTS +formatting/A/FMTN +formed/U/FMT +former/FSAI/FM +formerly//FML +formfitting//FMFTN +formic//FMK +Formica/MS/FMK +formidable/P/FMTBL +formidableness/M/FMTBLNS +formidably//FMTBL +formless/PY/FMLS +formlessness/MS/FMLSNS +Formosa/M/FMS +Formosan//FMSN +form's//FMS +formula/SM/FML +formulaic//FMLK +formulate/AGNSDX/FMLT +formulated/U/FMLTT +formulation/AM/FMLXN +formulator/SM/FMLT +fornicate/GNXSD/FNKT +fornication/M/FNKXN +fornicator/SM/FNKT +Forrest/RM/FRST +Forrester/M/FRST +forsake/SG/FSK +forsaken//FSKN +forsook//FSK +forsooth//FS@ +Forster/M/FST +forswear/SG/FSW +forswore//FSWR +forsworn//FSWN +forsythia/MS/FS@ +fort/SM/FT +Fortaleza/M/FTLS +forte/MS/FT +FORTH/M/F@ +forthcome/JG/F@KM +forthcoming/U/F@KMN +forthright/PYS/F@RT +forthrightness/SM/F@RTNS +forthwith//F@W@ +fortieths//FT@S +fortification/MS/FTFKXN +fortified/U/FTFT +fortifier/SM/FTF +fortify/ADSG/FTF +fortiori//FXR +fortissimo/S/FTSM +fortitude/SM/FTTT +fortnight/MYS/FTNT +fortnightly/S/FTNTL +FORTRAN//FTRN +Fortran/M/FTRN +fortress/GMSD/FTRS +fortuitous/YP/FTTS +fortuitousness/SM/FTTSNS +fortuity/MS/FTT +fortunate/YUS/FTNT +fortunateness/M/FTNTNS +fortune/MGSD/FTN +fortuneteller/SM/FTNTL +fortunetelling/SM/FTNTLN +forty/SRMH/FT +forum/MS/FRM +forward/PTZSGDRY/FWT +forwarder/M/FWT +forwarding/M/FWTN +forwardness/MS/FWTNS +forwent//FWNT +Foss/M/FS +fossil/MS/FSL +fossiliferous//FSLFRS +fossilization/MS/FSLSXN +fossilize/GSD/FSLS +fossilized/U/FSLST +Foster/M/FST +foster/SRDG/FST +fosterer/M/FSTR +Foucault/M/FKLT +fought//FT +foul/SYRDGTP/FL +foulard/SM/FLT +foulmouth/D/FLM@ +foulness/MS/FLNS +fouls/M/FLS +found/RDGZS/FNT +foundation/SM/FNTXN +foundational//FNTXNL +founded/UF/FNTT +founder/MDG/FNT +founder's/F/FNTS +founding/F/FNTN +foundling/MS/FNTLN +foundry/MS/FNTR +founds/KF/FNTS +fount/MS/FNT +fountain/SMDG/FNTN +fountainhead/SM/FNTNHT +four/SHM/F +fourfold//FFLT +Fourier/M/FR +fourpence/M/FPNS +fourpenny//FPN +fourposter/SM/FPST +fourscore/S/FSKR +foursome/SM/FSM +foursquare//FSKR +fourteen/SMRH/FTN +fourteener/M/FTN +fourteenths//FTN@S +Fourth//F@ +fourth/Y/F@ +fourths//F@S +Fourths//F@S +fovea/M/FF +fowl/SGMRD/FL +fowler/M/FL +Fowler/M/FL +fowling/M/FLN +fox/MDSG/FKS +Fox/MS/FKS +foxfire/SM/FKSFR +foxglove/SM/FKSKLF +Foxhall/M/FKSHL +foxhole/SM/FKSHL +foxhound/SM/FKSHNT +foxily//FKSL +foxiness/MS/FKSNS +foxing/M/FKSN +foxtail/M/FKSTL +foxtrot/MS/FKSTRT +foxtrotted//FKSTRTT +foxtrotting//FKSTRTN +foxy/TRP/FKS +foyer/SM/FY +FPO//FP +fps//FPS +fr//FR +Fr/MD/FR +fracas/SM/FRKS +fractal/SM/FRKTL +fraction/ISMA/FRKXN +fractional/Y/FRKXNL +fractionate/DNG/FRKXNT +fractionation/M/FRKXNXN +fractioned//FRKXNT +fractioning//FRKXNN +fractious/PY/FRKXS +fractiousness/SM/FRKXSNS +fracture/MGDS/FRKTR +fragile/Y/FRKL +fragility/MS/FRKLT +fragment/SDMG/FRKMNT +fragmentarily//FRKMNTRL +fragmentariness/M/FRKMNTRNS +fragmentary/P/FRKMNTR +fragmentation/MS/FRKMNTXN +Fragonard/M/FRKNT +fragrance/SM/FRKRNS +fragrant/Y/FRKRNT +frail/STPYR/FRL +frailness/MS/FRLNS +frailty/MS/FRLT +frame/SRDJGMZ/FRM +framed/U/FRMT +framer/M/FRM +framework/SM/FRMWK +framing/M/FRMN +Fran/MS/FRN +franc/SM/FRNK +Francaise/M/FRNKS +France/MS/FRNS +Francene/M/FRNSN +Francesca/M/FRNSSK +Francesco/M/FRNSSK +franchise/ESDG/FRNXS +franchisee/S/FRNXS +franchiser/SM/FRNXS +franchise's//FRNXSS +Franchot/M/FRNXT +Francie/M/FRNS +Francine/M/FRNSN +Francis//FRNSS +Francisca/M/FRNSSK +Franciscan/MS/FRNSSKN +Francisco/M/FRNSSK +Franciska/M/FRNSSK +Franciskus/M/FRNSSKS +francium/MS/FRNSM +Franck/M/FRNK +Francklin/M/FRNKLN +Francklyn/M/FRNKLN +Franco/M/FRNK +Francois/M/FRNKS +Francoise/M/FRNKS +francophone/M/FRNKFN +Francyne/M/FRNSN +frangibility/SM/FRNKBLT +frangible//FRNKBL +frank/SGTYRDP/FRNK +Frank/SM/FRNK +Frankel/M/FRNKL +Frankenstein/MS/FRNKNSTN +franker/M/FRNK +Frankford/M/FRNKFT +Frankfort/M/FRNKFT +Frankfurt/RM/FRNKFT +Frankfurter/M/FRNKFT +frankfurter/MS/FRNKFT +Frankie/M/FRNK +frankincense/MS/FRNKNSNS +Frankish/M/FRNKX +franklin/M/FRNKLN +Franklin/M/FRNKLN +Franklyn/M/FRNKLN +frankness/MS/FRNKNS +Franky/M/FRNK +Franni/M/FRN +Frannie/M/FRN +Franny/M/FRN +Fransisco/M/FRNSSK +frantic/PY/FRNTK +frantically//FRNTKL +franticness/M/FRNTKNS +Frants/M/FRNTS +Franz/NM/FRNS +Franzen/M/FRNSN +frappé//FRP +frappeed//FRPT +frappeing//FRPN +frappes//FRPS +Frasco/M/FRSK +Fraser/M/FRS +Frasier/M/FRS +Frasquito/M/FRSKT +frat/MS/FRT +fraternal/Y/FRTNL +fraternity/MSF/FRTNT +fraternization/SM/FRTNSXN +fraternize/GZRSD/FRTNS +fraternizer/M/FRTNS +fraternizing/U/FRTNSN +fratricidal//FRTRSTL +fratricide/MS/FRTRST +Frau/MN/FR +fraud/CS/FRT +fraud's//FRTS +fraudsters//FRTSTS +fraudulence/S/FRTLNS +fraudulent/YP/FRTLNT +fraught/SGD/FRT +Fraulein/S/FRLN +fray/CSDG/FR +Frayda/M/FRT +Frayne/M/FRN +fray's//FRS +Fraze/MR/FRS +Frazer/M/FRS +Frazier/M/FRS +frazzle/GDS/FRSL +freak/SGDM/FRK +freakish/YP/FRKX +freakishness/SM/FRKXNS +freaky/RT/FRK +freckle/GMDS/FRKL +freckly/RT/FRKL +Fred/M/FRT +Freda/M/FRT +Freddi/M/FRT +Freddie/M/FRT +Freddy/M/FRT +Fredek/M/FRTK +Fredelia/M/FRTL +Frederic/M/FRTRK +Frederica/M/FRTRK +Frederich/M/FRTRX +Frederick/MS/FRTRK +Fredericka/M/FRTRK +Frederico/M/FRTRK +Fredericton/M/FRTRKTN +Frederigo/M/FRTRK +Frederik/M/FRTRK +Frederique/M/FRTRK +Fredholm/M/FRTHLM +Fredi/M/FRT +Fredia/M/FRT +Fredra/M/FRTR +Fredric/M/FRTRK +Fredrick/M/FRTRK +Fredrickson/M/FRTRKSN +Fredrika/M/FRTRK +Free/M/FR +free/YTDRSP/FR +freebase/GDS/FRBS +freebie/MS/FRB +freeboot/ZR/FRBT +freebooter/M/FRBT +freeborn//FRBN +freedman/M/FRTMN +Freedman/M/FRTMN +freedmen//FRTMN +freedom/MS/FRTM +freehand/D/FRHNT +freehanded/Y/FRHNTT +freehold/ZSRM/FRHLT +freeholder/M/FRHLT +freeing/S/FRN +freelance/SRDGZM/FRLNS +Freeland/M/FRLNT +freeload/SRDGZ/FRLT +freeloader/M/FRLT +freeman/M/FRMN +Freeman/M/FRMN +Freemason/SM/FRMSN +freemasonry/M/FRMSNR +Freemasonry/MS/FRMSNR +freemen//FRMN +Freemon/M/FRMN +freeness/M/FRNS +Freeport/M/FRPT +freestanding//FRSTNTN +freestone/SM/FRSTN +freestyle/SM/FRSTL +freethinker/MS/FR@NK +freethinking/S/FR@NKN +Freetown/M/FRTN +freeway/MS/FRW +freewheel/SRDMGZ/FRHL +freewheeler/M/FRHL +freewheeling/P/FRHLN +freewill//FRWL +freezable//FRSBL +freeze/UGSA/FRS +freezer/SM/FRS +freezing/S/FRSN +Freida/M/FRT +freight/ZGMDRS/FRT +freighter/M/FRT +Fremont/M/FRMNT +French/MDSG/FRNX +Frenchman/M/FRNXMN +Frenchmen//FRNXMN +Frenchwoman/M/FRNXWMN +Frenchwomen//FRNXWMN +frenetic/S/FRNTK +frenetically//FRNTKL +frenzied/Y/FRNST +frenzy/MDSG/FRNS +freon/S/FRN +Freon/SM/FRN +freq//FRK +frequency/ISM/FRKNS +frequent/IY/FRKNT +frequented/U/FRKNTT +frequenter/MS/FRKNT +frequentest//FRKNTST +frequenting//FRKNTN +frequentness/M/FRKNTNS +frequents//FRKNTS +fresco/DMG/FRSK +frescoes//FRSKS +fresh/AZSRNDG/FRX +freshen/SZGDR/FRXN +freshener/M/FRXN +fresher/MA/FRX +freshest//FRXST +freshet/SM/FRXT +freshly//FRXL +freshman/M/FRXMN +freshmen//FRXMN +freshness/MS/FRXNS +freshwater/SM/FRXWT +Fresnel/M/FRSNL +Fresno/M/FRSN +fret/S/FRT +fretboard//FRTBT +fretful/PY/FRTFL +fretfulness/MS/FRTFLNS +fretsaw/S/FRTS +fretted//FRTT +fretting//FRTN +fretwork/MS/FRTWK +Freud/M/FRT +Freudian/S/FRTN +Frey/M/FR +Freya/M/FRY +Fri/M/FR +friable/P/FRBL +friableness/M/FRBLNS +friar/YMS/FR +friary/MS/FRR +fricassee/MSD/FRKS +fricasseeing//FRKSN +frication/M/FRKXN +fricative/MS/FRKTF +Frick/M/FRK +friction/MS/FRKXN +frictional/Y/FRKXNL +frictionless/Y/FRKXNLS +Friday/SM/FRT +fridge/SM/FRK +fried/A/FRT +Frieda/M/FRT +Friedan/M/FRTN +friedcake/SM/FRTKK +Friederike/M/FRTRK +Friedman/M/FRTMN +Friedrich/M/FRTRX +Friedrick/M/FRTRK +friend/SGMYD/FRNT +friendless/P/FRNTLS +friendlessness/M/FRNTLSNS +friendlies//FRNTLS +friendlily//FRNTLL +friendliness/USM/FRNTLNS +friendly/PUTR/FRNTL +friendship/MS/FRNTXP +frier's//FRS +fries/M/FRS +frieze/SDGM/FRS +frig/S/FRK +frigate/SM/FRKT +Frigga/M/FRK +frigged//FRKT +frigging/S/FRKN +fright/GXMDNS/FRT +frighten/DG/FRTN +frightening/Y/FRTNN +frightful/PY/FRTFL +frightfulness/MS/FRTFLNS +frigid/YP/FRKT +Frigidaire/M/FRKTR +frigidity/MS/FRKTT +frigidness/SM/FRKTNS +frill/MDGS/FRL +frilly/RST/FRL +fringe/IGSD/FRN +fringe's//FRNS +frippery/SM/FRPR +Frisbee/MS/FRSB +Frisco/M/FRSK +Frisian/SM/FRXN +frisk/RDGS/FRSK +frisker/M/FRSK +friskily//FRSKL +friskiness/SM/FRSKNS +frisky/RTP/FRSK +frisson/M/FRSN +Frito/M/FRT +fritter/RDSG/FRT +fritterer/M/FRTR +Fritz/M/FRTS +fritz/SM/FRTS +frivolity/MS/FRFLT +frivolous/PY/FRFLS +frivolousness/SM/FRFLSNS +frizz/GYSD/FRS +frizzle/DSG/FRSL +frizzly/RT/FRSL +frizzy/RT/FRS +fro/HS/FR +Frobisher/M/FRBX +frock/SUDGC/FRK +frocking/M/FRKN +frock's//FRKS +frog/MS/FRK +frogged//FRKT +frogging//FRKN +frogman/M/FRKMN +frogmarched//FRKMXT +frogmen//FRKMN +Froissart/M/FRST +frolic/SM/FRLK +frolicked//FRLKT +frolicker/SM/FRLK +frolicking//FRLKN +frolicsome//FRLKSM +from//FRM +Fromm/M/FRM +frond/SM/FRNT +front/GSFRD/FRNT +frontage/MS/FRNTK +frontal/SY/FRNTL +Frontenac/M/FRNTNK +frontier/SM/FRNT +frontiersman/M/FRNTSMN +frontiersmen//FRNTSMN +frontispiece/SM/FRNTSPS +frontrunner's//FRNTRNS +front's//FRNTS +frontward/S/FRNTWT +frosh/M/FRX +frost/CDSG/FRST +Frost/M/FRST +Frostbelt/M/FRSTBLT +frostbit/G/FRSTBT +frostbite/MS/FRSTBT +frostbiting/M/FRSTBTN +frostbitten//FRSTBTN +frosted/U/FRSTT +frosteds//FRSTTS +frostily//FRSTL +frostiness/SM/FRSTNS +frosting/MS/FRSTN +frost's//FRSTS +frosty/PTR/FRST +froth/GMD/FR@ +frothiness/SM/FR@NS +froths//FR@S +frothy/TRP/FR@ +froufrou/MS/FRFR +froward/P/FRWT +frowardness/MS/FRWTNS +frown/RDSG/FRN +frowner/M/FRN +frowning/Y/FRNN +frowzily//FRSL +frowziness/SM/FRSNS +frowzy/RPT/FRS +froze/UA/FRS +frozen/YP/FRSN +frozenness/M/FRSNS +fructify/GSD/FRKTF +fructose/MS/FRKTS +Fruehauf/M/FRHF +frugal/Y/FRKL +frugality/SM/FRKLT +fruit/GMRDS/FRT +fruitcake/SM/FRTKK +fruiter/RM/FRT +fruiterer/M/FRTR +fruitful/UYP/FRTFL +fruitfuller//FRTFL +fruitfullest//FRTFLST +fruitfulness/MS/FRTFLNS +fruitiness/MS/FRTNS +fruition/SM/FRXN +fruitless/YP/FRTLS +fruitlessness/MS/FRTLSNS +fruity/RPT/FRT +frump/MS/FRMP +frumpish//FRMPX +frumpy/TR/FRMP +Frunze/M/FRNS +frustrate/RSDXNG/FRSTRT +frustrater/M/FRSTRT +frustrating/Y/FRSTRTN +frustration/M/FRSTRXN +frustum/SM/FRSTM +Fry/M/FR +fry/NGDS/FR +Frye/M/FRY +fryer/MS/FRY +F's//FS +f's/KA/FS +FSLIC//FSLK +ft/C/FT +FTC//FTK +FTP//FTP +Fuchs/M/FXS +fuchsia/MS/FXX +fuck/GZJRDMS/FK +fucker/M/FK +FUD//FT +fuddle/GSD/FTL +fudge/GMSD/FK +fuel/ASDG/FL +fueler/SM/FL +fuel's//FLS +Fuentes/M/FNTS +fugal//FKL +Fugger/M/FK +fugitive/SYMP/FKTF +fugitiveness/M/FKTFNS +fugue/GMSD/FK +fuhrer/S/FR +Fuji/M/FK +Fujitsu/M/FKTS +Fujiyama//FKYM +Fukuoka/M/FKK +Fulani/M/FLN +Fulbright/M/FLBRT +fulcrum/SM/FLKRM +fulfill/GLSRD/FLFL +fulfilled/U/FLFLT +fulfiller/M/FLFL +fulfillment/MS/FLFLMNT +full/RDPSGZT/FL +fullback/SMG/FLBK +fuller/DMG/FL +Fuller/M/FL +Fullerton/M/FLTN +fullish//FLX +fullness/MS/FLNS +fullstops//FLSTPS +fullword/SM/FLWT +fully//FL +fulminate/XSDGN/FLMNT +fulmination/M/FLMNXN +fulness's//FLNSS +fulsome/PY/FLSM +fulsomeness/SM/FLSMNS +Fulton/M/FLTN +Fulvia/M/FLF +fumble/GZRSD/FMBL +fumbler/M/FMBL +fumbling/Y/FMBLN +fume/DSG/FM +fumigant/MS/FMKNT +fumigate/NGSDX/FMKT +fumigation/M/FMKXN +fumigator/SM/FMKT +fuming/Y/FMN +fumy/TR/FM +fun/MS/FN +Funafuti//FNFT +function/GSMD/FNKXN +functional/YS/FNKXNL +functionalism/M/FNKXNLSM +functionalist/SM/FNKXNLST +functionality/S/FNKXNLT +functionary/MS/FNKXNR +functor/SM/FNKT +fund/ASMRDZG/FNT +fundamental/SY/FNTMNTL +fundamentalism/SM/FNTMNTLSM +fundamentalist/SM/FNTMNTLST +funded/U/FNTT +fundholders//FNTHLTS +fundholding//FNTHLTN +funding/S/FNTN +Fundy/M/FNT +funeral/MS/FNRL +funerary//FNRR +funereal/Y/FNRL +funfair/M/FNF +fungal/S/FNKL +fungi/M/FNK +fungible/M/FNKBL +fungicidal//FNKSTL +fungicide/SM/FNKST +fungoid/S/FNKT +fungous//FNKS +fungus/M/FNKS +funicular/SM/FNKL +funk/GSDM/FNK +funkiness/S/FNKNS +funky/RTP/FNK +funned//FNT +funnel/SGMD/FNL +funner//FN +funnest//FNST +funnily/U/FNL +funniness/SM/FNNS +funning//FNN +funny/RSPT/FN +fur/PMS/F +furbelow/MDSG/FBL +furbish/GDRSA/FBX +furbisher/M/FBX +furious/RYP/FRS +furiousness/M/FRSNS +furl/UDGS/FL +furlong/MS/FLNK +furlough/DGM/FL +furloughs//FLS +furn//FN +furnace/GMSD/FNS +furnish/GASD/FNX +furnished/U/FNXT +furnisher/MS/FNX +furnishing/SM/FNXN +furniture/SM/FNTR +furor/MS/FR +furore/MS/FRR +furred//FRT +furrier/M/FR +furriness/SM/FRNS +furring/SM/FRN +furrow/DMGS/FR +furry/RTZP/FR +further/TGDRS/F@ +furtherance/MS/F@RNS +furtherer/M/F@R +furthermore//F@MR +furthermost//F@MST +furthest//F@ST +furtive/PY/FTF +furtiveness/SM/FTFNS +fury/SM/FR +furze/SM/FS +fuse/FSDAGCI/FS +fusebox/S/FSBKS +fusee/SM/FS +fuselage/SM/FSLK +fuse's/A/FSS +Fushun/M/FXN +fusibility/SM/FSBLT +fusible/I/FSBL +fusiform//FSFM +fusilier/MS/FSL +fusillade/SDMG/FSLT +fusion/KMFSI/FXN +fuss/SRDMG/FS +fussbudget/MS/FSBKT +fusser/M/FS +fussily//FSL +fussiness/MS/FSNS +fusspot/SM/FSPT +fussy/PTR/FS +fustian/MS/FSXN +fustiness/MS/FSTNS +fusty/RPT/FST +fut//FT +futile/PY/FTL +futileness/M/FTLNS +futility/MS/FTLT +futon/S/FTN +future/SM/FTR +futurism/SM/FTRSM +futurist/S/FTRST +futuristic/S/FTRSTK +futurity/MS/FTRT +futurologist/S/FTRLKST +futurology/MS/FTRLK +futz/GSD/FTS +fuze's//FSS +Fuzhou/M/FSH +fuzz/SDMG/FS +Fuzzbuster/M/FSBST +fuzzily//FSL +fuzziness/SM/FSNS +fuzzy/PRT/FS +fwd//FT +FWD//FT +fwy//F +FY//F +FYI//FY +G/B/K +g/VBX/K +GA//K +Ga/M/K +gab/S/KB +gabardine/SM/KBTN +gabbed//KBT +Gabbey/M/KB +Gabbi/M/KB +Gabbie/M/KB +gabbiness/S/KBNS +gabbing//KBN +gabble/SDG/KBL +Gabby/M/KB +gabby/TRP/KB +Gabe/M/KB +gaberdine's//KBTNS +Gabey/M/KB +gabfest/MS/KBFST +Gabi/M/KB +Gabie/M/KB +gable/GMSRD/KBL +Gable/M/KBL +Gabon/M/KBN +Gabonese//KBNS +Gaborone/M/KBRN +Gabriel/M/KBRL +Gabriela/M/KBRL +Gabriele/M/KBRL +Gabriell/M/KBRL +Gabriella/M/KBRL +Gabrielle/M/KBRL +Gabriellia/M/KBRL +Gabriello/M/KBRL +Gabrila/M/KBRL +Gaby/M/KB +Gacrux/M/KKRKS +gad/S/KT +gadabout/MS/KTBT +gadded//KTT +gadder/MS/KT +gadding//KTN +gadfly/MS/KTFL +gadget/SM/KKT +gadgetry/MS/KKTR +gadolinium/MS/KTLNM +Gadsden/M/KTSTN +Gae/M/K +Gaea/M/K +Gael/SM/KL +Gaelan/M/KLN +Gaelic/M/KLK +gaff/SGZRDM/KF +gaffe/MS/KF +gaffer/M/KF +gag/DRSG/KK +gaga//KK +Gagarin/M/KKRN +Gage/M/KK +gage/SM/KK +gager/M/KK +gagged//KKT +gagging//KKN +gaggle/SDG/KKL +gagwriter/S/KKRT +gaiety/MS/KT +Gail/M/KL +Gaile/M/KL +gaily//KL +gain/ADGS/KN +gainer/SM/KN +Gaines/M/KNS +Gainesville/M/KNSFL +gainful/YP/KNFL +gainfulness/M/KNFLNS +gaining/S/KNN +gainly/U/KNL +gainsaid//KNST +gainsay/RSZG/KNS +gainsayer/M/KNSY +Gainsborough/M/KNSBR +gait/GSZMRD/KT +gaiter/M/KT +Gaithersburg/M/K@SBK +gal/AS/KL +Gal/MN/KL +gala/SM/KL +galactic//KLKTK +Galahad/MS/KLHT +Galapagos/M/KLPKS +Galatea/M/KLT +Galatia/M/KLX +Galatians/M/KLXNS +Galaxy/M/KLKS +galaxy/MS/KLKS +Galbraith/M/KLBR@ +Galbreath/M/KLBR@ +gale/AS/KL +Gale/M/KL +galen//KLN +Galen/M/KLN +galena/MS/KLN +galenite/M/KLNT +gale's//KLS +Galibi/M/KLB +Galilean/MS/KLLN +Galilee/M/KLL +Galileo/M/KLL +Galina/M/KLN +Gall/M/KL +gall/SGMD/KL +Gallagher/M/KLK +gallant/UY/KLNT +gallanted//KLNTT +gallanting//KLNTN +gallantry/MS/KLNTR +gallants//KLNTS +Gallard/M/KLT +gallbladder/MS/KLBLT +Gallegos/M/KLKS +galleon/SM/KLN +galleria/S/KLR +gallery/MSDG/KLR +galley/MS/KL +Gallic//KLK +Gallicism/SM/KLSSM +gallimaufry/MS/KLMFR +galling/Y/KLN +gallium/SM/KLM +gallivant/GDS/KLFNT +gallon/SM/KLN +gallonage/M/KLNK +gallop/GSRDZ/KLP +galloper/M/KLP +Galloway/M/KLW +gallows/M/KLS +gallstone/MS/KLSTN +Gallup/M/KLP +Galois/M/KLS +galoot/MS/KLT +galore/S/KLR +galosh/GMSD/KLX +gal's//KLS +Galsworthy/M/KLSW@ +galumph/GD/KLMF +galumphs//KLMFS +Galvan/M/KLFN +Galvani/M/KLFN +galvanic//KLFNK +galvanism/MS/KLFNSM +galvanization/SM/KLFNSXN +galvanize/SDG/KLFNS +galvanometer/SM/KLFNMT +galvanometric//KLFNMTRK +Galven/M/KLFN +Galveston/M/KLFSTN +Galvin/M/KLFN +Gama/M/KM +Gamaliel/M/KMLL +Gambia/M/KMB +Gambian/S/KMBN +gambit/MS/KMBT +gamble/GZRSD/KMBL +Gamble/M/KMBL +gambler/M/KMBL +gambol/SGD/KMBL +game/PJDRSMYTZG/KM +gamecock/SM/KMKK +gamekeeper/MS/KMKP +gameness/MS/KMNS +gamesmanship/SM/KMSMNXP +gamesmen//KMSMN +gamest/RZ/KMST +gamester/M/KMST +gamete/MS/KMT +gametic//KMTK +gamin/MS/KMN +gamine/SM/KMN +gaminess/MS/KMNS +gaming/M/KMN +gamma/MS/KM +gammon/DMSG/KMN +Gamow/M/KM +gamut/MS/KMT +gamy/TRP/KM +Gan/M/KN +gander/DMGS/KNT +Gandhi/M/KNTH +Gandhian//KNTHN +gang/GRDMS/KNK +gangbusters//KNKBSTS +ganger/M/KNK +Ganges/M/KNKS +gangland/SM/KNKLNT +ganglia/M/KNKL +gangling//KNKLN +ganglion/M/KNKLN +ganglionic//KNKLNK +gangplank/SM/KNKPLNK +gangrene/SDMG/KNKRN +gangrenous//KNKRNS +gangster/SM/KNKST +Gangtok/M/KNKTK +gangway/MS/KNKW +gannet/SM/KNT +Gannie/M/KN +Gannon/M/KNN +Ganny/M/KN +gantlet/GMDS/KNTLT +Gantry/M/KNTR +gantry/MS/KNTR +Ganymede/M/KNMT +GAO//K +gaol/MRDGZS/KL +gaoler/M/KL +gap/SJMDRG/KP +gape/S/KP +gaper/M/KP +gaping/Y/KPN +gapped//KPT +gapping//KPN +Gar/MH/K +gar/SLM/K +garage/GMSD/KRK +Garald/M/KRLT +garb/DMGS/KB +garbage/SDMG/KBK +garbageman/M/KBKMN +garbanzo/MS/KBNS +garble/RSDG/KBL +garbler/M/KBL +Garbo/M/KB +Garcia/M/KX +garçon/SM/KN +Gard/M/KT +garden/ZGRDMS/KTN +gardener/M/KTN +Gardener/M/KTN +gardenia/SM/KTN +gardening/M/KTNN +Gardie/M/KT +Gardiner/M/KTN +Gardner/M/KTN +Gardy/M/KT +Gare/MH/KR +Garek/M/KRK +Gareth/M/KR@ +Garey/M/KR +Garfield/M/KFLT +garfish/MS/KFX +Garfunkel/M/KFNKL +Gargantua/M/KKNT +gargantuan//KKNTN +gargle/SDG/KKL +gargoyle/DSM/KKL +Garibaldi/M/KRBLT +Garik/M/KRK +garish/YP/KRX +garishness/MS/KRXNS +Garland/M/KLNT +garland/SMDG/KLNT +garlic/SM/KLK +garlicked//KLKT +garlicking//KLKN +garlicky//KLK +garment/MDGS/KMNT +Garner/M/KN +garner/SGD/KN +Garnet/M/KNT +garnet/SM/KNT +Garnett/M/KNT +Garnette/M/KNT +garnish/DSLG/KNX +garnishee/SDM/KNX +garnisheeing//KNXN +garnishment/MS/KNXMNT +Garold/M/KRLT +garote's//KRTS +garotte's//KRTS +Garrard/M/KRT +garred//KRT +Garrek/M/KRK +Garret/M/KRT +garret/SM/KRT +Garreth/M/KR@ +Garrett/M/KRT +Garrick/M/KRK +Garrik/M/KRK +garring//KRN +Garrison/M/KRSN +garrison/SGMD/KRSN +Garrot/M/KRT +garrote/SRDMZG/KRT +garroter/M/KRT +Garrott/M/KRT +garrotte's//KRTS +garrulity/SM/KRLT +garrulous/PY/KRLS +garrulousness/MS/KRLSNS +Garry/M/KR +garter/SGDM/KT +Garth/M/K@ +Garv/M/KF +Garvey/M/KF +Garvin/M/KFN +Garvy/M/KF +Garwin/M/KWN +Garwood/M/KWT +Gary/M/KR +Garza/M/KS +gas/FC/KS +gasbag/MS/KSBK +Gascony/M/KSKN +gaseous/YP/KSS +gaseousness/M/KSSNS +gases/C/KSS +gash/GTMSRD/KX +gasification/M/KSFKXN +gasifier/M/KSF +gasify/SRDGXZN/KSF +gasket/SM/KSKT +gaslight/DMS/KSLT +gasohol/S/KSHL +gasoline/MS/KSLN +gasometer/M/KSMT +gasp/GZSRD/KSP +Gaspar/M/KSP +Gaspard/M/KSPT +Gasparo/M/KSPR +gasper/M/KSP +Gasper/M/KSP +gasping/Y/KSPN +gas's//KSS +gassed/C/KST +Gasser/M/KS +gasser/MS/KS +Gasset/M/KST +gassiness/M/KSNS +gassing/SM/KSN +gassy/PTR/KS +Gaston/M/KSTN +gastric//KSTRK +gastritides//KSTRTTS +gastritis/MS/KSTRTS +gastroenteritides//KSTRNTRTTS +gastroenteritis/M/KSTRNTRTS +gastrointestinal//KSTRNTSTNL +gastronome/SM/KSTRNM +gastronomic//KSTRNMK +gastronomical/Y/KSTRNMKL +gastronomy/MS/KSTRNM +gastropod/SM/KSTRPT +gasworks/M/KSWKS +gate/MGDS/KT +gateau/MS/KT +gateaux//KTKS +gatecrash/GZSRD/KTKRX +gatehouse/MS/KTHS +gatekeeper/SM/KTKP +gatepost/SM/KTPST +Gates//KTS +gateway/MS/KTW +gather/JRDZGS/K@ +gathered/IA/K@RT +gatherer/M/K@R +gathering/M/K@RN +gathers/A/K@S +Gatlinburg/M/KTLNBK +Gatling/M/KTLN +gator/MS/KT +Gatorade/M/KTRT +Gatsby/M/KTSB +Gatun/M/KTN +gauche/TYPR/KX +gaucheness/SM/KXNS +gaucherie/SM/KXR +gaucho/SM/KX +gaudily//KTL +gaudiness/MS/KTNS +gaudy/PRST/KT +gaugeable//KKBL +gauger/M/KK +Gauguin/M/KKN +Gaul/MS/KL +Gaulish/M/KLX +Gaulle/M/KL +Gaultiero/M/KLTR +gaunt/PYRDSGT/KNT +gauntlet/GSDM/KNTLT +Gauntley/M/KNTL +gauntness/MS/KNTNS +gauss/C/KS +Gauss/M/KS +gausses//KSS +Gaussian//KXN +gauss's//KSS +Gautama/M/KTM +Gauthier/M/K@ +Gautier/M/KT +gauze/SDGM/KS +gauziness/MS/KSNS +gauzy/TRP/KS +Gav/MN/KF +Gavan/M/KFN +gave//KF +gavel/GMDS/KFL +Gaven/M/KFN +Gavin/M/KFN +gavotte/MSDG/KFT +Gavra/M/KFR +Gavrielle/M/KFRL +Gawain/M/KWN +Gawen/M/KWN +gawk/SGRDM/KK +gawkily//KKL +gawkiness/MS/KKNS +gawky/RSPT/KK +Gay/M/K +gay/RTPS/K +Gaye/M/KY +Gayel/M/KYL +Gayelord/M/KYLT +gayety's//KYTS +Gayla/M/KL +Gayle/RM/KL +Gayleen/M/KLN +Gaylene/M/KLN +Gayler/M/KL +Gaylor/M/KL +Gaylord/M/KLT +gayness/SM/KNS +Gaynor/M/KN +Gaza/M/KS +gaze/DRSZG/KS +gazebo/SM/KSB +gazelle/MS/KSL +gazer/M/KS +gazette/MGSD/KST +gazetteer/SGDM/KST +Gaziantep/M/KSNTP +gazillion/S/KSLN +gazpacho/MS/KSPX +GB//KB +Gd/M/KT +Gdansk/M/KTNSK +GDP//KTP +Ge/M/K +GE/M/K +gear/DMJSG/K +Gearalt/M/KRLT +Gearard/M/KRT +gearbox/SM/KBKS +gearing/M/KRN +gearshift/MS/KXFT +gearstick//KSTK +gearwheel/SM/KHL +Geary/M/KR +gecko/MS/KK +GED//KT +gee/TDS/K +geegaw's//KKS +geeing//KN +geek/SM/KK +geeky/RT/KK +geese/M/KS +geest/M/KST +geezer/MS/KS +Gehenna/M/KHN +Gehrig/M/KRK +Geiger/M/KK +Geigy/M/KK +geisha/M/KX +gel/MBS/KL +gelatin/SM/KLTN +gelatinous/PY/KLTNS +gelatinousness/M/KLTNSNS +gelcap//KLKP +geld/JSGD/KLT +gelding/M/KLTN +gelid//KLT +gelignite/MS/KLKNT +gelled//KLT +gelling//KLN +Gelya/M/KLY +gem/MS/KM +Gemini/SM/KMN +gemlike//KMLK +Gemma/M/KM +gemmed//KMT +gemming//KMN +gemological//KMLKKL +gemologist/MS/KMLKST +gemology/MS/KMLK +gemstone/SM/KMSTN +gen//KN +Gen/M/KN +Gena/M/KN +Genaro/M/KNR +gendarme/MS/KNTM +gender/DMGS/KNT +genderless//KNTLS +Gene/M/KN +gene/MS/KN +genealogical/Y/KNLKKL +genealogist/SM/KNLKST +genealogy/MS/KNLK +genera/M/KNR +general/MSPY/KNRL +generalissimo/SM/KNRLSM +generalist/MS/KNRLST +generality/MS/KNRLT +generalizable/SM/KNRLSBL +generalization/MS/KNRLSXN +generalize/GZBSRD/KNRLS +generalized/U/KNRLST +generalizer/M/KNRLS +generalness/M/KNRLNS +generalship/SM/KNRLXP +generate/CXAVNGSD/KNRT +generation/MCA/KNRXN +generational//KNRXNL +generative/AY/KNRTF +generator/SM/KNRT +generators/A/KNRTS +generic/PS/KNRK +generically//KNRKL +generosity/MS/KNRST +generous/PY/KNRS +generously/U/KNRSL +generousness/SM/KNRSNS +genes/S/KNS +Genesco/M/KNSK +genesis/M/KNSS +Genesis/M/KNSS +Genet/M/KNT +genetic/S/KNTK +genetically//KNTKL +geneticist/MS/KNTSST +genetics/M/KNTKS +Geneva/M/KNF +Genevieve/M/KNFF +Genevra/M/KNFR +Genghis/M/KNKS +Genia/M/KN +genial/PY/KNL +geniality/FMS/KNLT +genially/F/KNL +genialness/M/KNLNS +genie/SM/KN +genies/K/KNS +genii/M/KN +genital/YF/KNTL +genitalia//KNTL +genitals//KNTLS +genitive/SM/KNTF +genitourinary//KNTRNR +genius/SM/KNS +Genna/M/KN +Genni/M/KN +Gennie/M/KN +Gennifer/M/KNF +Genny/M/KN +Geno/M/KN +Genoa/SM/KN +genocidal//KNSTL +genocide/SM/KNST +genome/SM/KNM +genotype/MS/KNTP +Genovera/M/KNFR +genre/MS/KNR +gent/AMS/KNT +genteel/PRYT/KNTL +genteelness/MS/KNTLNS +gentian/SM/KNXN +gentile/S/KNTL +Gentile's//KNTLS +gentility/MS/KNTLT +gentle/PRSDGT/KNTL +gentlefolk/S/KNTLFLK +gentleman/YM/KNTLMN +gentlemanliness/M/KNTLMNLNS +gentlemanly/U/KNTLMNL +gentlemen//KNTLMN +gentleness/SM/KNTLNS +gentlewoman/M/KNTLWMN +gentlewomen/M/KNTLWMN +gently//KNTL +gentrification/M/KNTRFKXN +gentrify/NSDGX/KNTRF +Gentry/M/KNTR +gentry/MS/KNTR +genuflect/GDS/KNFLKT +genuflection/MS/KNFLKXN +genuine/PY/KNN +genuineness/SM/KNNNS +genus//KNS +Genvieve/M/KNFF +Geo/M/K +geocentric//KSNTRK +geocentrically//KSNTRKL +geocentricism//KSNTRSSM +geochemical/Y/KXMKL +geochemistry/MS/KXMSTR +geochronology/M/KXRNLK +geode/SM/KT +geodesic/S/KTSK +geodesy/MS/KTS +geodetic/S/KTTK +Geoff/M/KF +Geoffrey/M/KFR +Geoffry/M/KFR +geog//KK +geographer/MS/KKRF +geographic//KKRFK +geographical/Y/KKRFKL +geography/MS/KKRF +geologic//KLKK +geological/Y/KLKKL +geologist/MS/KLKST +geology/MS/KLK +geom//KM +geomagnetic//KMKNTK +geomagnetically//KMKNTKL +geomagnetism/SM/KMKNTSM +geometer/MS/KMT +geometric/S/KMTRK +geometrical/Y/KMTRKL +geometrician/M/KMTRXN +geometry/MS/KMTR +geomorphological//KMFLKKL +geomorphology/M/KMFLK +geophysical/Y/KFSKL +geophysicist/MS/KFSSST +geophysics/M/KFSKS +geopolitic/S/KPLTK +geopolitical/Y/KPLTKL +geopolitics/M/KPLTKS +Georas/M/KRS +Geordie/M/KT +Georg/M/KK +George/SM/KK +Georgeanna/M/KKN +Georgeanne/M/KKN +Georgena/M/KKN +Georgeta/M/KKT +Georgetown/M/KKTN +Georgetta/M/KKT +Georgette/M/KKT +Georgi/M/KK +Georgia/M/KK +Georgian/S/KKN +Georgiana/M/KKN +Georgianna/M/KKN +Georgianne/M/KKN +Georgie/M/KK +Georgina/M/KKN +Georgine/M/KKN +Georgy/M/KK +geostationary//KSTXNR +geosynchronous//KSNXRNS +geosyncline/SM/KSNKLN +geothermal//K@ML +geothermic//K@MK +Ger/M/K +Gerald/M/KRLT +Geralda/M/KRLT +Geraldine/M/KRLTN +geranium/SM/KRNM +Gerard/M/KRT +Gerardo/M/KRT +Gerber/M/KB +gerbil/MS/KBL +Gerda/M/KT +Gerek/M/KRK +Gerhard/M/KHT +Gerhardine/M/KHTN +Gerhardt/M/KHTT +Geri/M/KR +Gerianna/M/KRN +Gerianne/M/KRN +geriatric/S/KRTRK +geriatrics/M/KRTRKS +Gerick/M/KRK +Gerik/M/KRK +Geritol/M/KRTL +Gerladina/M/KLTN +germ/MNS/KM +Germain/M/KMN +Germaine/M/KMN +German/SM/KMN +Germana/M/KMN +germane//KMN +Germania/M/KMN +Germanic/M/KMNK +germanium/SM/KMNM +germanized//KMNST +Germantown/M/KMNTN +Germany/M/KMN +Germayne/M/KMN +germen/M/KMN +germicidal//KMSTL +germicide/MS/KMST +germinal/Y/KMNL +germinate/XVGNSD/KMNT +germinated/U/KMNTT +germination/M/KMNXN +germinative/Y/KMNTF +Gerome/M/KRM +Geronimo/M/KRNM +gerontocracy/M/KRNTKRS +gerontological//KRNTLKKL +gerontologist/SM/KRNTLKST +gerontology/SM/KRNTLK +Gerrard/M/KRT +Gerri/M/KR +Gerrie/M/KR +Gerrilee/M/KRL +Gerry/M/KR +gerrymander/SGD/KRMNT +Gershwin/MS/KXWN +Gert/M/KT +Gerta/M/KT +Gerti/M/KT +Gertie/M/KT +Gertrud/M/KTRT +Gertruda/M/KTRT +Gertrude/M/KTRT +Gertrudis/M/KTRTS +Gerty/M/KT +gerund/SVM/KRNT +gerundive/M/KRNTF +Gery/M/KR +gestalt/M/KSTLT +gestapo/S/KSTP +Gestapo/SM/KSTP +gestate/SDGNX/KSTT +gestation/M/KSTXN +gestational//KSTXNL +gesticulate/XSDVGN/KSTKLT +gesticulation/M/KSTKLXN +gesticulative/Y/KSTKLTF +gestural//KSTRL +gesture/SDMG/KSTR +gesundheit//KSNTHT +get/S/KT +getaway/SM/KTW +Gethsemane/M/K@SMN +getter/SDM/KT +getting//KTN +Getty/M/KT +Gettysburg/M/KTSBK +getup/MS/KTP +gewgaw/MS/KK +Gewürztraminer//KRSTRMN +geyser/GDMS/KS +Ghana/M/KN +Ghanaian/MS/KNN +Ghanian's//KNNS +ghastliness/MS/KSTLNS +ghastly/TPR/KSTL +ghat/MS/KT +Ghats/M/KTS +Ghent/M/KNT +Gherardo/M/KRT +gherkin/SM/KKN +ghetto/DGMS/KT +ghettoize/SDG/KTS +Ghibelline/M/KBLN +ghost/SMYDG/KST +ghostlike//KSTLK +ghostliness/MS/KSTLNS +ghostly/TRP/KSTL +ghostwrite/RSGZ/KSTRT +ghostwritten//KSTRTN +ghostwrote//KSTRT +ghoul/SM/KL +ghoulish/PY/KLX +ghoulishness/SM/KLXNS +GHQ//K +GI//K +Giacinta/M/KSNT +Giacobo/M/KKB +Giacometti/M/KKMT +Giacomo/M/KKM +Giacopo/M/KKP +Gian/M/KN +Giana/M/KN +Gianina/M/KNN +Gianna/M/KN +Gianni/M/KN +Giannini/M/KNN +giant/SM/KNT +giantess/MS/KNTS +giantkiller//KNTKL +Giauque/M/KK +Giavani/M/KFN +Gib/M/KB +Gibb/MS/KB +gibber/DGS/KB +gibberish/MS/KBRX +gibbet/MDSG/KBT +Gibbie/M/KB +Gibbon/M/KBN +gibbon/MS/KBN +gibbous/YP/KBS +gibbousness/M/KBSNS +Gibby/M/KB +gibe/GDRS/KB +giber/M/KB +giblet/MS/KBLT +Gibraltar/MS/KBRLT +Gibson/M/KBSN +giddap//KTP +giddily//KTL +giddiness/SM/KTNS +Giddings/M/KTNS +giddy/GPRSDT/KT +Gide/M/KT +Gideon/MS/KTN +Gielgud/M/KLKT +Gienah/M/KN +Giff/RM/KF +Giffard/M/KFT +Giffer/M/KF +Giffie/M/KF +Gifford/M/KFT +Giffy/M/KF +gift/SGMD/KFT +gifted/PY/KFTT +giftedness/M/KFTTNS +gig/MS/KK +gigabyte/S/KKBT +gigacycle/MS/KKSKL +gigahertz/M/KKHTS +gigantic/P/KKNTK +gigantically//KKNTKL +giganticness/M/KKNTKNS +gigavolt//KKFLT +gigawatt/M/KKWT +gigged//KKT +gigging//KKN +giggle/RSDGZ/KKL +giggler/M/KKL +giggling/Y/KKLN +giggly/TR/KKL +Gigi/M/KK +GIGO//KK +gigolo/MS/KKL +Gil/MY/KL +gila//KL +Gila/M/KL +gilbert/M/KLBT +Gilbert/M/KLBT +Gilberta/M/KLBT +Gilberte/M/KLBT +Gilbertina/M/KLBTN +Gilbertine/M/KLBTN +Gilberto/M/KLBT +Gilbertson/M/KLBTSN +Gilburt/M/KLBT +Gilchrist/M/KLXRST +gild/JSGZRD/KLT +Gilda/M/KLT +gilder/M/KLT +gilding/M/KLTN +Gilead/M/KLT +Gilemette/M/KLMT +Giles//KLS +Gilgamesh/M/KLKMX +Gilkson/M/KLKSN +Gill/M/KL +gill/SGMRD/KL +Gillan/M/KLN +Gilles//KLS +Gillespie/M/KLSP +Gillette/M/KLT +Gilli/M/KL +Gilliam/M/KLM +Gillian/M/KLN +Gillie/M/KL +Gilligan/M/KLKN +Gilly/M/KL +Gilmore/M/KLMR +gilt/S/KLT +gimbaled//KMBLT +gimbals//KMBLS +Gimbel/M/KMBL +gimcrack/S/KMKRK +gimcrackery/SM/KMKRKR +gimlet/MDSG/KMLT +gimme/S/KM +gimmick/GDMS/KMK +gimmickry/MS/KMKR +gimmicky//KMK +gimp/GSMD/KMP +gimpy/RT/KMP +gin/MS/KN +Gina/M/KN +Ginelle/M/KNL +Ginevra/M/KNFR +Ginger/M/KN +ginger/SGDYM/KN +gingerbread/SM/KNBRT +gingerliness/M/KNLNS +gingerly/P/KNL +gingersnap/SM/KNSNP +gingery//KNR +gingham/SM/KNHM +gingivitis/SM/KNFTS +Gingrich/M/KNRX +ginkgo/M/KNKK +ginkgoes//KNKKS +ginmill//KNML +ginned//KNT +Ginni/M/KN +Ginnie/M/KN +Ginnifer/M/KNF +ginning//KNN +Ginny/M/KN +Gino/M/KN +Ginsberg/M/KNSBK +Ginsburg/M/KNSBK +ginseng/SM/KNSNK +Gioconda/M/KKNT +Giordano/M/KTN +Giorgi/M/KK +Giorgia/M/KK +Giorgio/M/KK +Giorgione/M/KKN +Giotto/M/KT +Giovanna/M/KFN +Giovanni/M/KFN +Gipsy's//KPSS +giraffe/MS/KRF +Giralda/M/KRLT +Giraldo/M/KRLT +Giraud/M/KRT +Giraudoux/M/KRTKS +gird/RDSGZ/KT +girded/U/KTT +girder/M/KT +girdle/GMRSD/KTL +girdler/M/KTL +girl/MS/KL +girlfriend/MS/KLFRNT +girlhood/SM/KLHT +girlie/M/KL +girlish/YP/KLX +girlishness/SM/KLXNS +giro/M/KR +girt/GDS/KT +girth/MDG/K@ +girths//K@S +Gisela/M/KSL +Giselbert/M/KSLBT +Gisele/M/KSL +Gisella/M/KSL +Giselle/M/KSL +Gish/M/KX +gist/MS/KST +git/M/KT +Giuditta/M/KTT +Giulia/M/KL +Giuliano/M/KLN +Giulietta/M/KLT +Giulio/M/KL +Giuseppe/M/KSP +Giustina/M/KSTN +Giustino/M/KSTN +Giusto/M/KST +give/HZGRS/KF +giveaway/SM/KFW +giveback/S/KFBK +given/SP/KFN +giver/M/KF +giving/Y/KFN +Giza/M/KS +Gizela/M/KSL +gizmo's//KSMS +gizzard/SM/KST +Gk/M/KK +glacé/DGS/KLK +glacial/Y/KLXL +glaciate/XNGDS/KLXT +glaciation/M/KLXXN +glacier/SM/KLS +glaciological//KLSLKKL +glaciologist/M/KLSLKST +glaciology/M/KLSLK +Glad/M/KLT +glad/YSP/KLT +gladded//KLTT +gladden/GDS/KLTN +gladder//KLT +gladdest//KLTST +gladding//KLTN +gladdy//KLT +glade/SM/KLT +Gladi/M/KLT +gladiator/SM/KLTT +gladiatorial//KLTTRL +gladiola/MS/KLTL +gladioli//KLTL +gladiolus/M/KLTLS +gladly/RT/KLTL +gladness/MS/KLTNS +gladsome/RT/KLTSM +Gladstone/MS/KLTSTN +Gladys//KLTS +glamor/DMGS/KLM +glamorization/MS/KLMRSXN +glamorize/SRDZG/KLMRS +glamorizer/M/KLMRS +glamorous/PY/KLMRS +glamorousness/M/KLMRSNS +glance/GJSD/KLNS +glancing/Y/KLNSN +gland/ZSM/KLNT +glanders/M/KLNTS +glandes//KLNTS +glandular/Y/KLNTL +glans/M/KLNS +glare/SDG/KLR +glaring/YP/KLRN +glaringness/M/KLRNNS +Glaser/M/KLS +Glasgow/M/KLSK +glasnost/S/KLSNST +glass/GSDM/KLS +Glass/M/KLS +glassblower/S/KLSBLW +glassblowing/MS/KLSBLWN +glassful/MS/KLSFL +glasshouse/SM/KLXS +glassily//KLSL +glassiness/SM/KLSNS +glassless//KLSLS +glassware/SM/KLSWR +glasswort/M/KLSWT +glassy/PRST/KLS +Glastonbury/M/KLSTNBR +Glaswegian/S/KLSWKN +glaucoma/SM/KLKM +glaucous//KLKS +glaze/SRDGZJ/KLS +glazed/U/KLST +glazer/M/KLS +glazier/SM/KLS +glazing/M/KLSN +gleam/MDGS/KLM +glean/RDGZJS/KLN +gleaner/M/KLN +gleaning/M/KLNN +Gleason/M/KLSN +Gleda/M/KLT +glee/DSM/KL +gleed/M/KLT +gleeful/YP/KLFL +gleefulness/MS/KLFLNS +gleeing//KLN +Glen/M/KLN +glen/SM/KLN +Glenda/M/KLNT +Glendale/M/KLNTL +Glenden/M/KLNTN +Glendon/M/KLNTN +Glenine/M/KLNN +Glenn/M/KLN +Glenna/M/KLN +Glennie/M/KLN +Glennis/M/KLNS +glib/YP/KLB +glibber//KLB +glibbest//KLBST +glibness/MS/KLBNS +glide/JGZSRD/KLT +glider/M/KLT +glim/M/KLM +glimmer/DSJG/KLM +glimmering/M/KLMRN +glimpse/DRSZMG/KLMPS +glimpser/M/KLMPS +glint/DSG/KLNT +glissandi//KLSNT +glissando/M/KLSNT +glisten/DSG/KLSTN +glister/DGS/KLST +glitch/MS/KLX +glitter/GDSJ/KLT +glittering/Y/KLTRN +glittery//KLTR +glitz/GSD/KLTS +glitzy/TR/KLTS +gloaming/MS/KLMN +gloat/SRDG/KLT +gloater/M/KLT +gloating/Y/KLTN +glob/GDMS/KLB +global/SY/KLBL +globalism/S/KLBLSM +globalist/S/KLBLST +globe/SM/KLB +globetrotter/MS/KLBTRT +globular/PY/KLBL +globularity/M/KLBLRT +globularness/M/KLBLNS +globule/MS/KLBL +globulin/MS/KLBLN +glockenspiel/SM/KLKNSPL +glommed//KLMT +gloom/GSMD/KLM +gloomily//KLML +gloominess/MS/KLMNS +gloomy/RTP/KLM +glop/MS/KLP +glopped//KLPT +glopping//KLPN +gloppy/TR/KLP +Glori/M/KLR +Gloria/M/KLR +Gloriana/M/KLRN +Gloriane/M/KLRN +glorification/M/KLRFKXN +glorifier/M/KLRF +glorify/XZRSDNG/KLRF +glorious/IYP/KLRS +gloriousness/IM/KLRSNS +Glory/M/KLR +glory/SDMG/KLR +gloss/GSDM/KLS +glossary/MS/KLSR +glossily//KLSL +glossiness/SM/KLSNS +glossolalia/SM/KLSLL +glossy/RSPT/KLS +glottal//KLTL +glottalization/M/KLTLSXN +glottis/MS/KLTS +Gloucester/M/KLSST +glove/SRDGMZ/KLF +gloveless//KLFLS +glover/M/KLF +Glover/M/KLF +glow/GZRDMS/KL +glower/GD/KLW +glowing/Y/KLWN +glowworm/SM/KLWM +glucose/SM/KLKS +glue/DRSMZG/KL +glued/U/KLT +gluer/M/KL +gluey//KL +gluier//KL +gluiest//KLST +glum/SYP/KLM +glummer//KLM +glummest//KLMST +glumness/MS/KLMNS +gluon/M/KLN +glut/SMNX/KLT +glutamate/M/KLTMT +gluten/M/KLTN +glutenous//KLTNS +glutinous/PY/KLTNS +glutinousness/M/KLTNSNS +glutted//KLTT +glutting//KLTN +glutton/MS/KLTN +gluttonous/Y/KLTNS +gluttony/SM/KLTN +glyceride/M/KLSRT +glycerin/SM/KLSRN +glycerinate/MD/KLSRNT +glycerine's//KLSRNS +glycerol/SM/KLSRL +glycerolized/C/KLSRLST +glycine/M/KLSN +glycogen/SM/KLKKN +glycol/MS/KLKL +Glyn/M/KLN +Glynda/M/KLNT +Glynis/M/KLNS +Glynn/M/KLN +Glynnis/M/KLNS +glyph/M/KLF +glyphs//KLFS +gm//KM +GM//KM +GMT//KMT +gnarl/SMDG/NL +gnash/SDG/NX +gnat/MS/NT +gnaw/GRDSJ/N +gnawer/M/NW +gnawing/M/NWN +gneiss/SM/NS +Gnni/M/NN +gnome/SM/NM +gnomelike//NMLK +gnomic//NMK +gnomish//NMX +gnomonic//NMNK +gnostic/K/NSTK +Gnostic/M/NSTK +gnosticism//NSTSSM +Gnosticism/M/NSTSSM +GNP//NP +gnu/MS/N +go/MRHZGJ/K +Goa/M/K +goad/MDSG/KT +goal/MDSG/KL +goalie/SM/KL +goalkeeper/MS/KLKP +goalkeeping/M/KLKPN +goalless//KLS +goalmouth/M/KLM@ +goalpost/S/KLPST +goalscorer//KLSKR +goalscoring//KLSKRN +goaltender/SM/KLTNT +goat/MS/KT +goatee/SM/KT +goatherd/MS/K@T +goatskin/SM/KTSKN +gob/SM/KB +gobbed//KBT +gobbet/MS/KBT +gobbing//KBN +gobble/SRDGZ/KBL +gobbledegook's//KBLTKKS +gobbledygook/S/KBLTKK +gobbler/M/KBL +Gobi/M/KB +goblet/MS/KBLT +goblin/SM/KBLN +God/M/KT +god/SMY/KT +Godard/M/KTT +Godart/M/KTT +godchild/M/KTXLT +godchildren//KTXLTRN +goddammit//KTMT +goddamn/GS/KTMN +Goddard/M/KTT +Goddart/M/KTT +goddaughter/SM/KTT +godded//KTT +goddess/MS/KTS +godding//KTN +Gödel/M/KTL +godfather/GSDM/KTF@ +godforsaken//KTFSKN +Godfree/M/KTFR +Godfrey/M/KTFR +Godfry/M/KTFR +godhead/S/KTHT +godhood/SM/KTHT +Godiva/M/KTF +godless/P/KTLS +godlessness/MS/KTLSNS +godlike/P/KTLK +godlikeness/M/KTLKNS +godliness/UMS/KTLNS +godly/UTPR/KTL +godmother/MS/KTM@ +Godot/M/KTT +godparent/SM/KTPRNT +godsend/MS/KTSNT +godson/MS/KTSN +Godspeed/S/KTSPT +Godthaab/M/KT@B +Godunov/M/KTNF +Godwin/M/KTWN +Godzilla/M/KTSL +Goebbels/M/KBLS +goer/MG/K +Goering/M/KRN +goes//KS +Goethals/M/K@LS +Goethe/M/K@ +gofer/SM/KF +Goff/M/KF +Gog/M/KK +goggle/SRDGZ/KKL +goggler/M/KKL +Gogh/M/K +Gogol/M/KKL +Goiania/M/KN +going/M/KN +goiter/SM/KT +Golan/M/KLN +Golconda/M/KLKNT +gold/MRNGTS/KLT +Golda/M/KLT +Goldarina/M/KLTRN +Goldberg/M/KLTBK +goldbrick/GZRDMS/KLTBRK +goldbricker/M/KLTBRK +Golden/M/KLTN +golden/TRYP/KLTN +goldenness/M/KLTNS +goldenrod/SM/KLTNRT +goldenseal/M/KLTNSL +goldfinch/MS/KLTFNX +goldfish/SM/KLTFX +Goldi/M/KLT +Goldia/M/KLT +Goldie/M/KLT +Goldilocks/M/KLTLKS +Goldina/M/KLTN +Golding/M/KLTN +Goldman/M/KLTMN +goldmine/S/KLTMN +goldsmith/M/KLTSM@ +Goldsmith/M/KLTSM@ +goldsmiths//KLTSM@S +Goldstein/M/KLTSTN +Goldwater/M/KLTWT +Goldwyn/M/KLTN +Goldy/M/KLT +Goleta/M/KLT +golf/RDMGZS/KLF +golfer/M/KLF +Golgotha/M/KLK@ +Goliath/M/KL@ +Goliaths//KL@S +golly/S/KL +Gomez/M/KMS +Gomorrah/M/KMR +Gompers/M/KMPS +gonad/SM/KNT +gonadal//KNTL +gondola/SM/KNTL +gondolier/MS/KNTL +Gondwanaland/M/KNTWNLNT +gone/RZN/KN +goner/M/KN +gong/SGDM/KNK +gonion/M/KNN +gonna//KN +gonorrhea/MS/KNRH +gonorrheal//KNRHL +Gonzales/M/KNSLS +Gonzalez/M/KNSLS +Gonzalo/M/KNSL +goo/MS/K +Goober/M/KB +goober/MS/KB +Good/M/KT +good/SYP/KT +goodbye/MS/KTBY +goodhearted//KTHTT +goodie's//KTS +goodish//KTX +goodly/TR/KTL +Goodman/M/KTMN +goodness/MS/KTNS +goodnight//KTNT +Goodrich/M/KTRX +goodwill/MS/KTWL +Goodwin/M/KTWN +goody/SM/KT +Goodyear/M/KTY +gooey//K +goof/SDMG/KF +goofiness/MS/KFNS +goofy/RPT/KF +gooier//K +gooiest//KST +gook/SM/KK +goon/SM/KN +goop/SM/KP +goos/SDG/KS +goose/M/KS +gooseberry/MS/KSBR +goosebumps//KSBMPS +GOP//KP +Gopher//KF +gopher/SM/KF +Goran/M/KRN +Goraud/M/KRT +Gorbachev//KBXF +Gordan/M/KTN +Gorden/M/KTN +Gordian/M/KTN +Gordie/M/KT +Gordimer/M/KTM +Gordon/M/KTN +Gordy/M/KT +gore/DSMG/KR +Gore/M/KR +Goren/M/KRN +Gorey/M/KR +Gorgas//KKS +gorge/GMSRD/KK +gorged/E/KKT +gorgeous/YP/KKS +gorgeousness/SM/KKSNS +gorger/EM/KK +gorges/E/KKS +gorging/E/KKN +Gorgon/M/KKN +gorgon/S/KKN +Gorgonzola/M/KKNSL +Gorham/M/KHM +gorilla/MS/KRL +gorily//KRL +goriness/MS/KRNS +goring/M/KRN +Gorky/M/KK +gormandize/SRDGZ/KMNTS +gormandizer/M/KMNTS +gormless//KMLS +gorp/S/KP +gorse/SM/KS +gory/PRT/KR +gos//KS +gosh/S/KX +goshawk/MS/KXK +gosling/M/KSLN +gospel/MRSZ/KSPL +Gospel/SM/KSPL +gospeler/M/KSPL +gossamer/SM/KSM +gossip/ZGMRDS/KSP +gossipy//KSP +got/IU/KT +gotcha/SM/KX +Göteborg/M/KTBK +Goth/M/K@ +Gotham/M/K@M +Gothart/M/K@T +Gothic/S/K@K +Gothicism/M/K@SSM +Goths//K@S +goto//KT +GOTO/MS/KT +gotta//KT +gotten/U/KTN +Gottfried/M/KTFRT +Goucher/M/KX +Gouda/SM/KT +gouge/GZSRD/KK +gouger/M/KK +goulash/SM/KLX +Gould/M/KLT +Gounod/M/KNT +gourd/MS/KT +gourde/SM/KT +gourmand/MS/KMNT +gourmet/MS/KMT +gout/SM/KT +gouty/RT/KT +gov/S/KF +govern/LBGSD/KFN +governable/U/KFNBL +governance/SM/KFNNS +governed/U/KFNT +governess/SM/KFNS +government/MS/KFNMNT +governmental/Y/KFNMNTL +Governor//KFN +governor/MS/KFN +governorship/SM/KFNXP +govt//KFT +gown/GSDM/KN +Goya/M/KY +GP//KP +GPA//KP +GPO//KP +GPSS//KPS +gr//KR +Gr/M/KR +grab/S/KRB +grabbed//KRBT +grabber/SM/KRB +grabbing/S/KRBN +Gracchus/M/KRXS +grace/ESDMG/KRS +Grace/M/KRS +graceful/EYPU/KRSFL +gracefuller//KRSFL +gracefullest//KRSFLST +gracefulness/ESM/KRSFLNS +Graceland/M/KRSLNT +graceless/PY/KRSLS +gracelessness/MS/KRSLSNS +Gracia/M/KRX +Gracie/M/KRS +Graciela/M/KRSL +gracious/UY/KRSS +graciousness/SM/KRSSNS +grackle/SM/KRKL +grad/MRDGZJS/KRT +gradate/DSNGX/KRTT +gradation/MCS/KRTXN +grade/ACSDG/KRT +graded/U/KRTT +Gradeigh/M/KRT +gradely//KRTL +grader/MC/KRT +grade's//KRTS +Gradey/M/KRT +gradient/RMS/KRTNT +gradual/SYP/KRTL +gradualism/MS/KRTLSM +gradualist/MS/KRTLST +gradualness/MS/KRTLNS +graduand/SM/KRTNT +graduate/MNGDSX/KRTT +graduation/M/KRTXN +Grady/M/KRT +Graehme/M/KRM +Graeme/M/KRM +Graff/M/KRF +Graffias/M/KRFS +graffiti//KRFT +graffito/M/KRFT +graft/MRDSGZ/KRFT +grafter/M/KRFT +grafting/M/KRFTN +Grafton/M/KRFTN +Graham/M/KRHM +graham/SM/KRHM +Grahame/M/KRHM +Graig/M/KRK +grail/S/KRL +Grail/SM/KRL +grain/IGSD/KRN +grainer/M/KRN +graininess/MS/KRNNS +graining/M/KRNN +grain's//KRNS +grainy/RTP/KRN +gram/KSM/KRM +Gram/M/KRM +grammar/MS/KRM +grammarian/SM/KRMRN +grammatic/K/KRMTK +grammatical/UY/KRMTKL +grammaticality/M/KRMTKLT +grammaticalness/M/KRMTKLNS +gramme/SM/KRM +Grammy/S/KRM +gramophone/SM/KRMFN +Grampians//KRMPNS +grampus/SM/KRMPS +Gran/M/KRN +Granada/M/KRNT +granary/MS/KRNR +grand/TPSYR/KRNT +grandam/SM/KRNTM +grandaunt/MS/KRNTNT +grandchild/M/KRNTXLT +grandchildren//KRNTXLTRN +granddad/SM/KRNTT +granddaddy/MS/KRNTT +granddaughter/MS/KRNTT +grandee/SM/KRNT +grandeur/MS/KRNT +grandfather/MYDSG/KRNTF@ +grandiloquence/SM/KRNTLKNS +grandiloquent/Y/KRNTLKNT +grandiose/YP/KRNTS +grandiosity/MS/KRNTST +grandkid/SM/KRNTKT +grandma/MS/KRNTM +grandmaster/MS/KRNTMST +grandmother/MYS/KRNTM@ +grandnephew/MS/KRNTNF +grandness/MS/KRNTNS +grandniece/SM/KRNTNS +grandpa/MS/KRNTP +grandparent/MS/KRNTPRNT +grandson/MS/KRNTSN +grandstand/SRDMG/KRNTSTNT +grandstander/M/KRNTSTNT +granduncle/MS/KRNTNKL +Grange/MR/KRNK +grange/MSR/KRNK +Granger/M/KRNK +granite/MS/KRNT +granitic//KRNTK +Grannie/M/KRN +Granny/M/KRN +granny/MS/KRN +granola/S/KRNL +Grant/M/KRNT +grant/SGZMRD/KRNT +grantee/MS/KRNT +granter/M/KRNT +Grantham/M/KRN@M +Granthem/M/KRN@M +Grantley/M/KRNTL +grantor's//KRNTS +grantsmanship/S/KRNTSMNXP +granular/Y/KRNL +granularity/SM/KRNLRT +granulate/SDXVGN/KRNLT +granulation/M/KRNLXN +granule/SM/KRNL +granulocytic//KRNLSTK +Granville/M/KRNFL +grape/SDGM/KRP +grapefruit/SM/KRPFRT +grapeshot/M/KRPXT +grapevine/MS/KRPFN +graph/GMD/KRF +grapheme/M/KRFM +graphic/PS/KRFK +graphical/Y/KRFKL +graphicness/M/KRFKNS +graphics/M/KRFKS +graphite/SM/KRFT +graphologist/SM/KRFLKST +graphology/MS/KRFLK +graphs//KRFS +grapnel/SM/KRPNL +grapple/DRSG/KRPL +grappler/M/KRPL +grappling/M/KRPLN +grasp/SRDBG/KRSP +grasper/M/KRSP +grasping/PY/KRSPN +graspingness/M/KRSPNNS +grass/GZSDM/KRS +Grass/M/KRS +grasshopper/SM/KRXP +grassland/MS/KRSLNT +grassroots//KRSRTS +grassy/RT/KRS +Grata/M/KRT +grate/SRDJGZ/KRT +grateful/YPU/KRTFL +gratefuller//KRTFL +gratefullest//KRTFLST +gratefulness/USM/KRTFLNS +grater/M/KRT +grates/I/KRTS +Gratia/M/KRX +Gratiana/M/KRXN +graticule/M/KRTKL +gratification/M/KRTFKXN +gratified/U/KRTFT +gratify/NDSXG/KRTF +gratifying/Y/KRTFYN +grating/YM/KRTN +gratis//KRTS +gratitude/IMS/KRTTT +gratuitous/PY/KRTTS +gratuitousness/MS/KRTTSNS +gratuity/SM/KRTT +gravamen/SM/KRFMN +grave/SRDPGMZTY/KRF +gravedigger/SM/KRFTK +gravel/SGMYD/KRFL +graven//KRFN +graveness/MS/KRFNS +graver/M/KRF +Graves/M/KRFS +graveside/S/KRFST +gravestone/SM/KRFSTN +graveyard/MS/KRFYT +gravid/PY/KRFT +gravidness/M/KRFTNS +gravimeter/SM/KRFMT +gravimetric//KRFMTRK +gravitas//KRFTS +gravitate/XVGNSD/KRFTT +gravitation/M/KRFTXN +gravitational/Y/KRFTXNL +graviton/SM/KRFTN +gravity/MS/KRFT +gravy/SM/KRF +Gray/M/KR +gray/PYRDGTS/KR +graybeard/MS/KRBT +Grayce/M/KRS +grayish//KRYX +grayness/S/KRNS +Grayson/M/KRSN +graze/GZSRD/KRS +grazer/M/KRS +Grazia/M/KRS +grazing/M/KRSN +grease/GMZSRD/KRS +greasepaint/MS/KRSPNT +greaseproof//KRSPRF +greaser/M/KRS +greasily//KRSL +greasiness/SM/KRSNS +greasy/PRT/KRS +great/SPTYRN/KRT +greatcoat/DMS/KRTKT +greaten/DG/KRTN +greathearted//KR@TT +greatness/MS/KRTNS +grebe/MS/KRB +Grecian/S/KRXN +Greece/M/KRS +greed/C/KRT +greedily//KRTL +greediness/SM/KRTNS +greeds//KRTS +greed's//KRTS +greedy/RTP/KRT +Greek/SM/KRK +Greeley/M/KRL +Green/M/KRN +green/SYRDMPGT/KRN +greenback/MS/KRNBK +greenbelt/S/KRNBLT +Greenberg/M/KRNBK +Greenblatt/M/KRNBLT +Greenbriar/M/KRNBR +Greene/M/KRN +greenery/MS/KRNR +Greenfeld/M/KRNFLT +greenfield//KRNFLT +Greenfield/M/KRNFLT +greenfly/M/KRNFL +greengage/SM/KRNKK +greengrocer/SM/KRNKRS +greengrocery/M/KRNKRSR +greenhorn/SM/KRNHN +greenhouse/SM/KRNHS +greening/M/KRNN +greenish/P/KRNX +Greenland/M/KRNLNT +greenmail/GDS/KRNML +greenness/MS/KRNS +Greenpeace/M/KRNPS +greenroom/SM/KRNRM +Greensboro/M/KRNSBR +Greensleeves/M/KRNSLFS +Greensville/M/KRNSFL +greensward/SM/KRNSWT +Greentree/M/KRNTR +Greenville/M/KRNFL +Greenwich/M/KRNWX +greenwood/MS/KRNWT +Greer/M/KR +greet/SRDJGZ/KRT +greeter/M/KRT +greeting/M/KRTN +greets/A/KRTS +Greg/M/KRK +gregarious/PY/KRKRS +gregariousness/MS/KRKRSNS +Gregg/M/KRK +Greggory/M/KRKR +Gregoire/M/KRKR +Gregoor/M/KRK +Gregor/M/KRK +Gregorian//KRKRN +Gregorio/M/KRKR +Gregorius/M/KRKRS +Gregory/M/KRKR +gremlin/SM/KRMLN +Grenada/M/KRNT +grenade/MS/KRNT +Grenadian/S/KRNTN +grenadier/SM/KRNT +grenadine/SM/KRNTN +Grenadines//KRNTNS +Grendel/M/KRNTL +Grenier/M/KRN +Grenoble/M/KRNBL +Grenville/M/KRNFL +Gresham/M/KRXM +Greta/M/KRT +Gretal/M/KRTL +Gretchen/M/KRXN +Grete/M/KRT +Gretel/M/KRTL +Grethel/M/KR@L +Gretna/M/KRTN +Gretta/M/KRT +Gretzky/M/KRTSK +grew/A/KR +Grey/M/KR +greybeard/M/KRBT +greyhound/MS/KRHNT +greyness/M/KRNS +grid/SGM/KRT +gridded//KRTT +griddle/DSGM/KRTL +griddlecake/SM/KRTLKK +gridiron/GSMD/KRTRN +gridlock/DSG/KRTLK +grids/A/KRTS +grief/MS/KRF +Grieg/M/KRK +Grier/M/KR +grievance/SM/KRFNS +grieve/SRDGZ/KRF +griever/M/KRF +grieving/Y/KRFN +grievous/PY/KRFS +grievousness/SM/KRFSNS +Griff/M/KRF +Griffie/M/KRF +Griffin/M/KRFN +griffin/SM/KRFN +Griffith/M/KRF@ +griffon's//KRFNS +Griffy/M/KRF +grill/RDGS/KRL +grille/SM/KRL +griller/M/KRL +grillwork/M/KRLWK +grim/PGYD/KRM +grimace/DRSGM/KRMS +grimacer/M/KRMS +Grimaldi/M/KRMLT +grime/MS/KRM +Grimes//KRMS +griminess/MS/KRMNS +Grimm/M/KRM +grimmer//KRM +grimmest//KRMST +grimness/MS/KRMNS +grimy/TPR/KRM +grin/S/KRN +Grinch/M/KRNX +grind/ASG/KRNT +grinder/MS/KRNT +grinding/SY/KRNTN +grindstone/SM/KRNTSTN +gringo/SM/KRN +grinned//KRNT +grinner/M/KRN +grinning/Y/KRNN +grip/SGZMRD/KRP +gripe/S/KRP +griper/M/KRP +grippe/GMZSRD/KRP +gripper/M/KRP +gripping/Y/KRPN +Gris/M/KRS +Griselda/M/KRSLT +grisliness/SM/KRSLNS +grisly/RPT/KRSL +Grissel/M/KRSL +grist/MYS/KRST +gristle/SM/KRSTL +gristliness/M/KRSTLNS +gristly/TRP/KRSTL +gristmill/MS/KRSTML +Griswold/M/KRSWLT +grit/MS/KRT +gritted//KRTT +gritter/MS/KRT +grittiness/SM/KRTNS +gritting//KRTN +gritty/PRT/KRT +Griz/M/KRS +grizzle/DSG/KRSL +grizzling/M/KRSLN +grizzly/TRS/KRSL +groan/GZSRDM/KRN +groaner/M/KRN +groat/SM/KRT +grocer/MS/KRS +grocery/MS/KRSR +grog/MS/KRK +groggily//KRKL +grogginess/SM/KRKNS +groggy/RPT/KRK +groin/MGSD/KRN +grok/S/KRK +grokked//KRKT +grokking//KRKN +grommet/GMDS/KRMT +Gromyko/M/KRMK +groofs//KRFS +groom/GZSMRD/KRM +groomer/M/KRM +groomsman/M/KRMSMN +groomsmen//KRMSMN +Groot/M/KRT +groove/SRDGM/KRF +groover/M/KRF +groovy/TR/KRF +grope/SRDJGZ/KRP +groper/M/KRP +Gropius/M/KRPS +grosbeak/SM/KRSBK +grosgrain/MS/KRSKRN +Gross//KRS +gross/GTYSRDP/KRS +Grosset/M/KRST +Grossman/M/KRSMN +grossness/MS/KRSNS +Grosvenor/M/KRSFN +Grosz/M/KRSS +grotesque/PSY/KRTSK +grotesqueness/MS/KRTSKNS +Grotius/M/KRTS +Groton/M/KRTN +grotto/M/KRT +grottoes//KRTS +grouch/GDS/KRX +grouchily//KRXL +grouchiness/MS/KRXNS +grouchy/RPT/KRX +ground/JGZMDRS/KRNT +groundbreaking/S/KRNTBRKN +grounded/U/KRNTT +grounder/M/KRNT +groundhog/SM/KRNTHK +groundless/YP/KRNTLS +groundlessness/M/KRNTLSNS +groundnut/MS/KRNTNT +groundsheet/M/KRNTXT +groundskeepers//KRNTSKPS +groundsman/M/KRNTSMN +groundswell/S/KRNTSWL +groundwater/S/KRNTWT +groundwork/SM/KRNTWK +group/ZJSMRDG/KRP +grouped/A/KRPT +grouper/M/KRP +groupie/MS/KRP +grouping/M/KRPN +groups/A/KRPS +grouse/GMZSRD/KRS +grouser/M/KRS +grout/GSMRD/KRT +grouter/M/KRT +Grove/RM/KRF +grove/SRMZ/KRF +grovel/SDRGZ/KRFL +groveler/M/KRFL +grovelike//KRFLK +groveling/Y/KRFLN +Grover/M/KRF +grow/GZYRHS/KR +grower/M/KRW +growing/I/KRWN +growingly//KRWNL +growl/RDGZS/KRL +growler/M/KRL +growling/Y/KRLN +growly/RP/KRL +grown/IA/KRN +grownup/MS/KRNP +grows/A/KRS +growth/IMA/KR@ +growths/IA/KR@S +grub/MS/KRB +grubbed//KRBT +grubber/SM/KRB +grubbily//KRBL +grubbiness/SM/KRBNS +grubbing//KRBN +grubby/RTP/KRB +grubstake/MSDG/KRBSTK +grudge/GMSRDJ/KRK +grudger/M/KRKR +grudging/Y/KRKNK +gruel/MDGJS/KRL +grueling/Y/KRLN +gruesome/RYTP/KRSM +gruesomeness/SM/KRSMNS +gruff/PSGTYRD/KRF +gruffness/MS/KRFNS +grumble/GZJDSR/KRMBL +grumbler/M/KRMBL +grumbling/Y/KRMBLN +Grumman/M/KRMN +grump/MDGS/KRMP +grumpily//KRMPL +grumpiness/MS/KRMPNS +grumpy/TPR/KRMP +Grundy/M/KRNT +Grünewald/M/KRNWLT +grunge/S/KRNK +grungy/RT/KRNK +grunion/SM/KRNN +grunt/SGRD/KRNT +grunter/M/KRNT +Grus/M/KRS +Grusky/M/KRSK +Gruyère//KRR +Gruyeres//KRYRS +gryphon's//KRFNS +g's//KS +G's//KS +gs/A/KS +GSA//KS +gt//KT +GU//K +guacamole/MS/KKML +Guadalajara/M/KTLKR +Guadalcanal/M/KTLKNL +Guadalquivir/M/KTLKF +Guadalupe/M/KTLP +Guadeloupe/M/KTLP +Guallatiri/M/KLTR +Gualterio/M/KLTR +Guam/M/KM +Guamanian/SM/KMNN +Guangzhou//KNKSH +guanine/MS/KNN +guano/MS/KN +Guantanamo/M/KNTNM +Guarani/M/KRN +guarani/SM/KRN +guarantee/RSDZM/KRNT +guaranteeing//KRNTN +guarantor/SM/KRNT +guaranty/MSDG/KRNT +guard/RDSGZ/KT +guarded/UYP/KTT +guardedness/UM/KTTNS +guarder/M/KT +guardhouse/SM/KTHS +Guardia/M/KT +guardian/SM/KTN +guardianship/MS/KTNXP +guardrail/SM/KTRL +guardroom/SM/KTRM +guardsman/M/KTSMN +guardsmen//KTSMN +Guarnieri/M/KNR +Guatemala/M/KTML +Guatemalan/S/KTMLN +guava/SM/KF +Guayaquil/M/KYKL +gubernatorial//KBNTRL +Gucci/M/KS +gudgeon/M/KKN +Guelph/M/KLF +Guendolen/M/KNTLN +Guenevere/M/KNFR +Guenna/M/KN +Guenther/M/KN@ +guernsey/S/KNS +Guernsey/SM/KNS +Guerra/M/KR +Guerrero/M/KRR +guerrilla/MS/KRL +guess/BGZRSD/KS +guessable/U/KSBL +guessed/U/KST +guesser/M/KS +guesstimate/DSMG/KSTMT +guesswork/MS/KSWK +guest/SGMD/KST +Guevara/M/KFR +guff/SM/KF +guffaw/GSDM/KF +Guggenheim/M/KKNHM +Guglielma/M/KKLLM +Guglielmo/M/KKLLM +Guhleman/M/KLMN +GUI//K +Gui/M/K +Guiana/M/KN +guidance/MS/KTNS +guide/GZSRD/KT +guidebook/SM/KTBK +guided/U/KTT +guideline/SM/KTLN +guidepost/MS/KTPST +guider/M/KT +Guido/M/KT +Guilbert/M/KLBT +guild/SZMR/KLT +guilder/M/KLT +guildhall/SM/KLTHL +guile/SDGM/KL +guileful//KLFL +guileless/YP/KLLS +guilelessness/MS/KLLSNS +Guillaume/M/KLM +Guillema/M/KLM +Guillemette/M/KLMT +guillemot/MS/KLMT +Guillermo/M/KLM +guillotine/SDGM/KLTN +guilt/SM/KLT +guiltily//KLTL +guiltiness/MS/KLTNS +guiltless/YP/KLTLS +guiltlessness/M/KLTLSNS +guilty/PTR/KLT +Guinea/M/KN +guinea/SM/KN +Guinean/S/KNN +Guinevere/M/KNFR +Guinna/M/KN +Guinness/M/KNS +guise/SDEG/KS +guise's//KSS +guitar/SM/KT +guitarist/SM/KTRST +Guiyang//KYNK +Guizot/M/KST +Gujarat/M/KKRT +Gujarati/M/KKRT +Gujranwala/M/KKRNWL +gulag/S/KLK +gulch/MS/KLX +gulden/MS/KLTN +gulf/DMGS/KLF +gull/MDSG/KL +Gullah/M/KL +gullet/MS/KLT +gulley's//KLS +gullibility/MS/KLBLT +gullible//KLBL +Gulliver/M/KLF +gully/SDMG/KL +gulp/RDGZS/KLP +gum/MS/KM +gumbo/MS/KMB +gumboil/MS/KMBL +gumboots//KMBTS +gumdrop/SM/KMTRP +gummed//KMT +gumminess/M/KMNS +gumming/C/KMN +gummy/RTP/KM +gumption/SM/KMPXN +gumshoe/SDM/KMX +gumshoeing//KMXN +gumtree/MS/KMTR +Gun/M/KN +gun/MS/KN +Gunar/M/KN +gunboat/MS/KNBT +Gunderson/M/KNTSN +gunfight/SRMGZ/KNFT +gunfighter/M/KNFT +gunfire/SM/KNFR +gunflint/M/KNFLNT +gunfought//KNFT +Gunilla/M/KNL +gunk/SM/KNK +gunky/RT/KNK +gunman/M/KNMN +gunmen//KNMN +gunmetal/MS/KNMTL +Gunnar/M/KN +gunned//KNT +gunnel's//KNLS +Gunner/M/KN +gunner/SM/KN +gunnery/MS/KNR +gunning/M/KNN +gunny/SM/KN +gunnysack/SM/KNSK +gunpoint/MS/KNPNT +gunpowder/SM/KNPT +gunrunner/MS/KNRN +gunrunning/MS/KNRNN +gunship/S/KNXP +gunshot/SM/KNXT +gunsling/GZR/KNSLN +gunslinger/M/KNSLN +gunsmith/M/KNSM@ +gunsmiths//KNSM@S +Guntar/M/KNT +Gunter/M/KNT +Gunther/M/KN@ +gunwale/MS/KNWL +Guofeng/M/KFNK +guppy/SM/KP +Gupta/M/KPT +gurgle/SDG/KKL +Gurkha/M/KKH +gurney/S/KN +guru/MS/KR +Gus/M/KS +Gusella/M/KSL +gush/SRDGZ/KX +gusher/M/KX +gushy/TR/KX +Guss//KS +gusset/MDSG/KST +Gussi/M/KS +Gussie/M/KS +gussy/GSD/KS +Gussy/M/KS +gust/MDGS/KST +Gusta/M/KST +Gustaf/M/KSTF +Gustafson/M/KSTFSN +gustatory//KSTTR +Gustav/M/KSTF +Gustave/M/KSTF +Gustavo/M/KSTF +Gustavus/M/KSTFS +gusted/E/KSTT +Gusti/M/KST +Gustie/M/KST +gustily//KSTL +gustiness/M/KSTNS +gusting/E/KSTN +gusto/M/KST +gustoes//KSTS +gusts/E/KSTS +Gusty/M/KST +gusty/RPT/KST +gut/SM/KT +Gutenberg/M/KTNBK +Guthrey/M/K@R +Guthrie/M/K@R +Guthry/M/K@R +Gutierrez/M/KTRS +gutless/P/KTLS +gutlessness/S/KTLSNS +guts/R/KTS +gutser/M/KTS +gutsiness/M/KTSNS +gutsy/PTR/KTS +gutted//KTT +gutter/GSDM/KT +guttering/M/KTRN +guttersnipe/M/KTSNP +gutting//KTN +guttural/SPY/KTRL +gutturalness/M/KTRLNS +gutty/RSMT/KT +Guy/M/K +guy/MDRZGS/K +Guyana/M/KYN +Guyanese//KYNS +Guzman/M/KSMN +guzzle/GZRSD/KSL +guzzler/M/KSL +Gwalior/M/KWL +Gwen/M/KWN +Gwendolen/M/KWNTLN +Gwendolin/M/KWNTLN +Gwendoline/M/KWNTLN +Gwendolyn/M/KWNTLN +Gweneth/M/KWN@ +Gwenette/M/KWNT +Gwenneth/M/KWN@ +Gwenni/M/KWN +Gwennie/M/KWN +Gwenny/M/KWN +Gwenora/M/KWNR +Gwenore/M/KWNR +Gwyn/M/KN +Gwyneth/M/KN@ +Gwynne/M/KN +gym/MS/KM +gymkhana/SM/KMKHN +gymnasia's//KMNXS +gymnasium/SM/KMNSM +gymnast/SM/KMNST +gymnastic/S/KMNSTK +gymnastically//KMNSTKL +gymnastics/M/KMNSTKS +gymnosperm/SM/KMNSPM +gynecologic//KNKLKK +gynecological/MS/KNKLKKL +gynecologist/SM/KNKLKST +gynecology/MS/KNKLK +gyp/S/KP +gypped//KPT +gypper/S/KP +gypping//KPN +gypsite//KPST +gypster/S/KPST +gypsum/MS/KPSM +gypsy/SDMG/KPS +Gypsy/SM/KPS +gyrate/XNGSD/KRT +gyration/M/KRXN +gyrator/MS/KRT +gyrfalcon/SM/KRFLKN +gyro/MS/KR +gyrocompass/M/KRKMPS +gyroscope/SM/KRSKP +gyroscopic//KRSKPK +gyve/GDS/KF +H//H +h/EMS/H +ha/H/H +Ha/M/H +Haag/M/HK +Haas/M/HS +Habakkuk/M/HBKK +habeas//HBS +Haber/M/HB +haberdasher/SM/HBTX +haberdashery/SM/HBTXR +Haberman/M/HBMN +Habib/M/HBB +habiliment/SM/HBLMNT +habit/IBDGS/HBT +habitability/MS/HBTBLT +habitable/P/HBTBL +habitableness/M/HBTBLNS +habitant/ISM/HBTNT +habitat/MS/HBTT +habitation/MI/HBTXN +habitations//HBTXNS +habit's//HBTS +habitual/SYP/HBTL +habitualness/SM/HBTLNS +habituate/SDNGX/HBTT +habituation/M/HBTXN +habitué/MS/HBT +hacienda/MS/HSNT +hack/GZSDRBJ/HK +hacker/M/HK +Hackett/M/HKT +hackle/RSDMG/HKL +hackler/M/HKL +hackney/SMDG/HKN +hacksaw/SDMG/HKS +hackwork/S/HKWK +had/GD/HT +Had/M/HT +Hadamard/M/HTMT +Hadar/M/HT +Haddad/M/HTT +haddock/MS/HTK +hades//HTS +Hades//HTS +hadji's//HTKS +hadj's//HTKS +Hadlee/M/HTL +Hadleigh/M/HTL +Hadley/M/HTL +hadn't//HTNT +Hadria/M/HTR +Hadrian/M/HTRN +hadron/MS/HTRN +hadst//HTST +haemoglobin's//HMKLBNS +haemophilia's//HMFLS +haemorrhage's//HMRHKS +Hafiz/M/HFS +hafnium/MS/HFNM +haft/GSMD/HFT +hag/SMN/HK +Hagan/M/HKN +Hagar/M/HK +Hagen/M/HKN +Hager/M/HK +Haggai/M/HK +haggard/SYP/HKT +haggardness/MS/HKTNS +hagged//HKT +hagging//HKN +haggis/SM/HKS +haggish//HKX +haggle/RSDZG/HKL +haggler/M/HKL +Hagiographa/M/HKKRF +hagiographer/SM/HKKRF +hagiography/MS/HKKRF +Hagstrom/M/HKSTRM +Hague/M/HK +Hahn/M/HN +hahnium/S/HNM +Haifa/M/HF +haiku/M/HK +hail/SGMDR/HL +Hailee/M/HL +hailer/M/HL +Hailey/M/HL +hailstone/SM/HLSTN +hailstorm/SM/HLSTM +Haily/M/HL +Haiphong/M/HFNK +hair/SDM/H +hairball/SM/HBL +hairbreadth/M/HBRT@ +hairbreadths//HBRT@S +hairbrush/SM/HBRX +haircare//HKR +haircloth/M/HKL@ +haircloths//HKL@S +haircut/MS/HKT +haircutting//HKTN +hairdo/SM/HT +hairdresser/SM/HTRS +hairdressing/SM/HTRSN +hairdryer/S/HTRY +hairiness/MS/HRNS +hairless/P/HLS +hairlessness/M/HLSNS +hairlike//HLK +hairline/SM/HLN +hairnet/MS/HNT +hairpiece/MS/HPS +hairpin/MS/HPN +hairsbreadth//HSBRT@ +hairsbreadths//HSBRT@S +hairsplitter/SM/HSPLT +hairsplitting/MS/HSPLTN +hairspray//HSPR +hairspring/SM/HSPRN +hairstyle/SMG/HSTL +hairstylist/S/HSTLST +hairy/PTR/HR +Haiti/M/HT +Haitian/S/HXN +hajj/M/HKK +hajjes//HKKS +hajji/MS/HKK +hake/MS/HK +Hakeem/M/HKM +Hakim/M/HKM +Hakka/M/HK +Hakluyt/M/HKLT +Hal/SMY/HL +halal/S/HLL +halalled//HLLT +halalling//HLLN +halberd/SM/HLBT +halcyon/S/HLSYN +Haldane/M/HLTN +hale/ISRDG/HL +Hale/M/HL +Haleakala/M/HLKL +Haleigh/M/HL +haler/IM/HL +halest//HLST +Halette/M/HLT +Haley/M/HL +half/PM/HLF +halfback/SM/HLFBK +halfbreed//HLFBRT +halfhearted/PY/HLFHTT +halfheartedness/MS/HLFHTTNS +halfpence/S/HLFPNS +halfpenny/MS/HLFPN +halfpennyworth//HLFPNW@ +halftime/S/HLFTM +halftone/MS/HLFTN +halfway//HLFW +halfword/MS/HLFWT +Hali/M/HL +halibut/SM/HLBT +halide/SM/HLT +Halie/M/HL +Halifax/M/HLFKS +Halimeda/M/HLMT +halite/MS/HLT +halitoses//HLTSS +halitosis/M/HLTSS +Hall/M/HL +hall/SMR/HL +hallelujah//HLLK +hallelujahs//HLLKS +Halley/M/HL +Halli/M/HL +halliard's//HLTS +Hallie/M/HL +Hallinan/M/HLNN +Hallmark/M/HLMK +hallmark/SGMD/HLMK +hallo/GDS/HL +halloo's//HLS +hallow/UD/HL +Halloween/MS/HLWN +hallowing//HLWN +hallows//HLS +Hallsy/M/HLS +hallucinate/VNGSDX/HLSNT +hallucination/M/HLSNXN +hallucinatory//HLSNTR +hallucinogen/SM/HLSNKN +hallucinogenic/S/HLSNKNK +hallway/SM/HLW +Hally/M/HL +halo/SDMG/HL +halocarbon//HLKBN +halogen/SM/HLKN +halogenated//HLKNTT +halon//HLN +Halpern/M/HLPN +Halsey/M/HLS +Halsy/M/HLS +halt/GZJSMDR/HLT +halter/GDM/HLT +halting/Y/HLTN +halve/GZDS/HLF +halves/M/HLFS +halyard/MS/HLYT +Ham/M/HM +ham/SM/HM +Hamal/M/HML +Haman/M/HMN +Hamburg/MS/HMBK +hamburg/SZRM/HMBK +hamburger/M/HMBK +Hamel/M/HML +Hamey/M/HM +Hamhung/M/HMHNK +Hamid/M/HMT +Hamil/M/HML +Hamilcar/M/HMLK +Hamilton/M/HMLTN +Hamiltonian/MS/HMLTNN +Hamish/M/HMX +Hamitic/M/HMTK +Hamlen/M/HMLN +Hamlet/M/HMLT +hamlet/MS/HMLT +Hamlin/M/HMLN +Hammad/M/HMT +Hammarskjold/M/HMSKKLT +hammed//HMT +hammer/ZGSRDM/HM +hammerer/M/HMR +hammerhead/SM/HMHT +hammering/M/HMRN +hammerless//HMLS +hammerlock/MS/HMLK +Hammerstein/M/HMSTN +hammertoe/SM/HMT +Hammett/M/HMT +hamming//HMN +hammock/MS/HMK +Hammond/M/HMNT +Hammurabi/M/HMRB +hammy/RT/HM +Hamnet/M/HMNT +hamper/GSD/HMP +hampered/U/HMPRT +Hampshire/M/HMPXR +Hampton/M/HMPTN +hamster/MS/HMST +hamstring/MGS/HMSTRN +hamstrung//HMSTRNK +Hamsun/M/HMSN +Han/SM/HN +Hana/M/HN +Hanan/M/HNN +Hancock/M/HNKK +hand/UDSG/HNT +handbag/MS/HNTBK +handbagged//HNTBKT +handbagging//HNTBKN +handball/SM/HNTBL +handbarrow/MS/HNTBR +handbasin//HNTBSN +handbill/MS/HNTBL +handbook/SM/HNTBK +handbrake/M/HNTBRK +handcar/SM/HNTK +handcart/MS/HNTKT +handclasp/MS/HNTKLSP +handcraft/GMDS/HNTKRFT +handcuff/GSD/HNTKF +handcuffs/M/HNTKFS +handed/PY/HNTT +handedness/M/HNTTNS +Handel/M/HNTL +hander/S/HNT +handful/SM/HNTFL +handgun/SM/HNTKN +handhold/M/HNTHLT +handicap/SM/HNTKP +handicapped//HNTKPT +handicapper/SM/HNTKP +handicapping//HNTKPN +handicraft/SMR/HNTKRFT +handicraftsman/M/HNTKRFTSMN +handicraftsmen//HNTKRFTSMN +handily/U/HNTL +handiness/SM/HNTNS +handiwork/MS/HNTWK +handkerchief/MS/HNTKXF +handle/MZGRSD/HNTL +handleable//HNTLBL +handlebar/SM/HNTLB +handler/M/HNTL +handless//HNTLS +handling/M/HNTLN +handmade//HNTMT +handmaid/NMSX/HNTMT +handmaiden/M/HNTMTN +handout/SM/HNTT +handover//HNTF +handpick/GDS/HNTPK +handrail/SM/HNTRL +hand's//HNTS +handsaw/SM/HNTS +handset/SM/HNTST +handshake/GMSR/HNTXK +handshaker/M/HNTXK +handshaking/M/HNTXKN +handsome/RPTY/HNTSM +handsomely/U/HNTSML +handsomeness/MS/HNTSMNS +handspike/SM/HNTSPK +handspring/SM/HNTSPRN +handstand/MS/HNTSTNT +handwork/SM/HNTWK +handwoven//HNTWFN +handwrite/GSJ/HNTRT +handwriting/M/HNTRTN +handwritten//HNTRTN +Handy/M/HNT +handy/URT/HNT +handyman/M/HNTMN +handymen//HNTMN +Haney/M/HN +hang/GDRZBSJ/HNK +hangar/SGDM/HNK +hangdog/S/HNKTK +hanged/A/HNKT +hanger/M/HNK +hanging/M/HNKN +hangman/M/HNKMN +hangmen//HNKMN +hangnail/MS/HNKNL +hangout/MS/HNKT +hangover/SM/HNKF +hangs/A/HNKS +Hangul/M/HNKL +hangup/S/HNKP +Hangzhou//HNKSH +hank/GZDRMS/HNK +Hank/M/HNK +Hankel/M/HNKL +hanker/GRDJ/HNK +hankerer/M/HNKR +hankering/M/HNKRN +hankie/SM/HNK +hanky's//HNKS +Hanna/M/HN +Hannah/M/HN +Hanni/MS/HN +Hannibal/M/HNBL +Hannie/M/HN +Hanny/M/HN +Hanoi/M/HN +Hanover/M/HNF +Hanoverian//HNFRN +Hans/N/HNS +Hansel/M/HNSL +Hansen/M/HNSN +Hansiain/M/HNXN +hansom/MS/HNSM +Hanson/M/HNSN +Hanuka/S/HNK +Hanukkah/M/HNK +Hanukkahs//HNKS +hap/SMY/HP +Hapgood/M/HPKT +haphazard/SPY/HFST +haphazardness/SM/HFSTNS +hapless/YP/HPLS +haplessness/MS/HPLSNS +haploid/S/HPLT +happed//HPT +happen/JDGS/HPN +happening/M/HPNN +happenstance/SM/HPNSTNS +happily/U/HPL +happiness/UMS/HPNS +happing//HPN +Happy/M/HP +happy/UTPR/HP +Hapsburg/M/HPSBK +Harald/M/HRLT +harangue/GDRS/HRNK +haranguer/M/HRNK +Harare//HRR +harass/LSRDZG/HRS +harasser/M/HRS +harassment/SM/HRSMNT +Harbert/M/HBT +Harbin/M/HBN +harbinger/DMSG/HBN +harbor/ZGRDMS/HB +harborer/M/HBR +Harcourt/M/HKT +hard/YNRPJGXTS/HT +hardback/SM/HTBK +hardball/SM/HTBL +hardboard/SM/HTBT +hardboiled//HTBLT +hardbound//HTBNT +hardcore/MS/HTKR +hardcover/SM/HTKF +harden/ZGRD/HTN +hardened/U/HTNT +hardener/M/HTN +hardening/M/HTNN +hardhat/S/HTHT +hardheaded/YP/HTHTT +hardheadedness/SM/HTHTTNS +hardhearted/YP/HTHTT +hardheartedness/SM/HTHTTNS +hardihood/MS/HTHT +hardily//HTL +Hardin/M/HTN +hardiness/SM/HTNS +Harding/M/HTN +hardliner/S/HTLN +hardness/MS/HTNS +hardscrabble//HTSKRBL +hardshell//HTXL +hardship/MS/HTXP +hardstand/S/HTSTNT +hardtack/MS/HTTK +hardtop/MS/HTTP +hardware/SM/HTWR +hardwire/DSG/HTWR +hardwood/MS/HTWT +hardworking//HTWKN +Hardy/M/HT +hardy/PTRS/HT +hare/MGDS/HR +harebell/MS/HRBL +harebrained//HRBRNT +harelip/MS/HRLP +harelipped//HRLPT +harem/SM/HRM +Hargreaves/M/HKRFS +hark/GDS/HK +Harlan/M/HLN +Harland/M/HLNT +Harlem/M/HLM +Harlen/M/HLN +Harlene/M/HLN +Harlequin//HLKN +harlequin/MS/HLKN +Harley/M/HL +Harli/M/HL +Harlie/M/HL +Harlin/M/HLN +harlot/SM/HLT +harlotry/MS/HLTR +Harlow/M/HL +harm/MDRGS/HM +Harman/M/HMN +harmed/U/HMT +harmer/M/HM +harmful/PY/HMFL +harmfulness/MS/HMFLNS +harmless/YP/HMLS +harmlessness/SM/HMLSNS +Harmon/M/HMN +Harmonia/M/HMN +harmonic/S/HMNK +harmonica/MS/HMNK +harmonically//HMNKL +harmonics/M/HMNKS +Harmonie/M/HMN +harmonious/IPY/HMNS +harmoniousness/MS/HMNSNS +harmoniousness's/I/HMNSNSS +harmonium/MS/HMNM +harmonization/A/HMNSXN +harmonizations//HMNSXNS +harmonization's//HMNSXNS +harmonize/ZGSRD/HMNS +harmonized/U/HMNST +harmonizer/M/HMNS +harmonizes/UA/HMNSS +harmony/EMS/HMN +Harmony/M/HMN +harness/DRSMG/HNS +harnessed/U/HNST +harnesser/M/HNS +harnesses/U/HNSS +Harold/M/HRLT +Haroun/M/HRN +harp/MDRJGZS/HP +Harp/MR/HP +harper/M/HP +Harper/M/HP +harping/M/HPN +harpist/SM/HPST +harpoon/SZGDRM/HPN +harpooner/M/HPN +harpsichord/SM/HPSXT +harpsichordist/MS/HPSXTST +harpy/SM/HP +Harpy/SM/HP +Harrell/M/HRL +Harri/SM/HR +harridan/SM/HRTN +Harrie/M/HR +harrier/M/HR +Harriet/M/HRT +Harriett/M/HRT +Harrietta/M/HRT +Harriette/M/HRT +Harrington/M/HRNTN +Harriot/M/HRT +Harriott/M/HRT +Harrisburg/M/HRSBK +Harrison/M/HRSN +Harrisonburg/M/HRSNBK +harrow/RDMGS/HR +harrower/M/HRW +harrumph/SDG/HRMF +Harry/M/HR +harry/RSDGZ/HR +harsh/TRNYP/HX +harshen/GD/HXN +harshness/SM/HXNS +Hart/M/HT +hart/MS/HT +Harte/M/HT +Hartford/M/HTFT +Hartley/M/HTL +Hartline/M/HTLN +Hartman/M/HTMN +Hartwell/M/HTWL +Harv/M/HF +Harvard/M/HFT +harvest/MDRZGS/HFST +harvested/U/HFSTT +harvester/M/HFST +harvestman/M/HFSTMN +Harvey/MS/HF +Harwell/M/HWL +Harwilll/M/HWL +has//HS +Hasbro/M/HSBR +hash/AGSD/HX +Hasheem/M/HXM +hasher/M/HX +Hashim/M/HXM +hashing/M/HXN +hashish/MS/HXX +hash's//HXS +Hasidim//HSTM +Haskel/M/HSKL +Haskell/M/HSKL +Haskins/M/HSKNS +Haslett/M/HSLT +hasn't//HSNT +hasp/GMDS/HSP +hassle/MGRSD/HSL +hassock/MS/HSK +hast/GXJDN/HST +haste/MS/HST +hasten/GRD/HSTN +hastener/M/HSTN +Hastie/M/HST +hastily//HSTL +hastiness/MS/HSTNS +Hastings/M/HSTNS +Hasty/M/HST +hasty/RPT/HST +hat/MDRSZG/HT +hatch/RSDJG/HX +hatchback/SM/HXBK +hatcheck/S/HXK +hatched/U/HXT +hatcher/M/HX +hatchery/MS/HXR +hatchet/MDSG/HXT +hatching/M/HXN +Hatchure/M/HXR +hatchway/MS/HXW +hate/S/HT +hateful/YP/HTFL +hatefulness/MS/HTFLNS +hater/M/HT +Hatfield/M/HTFLT +Hathaway/M/H@W +hatless//HTLS +hatred/SM/HTRT +hatstands//HTSTNTS +hatted//HTT +hatter/SM/HT +Hatteras/M/HTRS +Hatti/M/HT +Hattie/M/HT +hatting//HTN +Hatty/M/HT +hauberk/SM/HBK +Haugen/M/HKN +haughtily//HTL +haughtiness/SM/HTNS +haughty/TPR/HT +haul/SDRGZ/HL +haulage/MS/HLK +hauler/M/HL +haunch/GMSD/HNX +haunt/JRDSZG/HNT +haunter/M/HNT +haunting/Y/HNTN +Hauptmann/M/HPTMN +Hausa/M/HS +Hausdorff/M/HSTF +Hauser/M/HS +hauteur/MS/HT +Havana/SM/HFN +Havarti//HFT +have/ZGSR/HF +Havel/M/HFL +haven/DMGS/HFN +Haven/M/HFN +haven't//HFNT +haver/G/HF +haversack/SM/HFSK +havoc/SM/HFK +havocked//HFKT +havocking//HFKN +Haw//H +haw/MDSG/H +Hawaii/M/HW +Hawaiian/S/HWN +hawk/GZSDRM/HK +hawker/M/HK +Hawking//HKN +hawking/M/HKN +Hawkins/M/HKNS +hawkish/P/HKX +hawkishness/S/HKXNS +Hawley/M/HL +haws/RZ/HS +hawser/M/HS +hawthorn/MS/H@N +Hawthorne/M/H@N +hay/GSMDR/H +Hay/SM/H +haycock/SM/HKK +Hayden/M/HTN +Haydn/M/HTN +Haydon/M/HTN +Hayes//HYS +hayfield/MS/HFLT +Hayley/M/HL +hayloft/MS/HLFT +haymow/MS/HM +Haynes//HNS +hayrick/MS/HRK +hayride/MS/HRT +hayseed/MS/HST +haystack/SM/HSTK +haywain//HWN +Hayward/M/HWT +haywire/MS/HWR +Haywood/M/HWT +Hayyim/M/HYM +hazard/MDGS/HST +hazardous/PY/HSTS +hazardousness/M/HSTSNS +haze/DSRJMZG/HS +Haze/M/HS +Hazel/M/HSL +hazel/MS/HSL +hazelnut/SM/HSLNT +hazer/M/HS +hazily//HSL +haziness/MS/HSNS +hazing/M/HSN +Hazlett/M/HSLT +Hazlitt/M/HSLT +hazy/PTR/HS +HBO/M/HB +hdqrs//HTKRS +HDTV//HTTF +He/M/H +he/VMZ/H +Head/M/HT +head/SJGZMDR/HT +headache/MS/HTX +headband/SM/HTBNT +headboard/MS/HTBT +headcount//HTKNT +headdress/MS/HTRS +header/M/HT +headfirst//HTFST +headgear/SM/HK +headhunt/ZGSRDMJ/HTHNT +headhunter/M/HTHNT +headhunting/M/HTHNTN +headily//HTL +headiness/S/HTNS +heading/M/HTN +headlamp/S/HTLMP +headland/MS/HTLNT +headless/P/HTLS +headlessness/M/HTLSNS +headlight/MS/HTLT +headline/DRSZMG/HTLN +headliner/M/HTLN +headlock/MS/HTLK +headlong//HTLNK +headman/M/HTMN +headmaster/MS/HTMST +headmastership/M/HTMSTXP +headmen//HTMN +headmistress/MS/HTMSTRS +headphone/SM/HTFN +headpiece/SM/HTPS +headpin/MS/HTPN +headquarter/GDS/HTKT +headrest/MS/HTRST +headroom/SM/HTRM +headscarf/M/HTSKF +headset/SM/HTST +headship/SM/HTXP +headshrinker/MS/HTXRNK +headsman/M/HTSMN +headsmen//HTSMN +headstall/SM/HTSTL +headstand/MS/HTSTNT +headstock/M/HTSTK +headstone/MS/HTSTN +headstrong//HTSTRNK +headwaiter/SM/HTWT +headwall/S/HTWL +headwater/S/HTWT +headway/MS/HTW +headwind/SM/HTWNT +headword/MS/HTWT +heady/PTR/HT +heal/DRHSGZ/HL +healed/U/HLT +healer/M/HL +Heall/M/HL +health/M/HL@ +healthful/U/HL@FL +healthfully//HL@FL +healthfulness/SM/HL@FLNS +healthily/U/HL@L +healthiness/MSU/HL@NS +healths//HL@S +healthy/URPT/HL@ +heap/SMDG/HP +hear/ZTSRHJG/H +heard/UA/HT +hearer/M/HR +hearing/AM/HRN +hearken/SGD/HKN +hears/SDAG/HS +hearsay/SM/HS +hearse/M/HS +Hearst/M/HST +heart/SMDNXG/HT +heartache/SM/HTX +heartbeat/MS/HTBT +heartbreak/GMS/HTBRK +heartbreaking/Y/HTBRKN +heartbroke//HTBRK +heartbroken//HTBRKN +heartburn/SGM/HTBN +heartburning/M/HTBNN +hearted/Y/HTT +hearten/EGDS/HTN +heartening/EY/HTNN +heartfelt//HTFLT +hearth/M/H@ +hearthrug//H@RK +hearths//H@S +hearthstone/MS/H@STN +heartily//HTL +heartiness/SM/HTNS +heartland/SM/HTLNT +heartless/YP/HTLS +heartlessness/SM/HTLSNS +heartrending/Y/HTRNTN +heartsick/P/HTSK +heartsickness/MS/HTSKNS +heartstrings//HTSTRNS +heartthrob/MS/H@RB +heartwarming//HTWMN +Heartwood/M/HTWT +heartwood/SM/HTWT +hearty/TRSP/HT +heat/SMDRGZBJ/HT +heated/UA/HTT +heatedly//HTTL +heater/M/HT +Heath/MR/H@ +heath/MRNZX/H@ +heathen/M/H@N +heathendom/SM/H@NTM +heathenish/Y/H@NX +heathenism/MS/H@NSM +heather/M/H@ +Heather/M/H@ +heathery//H@R +Heathkit/M/H@KT +heathland//H@LNT +Heathman/M/H@MN +heaths//H@S +heatproof//HTPRF +heats/A/HTS +heatstroke/MS/HTSTRK +heatwave//HTWF +heave/DSRGZ/HF +heaven/SYM/HFN +heavenliness/M/HFNLNS +heavenly/PTR/HFNL +heavenward/S/HFNWT +heaver/M/HF +heaves/M/HFS +heavily//HFL +heaviness/MS/HFNS +Heaviside/M/HFST +heavy/TPRS/HF +heavyhearted//HFHTT +heavyset//HFST +heavyweight/SM/HFWT +Heb/M/HB +Hebe/M/HB +hebephrenic//HBFRNK +Hebert/M/HBT +Hebraic//HBRK +Hebraism/MS/HBRSM +Hebrew/SM/HBR +Hebrides/M/HBRTS +Hecate/M/HKT +hecatomb/M/HKTM +heck/S/HK +heckle/RSDZG/HKL +heckler/M/HKL +hectare/MS/HKTR +hectic/S/HKTK +hectically//HKTKL +hectogram/MS/HKTKRM +hectometer/SM/HKTMT +Hector/M/HKT +hector/SGD/HKT +Hecuba/M/HKB +he'd//HT +Heda/M/HT +Hedda/M/HT +Heddi/M/HT +Heddie/M/HT +hedge/DSRGMZ/HK +hedgehog/MS/HKHK +hedgehop/S/HKHP +hedgehopped//HKHPT +hedgehopping//HKHPN +hedger/M/HKR +hedgerow/SM/HKR +hedging/Y/HKNK +Hedi/M/HT +hedonism/SM/HTNSM +hedonist/MS/HTNST +hedonistic//HTNSTK +Hedvig/M/HTFK +Hedvige/M/HTFK +Hedwig/M/HTWK +Hedwiga/M/HTWK +Hedy/M/HT +heed/SMGD/HT +heeded/U/HTT +heedful/PY/HTFL +heedfulness/M/HTFLNS +heeding/U/HTN +heedless/YP/HTLS +heedlessness/SM/HTLSNS +heehaw/DGS/HH +heel/SGZMDR/HL +heeler/M/HL +heeling/M/HLN +heelless//HLS +Heep/M/HP +Hefner/M/HFN +heft/GSD/HFT +heftily//HFTL +heftiness/SM/HFTNS +hefty/TRP/HFT +Hegel/M/HKL +Hegelian//HKLN +hegemonic//HKMNK +hegemony/MS/HKMN +Hegira/M/HKR +hegira/S/HKR +Heida/M/HT +Heidegger/M/HTK +Heidelberg/M/HTLBK +Heidi/M/HT +Heidie/M/HT +heifer/MS/HF +Heifetz/M/HFTS +height/SMNX/HT +heighten/GD/HTN +Heimlich/M/HMLX +Heindrick/M/HNTRK +Heine/M/HN +Heineken/M/HNKN +Heinlein/M/HNLN +heinous/PY/HNS +heinousness/SM/HNSNS +Heinrich/M/HNRX +Heinrick/M/HNRK +Heinrik/M/HNRK +Heinz/M/HNS +Heinze/M/HNS +heir/SDMG/H +heiress/MS/HRS +heirloom/MS/HLM +Heisenberg/M/HSNBK +Heiser/M/HS +heist/GSMRD/HST +heister/M/HST +Hejira's//HKRS +Helaina/M/HLN +Helaine/M/HLN +held//HLT +Helen/M/HLN +Helena/M/HLN +Helene/M/HLN +Helenka/M/HLNK +Helga/M/HLK +Helge/M/HLK +helical/Y/HLKL +helices/M/HLSS +helicon/M/HLKN +Helicon/M/HLKN +helicopter/GSMD/HLKPT +heliocentric//HLSNTRK +heliography/M/HLKRF +Heliopolis/M/HLPLS +Helios/M/HLS +heliosphere//HLSFR +heliotrope/SM/HLTRP +heliport/MS/HLPT +helium/MS/HLM +helix/M/HLKS +he'll//HL +hell/GSMDR/HL +hellbender/M/HLBNT +hellbent//HLBNT +hellcat/SM/HLKT +hellebore/SM/HLBR +Hellene/SM/HLN +Hellenic//HLNK +Hellenism/MS/HLNSM +Hellenist/MS/HLNST +Hellenistic//HLNSTK +Hellenization/M/HLNSXN +Hellenize//HLNS +heller/M/HL +Heller/M/HL +Hellespont/M/HLSPNT +hellfire/M/HLFR +hellhole/SM/HLHL +Helli/M/HL +hellion/SM/HLN +hellish/PY/HLX +hellishness/SM/HLXNS +Hellman/M/HLMN +hello/GMS/HL +Hell's//HLS +helluva//HLF +helm/U/HLM +helmed//HLMT +helmet/GSMD/HLMT +Helmholtz/M/HLMHLTS +helming//HLMN +helms//HLMS +helm's//HLMS +helmsman/M/HLMSMN +helmsmen//HLMSMN +Helmut/M/HLMT +Héloise/M/HLS +helot/S/HLT +help/GZSJDR/HLP +helper/M/HLP +helpful/UY/HLPFL +helpfulness/MS/HLPFLNS +helping/M/HLPN +helpless/YP/HLPLS +helplessness/SM/HLPLSNS +helpline/S/HLPLN +helpmate/SM/HLPMT +helpmeet's//HLPMTS +Helsa/M/HLS +Helsinki/M/HLSNK +helve/GMDS/HLF +Helvetian/S/HLFXN +Helvetius/M/HLFTS +Helyn/M/HLN +hem/MS/HM +hematite/MS/HMTT +hematologic//HMTLKK +hematological//HMTLKKL +hematologist/SM/HMTLKST +hematology/MS/HMTLK +heme/MS/HM +Hemingway/M/HMNW +hemisphere/MSD/HMSFR +hemispheric//HMSFRK +hemispherical//HMSFRKL +hemline/SM/HMLN +hemlock/MS/HMLK +hemmed//HMT +hemmer/SM/HM +hemming//HMN +hemoglobin/MS/HMKLBN +hemolytic//HMLTK +hemophilia/SM/HMFL +hemophiliac/SM/HMFLK +hemorrhage/GMDS/HMRHK +hemorrhagic//HMRHKK +hemorrhoid/MS/HMRHT +hemostat/SM/HMSTT +hemp/MNS/HMP +hemstitch/DSMG/HMSTX +hen/MS/HN +hence/S/HNS +henceforth//HNSF@ +henceforward//HNSFWT +Hench/M/HNX +henchman/M/HNXMN +henchmen//HNXMN +Henderson/M/HNTSN +Hendrick/SM/HNTRK +Hendrickson/M/HNTRKSN +Hendrik/M/HNTRK +Hendrika/M/HNTRK +Hendrix/M/HNTRKS +henge/M/HNK +Henka/M/HNK +Henley/M/HNL +henna/MDSG/HN +Hennessey/M/HNS +henning//HNN +henpeck/GSD/HNPK +Henri/M/HNR +Henrie/M/HNR +Henrieta/M/HNRT +Henrietta/M/HNRT +Henriette/M/HNRT +Henrik/M/HNRK +henry/M/HNR +Henry/M/HNR +Henryetta/M/HNRYT +Hensley/M/HNSL +Henson/M/HNSN +hep/S/HP +heparin/MS/HPRN +hepatic/S/HPTK +hepatitides//HPTTTS +hepatitis/M/HPTTS +Hepburn/M/HPBN +Hephaestus/M/HFSTS +Hephzibah/M/HFSB +hepper//HP +heppest//HPST +Hepplewhite//HPLHT +heptagon/SM/HPTKN +heptagonal//HPTKNL +heptane/M/HPTN +heptathlon/S/HPT@LN +her//H +Hera/M/HR +Heracles/M/HRKLS +Heraclitus/M/HRKLTS +herald/MDSG/HRLT +heralded/U/HRLTT +heraldic//HRLTK +heraldry/MS/HRLTR +Herb/M/HB +herb/MS/HB +herbaceous//HBSS +herbage/MS/HBK +herbal/S/HBL +herbalism//HBLSM +herbalist/MS/HBLST +Herbart/M/HBT +Herbert/M/HBT +herbicidal//HBSTL +herbicide/MS/HBST +Herbie/M/HB +herbivore/SM/HBFR +herbivorous/Y/HBFRS +Herby/M/HB +Herc/M/HK +Herculaneum/M/HKLNM +Hercule/MS/HKL +herculean//HKLN +Herculean//HKLN +Herculie/M/HKL +herd/MDRGZS/HT +herder/M/HT +Herder/M/HT +herdsman/M/HTSMN +herdsmen//HTSMN +here/IS/HR +hereabout/S/HRBT +hereafter/S/HRFT +hereby//HRB +hereditary//HRTTR +heredity/MS/HRTT +Hereford/SM/HRFT +herein//HRN +hereinafter//HRNFT +hereof//HRF +hereon//HRN +here's//HRS +heres/M/HRS +heresy/SM/HRS +heretic/SM/HRTK +heretical//HRTKL +hereto//HRT +heretofore//HRTFR +hereunder//HRNT +hereunto//HRNT +hereupon//HRPN +herewith//HRW@ +Heriberto/M/HRBT +heritable//HRTBL +heritage/MS/HRTK +heritor/IM/HRT +Herkimer/M/HKM +Herman/M/HMN +Hermann/M/HMN +hermaphrodite/SM/HMFRTT +hermaphroditic//HMFRTTK +Hermaphroditus/M/HMFRTTS +hermeneutic/S/HMNTK +hermeneutics/M/HMNTKS +Hermes//HMS +hermetic/S/HMTK +hermetical/Y/HMTKL +Hermia/M/HM +Hermie/M/HM +Hermina/M/HMN +Hermine/M/HMN +Herminia/M/HMN +Hermione/M/HMN +hermit/MS/HMT +hermitage/SM/HMTK +Hermite/M/HMT +hermitian//HMXN +Hermon/M/HMN +Hermosa/M/HMS +Hermosillo/M/HMSL +Hermy/M/HM +Hernandez/M/HNNTS +Hernando/M/HNNT +hernia/MS/HN +hernial//HNL +herniate/NGXDS/HNT +hero/M/HR +Herod/M/HRT +Herodotus/M/HRTTS +heroes//HRS +heroic/U/HRK +heroically//HRKL +heroics//HRKS +heroin/MS/HRN +heroine/SM/HRN +heroism/SM/HRSM +Herold/M/HRLT +heron/SM/HRN +herpes/M/HPS +herpetologist/SM/HPTLKST +herpetology/MS/HPTLK +Herr/MG/HR +Herrera/M/HRR +Herrick/M/HRK +Herring/M/HRN +herring/SM/HRN +herringbone/SDGM/HRNBN +Herrington/M/HRNTN +Hersch/M/HSX +Herschel/M/HSKL +herself//HSLF +Hersey/M/HS +Hersh/M/HX +Hershel/M/HXL +Hershey/M/HX +Herta/M/HT +Hertha/M/H@ +hertz/M/HTS +Hertz/M/HTS +Hertzog/M/HTSK +Hertzsprung/M/HTSSPRNK +Herve/M/HF +Hervey/M/HF +Herzegovina/M/HSKFN +Herzl/M/HSL +hes//HS +Hesiod/M/HXT +hesitance/S/HSTNS +hesitancy/SM/HSTNS +hesitant/U/HSTNT +hesitantly//HSTNTL +hesitate/XDRSNG/HSTT +hesitater/M/HSTT +hesitating/UY/HSTTN +hesitation/M/HSTXN +Hesperus/M/HSPRS +Hess/M/HS +Hesse/M/HS +Hessian/MS/HXN +Hester/M/HST +Hesther/M/HS@ +Hestia/M/HSX +Heston/M/HSTN +heterodox//HTRTKS +heterodoxy/MS/HTRTKS +heterodyne//HTRTN +heterogamous//HTRKMS +heterogamy/M/HTRKM +heterogeneity/SM/HTRKNT +heterogeneous/PY/HTRKNS +heterogeneousness/M/HTRKNSNS +heterosexual/YMS/HTRSKSL +heterosexuality/SM/HTRSKSLT +heterostructure//HTRSTRKTR +heterozygous//HTRSKS +Hetti/M/HT +Hettie/M/HT +Hetty/M/HT +Heublein/M/HBLN +heuristic/SM/HRSTK +heuristically//HRSTKL +Heusen/M/HSN +Heuser/M/HS +hew/DRZGS/H +Hew/M/H +Hewe/M/HW +hewer/M/HW +Hewet/M/HWT +Hewett/M/HWT +Hewie/M/HW +Hewitt/M/HWT +Hewlett/M/HLT +hex/DSRG/HKS +hexachloride/M/HKSXLRT +hexadecimal/YS/HKSTSML +hexafluoride/M/HKSFLRT +hexagon/SM/HKSKN +hexagonal/Y/HKSKNL +hexagram/SM/HKSKRM +hexameter/SM/HKSMT +hexer/M/HKS +hey//H +heyday/MS/HT +Heyerdahl/M/HYTL +Heywood/M/HWT +Hezekiah/M/HSK +hf//HF +HF//HF +Hf/M/HF +Hg/M/HK +hgt//HKT +hgwy//HK +HHS//HHS +HI//H +hi/D/H +Hi/M/H +Hialeah/M/HL +hiatus/SM/HTS +Hiawatha/M/HW@ +hibachi/MS/HBX +hibernate/XGNSD/HBNT +hibernation/M/HBNXN +hibernator/SM/HBNT +Hibernia/M/HBN +Hibernian/S/HBNN +hibiscus/MS/HBSKS +hiccup/MDGS/HKP +hick/SM/HK +hickey/SM/HK +Hickey/SM/HK +Hickman/M/HKMN +Hickok/M/HKK +hickory/MS/HKR +Hicks/M/HKS +hid/ZDRGJ/HT +hidden/U/HTN +hide/S/HT +hideaway/SM/HTW +hidebound//HTBNT +hideous/YP/HTS +hideousness/SM/HTSNS +hideout/MS/HTT +hider/M/HT +hiding/M/HTN +hie/S/H +hieing//HN +hierarchal//HRXL +hierarchic//HRXK +hierarchical/Y/HRXKL +hierarchy/SM/HRX +hieratic//HRTK +hieroglyph//HRKLF +hieroglyphic/S/HRKLFK +hieroglyphics/M/HRKLFKS +hieroglyphs//HRKLFS +Hieronymus/M/HRNMS +hifalutin//HFLTN +Higashiosaka//HKXSK +Higgins/M/HKNS +high/PYRT/H +highball/GSDM/HBL +highborn//HBN +highboy/MS/HB +highbrow/SM/HBR +highchair/SM/HX +highfalutin//HFLTN +Highfield/M/HFLT +highhanded/PY/HHNTT +highhandedness/SM/HHNTTNS +highish//HKX +highland/ZSRM/HLNT +Highlander/SM/HLNT +Highlands//HLNTS +highlight/GZRDMS/HLT +Highness/M/HNS +highness/MS/HNS +highpoint//HPNT +highroad/MS/HRT +highs//HS +hight//HT +hightail/DGS/HTL +highway/MS/HW +highwayman/M/HWMN +highwaymen//HWMN +hijack/JZRDGS/HKK +hijacker/M/HKK +hike/ZGDSR/HK +hiker/M/HK +Hilario/M/HLR +hilarious/YP/HLRS +hilariousness/MS/HLRSNS +hilarity/MS/HLRT +Hilarius/M/HLRS +Hilary/M/HLR +Hilbert/M/HLBT +Hilda/M/HLT +Hildagard/M/HLTKT +Hildagarde/M/HLTKT +Hilde/M/HLT +Hildebrand/M/HLTBRNT +Hildegaard/M/HLTKT +Hildegarde/M/HLTKT +Hildy/M/HLT +hill/GSMDR/HL +Hill/M/HL +Hillard/M/HLT +Hillary/M/HLR +hillbilly/MS/HLBL +Hillcrest/M/HLKRST +Hillel/M/HLL +hiller/M/HL +Hillery/M/HLR +Hilliard/M/HLT +Hilliary/M/HLR +Hillie/M/HL +Hillier/M/HL +hilliness/SM/HLNS +hillman//HLMN +hillmen//HLMN +hillock/SM/HLK +Hillsboro/M/HLSBR +Hillsdale/M/HLSTL +hillside/SM/HLST +hilltop/MS/HLTP +hillwalking//HLWLKN +Hilly/RM/HL +hilly/TRP/HL +Hillyer/M/HLY +hilt/MDGS/HLT +Hilton/M/HLTN +him/S/HM +Himalaya/MS/HMLY +Himalayan/S/HMLYN +Himmler/M/HML +himself//HMSLF +Hinayana/M/HNYN +hind/RSZ/HNT +Hinda/M/HNT +Hindemith/M/HNTM@ +Hindenburg/M/HNTNBK +hinder/GRD/HNT +hindered/U/HNTRT +hinderer/M/HNTR +Hindi/M/HNT +hindmost//HNTMST +hindquarter/SM/HNTKT +hindrance/SM/HNTRNS +hindsight/SM/HNTST +Hindu/MS/HNT +Hinduism/SM/HNTSM +Hindustan/M/HNTSTN +Hindustani/MS/HNTSTN +Hines/M/HNS +hinge/UDSG/HN +hinger//HN +hinge's//HNS +Hinkle/M/HNKL +Hinsdale/M/HNSTL +hint/GZMDRS/HNT +hinter/M/HNT +hinterland/MS/HNTLNT +Hinton/M/HNTN +Hinze/M/HNS +hip/PSM/HP +hipbone/SM/HPBN +hipness/S/HPNS +Hipparchus/M/HPXS +hipped//HPT +hipper//HP +hippest//HPST +hippie/MTRS/HP +hipping/M/HPN +hippo/MS/HP +Hippocrates/M/HPKRTS +Hippocratic//HPKRTK +hippodrome/MS/HPTRM +hippopotamus/SM/HPPTMS +hippy's//HPS +hipster/MS/HPST +Hiram/M/HRM +hire/AGSD/HR +hireling/SM/HRLN +hirer/SM/HR +Hirey/M/HR +hiring/S/HRN +Hirohito/M/HRHT +Hiroshi/M/HRX +Hiroshima/M/HRXM +Hirsch/M/HSX +hirsute/P/HST +hirsuteness/MS/HSTNS +his//HS +Hispanic/SM/HSPNK +Hispaniola/M/HSPNL +hiss/DSRMJG/HS +Hiss/M/HS +hisser/M/HS +hissing/M/HSN +hist/SDG/HST +histamine/SM/HSTMN +histochemic//HSTXMK +histochemical//HSTXMKL +histochemistry/M/HSTXMSTR +histogram/MS/HSTKRM +histological//HSTLKKL +histologist/MS/HSTLKST +histology/SM/HSTLK +historian/MS/HSTRN +historic//HSTRK +historical/PY/HSTRKL +historicalness/M/HSTRKLNS +historicism/M/HSTRSSM +historicist/M/HSTRSST +historicity/MS/HSTRST +historiographer/SM/HSTRKRF +historiography/MS/HSTRKRF +history/MS/HSTR +histrionic/S/HSTRNK +histrionically//HSTRNKL +histrionics/M/HSTRNKS +hit/MS/HT +Hitachi/M/HTX +hitch/UGSD/HX +Hitchcock/M/HXKK +hitcher/MS/HX +hitchhike/RSDGZ/HXHK +hither//H@ +hitherto//H@T +Hitler/SM/HTL +hitless//HTLS +hittable//HTBL +hitter/SM/HT +hitting//HTN +Hittite/SM/HTT +HIV//HF +hive/MGDS/HF +h'm//HM +HM//HM +HMO//HM +Hmong//HMNK +HMS//HMS +ho/DRYZ/H +Ho/M/H +hoar/M/H +hoard/RDJZSGM/HT +hoarder/M/HT +hoarding/M/HTN +hoarfrost/SM/HFRST +hoariness/MS/HRNS +hoarse/RTYP/HS +hoarseness/SM/HSNS +hoary/TPR/HR +hoax/GZMDSR/HKS +hoaxer/M/HKS +hob/SM/HB +Hobard/M/HBT +Hobart/M/HBT +hobbed//HBT +Hobbes/M/HBS +hobbing//HBN +hobbit//HBT +hobble/ZSRDG/HBL +hobbler/M/HBL +Hobbs/M/HBS +hobby/SM/HB +hobbyhorse/SM/HBHS +hobbyist/SM/HBYST +Hobday/M/HBT +Hobey/M/HB +hobgoblin/MS/HBKBLN +Hobie/M/HB +hobnail/GDMS/HBNL +hobnob/S/HBNB +hobnobbed//HBNBT +hobnobbing//HBNBN +hobo/SDMG/HB +Hoboken/M/HBKN +hoc//HK +hock/GDRMS/HK +hocker/M/HK +hockey/SM/HK +Hockney/M/HKN +hockshop/SM/HKXP +hod/SM/HT +hodge/MS/HK +Hodge/MS/HK +hodgepodge/SM/HKPK +Hodgkin/M/HTKKN +hoe/SM/H +Hoebart/M/HBT +hoecake/SM/HKK +hoedown/MS/HTN +hoeing//HN +hoer/M/H +Hoff/M/HF +Hoffa/M/HF +Hoffman/M/HFMN +Hofstadter/M/HFSTTT +hog/SM/HK +Hogan/M/HKN +hogan/SM/HKN +Hogarth/M/HK@ +hogback/MS/HKBK +hogged//HKT +hogger//HK +hogging//HKN +hoggish/Y/HKX +hogshead/SM/HKXT +hogtie/SD/HKT +hogtying//HKTYN +hogwash/SM/HKWX +Hohenlohe/M/HHNLH +Hohenstaufen/M/HHNSTFN +Hohenzollern/M/HHNSLN +Hohhot/M/HHT +hoist/GRDS/HST +hoister/M/HST +hoke/DSG/HK +hokey/PRT/HK +hokier//HK +hokiest//HKST +Hokkaido/M/HKT +hokum/MS/HKM +Hokusai/M/HKS +Holbein/M/HLBN +Holbrook/M/HLBRK +Holcomb/M/HLKM +hold/NRBSJGZ/HLT +holdall/MS/HLTL +Holden/M/HLTN +holder/M/HLT +Holder/M/HLT +holding/IS/HLTN +holding's//HLTNS +holdout/SM/HLTT +holdover/SM/HLTF +holdup/MS/HLTP +hole/MGDS/HL +holey//HL +holiday/GRDMS/HLT +Holiday/M/HLT +holidaymaker/S/HLTMK +holier/U/HL +Holiness/MS/HLNS +holiness/MSU/HLNS +holistic//HLSTK +holistically//HLSTKL +Holland/RMSZ/HLNT +hollandaise//HLNTS +Hollandaise/M/HLNTS +Hollander/M/HLNT +holler/GDS/HL +Hollerith/M/HLR@ +Holley/M/HL +Holli/SM/HL +Hollie/M/HL +Hollister/M/HLST +hollow/RDYTGSP/HL +Holloway/M/HLW +hollowness/MS/HLNS +hollowware/M/HLWR +Holly/M/HL +holly/SM/HL +Hollyanne/M/HLYN +hollyhock/MS/HLHK +Hollywood/M/HLWT +Holm/M/HLM +Holman/M/HLMN +Holmes//HLMS +holmium/MS/HLMM +Holocaust//HLKST +holocaust/MS/HLKST +Holocene//HLSN +hologram/SM/HLKRM +holograph/GMD/HLKRF +holographic//HLKRFK +holographs//HLKRFS +holography/MS/HLKRF +Holst/M/HLST +Holstein/MS/HLSTN +holster/MDSG/HLST +Holt/M/HLT +holy/SRTP/HL +Holyoke/M/HLYK +holystone/MS/HLSTN +Holzman/M/HLSMN +Hom/MR/HM +homage/MGSRD/HMK +homager/M/HMK +hombre/SM/HMBR +homburg/SM/HMBK +home/DSRMYZG/HM +homebody/MS/HMBT +homebound//HMBNT +homeboy/S/HMB +homebuilder/S/HMBLT +homebuilding//HMBLTN +homebuilt//HMBLT +homecoming/MS/HMKMN +homegrown//HMKRN +homeland/SM/HMLNT +homeless/P/HMLS +homelessness/SM/HMLSNS +homelike//HMLK +homeliness/SM/HMLNS +homely/RPT/HML +homemade//HMMT +homemake/JRZG/HMMK +homemaker/M/HMMK +homemaking/M/HMMKN +homeomorph/M/HMMF +homeomorphic//HMMFK +homeomorphism/MS/HMMFSM +homeopath//HMP@ +homeopathic//HMP@K +homeopaths//HMP@S +homeopathy/MS/HMP@ +homeostases//HMSTSS +homeostasis/M/HMSTSS +homeostatic//HMSTTK +homeowner/S/HMN +homeownership//HMNXP +homepage//HMPK +homer/GDM/HM +Homer/M/HM +Homere/M/HMR +Homeric//HMRK +homerists//HMRSTS +homeroom/MS/HMRM +Homerus/M/HMRS +homeschooling/S/HMSKLN +homesick/P/HMSK +homesickness/MS/HMSKNS +homespun/S/HMSPN +homestead/GZSRDM/HMSTT +homesteader/M/HMSTT +homestretch/SM/HMSTRX +hometown/SM/HMTN +homeward//HMWT +homework/ZSMR/HMWK +homeworker/M/HMWK +homey/PS/HM +homeyness/MS/HMNS +homicidal/Y/HMSTL +homicide/SM/HMST +homier//HM +homiest//HMST +homiletic/S/HMLTK +homily/SM/HML +hominess's//HMNSS +homing/M/HMN +hominid/MS/HMNT +hominy/SM/HMN +homo/SM/HM +homogamy/M/HMKM +homogenate/MS/HMKNT +homogeneity/ISM/HMKNT +homogeneous/PY/HMKNS +homogenization/MS/HMKNSXN +homogenize/DRSGZ/HMKNS +homogenizer/M/HMKNS +homograph/M/HMKRF +homographs//HMKRFS +homological//HMLKKL +homologous//HMLKS +homologue/M/HMLK +homology/MS/HMLK +homomorphic//HMMFK +homomorphism/SM/HMMFSM +homonym/SM/HMNM +homophobia/S/HMFB +homophobic//HMFBK +homophone/MS/HMFN +homopolymers//HMPLMS +homosexual/YMS/HMSKSL +homosexuality/SM/HMSKSLT +homotopy//HMTP +homozygous/Y/HMSKS +Hon/M/HN +hon/MDRSZTG/HN +honcho/DSG/HNX +Honda/M/HNT +Hondo/M/HNT +Honduran/S/HNTRN +Honduras/M/HNTRS +hone/SM/HN +Honecker/M/HNK +honest/RYT/HNST +honestly/E/HNSTL +honesty/ESM/HNST +honey/GSMD/HN +Honey/M/HN +honeybee/SM/HNB +honeycomb/SDMG/HNKM +honeydew/SM/HNT +honeylocust//HNLKST +honeymoon/RDMGZS/HNMN +honeymooner/M/HNMN +honeysuckle/MS/HNSKL +Honeywell/M/HNWL +hong/M/HNK +Honiara/M/HNR +honk/GZSDRM/HNK +honker/M/HNK +honky/SM/HNK +Honolulu/M/HNLL +honor/ERDBZGS/HN +Honor/M/HN +honorable/PSM/HNRBL +honorableness/SM/HNRBLNS +honorables/U/HNRBLS +honorablies/U/HNRBLS +honorably/UE/HNRBL +honorarily//HNRRL +honorarium/SM/HNRRM +honorary/S/HNRR +honored/U/HNRT +honoree/S/HNR +honorer/EM/HNR +Honoria/M/HNR +honorific/S/HNRFK +honor's//HNS +honors/A/HNS +Honshu/M/HNX +hooch/MS/HX +Hood/M/HT +hood/MDSG/HT +hooded/P/HTT +hoodedness/M/HTTNS +hoodlum/SM/HTLM +hoodoo/DMGS/HT +hoodwink/SRDG/HTWNK +hoodwinker/M/HTWNK +hooey/SM/H +hoof/DRMSG/HF +hoofer/M/HF +hoofmark/S/HFMK +hook/GZDRMS/HK +hookah/M/HK +hookahs//HKS +Hooke/MR/HK +hooked/P/HKT +hookedness/M/HKTNS +hooker/M/HK +Hooker/M/HK +hookey's//HKS +hooks/U/HKS +hookup/SM/HKP +hookworm/MS/HKWM +hooky/SRMT/HK +hooligan/SM/HLKN +hooliganism/SM/HLKNSM +hoop/MDRSG/HP +hooper/M/HP +Hooper/M/HP +hoopla/SM/HPL +hooray/SMDG/HR +hoosegow/MS/HSK +Hoosier/SM/HS +hoot/MDRSGZ/HT +hootch's//HXS +hootenanny/SM/HTNN +hooter/M/HT +Hoover/MS/HF +hooves/M/HFS +hop/SMDRG/HP +Hope/M/HP +hope/SM/HP +hoped/U/HPT +hopeful/SPY/HPFL +hopefulness/MS/HPFLNS +hopeless/YP/HPLS +hopelessness/SM/HPLSNS +hoper/M/HP +Hopewell/M/HPWL +Hopi/SM/HP +Hopkins/M/HPKNS +Hopkinsian/M/HPKNXN +hopped//HPT +Hopper/M/HP +hopper/MS/HP +hopping/M/HPN +hoppled//HPLT +hopples//HPLS +hopscotch/MDSG/HPSKX +Horace/M/HRS +Horacio/M/HRS +Horatia/M/HRX +Horatio/M/HRX +Horatius/M/HRTS +horde/DSGM/HT +horehound/MS/HRHNT +horizon/MS/HRSN +horizontal/YS/HRSNTL +Hormel/M/HML +hormonal/Y/HMNL +hormone/MS/HMN +Hormuz/M/HMS +horn/GDRMS/HN +Horn/M/HN +hornbeam/M/HNBM +hornblende/MS/HNBLNT +Hornblower/M/HNBLW +Horne/M/HN +horned/P/HNT +hornedness/M/HNTNS +hornet/MS/HNT +horniness/M/HNNS +hornless//HNLS +hornlike//HNLK +hornpipe/MS/HNPP +horny/TRP/HN +horologic//HRLKK +horological//HRLKKL +horologist/MS/HRLKST +horology/MS/HRLK +horoscope/MS/HRSKP +Horowitz/M/HRWTS +horrendous/Y/HRNTS +horrible/SP/HRBL +horribleness/SM/HRBLNS +horribly//HRBL +horrid/PY/HRT +horridness/M/HRTNS +horrific//HRFK +horrifically//HRFKL +horrify/DSG/HRF +horrifying/Y/HRFYN +horror/MS/HR +hors/DSGX/HS +horse/UGDS/HS +horseback/MS/HSBK +horsedom//HSTM +horseflesh/M/HSFLX +horsefly/MS/HSFL +horsehair/SM/HSH +horsehide/SM/HSHT +horselaugh/M/HSL +horselaughs//HSLS +horseless//HSLS +horselike//HSLK +horsely//HSL +horseman/M/HSMN +horsemanship/MS/HSMNXP +horsemen//HSMN +horseplay/SMR/HSPL +horseplayer/M/HSPLY +horsepower/SM/HSPW +horseradish/SM/HSRTX +horse's//HSS +horseshoe/MRSD/HSX +horseshoeing//HSXN +horseshoer/M/HSX +horsetail/SM/HSTL +horsewhip/SM/HSHP +horsewhipped//HSHPT +horsewhipping//HSHPN +horsewoman/M/HSWMN +horsewomen//HSWMN +horsey//HS +horsier//HS +horsiest//HSST +horsing/M/HSN +Horst/M/HST +Hort/MN/HT +hortatory//HTTR +Horten/M/HTN +Hortense/M/HTNS +Hortensia/M/HTNX +horticultural//HTKLTRL +horticulture/SM/HTKLTR +horticulturist/SM/HTKLTRST +Horton/M/HTN +Horus/M/HRS +hos/GDS/HS +hosanna/SDG/HSN +hose/M/HS +Hosea/M/HS +hosepipe//HSPP +hosier/MS/HS +hosiery/SM/HSR +hosp//HSP +hospice/MS/HSPS +hospitable/I/HSPTBL +hospitably/I/HSPTBL +hospital/MS/HSPTL +hospitality/MS/HSPTLT +hospitality's/I/HSPTLTS +hospitalization/MS/HSPTLSXN +hospitalize/GSD/HSPTLS +Host/MS/HST +host/MYDGS/HST +hostage/MS/HSTK +hostel/SZGMRD/HSTL +hosteler/M/HSTL +hostelry/MS/HSTLR +hostess/MDSG/HSTS +hostile/YS/HSTL +hostility/SM/HSTLT +hostler/MS/HSTL +hot/PSY/HT +hotbed/MS/HTBT +hotblooded//HTBLTT +hotbox/MS/HTBKS +hotcake/S/HTKK +hotchpotch/M/HXPX +hotel/MS/HTL +hotelier/MS/HTL +hotelman/M/HTLMN +hotfoot/DGS/HTFT +hothead/DMS/H@T +hotheaded/PY/H@TT +hotheadedness/SM/H@TTNS +hothouse/MGDS/H@S +hotness/MS/HTNS +hotplate/SM/HTPLT +hotpot/M/HTPT +hotrod//HTRT +hotshot/S/HTXT +hotted//HTT +Hottentot/SM/HTNTT +hotter//HT +hottest//HTST +hotting//HTN +Houdaille/M/HTL +Houdini/M/HTN +hough/M/H +hound/MRDSG/HNT +hounder/M/HNT +hounding/M/HNTN +hour/YMS/H +hourglass/MS/HKLS +houri/MS/HR +hourly/S/HL +house/ASDG/HS +House/M/HS +houseboat/SM/HSBT +housebound//HSBNT +houseboy/SM/HSB +housebreak/JSRZG/HSBRK +housebreaker/M/HSBRK +housebreaking/M/HSBRKN +housebroke//HSBRK +housebroken//HSBRKN +housebuilding//HSBLTN +houseclean/JDSG/HSKLN +housecleaning/M/HSKLNN +housecoat/MS/HSKT +housefly/MS/HSFL +houseful/SM/HSFL +household/ZRMS/HSHLT +householder/M/HSHLT +househusband/S/HSHSBNT +housekeep/JRGZ/HSKP +housekeeper/M/HSKP +housekeeping/M/HSKPN +houselights//HSLTS +housemaid/MS/HSMT +houseman/M/HSMN +housemen//HSMN +housemother/MS/HSM@ +housemoving//HSMFN +houseparent/SM/HSPRNT +houseplant/S/HSPLNT +houser//HS +house's//HSS +housetop/MS/HSTP +housewares//HSWRS +housewarming/MS/HSWMN +housewife/YM/HSWF +housewifeliness/M/HSWFLNS +housewifely/P/HSWFL +housewives//HSWFS +housework/ZSMR/HSWK +houseworker/M/HSWK +housing/MS/HSN +Housman/M/HSMN +Houston/M/HSTN +Houyhnhnm/M/HHNHNM +HOV//HF +hove/ZR/HF +hovel/GSMD/HFL +hover/GRD/HF +hovercraft/M/HFKRFT +hoverer/M/HFR +how/SM/H +Howard/M/HWT +howbeit//HBT +howdah/M/HT +howdahs//HTS +howdy/GSD/HT +Howe/M/HW +Howell/MS/HWL +however//HWF +Howey/M/HW +Howie/M/HW +howitzer/MS/HWTS +howl/GZSMDR/HL +howler/M/HL +Howrah/M/HR +howsoever//HSF +hoy/M/H +hoyden/DMGS/HTN +hoydenish//HTNX +Hoyle/SM/HL +Hoyt/M/HT +hp//HP +HP//HP +HQ//HK +hr//HR +HR//HR +HRH//HRH +Hrothgar/M/HR@K +hrs//HRS +h's//HS +H's//HS +HS//HS +HST//HST +ht//HT +HTML//HTML +Hts/M/HTS +HTTP//HTP +Huang/M/HNK +huarache/SM/HRX +hub/MS/HB +hubba//HB +Hubbard/M/HBT +Hubble/M/HBL +hubbub/SM/HBB +hubby/SM/HB +hubcap/SM/HBKP +Hube/RM/HB +Huber/M/HB +Hubert/M/HBT +Huberto/M/HBT +Hubey/M/HB +Hubie/M/HB +hubris/SM/HBRS +Huck/M/HK +huckleberry/SM/HKLBR +huckster/SGMD/HKST +HUD//HT +Huddersfield/M/HTSFLT +huddle/RSDMG/HTL +huddler/M/HTL +Hudson/M/HTSN +hue/MDS/H +Huerta/M/HT +Huey/M/H +Huff/M/HF +huff/SGDM/HF +huffily//HFL +huffiness/SM/HFNS +Huffman/M/HFMN +huffy/TRP/HF +hug/RTS/HK +huge/YP/HK +hugeness/MS/HKNS +hugged//HKT +hugger//HK +hugging/S/HKN +Huggins//HKNS +Hugh/MS/H +Hughie/M/HK +Hugibert/M/HKBT +Hugo/M/HK +Huguenot/SM/HKNT +Hugues/M/HKS +huh//H +huhs//HS +Hui/M/H +Huitzilopitchli/M/HTSLPXL +hula/MDSG/HL +Hulda/M/HLT +hulk/GDMS/HLK +Hull/M/HL +hull/MDRGZS/HL +hullabaloo/SM/HLBL +huller/M/HL +hulling/M/HLN +hullo/GSDM/HL +hum/S/HM +human/IPY/HMN +humane/IY/HMN +humaneness/SM/HMNNS +humaner//HMN +humanest//HMNST +humanism/SM/HMNSM +humanist/SM/HMNST +humanistic//HMNSTK +humanitarian/S/HMNTRN +humanitarianism/SM/HMNTRNSM +humanity/ISM/HMNT +humanization/CSM/HMNSXN +humanize/RSDZG/HMNS +humanized/C/HMNST +humanizer/M/HMNS +humanizes/IAC/HMNSS +humanizing/C/HMNSN +humankind/M/HMNKNT +humanness/IM/HMNS +humannesses//HMNSS +humanoid/S/HMNT +humans//HMNS +Humbert/M/HMBT +Humberto/M/HMBT +humble/TZGPRSDJ/HMBL +humbleness/SM/HMBLNS +humbly//HMBL +Humboldt/M/HMBLTT +humbug/MS/HMBK +humbugged//HMBKT +humbugging//HMBKN +humdinger/MS/HMTN +humdrum/S/HMTRM +Hume/M/HM +humeral/S/HMRL +humeri//HMR +humerus/M/HMRS +Humfrey/M/HMFR +Humfrid/M/HMFRT +Humfried/M/HMFRT +humid/Y/HMT +humidification/MC/HMTFKXN +humidifier/CM/HMTF +humidify/RSDCXGNZ/HMTF +humidistat/M/HMTSTT +humidity/MS/HMTT +humidor/MS/HMT +humiliate/SDXNG/HMLT +humiliating/Y/HMLTN +humiliation/M/HMLXN +humility/MS/HMLT +hummed//HMT +Hummel/M/HML +hummer/SM/HM +humming//HMN +hummingbird/SM/HMNBT +hummock/MDSG/HMK +hummocky//HMK +hummus/S/HMS +humongous//HMNKS +humor/RDMZGS/HM +humored/U/HMRT +humorist/MS/HMRST +humorless/PY/HMLS +humorlessness/MS/HMLSNS +humorous/YP/HMRS +humorousness/MS/HMRSNS +hump/GSMD/HMP +humpback/SMD/HMPBK +humph/DG/HMF +Humphrey/SM/HMFR +humphs//HMFS +Humpty/M/HMPT +humus/SM/HMS +Humvee//HMF +Hun/MS/HN +hunch/GMSD/HNX +hunchback/DSM/HNXBK +hundred/SHRM/HNTRT +hundredfold/S/HNTRTFLT +hundredths//HNTRT@S +hundredweight/SM/HNTRTWT +Hunfredo/M/HNFRT +hung/A/HNK +Hung/M/HNK +Hungarian/MS/HNKRN +Hungary/M/HNKR +hunger/SDMG/HNK +hungover//HNKF +hungrily//HNKRL +hungriness/SM/HNKRNS +hungry/RTP/HNKR +hunk/ZRMS/HNK +hunker/DG/HNK +hunky/RST/HNK +hunt/GZJDRS/HNT +Hunt/MR/HNT +hunter/M/HNT +Hunter/M/HNT +hunting/M/HNTN +Huntington/M/HNTNTN +Huntlee/M/HNTL +Huntley/M/HNTL +huntress/MS/HNTRS +huntsman/M/HNTSMN +huntsmen//HNTSMN +Huntsville/M/HNTSFL +hurdle/JMZGRSD/HTL +hurdler/M/HTL +hurl/DRGZJS/HL +Hurlee/M/HL +Hurleigh/M/HL +hurler/M/HL +Hurley/M/HL +hurling/M/HLN +Huron/SM/HRN +hurray/SDG/HR +hurricane/MS/HRKN +hurried/UY/HRT +hurriedness/M/HRTNS +hurry/RSDG/HR +Hurst/M/HST +hurt/U/HT +hurter/M/HT +hurtful/PY/HTFL +hurtfulness/MS/HTFLNS +hurting/Y/HTN +hurtle/SDG/HTL +hurts//HTS +Hurwitz/M/HWTS +Hus//HS +Husain's//HSNS +husband/GSDRYM/HSBNT +husbander/M/HSBNT +husbandman/M/HSBNTMN +husbandmen//HSBNTMN +husbandry/SM/HSBNTR +Husein/M/HSN +hush/DSG/HX +husk/SGZDRM/HSK +husker/M/HSK +huskily//HSKL +huskiness/MS/HSKNS +husking/M/HSKN +husky/RSPT/HSK +hussar/MS/HS +Hussein/M/HSN +Husserl/M/HSL +hussy/SM/HS +hustings/M/HSTNS +hustle/RSDZG/HSTL +hustler/M/HSTL +Huston/M/HSTN +hut/MS/HT +hutch/MSDG/HX +Hutchins/M/HXNS +Hutchinson/M/HXNSN +Hutchison/M/HXSN +hutted//HTT +hutting//HTN +Hutton/M/HTN +Hutu/M/HT +Huxley/M/HKSL +Huygens/M/HKNS +huzzah/GD/HS +huzzahs//HSS +hwy//H +Hy/M/H +hyacinth/M/HYSN@ +Hyacinth/M/HYSN@ +Hyacintha/M/HYSN@ +Hyacinthe/M/HYSN@ +Hyacinthia/M/HYSN@ +Hyacinthie/M/HYSN@ +hyacinths//HYSN@S +Hyades//HYTS +hyaena's//HYNS +Hyannis/M/HYNS +Hyatt/M/HYT +hybrid/MS/HBRT +hybridism/SM/HBRTSM +hybridization/S/HBRTSXN +hybridize/GSD/HBRTS +Hyde/M/HT +Hyderabad/M/HTRBT +Hydra/M/HTR +hydra/MS/HTR +hydrangea/SM/HTRNK +hydrant/SM/HTRNT +hydrate/CSDNGX/HTRT +hydrate's//HTRTS +hydration/MC/HTRXN +hydraulic/S/HTRLK +hydraulically//HTRLKL +hydraulicked//HTRLKT +hydraulicking//HTRLKN +hydraulics/M/HTRLKS +hydrazine/M/HTRSN +hydride/MS/HTRT +hydro/SM/HTR +hydrocarbon/SM/HTRKBN +hydrocephali//HTRSFL +hydrocephalus/MS/HTRSFLS +hydrochemistry//HTRXMSTR +hydrochloric//HTRXLRK +hydrochloride/M/HTRXLRT +hydrodynamic/S/HTRTNMK +hydrodynamical//HTRTNMKL +hydrodynamics/M/HTRTNMKS +hydroelectric//HTRLKTRK +hydroelectrically//HTRLKTRKL +hydroelectricity/SM/HTRLKTRST +hydrofluoric//HTRFLRK +hydrofoil/MS/HTRFL +hydrogen/MS/HTRKN +hydrogenate/CDSGN/HTRKNT +hydrogenate's//HTRKNTS +hydrogenation/MC/HTRKNXN +hydrogenations//HTRKNXNS +hydrogenous//HTRKNS +hydrological/Y/HTRLKKL +hydrologist/MS/HTRLKST +hydrology/SM/HTRLK +hydrolysis/M/HTRLSS +hydrolyze/GSD/HTRLS +hydrolyzed/U/HTRLST +hydromagnetic//HTRMKNTK +hydromechanics/M/HTRMXNKS +hydrometer/SM/HTRMT +hydrometry/MS/HTRMTR +hydrophilic//HTRFLK +hydrophobia/SM/HTRFB +hydrophobic//HTRFBK +hydrophone/SM/HTRFN +hydroplane/DSGM/HTRPLN +hydroponic/S/HTRPNK +hydroponics/M/HTRPNKS +hydrosphere/MS/HTRSFR +hydrostatic/S/HTRSTTK +hydrostatics/M/HTRSTTKS +hydrotherapy/SM/HTR@RP +hydrothermal/Y/HTR@ML +hydrous//HTRS +hydroxide/MS/HTRKST +hydroxy//HTRKS +hydroxyl/SM/HTRKSL +hydroxylate/N/HTRKSLT +hydroxyzine/M/HTRKSSN +hyena/MS/HYN +hygiene/MS/HKN +hygienic/S/HKNK +hygienically//HKNKL +hygienics/M/HKNKS +hygienist/MS/HKNST +hygrometer/SM/HKRMT +hygroscopic//HKRSKPK +hying//HYN +Hyman/M/HMN +Hymen/M/HMN +hymen/MS/HMN +hymeneal/S/HMNL +Hymie/M/HM +hymn/GSDM/HMN +hymnal/SM/HMNL +hymnbook/S/HMNBK +Hynda/M/HNT +hype/MZGDSR/HP +hyperactive/S/HPRKTF +hyperactivity/SM/HPRKTFT +hyperbola/MS/HPBL +hyperbole/MS/HPBL +hyperbolic//HPBLK +hyperbolically//HPBLKL +hyperboloid/SM/HPBLT +hyperboloidal//HPBLTL +hypercellularity//HPSLLRT +hypercritical/Y/HPKRTKL +hypercube/MS/HPKB +hyperemia/M/HPRM +hyperemic//HPRMK +hyperfine//HPFN +hypergamous/Y/HPKMS +hypergamy/M/HPKM +hyperglycemia/MS/HPKLSM +hyperinflation//HPRNFLXN +Hyperion/M/HPRN +hypermarket/SM/HPMKT +hypermedia/S/HPMT +hyperplane/SM/HPPLN +hyperplasia/M/HPPLX +hypersensitive/P/HPSNSTF +hypersensitiveness/MS/HPSNSTFNS +hypersensitivity/MS/HPSNSTFT +hypersonic//HPSNK +hyperspace/M/HPSPS +hypersphere/M/HPSFR +hypertension/MS/HPTNXN +hypertensive/S/HPTNSF +hypertext/SM/HPTKST +hyperthyroid//HP@RT +hyperthyroidism/MS/HP@RTSM +hypertrophy/MSDG/HPTRF +hypervelocity//HPFLST +hyperventilate/XSDGN/HPFNTLT +hyperventilation/M/HPFNTLXN +hyphen/DMGS/HFN +hyphenate/NGXSD/HFNT +hyphenated/U/HFNTT +hyphenation/M/HFNXN +hypnoses//HPNSS +hypnosis/M/HPNSS +hypnotherapy/SM/HPN@RP +hypnotic/S/HPNTK +hypnotically//HPNTKL +hypnotism/MS/HPNTSM +hypnotist/SM/HPNTST +hypnotize/SDG/HPNTS +hypo/DMSG/HP +hypoactive//HPKTF +hypoallergenic//HPLKNK +hypocellularity//HPSLLRT +hypochondria/MS/HPXNTR +hypochondriac/SM/HPXNTRK +hypocrisy/SM/HPKRS +hypocrite/MS/HPKRT +hypocritical/Y/HPKRTKL +hypodermic/S/HPTMK +hypoglycemia/SM/HPKLSM +hypoglycemic/S/HPKLSMK +hypophyseal//HPFSL +hypophysectomized//HPFSKTMST +hypotenuse/MS/HPTNS +hypothalami//HP@LM +hypothalamic//HP@LMK +hypothalamically//HP@LMKL +hypothalamus/M/HP@LMS +hypothermia/SM/HP@M +hypotheses//HP@SS +hypothesis/M/HP@SS +hypothesize/ZGRSD/HP@SS +hypothesizer/M/HP@SS +hypothetic//HP@TK +hypothetical/Y/HP@TKL +hypothyroid//HP@RT +hypothyroidism/SM/HP@RTSM +hypoxia/M/HPKS +hyssop/MS/HSP +hysterectomy/MS/HSTRKTM +hysteresis/M/HSTRSS +hysteria/SM/HSTR +hysteric/SM/HSTRK +hysterical/YU/HSTRKL +Hyundai/M/HYNT +Hz//HS +i//* +I//* +IA//* +Ia/M/* +Iaccoca/M/*KK +Iago/M/*K +Iain/M/*N +iamb/MS/*M +iambi//*MB +iambic/S/*MBK +iambus/SM/*MBS +Ian/M/*N +Ianthe/M/*N@ +Ibadan/M/*BTN +Ibbie/M/*B +Ibby/M/*B +Iberia/M/*BR +Iberian/MS/*BRN +Ibero/M/*BR +ibex/MS/*BKS +ibid//*BT +ibidem//*BTM +ibis/SM/*BS +IBM/M/*BM +Ibo/M/*B +Ibrahim/M/*BRHM +Ibsen/M/*BSN +ibuprofen/S/*BPRFN +Icarus/M/*KRS +ICBM/S/*KBM +ICC//*K +ice/GDSC/*S +Ice/M/*S +iceberg/SM/*SBK +iceboat/MS/*SBT +icebound//*SBNT +icebox/MS/*SBKS +icebreaker/SM/*SBRK +icecap/SM/*SKP +Iceland/MRZ/*SLNT +Icelander/M/*SLNT +Icelandic//*SLNTK +iceman/M/*SMN +icemen//*SMN +icepack//*SPK +icepick/S/*SPK +ice's//*SS +Ichabod/M/*XBT +ichneumon/M/*XNMN +ichthyologist/MS/*X@YLKST +ichthyology/MS/*X@YLK +icicle/SM/*SKL +icily//*SL +iciness/SM/*SNS +icing/MS/*SN +icky/RT/*K +icon/MS/*KN +iconic//*KNK +iconoclasm/MS/*KNKLSM +iconoclast/MS/*KNKLST +iconoclastic//*KNKLSTK +iconography/MS/*KNKRF +icosahedra//*KSHTR +icosahedral//*KSHTRL +icosahedron/M/*KSHTRN +ictus/SM/*KTS +ICU//*K +icy/RPT/*S +I'd//*T +ID//*T +id/MY/*T +Ida/M/*T +Idaho/MS/*TH +Idahoan/S/*THN +Idahoes//*THS +Idalia/M/*TL +Idalina/M/*TLN +Idaline/M/*TLN +idea/SM/*T +ideal/MYS/*TL +idealism/MS/*TLSM +idealist/MS/*TLST +idealistic//*TLSTK +idealistically//*TLSTKL +idealization/MS/*TLSXN +idealize/GDRSZ/*TLS +idealized/U/*TLST +idealizer/M/*TLS +idealogical//*TLKKL +ideate/SN/*TT +ideation/M/*TXN +Idell/M/*TL +Idelle/M/*TL +idem//*TM +idempotent/S/*TMPTNT +identical/YP/*TNTKL +identicalness/M/*TNTKLNS +identifiability//*TNTFBLT +identifiable/U/*TNTFBL +identifiably//*TNTFBL +identification/M/*TNTFKXN +identified/U/*TNTFT +identifier/M/*TNTF +identify/XZNSRDG/*TNTF +identity/SM/*TNTT +ideogram/MS/*TKRM +ideograph/M/*TKRF +ideographic//*TKRFK +ideographs//*TKRFS +ideological/Y/*TLKKL +ideologist/SM/*TLKST +ideologue/S/*TLK +ideology/SM/*TLK +ides//*TS +Idette/M/*TT +idiocy/MS/*TS +idiolect/M/*TLKT +idiom/MS/*TM +idiomatic/P/*TMTK +idiomatically//*TMTKL +idiopathic//*TP@K +idiosyncrasy/SM/*TSNKRS +idiosyncratic//*TSNKRTK +idiosyncratically//*TSNKRTKL +idiot/MS/*TT +idiotic//*TTK +idiotically//*TTKL +idle/PZTGDSR/*TL +idleness/MS/*TLNS +idler/M/*TL +idol/MS/*TL +idolater/MS/*TLT +idolatress/S/*TLTRS +idolatrous//*TLTRS +idolatry/SM/*TLTR +idolization/SM/*TLSXN +idolize/ZGDRS/*TLS +idolized/U/*TLST +idolizer/M/*TLS +ids//*TS +IDs//*TS +idyll/MS/*TL +idyllic//*TLK +idyllically//*TLKL +IE//* +IEEE//* +Ieyasu/M/*YS +if//*F +iffiness/S/*FNS +iffy/TPR/*F +Ifni/M/*FN +ifs//*FS +Iggie/M/*K +Iggy/M/*K +igloo/MS/*KL +Ignace/M/*KNS +Ignacio/M/*KNS +Ignacius/M/*KNSS +Ignatius/M/*KNTS +Ignaz/M/*KNS +Ignazio/M/*KNS +igneous//*KNS +ignitable//*KNTBL +ignite/ASDG/*KNT +igniter/M/*KNT +ignition/MS/*KNXN +ignoble/P/*KNBL +ignobleness/M/*KNBLNS +ignobly//*KNBL +ignominious/Y/*KNMNS +ignominy/MS/*KNMN +ignoramus/SM/*KNRMS +ignorance/MS/*KNRNS +ignorant/SPY/*KNRNT +ignorantness/M/*KNRNTNS +ignore/SRDGB/*KNR +ignorer/M/*KNR +Igor/M/*K +iguana/MS/*KN +Iguassu/M/*KS +ii//* +iii//* +Ijsselmeer/M/*KSLM +Ike/M/*K +Ikey/M/*K +Ikhnaton/M/*KHNTN +ikon's//*KNS +IL//*L +Ila/M/*L +Ilaire/M/*LR +Ilario/M/*LR +ilea//*L +Ileana/M/*LN +Ileane/M/*LN +ileitides//*LTTS +ileitis/M/*LTS +Ilene/M/*LN +ileum/M/*LM +ilia//*L +iliac//*LK +Iliad/MS/*LT +Ilise/M/*LS +ilium/M/*LM +ilk/MS/*LK +Ilka/M/*LK +I'll//*L +Ill/M/*L +ill/PS/*L +Illa/M/*L +illegal/YS/*LKL +illegality/MS/*LKLT +illegibility/MS/*LKBLT +illegible//*LKBL +illegibly//*LKBL +illegitimacy/SM/*LKTMS +illegitimate/SDGY/*LKTMT +illiberal/Y/*LBRL +illiberality/SM/*LBRLT +illicit/YP/*LST +illicitness/MS/*LSTNS +illimitable/P/*LMTBL +illimitableness/M/*LMTBLNS +Illinois/M/*LNS +Illinoisan/MS/*LNSN +illiquid//*LKT +illiteracy/MS/*LTRS +illiterate/PSY/*LTRT +illiterateness/M/*LTRTNS +illness/MS/*LNS +illogic/M/*LKK +illogical/PY/*LKKL +illogicality/SM/*LKKLT +illogicalness/M/*LKKLNS +illume/DG/*LM +illuminate/XSDVNG/*LMNT +Illuminati//*LMNT +illuminating/U/*LMNTN +illuminatingly//*LMNTNL +illumination/M/*LMNXN +illumine/BGSD/*LMN +illus/V/*LS +illusion/ES/*LXN +illusionary//*LXNR +illusionist/MS/*LXNST +illusion's//*LXNS +illusive/PY/*LSF +illusiveness/M/*LSFNS +illusoriness/M/*LSRNS +illusory/P/*LSR +illustrate/VGNSDX/*LSTRT +illustrated/U/*LSTRTT +illustration/M/*LSTRXN +illustrative/Y/*LSTRTF +illustrator/SM/*LSTRT +illustrious/PY/*LSTRS +illustriousness/SM/*LSTRSNS +illy//*L +Ilona/M/*LN +Ilsa/M/*LS +Ilse/M/*LS +Ilysa/M/*LS +Ilyse/M/*LS +Ilyssa/M/*LS +Ilyushin/M/*LYXN +I'm//*M +image/DSGM/*MK +Imagen/M/*MKN +imagery/MS/*MKR +imaginable/U/*MKNBL +imaginableness//*MKNBLNS +imaginably/U/*MKNBL +imaginariness/M/*MKNRNS +imaginary/PS/*MKNR +imagination/MS/*MKNXN +imaginative/UY/*MKNTF +imaginativeness/M/*MKNTFNS +imagine/RSDJBG/*MKN +imagined/U/*MKNT +imaginer/M/*MKN +imago/M/*MK +imagoes//*MKS +imam/MS/*MM +imbalance/SDM/*MBLNS +imbecile/YMS/*MBSL +imbecilic//*MBSLK +imbecility/MS/*MBSLT +imbibe/ZRSDG/*MBB +imbiber/M/*MBB +imbrication/SM/*MBRKXN +Imbrium/M/*MBRM +imbroglio/MS/*MBRKL +imbruing//*MBRN +imbue/GDS/*MB +Imelda/M/*MLT +IMF//*MF +IMHO//*MH +imitable/I/*MTBL +imitate/SDVNGX/*MTT +imitation/M/*MTXN +imitative/YP/*MTTF +imitativeness/MS/*MTTFNS +imitator/SM/*MTT +immaculate/YP/*MKLT +immaculateness/SM/*MKLTNS +immanence/S/*MNNS +immanency/MS/*MNNS +immanent/Y/*MNNT +Immanuel/M/*MNL +immaterial/PY/*MTRL +immateriality/MS/*MTRLT +immaterialness/MS/*MTRLNS +immature/SPY/*MTR +immatureness/M/*MTRNS +immaturity/MS/*MTRT +immeasurable/P/*MSRBL +immeasurableness/M/*MSRBLNS +immeasurably//*MSRBL +immediacy/MS/*MTS +immediate/YP/*MTT +immediateness/SM/*MTTNS +immemorial/Y/*MMRL +immense/PRTY/*MNS +immenseness/M/*MNSNS +immensity/MS/*MNST +immerse/RSDXNG/*MS +immersible//*MSBL +immersion/M/*MXN +immigrant/SM/*MKRNT +immigrate/NGSDX/*MKRT +immigration/M/*MKRXN +imminence/SM/*MNNS +imminent/YP/*MNNT +imminentness/M/*MNNTNS +immobile//*MBL +immobility/MS/*MBLT +immobilization/MS/*MBLSXN +immobilize/DSRG/*MBLS +immoderate/NYP/*MTRT +immoderateness/M/*MTRTNS +immoderation/M/*MTRXN +immodest/Y/*MTST +immodesty/SM/*MTST +immolate/SDNGX/*MLT +immolation/M/*MLXN +immoral/Y/*MRL +immorality/MS/*MRLT +immortal/SY/*MTL +immortality/SM/*MTLT +immortalize/GDS/*MTLS +immortalized/U/*MTLST +immovability/SM/*MFBLT +immovable/PS/*MFBL +immovableness/M/*MFBLNS +immovably//*MFBL +immune/S/*MN +immunity/SM/*MNT +immunization/MS/*MNSXN +immunize/GSD/*MNS +immunoassay/M/*MNS +immunodeficiency/S/*MNTFSNS +immunodeficient//*MNTFSNT +immunologic//*MNLKK +immunological/Y/*MNLKKL +immunologist/SM/*MNLKST +immunology/MS/*MNLK +immure/GSD/*MR +immutability/MS/*MTBLT +immutable/P/*MTBL +immutableness/M/*MTBLNS +immutably//*MTBL +IMNSHO//*MNX +IMO//*M +Imogen/M/*MKN +Imogene/M/*MKN +Imojean/M/*MKN +imp/SGMDRY/*MP +impact/VGMRDS/*MPKT +impaction/SM/*MPKXN +impactor/SM/*MPKT +impair/LGRDS/*MP +impaired/U/*MPRT +impairer/M/*MPR +impairment/SM/*MPMNT +impala/MS/*MPL +impale/GLRSD/*MPL +impalement/SM/*MPLMNT +impaler/M/*MPL +impalpable//*MPLPBL +impalpably//*MPLPBL +impanel/DGS/*MPNL +impart/GDS/*MPT +impartation/M/*MPTXN +impartial/Y/*MPXL +impartiality/SM/*MPXLT +impassable/P/*MPSBL +impassableness/M/*MPSBLNS +impassably//*MPSBL +impasse/SXBMVN/*MPS +impassibility/SM/*MPSBLT +impassible//*MPSBL +impassibly//*MPSBL +impassion/DG/*MPXN +impassioned/U/*MPXNT +impassive/YP/*MPSF +impassiveness/MS/*MPSFNS +impassivity/MS/*MPSFT +impasto/SM/*MPST +impatience/SM/*MPTNS +impatiens/M/*MPTNS +impatient/Y/*MPTNT +impeach/DRSZGLB/*MPX +impeachable/U/*MPXBL +impeacher/M/*MPX +impeachment/MS/*MPXMNT +impeccability/SM/*MPKBLT +impeccable/S/*MPKBL +impeccably//*MPKBL +impecunious/PY/*MPKNS +impecuniousness/MS/*MPKNSNS +imped/GRD/*MPT +impedance/MS/*MPTNS +impede/S/*MPT +impeded/U/*MPTT +impeder/M/*MPT +impediment/SM/*MPTMNT +impedimenta//*MPTMNT +impel/S/*MPL +impelled//*MPLT +impeller/MS/*MPL +impelling//*MPLN +impend/DGS/*MPNT +impenetrability/MS/*MPNTRBLT +impenetrable/P/*MPNTRBL +impenetrableness/M/*MPNTRBLNS +impenetrably//*MPNTRBL +impenitence/MS/*MPNTNS +impenitent/YS/*MPNTNT +imperative/PSY/*MPRTF +imperativeness/M/*MPRTFNS +imperceivable//*MPSFBL +imperceptibility/MS/*MPSPTBLT +imperceptible//*MPSPTBL +imperceptibly//*MPSPTBL +imperceptive//*MPSPTF +imperf//*MPF +imperfect/YSVP/*MPFKT +imperfectability//*MPFKTBLT +imperfection/MS/*MPFKXN +imperfectness/SM/*MPFKTNS +imperial/YS/*MPRL +imperialism/MS/*MPRLSM +imperialist/SM/*MPRLST +imperialistic//*MPRLSTK +imperialistically//*MPRLSTKL +imperil/GSLD/*MPRL +imperilment/SM/*MPRLMNT +imperious/YP/*MPRS +imperiousness/MS/*MPRSNS +imperishable/SP/*MPRXBL +imperishableness/M/*MPRXBLNS +imperishably//*MPRXBL +impermanence/MS/*MPMNNS +impermanent/Y/*MPMNNT +impermeability/SM/*MPMBLT +impermeable/P/*MPMBL +impermeableness/M/*MPMBLNS +impermeably//*MPMBL +impermissible//*MPMSBL +impersonal/Y/*MPSNL +impersonality/M/*MPSNLT +impersonalized//*MPSNLST +impersonate/XGNDS/*MPSNT +impersonation/M/*MPSNXN +impersonator/SM/*MPSNT +impertinence/SM/*MPTNNS +impertinent/YS/*MPTNNT +imperturbability/SM/*MPTBBLT +imperturbable//*MPTBBL +imperturbably//*MPTBBL +impervious/PY/*MPFS +imperviousness/M/*MPFSNS +impetigo/MS/*MPTK +impetuosity/MS/*MPTST +impetuous/YP/*MPTS +impetuousness/MS/*MPTSNS +impetus/MS/*MPTS +impiety/MS/*MPT +imping/GD/*MPN +impinge/LS/*MPN +impingement/MS/*MPNMNT +impious/PY/*MPS +impiousness/SM/*MPSNS +impish/YP/*MPX +impishness/MS/*MPXNS +implacability/SM/*MPLKBLT +implacable/P/*MPLKBL +implacableness/M/*MPLKBLNS +implacably//*MPLKBL +implant/BGSDR/*MPLNT +implantation/SM/*MPLNTXN +implanter/M/*MPLNT +implausibility/MS/*MPLSBLT +implausible//*MPLSBL +implausibly//*MPLSBL +implement/SMRDGZB/*MPLMNT +implementability//*MPLMNTBLT +implementable/U/*MPLMNTBL +implementation/A/*MPLMNTXN +implementations//*MPLMNTXNS +implementation's//*MPLMNTXNS +implemented/AU/*MPLMNTT +implementer/M/*MPLMNT +implementing/A/*MPLMNTN +implementor/MS/*MPLMNT +implicant/SM/*MPLKNT +implicate/VGSD/*MPLKT +implication/M/*MPLKXN +implicative/PY/*MPLKTF +implicit/YP/*MPLST +implicitness/SM/*MPLSTNS +implied/Y/*MPLT +implode/GSD/*MPLT +implore/GSD/*MPLR +imploring/Y/*MPLRN +implosion/SM/*MPLXN +implosive/S/*MPLSF +imply/GNSDX/*MPL +impolite/YP/*MPLT +impoliteness/MS/*MPLTNS +impolitic/PY/*MPLTK +impoliticness/M/*MPLTKNS +imponderable/PS/*MPNTRBL +imponderableness/M/*MPNTRBLNS +import/SZGBRD/*MPT +importance/SM/*MPTNS +important/Y/*MPTNT +importation/MS/*MPTXN +importer/M/*MPT +importing/A/*MPTN +importunate/PYGDS/*MPTNT +importunateness/M/*MPTNTNS +importune/SRDZYG/*MPTN +importuner/M/*MPTN +importunity/SM/*MPTNT +imposable//*MPSBL +impose/ASDG/*MPS +imposer/SM/*MPS +imposing/U/*MPSN +imposingly//*MPSNL +imposition/SM/*MPSXN +impossibility/SM/*MPSBLT +impossible/PS/*MPSBL +impossibleness/M/*MPSBLNS +impossibly//*MPSBL +impost/SGMD/*MPST +imposter's//*MPSTS +impostor/SM/*MPST +imposture/SM/*MPSTR +impotence/MS/*MPTNS +impotency/S/*MPTNS +impotent/SY/*MPTNT +impound/GDS/*MPNT +impoundments//*MPNTMNTS +impoverish/LGDRS/*MPFRX +impoverisher/M/*MPFRX +impoverishment/SM/*MPFRXMNT +impracticable/P/*MPRKTKBL +impracticableness/M/*MPRKTKBLNS +impracticably//*MPRKTKBL +impractical/PY/*MPRKTKL +impracticality/SM/*MPRKTKLT +impracticalness/M/*MPRKTKLNS +imprecate/NGXSD/*MPRKT +imprecation/M/*MPRKXN +imprecise/PYXN/*MPRSS +impreciseness/MS/*MPRSSNS +imprecision/M/*MPRSXN +impregnability/MS/*MPRKNBLT +impregnable/P/*MPRKNBL +impregnableness/M/*MPRKNBLNS +impregnably//*MPRKNBL +impregnate/DSXNG/*MPRKNT +impregnation/M/*MPRKNXN +impresario/SM/*MPRSR +impress/DRSGVL/*MPRS +impressed/U/*MPRST +impresser/M/*MPRS +impressibility/MS/*MPRSBLT +impressible//*MPRSBL +impression/BMS/*MPRXN +impressionability/SM/*MPRXNBLT +impressionable/P/*MPRXNBL +impressionableness/M/*MPRXNBLNS +impressionism/SM/*MPRXNSM +impressionist/MS/*MPRXNST +impressionistic//*MPRXNSTK +impressive/YP/*MPRSF +impressiveness/MS/*MPRSFNS +impressment/M/*MPRSMNT +imprimatur/SM/*MPRMT +imprint/SZDRGM/*MPRNT +imprinter/M/*MPRNT +imprinting/M/*MPRNTN +imprison/GLDS/*MPRSN +imprisonment/MS/*MPRSNMNT +improbability/MS/*MPRBBLT +improbable/P/*MPRBBL +improbableness/M/*MPRBBLNS +improbably//*MPRBBL +impromptu/S/*MPRMPT +improper/PY/*MPRP +improperness/M/*MPRPNS +impropitious//*MPRPXS +impropriety/SM/*MPRPRT +improve/SRDGBL/*MPRF +improved/U/*MPRFT +improvement/MS/*MPRFMNT +improver/M/*MPRF +improvidence/SM/*MPRFTNS +improvident/Y/*MPRFTNT +improvisation/MS/*MPRFSXN +improvisational//*MPRFSXNL +improvisatory//*MPRFSTR +improvise/RSDZG/*MPRFS +improviser/M/*MPRFS +imprudence/SM/*MPRTNS +imprudent/Y/*MPRTNT +impudence/MS/*MPTNS +impudent/Y/*MPTNT +impugn/SRDZGB/*MPN +impugner/M/*MPKN +impulse/XMVGNSD/*MPLS +impulsion/M/*MPLXN +impulsive/YP/*MPLSF +impulsiveness/MS/*MPLSFNS +impunity/SM/*MPNT +impure/RPTY/*MPR +impureness/M/*MPRNS +impurity/MS/*MPRT +imputation/SM/*MPTXN +impute/SDBG/*MPT +Imus/M/*MS +IN//*N +in/AS/*N +In/PM/*N +Ina/M/*N +inaction//*NKXN +inactive//*NKTF +inadequate/S/*NTKT +inadvertence/MS/*NTFTNS +inadvertent/Y/*NTFTNT +inalienability/MS/*NLNBLT +inalienably//*NLNBL +inalterable/P/*NLTRBL +inalterableness/M/*NLTRBLNS +inamorata/MS/*NMRT +inane/SRPYT/*NN +inanimate/P/*NNMT +inanimateness/S/*NNMTNS +inanity/MS/*NNT +inappeasable//*NPSBL +inappropriate/P/*NPRPRT +inarticulate/P/*NTKLT +inasmuch//*NSMX +inaugural/S/*NKRL +inaugurate/XSDNG/*NKRT +inauguration/M/*NKRXN +inauthenticity//*N@NTST +inbound/G/*NBNT +inbred/S/*NBRT +inbreed/JG/*NBRT +Inc/M/*NK +inc/T/*NK +Inca/SM/*NK +incalculableness/M/*NKLKLBLNS +incalculably//*NKLKLBL +incandescence/SM/*NKNTSNS +incandescent/YS/*NKNTSNT +incant//*NKNT +incantation/SM/*NKNTXN +incantatory//*NKNTTR +incapable/S/*NKPBL +incapacitate/GNSD/*NKPSTT +incapacitation/M/*NKPSTXN +incarcerate/XGNDS/*NKSRT +incarceration/M/*NKSRXN +incarnadine/GDS/*NKNTN +incarnate/AGSDNX/*NKNT +incarnation/AM/*NKNXN +incendiary/S/*NSNTR +incense/MGDS/*NSNS +incentive/ESM/*NSNTF +incentively//*NSNTFL +incept/DGVS/*NSPT +inception/MS/*NSPXN +inceptive/Y/*NSPTF +inceptor/M/*NSPT +incessant/Y/*NSSNT +incest/SM/*NSST +incestuous/PY/*NSSTS +incestuousness/MS/*NSSTSNS +inch/GMDS/*NX +inchoate/DSG/*NXT +Inchon/M/*NXN +inchworm/MS/*NXWM +incidence/MS/*NSTNS +incident/SM/*NSTNT +incidental/YS/*NSTNTL +incinerate/XNGSD/*NSNRT +incineration/M/*NSNRXN +incinerator/SM/*NSNRT +incipience/SM/*NSPNS +incipiency/M/*NSPNS +incipient/Y/*NSPNT +incise/SDVGNX/*NSS +incision/M/*NSXN +incisive/YP/*NSSF +incisiveness/MS/*NSSFNS +incisor/MS/*NSS +incite/RZL/*NST +incitement/MS/*NSTMNT +inciter/M/*NST +incl//*NKL +inclination/ESM/*NKLNXN +incline/EGSD/*NKLN +incliner/M/*NKLN +inclining/M/*NKLNN +include/GDS/*NKLT +inclusion/MS/*NKLXN +inclusive/PY/*NKLSF +inclusiveness/MS/*NKLSFNS +incognito/S/*NKKNT +incoherency/M/*NKHRNS +income/M/*NKM +incommode/DG/*NKMT +incommunicado//*NKMNKT +incomparable//*NKMPRBL +incompetent/MS/*NKMPTNT +incomplete/P/*NKMPLT +inconceivability/MS/*NKNSFBLT +inconceivable/P/*NKNSFBL +inconceivableness/M/*NKNSFBLNS +incondensable//*NKNTNSBL +incongruousness/S/*NKNKRSNS +inconsiderable/P/*NKNSTRBL +inconsiderableness/M/*NKNSTRBLNS +inconsistence//*NKNSSTNS +inconsolable/P/*NKNSLBL +inconsolableness/M/*NKNSLBLNS +inconsolably//*NKNSLBL +incontestability/SM/*NKNTSTBLT +incontestably//*NKNTSTBL +incontrovertibly//*NKNTRFTBL +inconvenience/DG/*NKNFNNS +inconvertibility//*NKNFTBLT +inconvertible//*NKNFTBL +incorporable//*NKPRBL +incorporate/GASDXN/*NKPRT +incorporated/UE/*NKPRTT +incorrect/P/*NKRKT +incorrigibility/MS/*NKRKBLT +incorrigible/SP/*NKRKBL +incorrigibleness/M/*NKRKBLNS +incorrigibly//*NKRKBL +incorruptible/S/*NKRPTBL +incorruptibly//*NKRPTBL +increase/JB/*NKRS +increaser/M/*NKRS +increasing/Y/*NKRSN +incredible/P/*NKRTBL +incredibleness/M/*NKRTBLNS +increment/DMGS/*NKRMNT +incremental/Y/*NKRMNTL +incrementation//*NKRMNTXN +incriminate/XNGSD/*NKRMNT +incrimination/M/*NKRMNXN +incriminatory//*NKRMNTR +incrustation/SM/*NKRSTXN +incubate/XNGVDS/*NKBT +incubation/M/*NKBXN +incubator/MS/*NKBT +incubus/MS/*NKBS +inculcate/SDGNX/*NKLKT +inculcation/M/*NKLKXN +inculpate/SDG/*NKLPT +incumbency/MS/*NKMBNS +incumbent/S/*NKMBNT +incunabula//*NKNBL +incunabulum//*NKNBLM +incurable/S/*NKRBL +incurious//*NKRS +incursion/SM/*NKXN +ind//*NT +Ind/M/*NT +indebted/P/*NTBTT +indebtedness/SM/*NTBTTNS +indefatigable/P/*NTFTKBL +indefatigableness/M/*NTFTKBLNS +indefatigably//*NTFTKBL +indefeasible//*NTFSBL +indefeasibly//*NTFSBL +indefinable/PS/*NTFNBL +indefinableness/M/*NTFNBLNS +indefinite/S/*NTFNT +indelible//*NTLBL +indelibly//*NTLBL +indemnification/M/*NTMNFKXN +indemnify/NXSDG/*NTMNF +indemnity/SM/*NTMNT +indent/R/*NTNT +indentation/SM/*NTNTXN +indented/U/*NTNTT +indenter/M/*NTNT +indention/SM/*NTNXN +indenture/DG/*NTNTR +Independence/M/*NTPNTNS +indescribable/PS/*NTSKRBBL +indescribableness/M/*NTSKRBBLNS +indescribably//*NTSKRBBL +indestructible/P/*NTSTRKTBL +indestructibleness/M/*NTSTRKTBLNS +indestructibly//*NTSTRKTBL +indeterminably//*NTTMNBL +indeterminacy/MS/*NTTMNS +indeterminism//*NTTMNSM +index/MRDZGB/*NTKS +indexation/S/*NTKSXN +indexer/M/*NTKS +India/M/*NT +Indian/SM/*NTN +Indiana/M/*NTN +Indianan/S/*NTNN +Indianapolis/M/*NTNPLS +Indianian/S/*NTNN +indicant/MS/*NTKNT +indicate/DSNGVX/*NTKT +indication/M/*NTKXN +indicative/SY/*NTKTF +indicator/MS/*NTKT +indices's//*NTSSS +indict/SGLBDR/*NTKT +indicter/M/*NTKT +indictment/SM/*NTKTMNT +indifference//*NTFRNS +indigence/MS/*NTKNS +indigenous/YP/*NTKNS +indigenousness/M/*NTKNSNS +indigent/SY/*NTKNT +indigestible/S/*NTKSTBL +indignant/Y/*NTKNNT +indignation/MS/*NTKNXN +indigo/SM/*NTK +Indira/M/*NTR +indirect/PG/*NTRKT +indiscreet/P/*NTSKRT +indiscriminate/PY/*NTSKRMNT +indiscriminateness/M/*NTSKRMNTNS +indispensability/MS/*NTSPNSBLT +indispensable/SP/*NTSPNSBL +indispensableness/M/*NTSPNSBLNS +indispensably//*NTSPNSBL +indisputable/P/*NTSPTBL +indisputableness/M/*NTSPTBLNS +indissoluble/P/*NTSLBL +indissolubleness/M/*NTSLBLNS +indissolubly//*NTSLBL +indistinguishable/P/*NTSTNXBL +indistinguishableness/M/*NTSTNXBLNS +indite/SDG/*NTT +indium/SM/*NTM +individual/YMS/*NTFTL +individualism/MS/*NTFTLSM +individualist/MS/*NTFTLST +individualistic//*NTFTLSTK +individualistically//*NTFTLSTKL +individuality/MS/*NTFTLT +individualization/SM/*NTFTLSXN +individualize/DRSGZ/*NTFTLS +individualized/U/*NTFTLST +individualizer/M/*NTFTLS +individualizes/U/*NTFTLSS +individualizing/Y/*NTFTLSN +individuate/DSXGN/*NTFTT +individuation/M/*NTFTXN +indivisible/SP/*NTFSBL +indivisibleness/M/*NTFSBLNS +indivisibly//*NTFSBL +Indochina/M/*NTXN +Indochinese//*NTXNS +indoctrinate/GNXSD/*NTKTRNT +indoctrination/M/*NTKTRNXN +indoctrinator/SM/*NTKTRNT +indolence/SM/*NTLNS +indolent/Y/*NTLNT +indomitable/P/*NTMTBL +indomitableness/M/*NTMTBLNS +indomitably//*NTMTBL +Indonesia/M/*NTNX +Indonesian/S/*NTNXN +indoor//*NT +Indore/M/*NTR +Indra/M/*NTR +indubitable/P/*NTBTBL +indubitableness/M/*NTBTBLNS +indubitably//*NTBTBL +induce/ZGLSRD/*NTS +inducement/MS/*NTSMNT +inducer/M/*NTS +inducible//*NTSBL +induct/GV/*NTKT +inductance/MS/*NTKTNS +inductee/SM/*NTKT +induction/SM/*NTKXN +inductive/PY/*NTKTF +inductiveness/M/*NTKTFNS +inductor/MS/*NTKT +indulge/GDRS/*NTLK +indulgence/SDGM/*NTLKNS +indulgent/Y/*NTLKNT +indulger/M/*NTLK +Indus/M/*NTS +industrial/SY/*NTSTRL +industrialism/MS/*NTSTRLSM +industrialist/MS/*NTSTRLST +industrialization/MS/*NTSTRLSXN +industrialize/SDG/*NTSTRLS +industrialized/U/*NTSTRLST +industrious/YP/*NTSTRS +industriousness/SM/*NTSTRSNS +industry/SM/*NTSTR +Indy/SM/*NT +inebriate/NGSDX/*NBRT +inebriation/M/*NBRXN +inedible//*NTBL +ineducable//*NTKBL +ineffability/MS/*NFBLT +ineffable/P/*NFBL +ineffableness/M/*NFBLNS +ineffably//*NFBL +inelastic//*NLSTK +ineligibly//*NLKBL +ineluctable//*NLKTBL +ineluctably//*NLKTBL +inept/YP/*NPT +ineptitude/SM/*NPTTT +ineptness/MS/*NPTNS +inequivalent//*NKFLNT +inerrant//*NRNT +inert/SPY/*NT +inertia/SM/*NX +inertial/Y/*NXL +inertness/MS/*NTNS +Ines//*NS +inescapably//*NSKPBL +Inesita/M/*NST +Inessa/M/*NS +inestimably//*NSTMBL +inevitability/MS/*NFTBLT +inevitable/P/*NFTBL +inevitableness/M/*NFTBLNS +inevitably//*NFTBL +inexact/P/*NKSKT +inexhaustible/P/*NKSHSTBL +inexhaustibleness/M/*NKSHSTBLNS +inexhaustibly//*NKSHSTBL +inexorability/M/*NKSRBLT +inexorable/P/*NKSRBL +inexorableness/M/*NKSRBLNS +inexorably//*NKSRBL +inexpedience/M/*NKSPTNS +inexplicable/P/*NKSPLKBL +inexplicableness/M/*NKSPLKBLNS +inexplicably//*NKSPLKBL +inexplicit//*NKSPLST +inexpressibility/M/*NKSPRSBLT +inexpressible/PS/*NKSPRSBL +inexpressibleness/M/*NKSPRSBLNS +inextricably//*NKSTRKBL +Inez/M/*NS +inf/ZT/*NF +infamous//*NFMS +infamy/SM/*NFM +infancy/M/*NFNS +infant/MS/*NFNT +infanticide/MS/*NFNTST +infantile//*NFNTL +infantry/SM/*NFNTR +infantryman/M/*NFNTRMN +infantrymen//*NFNTRMN +infarct/SM/*NFKT +infarction/SM/*NFKXN +infatuate/XNGSD/*NFTT +infatuation/M/*NFTXN +infauna//*NFN +infect/ESGDA/*NFKT +infected/U/*NFKTT +infecter//*NFKT +infection/EASM/*NFKXN +infectious/PY/*NFKXS +infectiousness/MS/*NFKXSNS +infective//*NFKTF +infer/B/*NF +inference/GMSR/*NFRNS +inferential/Y/*NFRNXL +inferior/SMY/*NFR +inferiority/MS/*NFRRT +infernal/Y/*NFNL +inferno/MS/*NFN +inferred//*NFRT +inferring//*NFRN +infertile//*NFTL +infest/GSDR/*NFST +infestation/MS/*NFSTXN +infester/M/*NFST +infidel/SM/*NFTL +infighting/M/*NFTN +infill/MG/*NFL +infiltrate/V/*NFLTRT +infiltrator/MS/*NFLTRT +infinite/V/*NFNT +infinitesimal/SY/*NFNTSML +infinitival//*NFNTFL +infinitive/YMS/*NFNTF +infinitude/MS/*NFNTT +infinitum//*NFNTM +infinity/SM/*NFNT +infirmary/SM/*NFMR +infirmity/SM/*NFMT +infix/M/*NFKS +inflammable/P/*NFLMBL +inflammableness/M/*NFLMBLNS +inflammation/MS/*NFLMXN +inflammatory//*NFLMTR +inflatable/MS/*NFLTBL +inflate/NGBDRSX/*NFLT +inflater/M/*NFLT +inflation/ESM/*NFLXN +inflationary//*NFLXNR +inflect/GVDS/*NFLKT +inflection/SM/*NFLKXN +inflectional/Y/*NFLKXNL +inflexible/P/*NFLKSBL +inflexibleness/M/*NFLKSBLNS +inflexion/SM/*NFLKSN +inflict/DRSGV/*NFLKT +inflicter/M/*NFLKT +infliction/SM/*NFLKXN +inflow/M/*NFL +influence/SRDGM/*NFLNS +influenced/U/*NFLNST +influencer/M/*NFLNS +influent//*NFLNT +influential/SY/*NFLNXL +influenza/MS/*NFLNS +info/SM/*NF +infomercial/S/*NFMXL +Informatica/M/*NFMTK +informatics//*NFMTKS +information/ES/*NFMXN +informational//*NFMXNL +informative/UY/*NFMTF +informativeness/S/*NFMTFNS +informatory//*NFMTR +informed/U/*NFMT +informer/M/*NFM +infotainment/S/*NFTNMNT +infra//*NFR +infrared/SM/*NFRRT +infrasonic//*NFRSNK +infrastructural//*NFRSTRKTRL +infrastructure/MS/*NFRSTRKTR +infrequence/S/*NFRKNS +infringe/LR/*NFRN +infringement/SM/*NFRNMNT +infringer/M/*NFRN +infuriate/GNYSD/*NFRT +infuriating/Y/*NFRTN +infuriation/M/*NFRXN +infuse/RZ/*NFS +infuser/M/*NFS +infusible/P/*NFSBL +infusibleness/M/*NFSBLNS +Inga/M/*NK +Ingaberg/M/*NKBK +Ingaborg/M/*NKBK +Ingamar/M/*NKM +Ingar/M/*NK +Inge/RM/*NK +Ingeberg/M/*NKBK +Ingeborg/M/*NKBK +Ingelbert/M/*NKLBT +Ingemar/M/*NKM +ingenious/YP/*NKNS +ingeniousness/MS/*NKNSNS +ingénue/S/*NKN +ingenuity/SM/*NKNT +ingenuous/EY/*NKNS +ingenuousness/MS/*NKNSNS +Inger/M/*NK +Ingersoll/M/*NKSL +ingest/DGVS/*NKST +ingestible//*NKSTBL +ingestion/SM/*NKSXN +Inglebert/M/*NKLBT +inglenook/MS/*NKLNK +Inglewood/M/*NKLWT +Inglis/M/*NKLS +Ingmar/M/*NKM +ingoing//*NKN +ingot/SMDG/*NKT +Ingra/M/*NKR +ingrained/Y/*NKRNT +Ingram/M/*NKRM +ingrate/M/*NKRT +ingratiate/DSGNX/*NKRXT +ingratiating/Y/*NKRXTN +ingratiation/M/*NKRXXN +ingredient/SM/*NKRTNT +Ingres/M/*NKRS +ingress/MS/*NKRS +ingression/M/*NKRXN +Ingrid/M/*NKRT +Ingrim/M/*NKRM +ingrown/P/*NKRN +inguinal//*NKNL +Ingunna/M/*NKN +inhabit/R/*NHBT +inhabitable/U/*NHBTBL +inhabitance//*NHBTNS +inhabited/U/*NHBTT +inhabiter/M/*NHBT +inhalant/S/*NHLNT +inhalation/SM/*NHLXN +inhalator/SM/*NHLT +inhale/Z/*NHL +inhere/DG/*NHR +inherent/Y/*NHRNT +inherit/BDSG/*NHRT +inheritable/P/*NHRTBL +inheritableness/M/*NHRTBLNS +inheritance/EMS/*NHRTNS +inherited/E/*NHRTT +inheriting/E/*NHRTN +inheritor/S/*NHRT +inheritress/MS/*NHRTRS +inheritrix/MS/*NHRTRKS +inherits/E/*NHRTS +inhibit/DVGS/*NHBT +inhibited/U/*NHBTT +inhibiter's//*NHBTS +inhibition/MS/*NHBXN +inhibitor/MS/*NHBT +inhibitory//*NHBTR +inhomogeneous//*NHMKNS +inhospitable/P/*NHSPTBL +inhospitableness/M/*NHSPTBLNS +inhospitality//*NHSPTLT +Inigo/M/*NK +inimical/Y/*NMKL +inimitable/P/*NMTBL +inimitableness/M/*NMTBLNS +inimitably//*NMTBL +inion//*NN +iniquitous/PY/*NKTS +iniquitousness/M/*NKTSNS +iniquity/MS/*NKT +initial/GSPRDY/*NXL +initialer/M/*NXL +initialization/A/*NXLSXN +initializations//*NXLSXNS +initialization's//*NXLSXNS +initialize/ASDG/*NXLS +initialized/U/*NXLST +initializer/S/*NXLS +initiate/UD/*NXT +initiates//*NXTS +initiating//*NXTN +initiation/SM/*NXXN +initiative/SM/*NXTF +initiator/MS/*NXT +initiatory//*NXTR +inject/GVSDB/*NKKT +injectable/U/*NKKTBL +injection/MS/*NKKXN +injector/SM/*NKKT +injunctive//*NKNKTF +injure/SRDZG/*NKR +injured/U/*NKRT +injurer/M/*NKR +injurious/YP/*NKRS +injuriousness/M/*NKRSNS +ink/ZDRJ/*NK +inkblot/SM/*NKBLT +inker/M/*NK +inkiness/MS/*NKNS +inkling/SM/*NKLN +inkstand/SM/*NKSTNT +inkwell/SM/*NKWL +inky/TP/*NK +inland//*NLNT +inlander/M/*NLNT +inlay/RG/*NL +inletting//*NLTN +inly/G/*NL +inmost//*NMST +inn/ZGDRSJ/*N +Inna/M/*N +innards//*NTS +innate/YP/*NT +innateness/SM/*NTNS +inner/Y/*N +innermost/S/*NMST +innersole/S/*NSL +innerspring//*NSPRN +innervate/GNSDX/*NFT +innervation/M/*NFXN +inning/M/*NN +Innis/M/*NS +innkeeper/MS/*NKP +innocence/SM/*NSNS +Innocent/M/*NSNT +innocent/SYRT/*NSNT +innocuous/PY/*NKS +innocuousness/MS/*NKSNS +innovate/SDVNGX/*NFT +innovation/M/*NFXN +innovative/P/*NFTF +innovator/MS/*NFT +innovatory//*NFTR +Innsbruck/M/*NSBRK +innuendo/MDGS/*NNT +innumerability/M/*NMRBLT +innumerable/P/*NMRBL +innumerableness/M/*NMRBLNS +innumerably//*NMRBL +innumerate//*NMRT +inoculate/ASDG/*NKLT +inoculation/MS/*NKLXN +inoculative//*NKLTF +inoffensive/P/*NFNSF +Inonu/M/*NN +inopportune/P/*NPTN +inopportuneness/M/*NPTNNS +inordinate/PY/*NTNT +inordinateness/M/*NTNTNS +inorganic//*NKNK +inpatient//*NPTNT +input/MRDG/*NPT +inquire/ZR/*NKR +inquirer/M/*NKR +inquiring/Y/*NKRN +inquiry/MS/*NKR +inquisition/MS/*NKSXN +Inquisition/MS/*NKSXN +inquisitional//*NKSXNL +inquisitive/YP/*NKSTF +inquisitiveness/MS/*NKSTFNS +inquisitor/MS/*NKST +inquisitorial/Y/*NKSTRL +INRI//*NR +inrush/M/*NRX +ins//*NS +INS//*NS +insalubrious//*NSLBRS +insanitary//*NSNTR +insatiability/MS/*NSXBLT +insatiable/P/*NSXBL +insatiableness/M/*NSXBLNS +insatiably//*NSXBL +inscribe/Z/*NSKRB +inscription/SM/*NSKRPXN +inscrutability/SM/*NSKRTBLT +inscrutable/P/*NSKRTBL +inscrutableness/SM/*NSKRTBLNS +inscrutably//*NSKRTBL +inseam//*NSM +insecticidal//*NSKTSTL +insecticide/MS/*NSKTST +insectivore/SM/*NSKTFR +insectivorous//*NSKTFRS +insecure/P/*NSKR +insecureness/M/*NSKRNS +inseminate/NGXSD/*NSMNT +insemination/M/*NSMNXN +insensate/P/*NSNST +insensateness/M/*NSNSTNS +insensible/P/*NSNSBL +insentient//*NSNTNT +inseparable/S/*NSPRBL +insert/ADSG/*NST +inserter/M/*NST +insertion/AMS/*NSXN +insetting//*NSTN +inshore//*NXR +inside/Z/*NST +insider/M/*NST +insidious/YP/*NSTS +insidiousness/MS/*NSTSNS +insightful/Y/*NSTFL +insigne's//*NSKNS +insignia/SM/*NSKN +insignificant//*NSKNFKNT +insinuate/VNGXSD/*NSNT +insinuating/Y/*NSNTN +insinuation/M/*NSNXN +insinuator/SM/*NSNT +insipid/Y/*NSPT +insipidity/MS/*NSPTT +insist/SGD/*NSST +insistence/SM/*NSSTNS +insistent/Y/*NSSTNT +insisting/Y/*NSSTN +insociable//*NSXBL +insofar//*NSF +insole/M/*NSL +insolence/SM/*NSLNS +insolent/YS/*NSLNT +insoluble/P/*NSLBL +insolubleness/M/*NSLBLNS +insolubly//*NSLBL +insomnia/MS/*NSMN +insomniac/S/*NSMNK +insomuch//*NSMX +insouciance/SM/*NSXNS +insouciant/Y/*NSXNT +inspect/AGSD/*NSPKT +inspection/SM/*NSPKXN +inspective//*NSPKTF +inspector/SM/*NSPKT +inspectorate/MS/*NSPKTRT +inspiration/MS/*NSPRXN +inspirational/Y/*NSPRXNL +inspire/R/*NSPR +inspired/U/*NSPRT +inspirer/M/*NSPR +inspiring/U/*NSPRN +inspirit/DG/*NSPRT +Inst//*NST +inst/B/*NST +install/ADRSG/*NSTL +installable//*NSTLBL +installation/SM/*NSTLXN +installer/MS/*NSTL +installment/MS/*NSTLMNT +instance/GD/*NSTNS +instant/SRYMP/*NSTNT +instantaneous/PY/*NSTNTNS +instantaneousness/M/*NSTNTNSNS +instantiate/SDXNG/*NSTNXT +instantiated/U/*NSTNXTT +instantiation/M/*NSTNXXN +instate/AGSD/*NSTT +instead//*NSTT +instigate/XSDVGN/*NSTKT +instigation/M/*NSTKXN +instigator/SM/*NSTKT +instillation/SM/*NSTLXN +instinct/VMS/*NSTNKT +instinctive/Y/*NSTNKTF +instinctual//*NSTNKTL +institute/ZXVGNSRD/*NSTTT +instituter/M/*NSTTT +institutes/M/*NSTTTS +institution/AM/*NSTTXN +institutional/Y/*NSTTXNL +institutionalism/M/*NSTTXNLSM +institutionalist/M/*NSTTXNLST +institutionalization/SM/*NSTTXNLSXN +institutionalize/GDS/*NSTTXNLS +institutor's//*NSTTTS +instr//*NSTR +instruct/DSVG/*NSTRKT +instructed/U/*NSTRKTT +instruction/MS/*NSTRKXN +instructional//*NSTRKXNL +instructive/PY/*NSTRKTF +instructiveness/M/*NSTRKTFNS +instructor/MS/*NSTRKT +instrument/GMDS/*NSTRMNT +instrumental/SY/*NSTRMNTL +instrumentalist/MS/*NSTRMNTLST +instrumentality/SM/*NSTRMNTLT +instrumentation/SM/*NSTRMNTXN +insubordinate//*NSBTNT +insubstantial//*NSBSTNXL +insufferable//*NSFRBL +insufferably//*NSFRBL +insular/YS/*NSL +insularity/MS/*NSLRT +insulate/DSXNG/*NSLT +insulated/U/*NSLTT +insulation/M/*NSLXN +insulator/MS/*NSLT +insulin/MS/*NSLN +insult/DRSG/*NSLT +insulter/M/*NSLT +insulting/Y/*NSLTN +insuperable//*NSPRBL +insuperably//*NSPRBL +insupportable/P/*NSPTBL +insupportableness/M/*NSPTBLNS +insurance/MS/*NSRNS +insurance's/A/*NSRNSS +insure/BZGS/*NSR +insured/S/*NSRT +insurer/M/*NSR +insurgence/SM/*NSKNS +insurgency/MS/*NSKNS +insurgent/MS/*NSKNT +insurmountably//*NSMNTBL +insurrection/SM/*NSRKXN +insurrectionist/SM/*NSRKXNST +int/ZR/*NT +intact/P/*NTKT +intactness/M/*NTKTNS +intaglio/GMDS/*NTKL +intake/M/*NTK +intangible/M/*NTNKBL +integer/MS/*NTK +integrability/M/*NTKRBLT +integrable//*NTKRBL +integral/SYM/*NTKRL +integrand/MS/*NTKRNT +integrate/AGNXEDS/*NTKRT +integration/EMA/*NTKRXN +integrative/E/*NTKRTF +integrator/MS/*NTKRT +integrity/SM/*NTKRT +integument/SM/*NTKMNT +Intel/M/*NTL +intellect/MVS/*NTLKT +intellective/Y/*NTLKTF +intellectual/YPS/*NTLKTL +intellectualism/MS/*NTLKTLSM +intellectuality/M/*NTLKTLT +intellectualize/GSD/*NTLKTLS +intellectualness/M/*NTLKTLNS +intelligence/MSR/*NTLKNS +intelligencer/M/*NTLKNS +intelligent/UY/*NTLKNT +intelligentsia/MS/*NTLKNTX +intelligibilities//*NTLKBLTS +intelligibility/UM/*NTLKBLT +intelligible/PU/*NTLKBL +intelligibleness/MU/*NTLKBLNS +intelligibly/U/*NTLKBL +Intelsat/M/*NTLST +intemperate/P/*NTMPRT +intendant/MS/*NTNTNT +intended/SYP/*NTNTT +intendedness/M/*NTNTTNS +intender/M/*NTNT +intensification/M/*NTNSFKXN +intensifier/M/*NTNSF +intensify/GXNZRSD/*NTNSF +intensional/Y/*NTNXNL +intensive/PSY/*NTNSF +intensiveness/MS/*NTNSFNS +intent/YP/*NTNT +intention/SDM/*NTNXN +intentional/UY/*NTNXNL +intentionality/M/*NTNXNLT +intentness/SM/*NTNTNS +inter/ESTL/*NT +interact/VGDS/*NTRKT +interaction/MS/*NTRKXN +interactive/PY/*NTRKTF +interactivity//*NTRKTFT +interaxial//*NTRKSL +interbank//*NTBNK +interbred//*NTBRT +interbreed/GS/*NTBRT +intercalate/GNVDS/*NTKLT +intercalation/M/*NTKLXN +intercase//*NTKS +intercaste//*NTKST +intercede/SRDG/*NTST +interceder/M/*NTST +intercensal//*NTSNSL +intercept/DGS/*NTSPT +interception/MS/*NTSPXN +interceptor/MS/*NTSPT +intercession/MS/*NTSXN +intercessor/SM/*NTSS +intercessory//*NTSSR +interchange/DSRGJ/*NTXNK +interchangeability/M/*NTXNKBLT +interchangeable/P/*NTXNKBL +interchangeableness/M/*NTXNKBLNS +interchangeably//*NTXNKBL +interchanger/M/*NTXNK +intercity//*NTST +interclass//*NTKLS +intercohort//*NTKHT +intercollegiate//*NTKLKT +intercom/SM/*NTKM +intercommunicate/SDXNG/*NTKMNKT +intercommunication/M/*NTKMNKXN +interconnect/GDS/*NTKNKT +interconnected/P/*NTKNKTT +interconnectedness/M/*NTKNKTTNS +interconnection/SM/*NTKNKXN +interconnectivity//*NTKNKTFT +intercontinental//*NTKNTNNTL +interconversion/M/*NTKNFXN +intercorrelated//*NTKRLTT +intercourse/SM/*NTKS +Interdata/M/*NTTT +interdenominational//*NTTNMNXNL +interdepartmental/Y/*NTTPTMNTL +interdependence/MS/*NTTPNTNS +interdependency/SM/*NTTPNTNS +interdependent/Y/*NTTPNTNT +interdict/MDVGS/*NTTKT +interdiction/MS/*NTTKXN +interdisciplinary//*NTTSPLNR +interest/GEMDS/*NTRST +interested/UYE/*NTRSTT +interesting/YP/*NTRSTN +interestingly/U/*NTRSTNL +interestingness/M/*NTRSTNNS +interface/SRDGM/*NTFS +interfacing/M/*NTFSN +interfaith//*NTF@ +interfere/SRDG/*NTFR +interference/MS/*NTFRNS +interferer/M/*NTFR +interfering/Y/*NTFRN +interferometer/SM/*NTFRMT +interferometric//*NTFRMTRK +interferometry/M/*NTFRMTR +interferon/MS/*NTFRN +interfile/GSD/*NTFL +intergalactic//*NTKLKTK +intergeneration/M/*NTKNRXN +intergenerational//*NTKNRXNL +interglacial//*NTKLXL +intergovernmental//*NTKFNMNTL +intergroup//*NTKRP +interim/S/*NTRM +interindex//*NTRNTKS +interindustry//*NTRNTSTR +interior/SMY/*NTR +interj//*NTK +interject/GDS/*NTKKT +interjection/MS/*NTKKXN +interjectional//*NTKKXNL +interlace/GSD/*NTLS +interlard/SGD/*NTLT +interlayer/G/*NTLY +interleave/SDG/*NTLF +interleukin/S/*NTLKN +interlibrary//*NTLBRR +interline/JGSD/*NTLN +interlinear/S/*NTLN +interlingua/M/*NTLN +interlingual//*NTLNL +interlining/M/*NTLNN +interlink/GDS/*NTLNK +interlisp/M/*NTLSP +interlobular//*NTLBL +interlock/RDSG/*NTLK +interlocker/M/*NTLK +interlocutor/MS/*NTLKT +interlocutory//*NTLKTR +interlope/GZSRD/*NTLP +interloper/M/*NTLP +interlude/MSDG/*NTLT +intermarriage/MS/*NTMRK +intermarry/GDS/*NTMR +intermediary/MS/*NTMTR +intermediate/YMNGSDP/*NTMTT +intermediateness/M/*NTMTTNS +intermediation/M/*NTMTXN +interment/SME/*NTMNT +intermeshed//*NTMXT +intermetrics//*NTMTRKS +intermezzi//*NTMS +intermezzo/SM/*NTMS +interminably//*NTMNBL +intermingle/DSG/*NTMNL +intermission/MS/*NTMXN +intermittent/Y/*NTMTNT +intermix/GSRD/*NTMKS +intermodule//*NTMTL +intermolecular/Y/*NTMLKL +intern/L/*NTN +internal/SY/*NTNL +internalization/SM/*NTNLSXN +internalize/GDS/*NTNLS +international/YS/*NTNXNL +Internationale/M/*NTNXNL +internationalism/SM/*NTNXNLSM +internationalist/SM/*NTNXNLST +internationality/M/*NTNXNLT +internationalization/MS/*NTNXNLSXN +internationalize/DSG/*NTNXNLS +internecine//*NTNSN +internee/SM/*NTN +interne's//*NTNS +Internet/M/*NTNT +INTERNET/M/*NTNT +internetwork//*NTNTWK +internist/SM/*NTNST +internment/SM/*NTNMNT +internship/MS/*NTNXP +internuclear//*NTNKL +interocular//*NTRKL +interoffice//*NTRFS +interoperability//*NTRPRBLT +interpenetrates//*NTPNTRTS +interpersonal/Y/*NTPSNL +interplanetary//*NTPLNTR +interplay/GSMD/*NTPL +interpol//*NTPL +Interpol/M/*NTPL +interpolate/XGNVBDS/*NTPLT +interpolation/M/*NTPLXN +interpose/GSRD/*NTPS +interposer/M/*NTPS +interposition/MS/*NTPSXN +interpret/AGSD/*NTPRT +interpretable/U/*NTPRTBL +interpretation/MSA/*NTPRTXN +interpretative/Y/*NTPRTTF +interpreted/U/*NTPRTT +interpreter/SM/*NTPRT +interpretive/Y/*NTPRTF +interpretor/S/*NTPRT +interprocess//*NTPRSS +interprocessor//*NTPRSS +interquartile//*NTKTL +interracial//*NTRXL +interred/E/*NTRT +interregional//*NTRKNL +interregnum/MS/*NTRKNM +interrelate/GNDSX/*NTRLT +interrelated/PY/*NTRLTT +interrelatedness/M/*NTRLTTNS +interrelation/M/*NTRLXN +interrelationship/SM/*NTRLXNXP +interring/E/*NTRN +interrogate/DSXGNV/*NTRKT +interrogation/M/*NTRKXN +interrogative/SY/*NTRKTF +interrogator/SM/*NTRKT +interrogatory/S/*NTRKTR +interrupt/VGZRDS/*NTRPT +interrupted/U/*NTRPTT +interrupter/M/*NTRPT +interruptibility//*NTRPTBLT +interruptible//*NTRPTBL +interruption/MS/*NTRPXN +interscholastic//*NTSKLSTK +intersect/GDS/*NTSKT +intersection/MS/*NTSKXN +intersession/MS/*NTSXN +interspecies//*NTSPSS +intersperse/GNDSX/*NTSPS +interspersion/M/*NTSPXN +interstage//*NTSTK +interstate/S/*NTSTT +interstellar//*NTSTL +interstice/SM/*NTSTS +interstitial/SY/*NTSTXL +intersurvey//*NTSF +intertask//*NTTSK +intertwine/GSD/*NTTWN +interurban/S/*NTRBN +interval/MS/*NTFL +intervene/GSRD/*NTFN +intervener/M/*NTFN +intervenor/M/*NTFN +intervention/MS/*NTFNXN +interventionism/MS/*NTFNXNSM +interventionist/S/*NTFNXNST +interview/AMD/*NTF +interviewed/U/*NTFWT +interviewee/SM/*NTFW +interviewer/SM/*NTFW +interviewing//*NTFWN +interviews//*NTFS +intervocalic//*NTFKLK +interweave/GS/*NTWF +interwove//*NTWF +interwoven//*NTWFN +intestacy/SM/*NTSTS +intestinal/Y/*NTSTNL +intestine/SM/*NTSTN +inti//*NT +intifada//*NTFT +intimacy/SM/*NTMS +intimal//*NTML +intimate/XYNGPDRS/*NTMT +intimateness/M/*NTMTNS +intimater/M/*NTMT +intimation/M/*NTMXN +intimidate/SDXNG/*NTMTT +intimidating/Y/*NTMTTN +intimidation/M/*NTMTXN +into//*NT +intolerable/P/*NTLRBL +intolerableness/M/*NTLRBLNS +intolerant/PS/*NTLRNT +intonate/NX/*NTNT +intonation/M/*NTNXN +intoxicant/MS/*NTKSKNT +intoxicate/DSGNX/*NTKSKT +intoxicated/Y/*NTKSKTT +intoxication/M/*NTKSKXN +intra//*NTR +intracellular//*NTRSLL +intracity//*NTRST +intraclass//*NTRKLS +intracohort//*NTRKHT +intractability/M/*NTRKTBLT +intractable/P/*NTRKTBL +intractableness/M/*NTRKTBLNS +intradepartmental//*NTRTPTMNTL +intrafamily//*NTRFML +intragenerational//*NTRKNRXNL +intraindustry//*NTRNTSTR +intraline//*NTRLN +intrametropolitan//*NTRMTRPLTN +intramural/Y/*NTRMRL +intramuscular/Y/*NTRMSKL +intranasal//*NTRNSL +intransigence/MS/*NTRNSKNS +intransigent/YS/*NTRNSKNT +intransitive/S/*NTRNSTF +intraoffice//*NTRFS +intraprocess//*NTRPRSS +intrapulmonary//*NTRPLMNR +intraregional//*NTRRKNL +intrasectoral//*NTRSKTRL +intrastate//*NTRSTT +intratissue//*NTRTS +intrauterine//*NTRTRN +intravenous/YS/*NTRFNS +intrepid/YP/*NTRPT +intrepidity/SM/*NTRPTT +intrepidness/M/*NTRPTNS +intricacy/SM/*NTRKS +intricate/PY/*NTRKT +intricateness/M/*NTRKTNS +intrigue/DRSZG/*NTRK +intriguer/M/*NTRK +intriguing/Y/*NTRKN +intrinsic/S/*NTRNSK +intrinsically//*NTRNSKL +intro/S/*NTR +introduce/ADSG/*NTRTS +introducer/M/*NTRTS +introduction/ASM/*NTRTKXN +introductory//*NTRTKTR +introit/SM/*NTRT +introject/SD/*NTRKKT +introspect/SGVD/*NTRSPKT +introspection/MS/*NTRSPKXN +introspective/YP/*NTRSPKTF +introspectiveness/M/*NTRSPKTFNS +introversion/SM/*NTRFXN +introvert/SMDG/*NTRFT +intrude/ZGDSR/*NTRT +intruder/M/*NTRT +intrusion/SM/*NTRXN +intrusive/SYP/*NTRSF +intrusiveness/MS/*NTRSFNS +intubate/NGDS/*NTBT +intubation/M/*NTBXN +intuit/GVDSB/*NTT +intuitionist/M/*NTXNST +intuitive/YP/*NTTF +intuitiveness/MS/*NTTFNS +Inuit/MS/*NT +inundate/SXNG/*NNTT +inundation/M/*NNTXN +inure/GDS/*NR +invade/ZSRDG/*NFT +invader/M/*NFT +invalid/GSDM/*NFLT +invalidism/MS/*NFLTSM +invariable/P/*NFRBL +invariant/M/*NFRNT +invasion/SM/*NFXN +invasive/P/*NFSF +invective/PSMY/*NFKTF +invectiveness/M/*NFKTFNS +inveigh/DRG/*NF +inveigher/M/*NFK +inveighs//*NFS +inveigle/DRSZG/*NFKL +inveigler/M/*NFKL +invent/ADGS/*NFNT +invented/U/*NFNTT +invention/ASM/*NFNXN +inventive/YP/*NFNTF +inventiveness/MS/*NFNTFNS +inventor/MS/*NFNT +inventory/SDMG/*NFNTR +Inverness/M/*NFNS +inverse/YV/*NFS +invert/ZSGDR/*NFT +inverter/M/*NFT +invertible//*NFTBL +invest/ADSLG/*NFST +investigate/XDSNGV/*NFSTKT +investigation/MA/*NFSTKXN +investigator/MS/*NFSTKT +investigatory//*NFSTKTR +investiture/SM/*NFSTTR +investment/ESA/*NFSTMNT +investment's/A/*NFSTMNTS +investor/SM/*NFST +inveteracy/MS/*NFTRS +inveterate/Y/*NFTRT +inviability//*NFBLT +invidious/YP/*NFTS +invidiousness/MS/*NFTSNS +invigilate/GD/*NFKLT +invigilator/SM/*NFKLT +invigorate/ANGSD/*NFKRT +invigorating/Y/*NFKRTN +invigoration/AM/*NFKRXN +invigorations//*NFKRXNS +invincibility/SM/*NFNSBLT +invincible/P/*NFNSBL +invincibleness/M/*NFNSBLNS +invincibly//*NFNSBL +inviolability/MS/*NFLBLT +inviolably//*NFLBL +inviolate/YP/*NFLT +inviolateness/M/*NFLTNS +inviscid//*NFST +invisible/S/*NFSBL +invisibleness/M/*NFSBLNS +invitation/MS/*NFTXN +invitational/S/*NFTXNL +invite/SRDG/*NFT +invited/U/*NFTT +invitee/S/*NFT +inviter/M/*NFT +inviting/Y/*NFTN +invocable//*NFKBL +invocate//*NFKT +invoke/GSRDBZ/*NFK +invoked/A/*NFKT +invoker/M/*NFK +invokes/A/*NFKS +involuntariness/S/*NFLNTRNS +involuntary/P/*NFLNTR +involute/XYN/*NFLT +involution/M/*NFLXN +involutorial//*NFLTRL +involve/GDSRL/*NFLF +involved/U/*NFLFT +involvedly//*NFLFTL +involvement/SM/*NFLFMNT +involver/M/*NFLF +invulnerability/M/*NFLNRBLT +invulnerableness/M/*NFLNRBLNS +inward/PY/*NWT +inwardness/M/*NWTNS +Io/M/* +ioctl//*KTL +iodate/MGND/*TT +iodation/M/*TXN +iodide/MS/*TT +iodinate/DNG/*TNT +iodine/MS/*TN +iodize/GSD/*TS +Iolande/M/*LNT +Iolanthe/M/*LN@ +ion/SMU/*N +Iona/M/*N +Ionesco/M/*NSK +Ionian/M/*NN +ionic/S/*NK +Ionic/S/*NK +ionization/SU/*NSXN +ionization's//*NSXNS +ionize/GNSRDJXZ/*NS +ionized/UC/*NST +ionizer/US/*NS +ionizer's//*NSS +ionizes/U/*NSS +ionizing/U/*NSN +ionosphere/SM/*NSFR +ionospheric//*NSFRK +ion's/I/*NS +Iorgo/MS/*K +Iormina/M/*MN +Iosep/M/*SP +iota/SM/*T +IOU//* +Iowa/SM/*W +Iowan/S/*WN +IPA//*P +ipecac/MS/*PKK +Iphigenia/M/*FKN +ipso//*PS +Ipswich/M/*PSWX +IQ//*K +Iqbal/M/*KBL +Iquitos/M/*KTS +Ir/M/* +Ira/M/*R +IRA/S/*R +Iran/M/*RN +Iranian/MS/*RNN +Iraq/M/*RK +Iraqi/SM/*RK +irascibility/SM/*RSBLT +irascible//*RSBL +irascibly//*RSBL +irate/RPYT/*RT +irateness/S/*RTNS +ire/MGDS/*R +ireful//*RFL +Ireland/M/*RLNT +Irena/M/*RN +Irene/M/*RN +irenic/S/*RNK +irides/M/*RTS +iridescence/SM/*RTSNS +iridescent/Y/*RTSNT +iridium/MS/*RTM +irids//*RTS +Irina/M/*RN +Iris//*RS +iris/GDSM/*RS +Irish/R/*RX +Irishman/M/*RXMN +Irishmen//*RXMN +Irishwoman/M/*RXWMN +Irishwomen//*RXWMN +Irita/M/*RT +irk/GDS/*K +irksome/YP/*KSM +irksomeness/SM/*KSMNS +Irkutsk/M/*KTSK +Irma/M/*M +iron/DRMPSGJ/*RN +ironclad/S/*RNKLT +ironer/M/*RN +ironic//*RNK +ironical/YP/*RNKL +ironicalness/M/*RNKLNS +ironing/M/*RNN +ironmonger/M/*RNMNK +ironmongery/M/*RNMNKR +ironside/MS/*RNST +ironstone/MS/*RNSTN +ironware/SM/*RNWR +ironwood/SM/*RNWT +ironwork/MRS/*RNWK +ironworker/M/*RNWK +irony/SM/*RN +Iroquoian/MS/*RKN +Iroquois/M/*RKS +irradiate/XSDVNG/*RTT +irradiation/M/*RTXN +irrational/YSP/*RXNL +irrationality/MS/*RXNLT +irrationalness/M/*RXNLNS +Irrawaddy/M/*RWT +irreclaimable//*RKLMBL +irreconcilability/MS/*RKNSLBLT +irreconcilable/PS/*RKNSLBL +irreconcilableness/M/*RKNSLBLNS +irreconcilably//*RKNSLBL +irrecoverable/P/*RKFRBL +irrecoverableness/M/*RKFRBLNS +irrecoverably//*RKFRBL +irredeemable/S/*RTMBL +irredeemably//*RTMBL +irredentism/M/*RTNTSM +irredentist/M/*RTNTST +irreducibility/M/*RTSBLT +irreducible//*RTSBL +irreducibly//*RTSBL +irreflexive//*RFLKSF +irrefutable//*RFTBL +irrefutably//*RFTBL +irregardless//*RKTLS +irregular/YS/*RKL +irregularity/SM/*RKLRT +irrelevance/SM/*RLFNS +irrelevancy/MS/*RLFNS +irrelevant/Y/*RLFNT +irreligious//*RLKS +irremediable/P/*RMTBL +irremediableness/M/*RMTBLNS +irremediably//*RMTBL +irremovable//*RMFBL +irreparable/P/*RPRBL +irreparableness/M/*RPRBLNS +irreparably//*RPRBL +irreplaceable/P/*RPLSBL +irrepressible//*RPRSBL +irrepressibly//*RPRSBL +irreproachable/P/*RPRXBL +irreproachableness/M/*RPRXBLNS +irreproachably//*RPRXBL +irreproducibility//*RPRTSBLT +irreproducible//*RPRTSBL +irresistibility/M/*RSSTBLT +irresistible/P/*RSSTBL +irresistibleness/M/*RSSTBLNS +irresistibly//*RSSTBL +irresolute/PNXY/*RSLT +irresoluteness/SM/*RSLTNS +irresolution/M/*RSLXN +irresolvable//*RSLFBL +irrespective/Y/*RSPKTF +irresponsibility/SM/*RSPNSBLT +irresponsible/PS/*RSPNSBL +irresponsibleness/M/*RSPNSBLNS +irresponsibly//*RSPNSBL +irretrievable//*RTRFBL +irretrievably//*RTRFBL +irreverence/MS/*RFRNS +irreverent/Y/*RFRNT +irreversible//*RFSBL +irreversibly//*RFSBL +irrevocable/P/*RFKBL +irrevocableness/M/*RFKBLNS +irrevocably//*RFKBL +irrigable//*RKBL +irrigate/DSXNG/*RKT +irrigation/M/*RKXN +irritability/MS/*RTBLT +irritable/P/*RTBL +irritableness/M/*RTBLNS +irritably//*RTBL +irritant/S/*RTNT +irritate/DSXNGV/*RTT +irritated/Y/*RTTT +irritating/Y/*RTTN +irritation/M/*RTXN +irrupt/GVSD/*RPT +irruption/SM/*RPXN +IRS//*S +Irtish/M/*TX +Irv/MG/*F +Irvin/M/*FN +Irvine/M/*FN +Irving/M/*FN +Irwin/M/*WN +Irwinn/M/*WN +is//*S +i's//*S +Isa/M/*S +Isaac/SM/*SK +Isaak/M/*SK +Isabel/M/*SBL +Isabelita/M/*SBLT +Isabella/M/*SBL +Isabelle/M/*SBL +Isac/M/*SK +Isacco/M/*SK +Isador/M/*ST +Isadora/M/*STR +Isadore/M/*STR +Isahella/M/*SHL +Isaiah/M/*S +Isak/M/*SK +ISBN//*SBN +Iscariot/M/*SKRT +Iseabal/M/*SBL +Isfahan/M/*SFHN +Isherwood/M/*XWT +Ishim/M/*XM +Ishmael/M/*XML +Ishtar/M/*XT +Isiah/M/*X +Isiahi/M/*XH +Isidor/M/*ST +Isidora/M/*STR +Isidore/M/*STR +Isidoro/M/*STR +Isidro/M/*STR +isinglass/MS/*SNLS +Isis/M/*SS +isl/GD/*SL +Islam/SM/*SLM +Islamabad/M/*SLMBT +Islamic/S/*SLMK +island/GZMRDS/*SLNT +islander/M/*SLNT +Islandia/M/*SLNT +isle/MS/*SL +islet/SM/*SLT +ism/MCS/*SM +Ismael/M/*SML +isn't//*SNT +ISO//*S +isobar/MS/*SB +isobaric//*SBRK +Isobel/M/*SBL +isochronal/Y/*SXRNL +isochronous/Y/*SXRNS +isocline/M/*SKLN +isocyanate/M/*SSYNT +isodine//*STN +isolate/SDXNG/*SLT +isolation/M/*SLXN +isolationism/SM/*SLXNSM +isolationist/SM/*SLXNST +isolationistic//*SLXNSTK +isolator/MS/*SLT +Isolde/M/*SLT +isomer/SM/*SM +isomeric//*SMRK +isomerism/SM/*SMRSM +isometric/S/*SMTRK +isometrically//*SMTRKL +isometrics/M/*SMTRKS +isomorph/M/*SMF +isomorphic//*SMFK +isomorphically//*SMFKL +isomorphism/MS/*SMFSM +isoperimetrical//*SPRMTRKL +isopleth/M/*SPL@ +isopleths//*SPL@S +isosceles//*SSLS +isostatic//*SSTTK +isotherm/MS/*S@M +isothermal/Y/*S@ML +isotonic//*STNK +isotope/SM/*STP +isotopic//*STPK +isotropic//*STRPK +isotropically//*STRPKL +isotropy/M/*STRP +Ispahan's//*SPHNS +ispell/M/*SPL +Ispell/M/*SPL +Israel/MS/*SRL +Israeli/MS/*SRL +Israelite/SM/*SRLT +Issac/M/*SK +Issi/M/*S +Issiah/M/*X +Issie/M/*S +issuable//*SBL +issuance/MS/*SNS +issuant//*SNT +issue/GMZDSR/*S +issued/A/*ST +issuer/AMS/*S +issues/A/*SS +issuing/A/*SN +Issy/M/*S +Istanbul/M/*STNBL +isthmian/S/*S@MN +isthmus/SM/*S@MS +Istvan/M/*STFN +Isuzu/M/*SS +It//*T +IT//*T +it/MUS/*T +Itaipu/M/*TP +ital//*TL +Ital/M/*TL +Italian/MS/*TLN +Italianate/GSD/*TLNT +italic/S/*TLK +italicization/MS/*TLSSXN +italicize/GSD/*TLSS +italicized/U/*TLSST +Italy/M/*TL +Itasca/M/*TSK +itch/GMDS/*X +Itch/M/*X +itchiness/MS/*XNS +itchy/RTP/*X +ITcorp/M/*TKP +ITCorp/M/*TKP +it'd//*TT +Itel/M/*TL +item/MDSG/*TM +itemization/SM/*TMSXN +itemize/GZDRS/*TMS +itemized/U/*TMST +itemizer/M/*TMS +itemizes/A/*TMSS +iterate/ASDXVGN/*TRT +iteration/M/*TRXN +iterative/YA/*TRTF +iterator/MS/*TRT +Ithaca/M/*@K +Ithacan//*@KN +itinerant/SY/*TNRNT +itinerary/MS/*TNRR +it'll//*TL +Ito/M/*T +its//*TS +itself//*TSLF +ITT//*T +IUD/S/*T +IV//*F +iv/M/*F +Iva/M/*F +Ivan/M/*FN +Ivanhoe/M/*FNH +Ivar/M/*F +I've//*F +Ive/MRS/*F +Iver/M/*F +Ivett/M/*FT +Ivette/M/*FT +Ivie/M/*F +Ivonne/M/*FN +Ivor/M/*F +Ivory/M/*FR +ivory/SM/*FR +IVs//*FS +Ivy/M/*F +ivy/MDS/*F +ix//*KS +Izaak/M/*SK +Izabel/M/*SBL +Izak/M/*SK +Izanagi/M/*SNK +Izanami/M/*SNM +Izhevsk/M/*SHFSK +Izmir/M/*SM +Izvestia/M/*SFSX +Izzy/M/*S +j/F/K +J/X/K +jab/SM/KB +jabbed//KBT +jabber/JRDSZG/KB +jabberer/M/KBR +jabbing//KBN +Jabez/M/KBS +Jablonsky/M/KBLNSK +jabot/MS/KBT +jacaranda/MS/KKRNT +Jacenta/M/KSNT +Jacinda/M/KSNT +Jacinta/M/KSNT +Jacintha/M/KSN@ +Jacinthe/M/KSN@ +jack/GDRMS/KK +Jack/M/KK +jackal/SM/KKL +jackass/SM/KKS +jackboot/DMS/KKBT +jackdaw/SM/KKT +Jackelyn/M/KKLN +jacket/GSMD/KKT +jacketed/U/KKTT +jackhammer/MDGS/KKHM +Jacki/M/KK +Jackie/M/KK +jackknife/MGSD/KKKNF +jackknives//KKKNFS +Jacklin/M/KKLN +Jacklyn/M/KKLN +Jackman/M/KKMN +jackpot/MS/KKPT +Jackquelin/M/KKKLN +Jackqueline/M/KKKLN +jackrabbit/DGS/KKRBT +Jackson/SM/KKSN +Jacksonian//KKSNN +Jacksonville/M/KKSNFL +jackstraw/MS/KKSTR +Jacky/M/KK +Jaclin/M/KKLN +Jaclyn/M/KKLN +Jacob/SM/KKB +Jacobean//KKBN +Jacobi/M/KKB +Jacobian/M/KKBN +Jacobin/M/KKBN +Jacobite/M/KKBT +Jacobo/M/KKB +Jacobs/N/KKBS +Jacobsen/M/KKBSN +Jacobson/M/KKBSN +Jacobus//KKBS +Jacoby/M/KKB +jacquard/MS/KKT +Jacquard/SM/KKT +Jacquelin/M/KKLN +Jacqueline/M/KKLN +Jacquelyn/M/KKLN +Jacquelynn/M/KKLN +Jacquenetta/M/KKNT +Jacquenette/M/KKNT +Jacques/M/KKS +Jacquetta/M/KKT +Jacquette/M/KKT +Jacqui/M/KK +Jacquie/M/KK +jacuzzi//KKS +Jacuzzi/S/KKS +Jacynth/M/KSN@ +Jada/M/KT +Jade/M/KT +jade/MGDS/KT +jaded/PY/KTT +jadedness/SM/KTTNS +jadeite/SM/KTT +Jae/M/K +Jaeger/M/KK +jag/S/KK +jagged/RYTP/KKT +jaggedness/SM/KKTNS +Jagger/M/KK +jaggers//KKS +jagging//KKN +jaguar/MS/KK +jail/GZSMDR/KL +jailbird/MS/KLBT +jailbreak/SM/KLBRK +jailer/M/KL +Jaime/M/KM +Jaimie/M/KM +Jain/M/KN +Jaine/M/KN +Jainism/M/KNSM +Jaipur/M/KP +Jakarta/M/KKT +Jake/MS/KK +Jakie/M/KK +Jakob/M/KKB +jalapeño/S/KLP +jalopy/SM/KLP +jalousie/MS/KLS +jam/SM/KM +Jamaal/M/KML +Jamaica/M/KMK +Jamaican/S/KMKN +Jamal/M/KML +Jamar/M/KM +jamb/DMGS/KM +jambalaya/MS/KMBLY +jamboree/MS/KMBR +Jame/MS/KM +Jamel/M/KML +Jameson/M/KMSN +Jamestown/M/KMSTN +Jamesy/M/KMS +Jamey/M/KM +Jami/M/KM +Jamie/M/KM +Jamil/M/KML +Jamill/M/KML +Jamima/M/KMM +Jamison/M/KMSN +Jammal/M/KML +jammed/U/KMT +Jammie/M/KM +jamming/U/KMN +Jan/M/KN +Jana/M/KN +Janacek/M/KNSK +Janaya/M/KNY +Janaye/M/KNY +Jandy/M/KNT +Jane/M/KN +Janean/M/KNN +Janeczka/M/KNKSK +Janeen/M/KNN +Janeiro/M/KNR +Janek/M/KNK +Janel/M/KNL +Janela/M/KNL +Janell/M/KNL +Janella/M/KNL +Janelle/M/KNL +Janene/M/KNN +Janenna/M/KNN +Janessa/M/KNS +Janesville/M/KNSFL +Janet/M/KNT +Janeta/M/KNT +Janetta/M/KNT +Janette/M/KNT +Janeva/M/KNF +Janey/M/KN +jangle/RSDGZ/KNKL +jangler/M/KNKL +jangly//KNKL +Jania/M/KN +Janice/M/KNS +Janie/M/KN +Janifer/M/KNF +Janina/M/KNN +Janine/M/KNN +Janis/M/KNS +janissary/MS/KNSR +Janith/M/KN@ +janitor/SM/KNT +janitorial//KNTRL +Janka/M/KNK +Janna/M/KN +Jannel/M/KNL +Jannelle/M/KNL +Jannie/M/KN +Janos/M/KNS +Janot/M/KNT +Jansen/M/KNSN +Jansenist/M/KNSNST +January/MS/KNR +Janus/M/KNS +Jany/M/KN +Japan/M/KPN +japan/SM/KPN +Japanese/SM/KPNS +japanned//KPNT +japanner//KPN +japanning//KPNN +jape/DSMG/KP +Japura/M/KPR +Jaquelin/M/KKLN +Jaquelyn/M/KKLN +Jaquenetta/M/KKNT +Jaquenette/M/KKNT +Jaquith/M/KK@ +jar/MS/K +Jarad/M/KRT +Jard/M/KT +jardinière/MS/KTNR +Jareb/M/KRB +Jared/M/KRT +jarful/S/KFL +jargon/SGDM/KKN +Jarib/M/KRB +Jarid/M/KRT +Jarlsberg//KLSBK +Jarrad/M/KRT +jarred//KRT +Jarred/M/KRT +Jarret/M/KRT +Jarrett/M/KRT +Jarrid/M/KRT +jarring/SY/KRN +Jarrod/M/KRT +Jarvis/M/KFS +Jase/M/KS +Jasen/M/KSN +Jasmin/M/KSMN +Jasmina/M/KSMN +Jasmine/M/KSMN +jasmine/MS/KSMN +Jason/M/KSN +Jasper/M/KSP +jasper/MS/KSP +Jastrow/M/KSTR +Jasun/M/KSN +jato/SM/KT +jaundice/DSMG/KNTS +jaundiced/U/KNTST +jaunt/MDGS/KNT +jauntily//KNTL +jauntiness/MS/KNTNS +jaunty/SRTP/KNT +Java/SM/KF +Javanese//KFNS +javelin/SDMG/KFLN +Javier/M/KF +jaw/SMDG/K +jawbone/SDMG/KBN +jawbreaker/SM/KBRK +jawline//KLN +Jaxartes/M/KKSTS +Jay/M/K +jay/SM/K +Jayapura/M/KYPR +jaybird/SM/KBT +Jaycee/SM/KS +Jaye/M/KY +Jayme/M/KM +Jaymee/M/KM +Jaymie/M/KM +Jayne/M/KN +Jaynell/M/KNL +Jayson/M/KSN +jaywalk/JSRDZG/KWLK +jaywalker/M/KWLK +Jazmin/M/KSMN +jazz/MGDS/KS +jazziness/M/KSNS +jazzmen//KSMN +jazzy/PTR/KS +JCS//KKS +jct//KKT +JD//KT +Jdavie/M/KTF +jealous/PY/KLS +jealousness/M/KLSNS +jealousy/MS/KLS +Jean/M/KN +jean/MS/KN +Jeana/M/KN +Jeane/M/KN +Jeanelle/M/KNL +Jeanette/M/KNT +Jeanie/M/KN +Jeanine/M/KNN +Jeanna/M/KN +Jeanne/M/KN +Jeannette/M/KNT +Jeannie/M/KN +Jeannine/M/KNN +Jecho/M/KX +Jed/M/KT +Jedd/M/KT +Jeddy/M/KT +Jedediah/M/KTT +Jedi/M/KT +Jedidiah/M/KTT +jeep/GZSMD/KP +Jeep/S/KP +jeer/SJDRMG/K +jeerer/M/KR +jeering/Y/KRN +Jeeves/M/KFS +jeez//KS +Jeff/M/KF +Jefferey/M/KFR +Jefferson/M/KFSN +Jeffersonian/S/KFSNN +Jeffery/M/KFR +Jeffie/M/KF +Jeffrey/SM/KFR +Jeffry/M/KFR +Jeffy/M/KF +jehad's//KHTS +Jehanna/M/KHN +Jehoshaphat/M/KHXFT +Jehovah/M/KHF +Jehu/M/KH +jejuna//KKN +jejune/PY/KKN +jejuneness/M/KKNNS +jejunum/M/KKNM +Jekyll/M/KKL +Jelene/M/KLN +jell/GSD/KL +Jello/M/KL +jello's//KLS +jelly/SDMG/KL +jellybean/SM/KLBN +jellyfish/MS/KLFX +jellying/M/KLYN +jellylike//KLLK +jellyroll/S/KLRL +Jemie/M/KM +Jemima/M/KMM +Jemimah/M/KMM +Jemmie/M/KM +jemmy/M/KM +Jemmy/M/KM +Jen/M/KN +Jena/M/KN +Jenda/M/KNT +Jenelle/M/KNL +Jeni/M/KN +Jenica/M/KNK +Jeniece/M/KNS +Jenifer/M/KNF +Jeniffer/M/KNF +Jenilee/M/KNL +Jenine/M/KNN +Jenkins/M/KNKNS +Jenn/RMJ/KN +Jenna/M/KN +Jennee/M/KN +Jenner/M/KN +jennet/SM/KNT +Jennette/M/KNT +Jenni/M/KN +Jennica/M/KNK +Jennie/M/KN +Jennifer/M/KNF +Jennilee/M/KNL +Jennine/M/KNN +Jennings/M/KNNS +Jenny/M/KN +jenny/SM/KN +Jeno/M/KN +Jens/N/KNS +Jensen/M/KNSN +jeopard//KPT +jeopardize/GSD/KPTS +jeopardy/MS/KPT +Jephthah/M/KF@ +Jerad/M/KRT +Jerald/M/KRLT +Jeralee/M/KRL +Jeramey/M/KRM +Jeramie/M/KRM +Jere/M/KR +Jereme/M/KRM +jeremiad/SM/KRMT +Jeremiah/M/KRM +Jeremiahs//KRMS +Jeremias/M/KRMS +Jeremie/M/KRM +Jeremy/M/KRM +Jeri/M/KR +Jericho/M/KRX +jerk/GSDRJ/KK +jerker/M/KK +jerkily//KKL +jerkin/SM/KKN +jerkiness/SM/KKNS +jerkwater/S/KKWT +jerky/RSTP/KK +Jermain/M/KMN +Jermaine/M/KMN +Jermayne/M/KMN +Jeroboam/M/KRBM +Jerold/M/KRLT +Jerome/M/KRM +Jeromy/M/KRM +Jerri/M/KR +Jerrie/M/KR +Jerrilee/M/KRL +Jerrilyn/M/KRLN +Jerrine/M/KRN +Jerrod/M/KRT +Jerrold/M/KRLT +Jerrome/M/KRM +jerry/M/KR +Jerry/M/KR +jerrybuilt//KRBLT +Jerrylee/M/KRL +jersey/MS/KS +Jersey/MS/KS +Jerusalem/M/KRSLM +Jervis/M/KFS +Jes//KS +jess/M/KS +Jess/M/KS +Jessa/M/KS +Jessalin/M/KSLN +Jessalyn/M/KSLN +Jessamine/M/KSMN +jessamine's//KSMNS +Jessamyn/M/KSMN +Jesse/M/KS +Jessee/M/KS +Jesselyn/M/KSLN +Jessey/M/KS +Jessi/M/KS +Jessica/M/KSK +Jessie/M/KS +Jessika/M/KSK +Jessy/M/KS +jest/DRSGZM/KST +jester/M/KST +jesting/Y/KSTN +Jesuit/SM/KST +Jesus//KSS +jet/MS/KT +Jeth/M/K@ +Jethro/M/K@R +jetliner/MS/KTLN +jetport/SM/KTPT +jetsam/MS/KTSM +jetted/M/KTT +jetting/M/KTN +jettison/DSG/KTSN +jetty/RSDGMT/KT +Jew/MS/K +jewel/GZMRDS/KWL +Jewel/M/KWL +jeweler/M/KWL +jewelery/S/KWLR +Jewell/MD/KWL +Jewelle/M/KWL +Jewelled/M/KWLT +jewellery's//KWLRS +jewelry/MS/KWLR +Jewess/SM/KWS +Jewish/P/KWX +Jewishness/MS/KWXNS +Jewry/MS/KR +Jezebel/MS/KSBL +JFK/M/KFK +jg/M/KK +jib/MDSG/KB +jibbed//KBT +jibbing//KBN +jibe/S/KB +Jidda/M/KT +jiff/S/KF +jiffy/SM/KF +jig/MS/KK +jigged//KKT +jigger/SDMG/KK +jigging/M/KKN +jiggle/SDG/KKL +jiggly/TR/KKL +jigsaw/GSDM/KKS +jihad/SM/KHT +Jilin//KLN +Jill/M/KL +Jillana/M/KLN +Jillane/M/KLN +Jillayne/M/KLN +Jilleen/M/KLN +Jillene/M/KLN +Jilli/M/KL +Jillian/M/KLN +Jillie/M/KL +Jilly/M/KL +jilt/DRGS/KLT +jilter/M/KLT +Jim/M/KM +Jimenez/M/KMNS +Jimmie/M/KM +jimmy/GSDM/KM +Jimmy/M/KM +jimsonweed/S/KMSNWT +Jinan//KNN +jingle/RSDG/KNL +jingler/M/KNL +jingly/TR/KNL +jingo/M/KN +jingoism/SM/KNSM +jingoist/SM/KNST +jingoistic//KNSTK +jinn/MS/KN +Jinnah/M/KN +jinni's//KNS +Jinny/M/KN +jinrikisha/SM/KNRKX +jinx/GMDS/KNKS +jitney/MS/KTN +jitter/S/KT +jitterbug/SM/KTBK +jitterbugged//KTBKT +jitterbugger//KTBK +jitterbugging//KTBKN +jittery/TR/KTR +jiujitsu's//KKTSS +Jivaro/M/KFR +jive/MGDS/KF +Jo/MY/K +Joachim/M/KXM +Joan/M/KN +Joana/M/KN +Joane/M/KN +Joanie/M/KN +Joann/M/KN +Joanna/M/KN +Joanne/SM/KN +Joaquin/M/KKN +job/SM/KB +Job/SM/KB +jobbed//KBT +jobber/MS/KB +jobbery/M/KBR +jobbing/M/KBN +Jobey/M/KB +jobholder/SM/KBHLT +Jobi/M/KB +Jobie/M/KB +Jobina/M/KBN +jobless/P/KBLS +joblessness/MS/KBLSNS +Jobrel/M/KBRL +Joby/M/KB +Jobye/M/KBY +Jobyna/M/KBN +Jocasta/M/KKST +Jocelin/M/KSLN +Joceline/M/KSLN +Jocelyn/M/KSLN +Jocelyne/M/KSLN +jock/GDMS/KK +Jock/M/KK +jockey/SGMD/KK +Jocko/M/KK +jockstrap/MS/KKSTRP +jocose/YP/KKS +jocoseness/MS/KKSNS +jocosity/SM/KKST +jocular/Y/KKL +jocularity/SM/KKLRT +jocund/Y/KKNT +jocundity/SM/KKNTT +Jodee/M/KT +jodhpurs//KTHPS +Jodi/M/KT +Jodie/M/KT +Jody/M/KT +Joe/M/K +Joeann/M/KN +Joel/MY/KL +Joela/M/KL +Joelie/M/KL +Joell/MN/KL +Joella/M/KL +Joelle/M/KL +Joellen/M/KLN +Joelly/M/KL +Joellyn/M/KLN +Joelynn/M/KLN +Joesph/M/KSF +Joete/M/KT +joey/M/K +Joey/M/K +jog/S/KK +jogged//KKT +jogger/SM/KK +jogging/S/KKN +joggle/SRDG/KKL +joggler/M/KKL +Jogjakarta/M/KKKKT +Johan/M/KHN +Johann/M/KHN +Johanna/M/KHN +Johannah/M/KHN +Johannes//KHNS +Johannesburg/M/KHNSBK +Johansen/M/KHNSN +Johanson/M/KHNSN +john/SM/KN +John/SM/KN +Johna/MH/KN +Johnath/M/KN@ +Johnathan/M/KN@N +Johnathon/M/KN@N +Johnette/M/KNT +Johnie/M/KN +Johnna/M/KN +Johnnie/M/KN +Johnny/M/KN +johnny/SM/KN +johnnycake/SM/KNKK +Johns/N/KNS +Johnsen/M/KNSN +Johnson/M/KNSN +Johnston/M/KNSTN +Johnstown/M/KNSTN +Johny/M/KN +Joice/M/KS +join/ADGFS/KN +joined/U/KNT +joiner/FSM/KN +joinery/MS/KNR +joint/EGDYPS/KNT +jointed/EYP/KNTT +jointedness/ME/KNTTNS +jointer/M/KNT +jointly/F/KNTL +joint's//KNTS +jointures//KNTRS +joist/GMDS/KST +Jojo/M/KK +joke/MZDSRG/KK +joker/M/KK +jokey//KK +jokier//KK +jokiest//KKST +jokily//KKL +joking/Y/KKN +Jolee/M/KL +Joleen/M/KLN +Jolene/M/KLN +Joletta/M/KLT +Joli/M/KL +Jolie/M/KL +Joliet's//KLTS +Joline/M/KLN +Jolla/M/KL +jollification/MS/KLFKXN +jollily//KLL +jolliness/SM/KLNS +jollity/MS/KLT +jolly/TSRDGP/KL +Jolson/M/KLSN +jolt/DRGZS/KLT +jolter/M/KLT +Joly/M/KL +Jolyn/M/KLN +Jolynn/M/KLN +Jon/M/KN +Jonah/M/KN +Jonahs//KNS +Jonas//KNS +Jonathan/M/KN@N +Jonathon/M/KN@N +Jone/MS/KN +Jonell/M/KNL +Jones/S/KNS +Joni/MS/KN +Jonie/M/KN +jonquil/MS/KNKL +Jonson/M/KNSN +Joplin/M/KPLN +Jordain/M/KTN +Jordan/M/KTN +Jordana/M/KTN +Jordanian/S/KTNN +Jordanna/M/KTN +Jordon/M/KTN +Jorey/M/KR +Jorgan/M/KKN +Jorge/M/KK +Jorgensen/M/KKNSN +Jorgenson/M/KKNSN +Jori/M/KR +Jorie/M/KR +Jorrie/M/KR +Jorry/M/KR +Jory/M/KR +Joscelin/M/KSLN +Jose/M/KS +Josee/M/KS +Josef/M/KSF +Josefa/M/KSF +Josefina/M/KSFN +Joseito/M/KST +Joseph/M/KSF +Josepha/M/KSF +Josephina/M/KSFN +Josephine/M/KSFN +Josephs//KSFS +Josephson/M/KSFSN +Josephus/M/KSFS +Josey/M/KS +josh/DSRGZ/KX +Josh/M/KX +josher/M/KX +Joshia/M/KX +Joshua/M/KX +Joshuah/M/KX +Josi/M/KS +Josiah/M/KX +Josias/M/KXS +Josie/M/KS +joss/M/KS +Josselyn/M/KSLN +jostle/SDG/KSTL +Josue/M/KS +Josy/M/KS +jot/S/KT +jotted//KTT +jotter/SM/KT +jotting/SM/KTN +Joule/M/KL +joule/SM/KL +jounce/SDG/KNS +jouncy/RT/KNS +Jourdain/M/KTN +Jourdan/M/KTN +journal/GSDM/KNL +journalese/MS/KNLS +journalism/SM/KNLSM +journalist/SM/KNLST +journalistic//KNLSTK +journalize/DRSGZ/KNLS +journalized/U/KNLST +journalizer/M/KNLS +journey/DRMZSGJ/KN +journeyer/M/KNY +journeyman/M/KNMN +journeymen//KNMN +joust/ZSMRDG/KST +jouster/M/KST +Jovanovich/M/KFNFX +Jove/M/KF +jovial/Y/KFL +joviality/SM/KFLT +Jovian//KFN +jowl/SMD/KL +jowly/TR/KL +Joy/M/K +joy/MDSG/K +Joya/M/KY +Joyan/M/KYN +Joyann/M/KYN +Joyce/M/KS +Joycean//KSN +Joycelin/M/KSLN +Joye/M/KY +joyful/PY/KFL +joyfuller//KFL +joyfullest//KFLST +joyfulness/SM/KFLNS +joyless/PY/KLS +joylessness/MS/KLSNS +Joyner/M/KN +joyous/YP/KYS +joyousness/MS/KYSNS +joyridden//KRTN +joyride/SRZMGJ/KRT +joyrode//KRT +joystick/S/KSTK +Jozef/M/KSF +JP//KP +Jpn//KPN +Jr/M/KR +j's//KS +J's//KS +Jsandye/M/KSNTY +Juan/M/KN +Juana/M/KN +Juanita/M/KNT +Juarez//KRS +Jubal/M/KBL +jubilant/Y/KBLNT +jubilate/XNGDS/KBLT +jubilation/M/KBLXN +jubilee/SM/KBL +Jud/M/KT +Judah/M/KT +Judaic//KTK +Judaical//KTKL +Judaism/SM/KTSM +Judas/S/KTS +Judd/M/KT +juddered//KTRT +juddering//KTRN +Jude/M/KT +Judea/M/KT +judge/AGDS/KK +judger/M/KKR +judge's//KKS +judgeship/SM/KKXP +judgment/MS/KTKMNT +judgmental/Y/KTKMNTL +Judi/MH/KT +judicable//KTKBL +judicatory/S/KTKTR +judicature/MS/KTKTR +judicial/Y/KTXL +judiciary/S/KTXR +judicious/IYP/KTSS +judiciousness/SMI/KTSSNS +Judie/M/KT +Judith/M/KT@ +Juditha/M/KT@ +judo/MS/KT +Judon/M/KTN +Judson/M/KTSN +Judy/M/KT +Judye/M/KTY +jug/MS/KK +jugate/F/KKT +jugful/SM/KKFL +jugged//KKT +Juggernaut/M/KKNT +juggernaut/SM/KKNT +jugging//KKN +juggle/RSDGZ/KKL +juggler/M/KKL +jugglery/MS/KKLR +jugular/S/KKL +juice/GMZDSR/KS +juicer/M/KS +juicily//KSL +juiciness/MS/KSNS +juicy/TRP/KS +Juieta/M/KT +jujitsu/MS/KKTS +juju/M/KK +jujube/SM/KKB +jujutsu's//KKTSS +juke/GS/KK +jukebox/SM/KKBKS +Jul/M/KL +Jule/MS/KL +Julee/M/KL +julep/SM/KLP +Juli/M/KL +Julia/M/KL +Julian/M/KLN +Juliana/M/KLN +Juliane/M/KLN +Juliann/M/KLN +Julianna/M/KLN +Julianne/M/KLN +Julie/M/KL +julienne/GSD/KLN +Julienne/M/KLN +Juliet/M/KLT +Julieta/M/KLT +Julietta/M/KLT +Juliette/M/KLT +Julina/M/KLN +Juline/M/KLN +Julio/M/KL +Julissa/M/KLS +Julita/M/KLT +Julius/M/KLS +July/SM/KL +Julys//KLS +jumble/GSD/KMBL +jumbo/MS/KMB +jump/GZDRS/KMP +jumper/M/KMP +jumpily//KMPL +jumpiness/MS/KMPNS +jumpsuit/S/KMPST +jumpy/PTR/KMP +jun//KN +Jun/M/KN +junco/MS/KNK +junction/IMESF/KNKXN +juncture/SFM/KNKTR +June/MS/KN +Juneau/M/KN +Junette/M/KNT +Jung/M/KNK +Jungfrau/M/KNKFR +Jungian//KNKN +jungle/SDM/KNKL +Junia/M/KN +Junie/M/KN +Junina/M/KNN +junior/MS/KN +Junior/S/KN +juniority/M/KNRT +juniper/SM/KNP +junk/GZDRMS/KNK +Junker/SM/KNK +junkerdom//KNKTM +junket/SMDG/KNKT +junketeer/SGDM/KNKT +junkie/RSMT/KNK +junkyard/MS/KNKYT +Juno/M/KN +junta/MS/KNT +Jupiter/M/KPT +Jurassic//KRSK +juridic//KRTK +juridical/Y/KRTKL +juried//KRT +jurisdiction/SM/KRSTKXN +jurisdictional/Y/KRSTKXNL +jurisprudence/SM/KRSPRTNS +jurisprudent//KRSPRTNT +jurisprudential/Y/KRSPRTNXL +jurist/MS/KRST +juristic//KRSTK +juror/MS/KR +Jurua/M/KR +jury/IMS/KR +jurying//KRYN +juryman/M/KRMN +jurymen//KRMN +jurywoman/M/KRWMN +jurywomen//KRWMN +just/UPY/KST +justed//KSTT +Justen/M/KSTN +juster/M/KST +justest//KSTST +Justice/M/KSTS +justice/MIS/KSTS +justiciable//KSTXBL +justifiability/M/KSTFBLT +justifiable/U/KSTFBL +justifiably/U/KSTFBL +justification/M/KSTFKXN +justified/UA/KSTFT +justifier/M/KSTF +justify/GDRSXZN/KSTF +Justin/M/KSTN +Justina/M/KSTN +Justine/M/KSTN +justing//KSTN +Justinian/M/KSTNN +Justinn/M/KSTN +Justino/M/KSTN +Justis/M/KSTS +justness/MS/KSTNS +justness's/U/KSTNSS +justs//KSTS +Justus/M/KSTS +jut/S/KT +jute/SM/KT +Jutish//KTX +Jutland/M/KTLNT +jutted//KTT +jutting//KTN +Juvenal/M/KFNL +juvenile/SM/KFNL +juxtapose/SDG/KKSTPS +juxtaposition/SM/KKSTPSXN +JV//KF +Jyoti/M/KYT +k/FGEIS/K +K/G/K +Kaaba/M/KB +kabob/SM/KBB +kaboom//KBM +Kabuki//KBK +kabuki/SM/KBK +Kabul/M/KBL +Kacey/M/KS +Kacie/M/KS +Kacy/M/KS +Kaddish/M/KTX +kaddish/S/KTX +Kaela/M/KL +kaffeeklatch//KFKLX +kaffeeklatsch/S/KFKLTSX +Kafka/M/KFK +Kafkaesque//KFKSK +kaftan's//KFTNS +Kagoshima/M/KKXM +Kahaleel/M/KHLL +Kahlil/M/KLL +Kahlua/M/KL +Kahn/M/KN +Kai/M/K +Kaia/M/K +Kaifeng/M/KFNK +Kaila/M/KL +Kaile/M/KL +Kailey/M/KL +Kain/M/KN +Kaine/M/KN +kaiser/MS/KS +Kaiser/SM/KS +Kaitlin/M/KTLN +Kaitlyn/M/KTLN +Kaitlynn/M/KTLN +Kaja/M/KK +Kajar/M/KK +Kakalina/M/KKLN +Kala/M/KL +Kalahari/M/KLHR +Kalamazoo/M/KLMS +Kalashnikov/M/KLXNKF +Kalb/M/KLB +Kale/M/KL +kale/MS/KL +Kaleb/M/KLB +Kaleena/M/KLN +kaleidescope//KLTSKP +kaleidoscope/SM/KLTSKP +kaleidoscopic//KLTSKPK +kaleidoscopically//KLTSKPKL +Kalgoorlie/M/KLKL +Kali/M/KL +Kalie/M/KL +Kalil/M/KLL +Kalila/M/KLL +Kalina/M/KLN +Kalinda/M/KLNT +Kalindi/M/KLNT +Kalle/M/KL +Kalli/M/KL +Kally/M/KL +Kalmyk//KLMK +Kalvin/M/KLFN +Kama/M/KM +Kamchatka/M/KMXTK +Kamehameha/M/KMHMH +Kameko/M/KMK +Kamikaze/MS/KMKS +kamikaze/SM/KMKS +Kamila/M/KML +Kamilah/M/KML +Kamillah/M/KML +Kampala/M/KMPL +Kampuchea/M/KMPX +Kan/MS/KN +Kanchenjunga/M/KNXNKNK +Kandace/M/KNTS +Kandahar/M/KNTH +Kandinsky/M/KNTNSK +Kandy/M/KNT +Kane/M/KN +kangaroo/SGMD/KNKR +Kania/M/KN +Kankakee/M/KNKK +Kannada/M/KNT +Kano/M/KN +Kanpur/M/KNP +Kansan/S/KNSN +Kansas//KNSS +Kant/M/KNT +Kantian//KNXN +Kanya/M/KNY +Kaohsiung/M/KSNK +kaolin/MS/KLN +kaolinite/M/KLNT +Kaplan/M/KPLN +kapok/SM/KPK +Kaposi/M/KPS +kappa/MS/KP +kaput/M/KPT +Kara/M/KR +Karachi/M/KRX +Karaganda/M/KRKNT +Karakorum/M/KRKRM +karakul/MS/KRKL +Karalee/M/KRL +Karalynn/M/KRLN +Karamazov/M/KRMSF +karaoke/S/KRK +karat/SM/KRT +karate/MS/KRT +Kare/M/KR +Karee/M/KR +Kareem/M/KRM +Karel/M/KRL +Karen/M/KRN +Karena/M/KRN +Karenina/M/KRNN +Kari/M/KR +Karia/M/KR +Karie/M/KR +Karil/M/KRL +Karilynn/M/KRLN +Karim/M/KRM +Karin/M/KRN +Karina/M/KRN +Karine/M/KRN +Kariotta/M/KRT +Karisa/M/KRS +Karissa/M/KRS +Karita/M/KRT +Karl/MNX/KL +Karla/M/KL +Karlan/M/KLN +Karlee/M/KL +Karleen/M/KLN +Karlen/M/KLN +Karlene/M/KLN +Karlie/M/KL +Karlik/M/KLK +Karlis//KLS +Karloff/M/KLF +Karlotta/M/KLT +Karlotte/M/KLT +Karly/M/KL +Karlyn/M/KLN +karma/SM/KM +Karmen/M/KMN +karmic//KMK +Karna/M/KN +Karney/M/KN +Karo/YM/KR +Karol/M/KRL +Karola/M/KRL +Karole/M/KRL +Karolina/M/KRLN +Karoline/M/KRLN +Karoly/M/KRL +Karon/M/KRN +Karp/M/KP +Karrah/M/KR +Karrie/M/KR +Karroo/M/KR +Karry/M/KR +kart/MS/KT +Kary/M/KR +Karyl/M/KRL +Karylin/M/KRLN +Karyn/M/KRN +Kasai/M/KS +Kasey/M/KS +Kashmir/SM/KXM +Kaspar/M/KSP +Kasparov/M/KSPRF +Kasper/M/KSP +Kass//KS +Kassandra/M/KSNTR +Kassey/M/KS +Kassi/M/KS +Kassia/M/KX +Kassie/M/KS +Kat/M/KT +Kata/M/KT +Katalin/M/KTLN +Kate/M/KT +Katee/M/KT +Katelyn/M/KTLN +Katerina/M/KTRN +Katerine/M/KTRN +Katey/M/KT +Kath/M/K@ +Katha/M/K@ +Katharina/M/K@RN +Katharine/M/K@RN +Katharyn/M/K@RN +Kathe/M/K@ +Katherina/M/K@RN +Katherine/M/K@RN +Katheryn/M/K@RN +Kathi/M/K@ +Kathiawar/M/K@W +Kathie/M/K@ +Kathleen/M/K@LN +Kathlin/M/K@LN +Kathmandu//K@MNT +Kathrine/M/K@RN +Kathryn/M/K@RN +Kathryne/M/K@RN +Kathy/M/K@ +Kathye/M/K@Y +Kati/M/KT +Katie/M/KT +Katina/M/KTN +Katine/M/KTN +Katinka/M/KTNK +Katleen/M/KTLN +Katlin/M/KTLN +Katmai/M/KTM +Katmandu's//KTMNTS +Katowice/M/KTWS +Katrina/M/KTRN +Katrine/M/KTRN +Katrinka/M/KTRNK +Katti/M/KT +Kattie/M/KT +Katuscha/M/KTSX +Katusha/M/KTX +Katy/M/KT +Katya/M/KTY +katydid/SM/KTTT +Katz/M/KTS +Kauai/M/K +Kauffman/M/KFMN +Kaufman/M/KFMN +Kaunas/M/KNS +Kaunda/M/KNT +Kawabata/M/KWBT +Kawasaki/M/KWSK +Kay/M/K +kayak/SGDM/KYK +Kaycee/M/KS +Kaye/M/KY +Kayla/M/KL +Kayle/M/KL +Kaylee/M/KL +Kayley/M/KL +Kaylil/M/KLL +Kaylyn/M/KLN +Kayne/M/KN +kayo/DMSG/KY +Kazakh/M/KSKH +Kazakhstan//KSKHSTN +Kazan/M/KSN +Kazantzakis/M/KSNTSKS +kazoo/SM/KS +Kb//KB +KB//KB +KC//KK +kc/M/KK +kcal/M/KKL +Kean/M/KN +Keane/M/KN +Kearney/M/KN +Keary/M/KR +Keaton/M/KTN +Keats/M/KTS +kebab/SM/KBB +Keck/M/KK +Keefe/MR/KF +Keefer/M/KF +Keegan/M/KKN +keel/GSMDR/KL +Keelby/M/KLB +Keeley/M/KL +keelhaul/SGD/KLHL +Keelia/M/KL +Keely/M/KL +keen/GTSPYDR/KN +Keen/M/KN +Keenan/M/KNN +Keene/M/KN +keener/M/KN +keening/M/KNN +keenness/MS/KNS +keep/GZJSR/KP +keeper/M/KP +keeping/M/KPN +keepsake/SM/KPSK +Keewatin/M/KWTN +keg/MS/KK +kegged//KKT +kegging//KKN +Keillor/M/KL +Keir/M/K +Keisha/M/KX +Keith/M/K@ +Kelbee/M/KLB +Kelby/M/KLB +Kelcey/M/KLS +Kelci/M/KLS +Kelcie/M/KLS +Kelcy/M/KLS +Kele/M/KL +Kelila/M/KLL +Kellby/M/KLB +Kellen/M/KLN +Keller/M/KL +Kelley/M/KL +Kelli/M/KL +Kellia/M/KL +Kellie/M/KL +Kellina/M/KLN +Kellogg/M/KLK +Kellsie/M/KLS +Kelly/M/KL +Kellyann/M/KLYN +kelp/GZMDS/KLP +Kelsey/M/KLS +Kelsi/M/KLS +Kelsy/M/KLS +Kelt's//KLTS +Kelvin/M/KLFN +kelvin/MS/KLFN +Kelwin/M/KLWN +Kemerovo/M/KMRF +Kemp/M/KMP +Kempis/M/KMPS +Ken/M/KN +ken/MS/KN +Kendal/M/KNTL +Kendall/M/KNTL +Kendell/M/KNTL +Kendra/M/KNTR +Kendre/M/KNTR +Kendrick/MS/KNTRK +Kenilworth/M/KNLW@ +Kenmore/M/KNMR +Kenn/M/KN +Kenna/M/KN +Kennan/M/KNN +Kennecott/M/KNKT +kenned//KNT +Kennedy/M/KNT +kennel/GSMD/KNL +Kenneth/M/KN@ +Kennett/M/KNT +Kennie/M/KN +kenning//KNN +Kennith/M/KN@ +Kenny/M/KN +keno/M/KN +Kenon/M/KNN +Kenosha/M/KNX +Kensington/M/KNSNTN +Kent/M/KNT +Kenton/M/KNTN +Kentuckian/S/KNTKN +Kentucky/M/KNTK +Kenya/M/KNY +Kenyan/S/KNYN +Kenyatta/M/KNYT +Kenyon/M/KNYN +Keogh/M/K +Keokuk/M/KKK +kepi/SM/KP +Kepler/M/KPL +kept//KPT +Ker/M/K +keratin/MS/KRTN +kerbside//KBST +Kerby/M/KB +kerchief/MDSG/KXF +Kerensky/M/KRNSK +Keri/M/KR +Keriann/M/KRN +Kerianne/M/KRN +Kerk/M/KK +Kermie/M/KM +Kermit/M/KMT +Kermy/M/KM +Kern/M/KN +kerned//KNT +kernel/GSMD/KNL +kerning//KNN +kerosene/MS/KRSN +Kerouac/M/KRK +Kerr/M/KR +Kerri/M/KR +Kerrie/M/KR +Kerrill/M/KRL +Kerrin/M/KRN +Kerry/M/KR +Kerstin/M/KSTN +Kerwin/M/KWN +Kerwinn/M/KWN +Kesley/M/KSL +Keslie/M/KSL +Kessia/M/KX +Kessiah/M/KX +Kessler/M/KSL +kestrel/SM/KSTRL +ketch/MS/KX +ketchup/SM/KXP +ketone/M/KTN +ketosis/M/KTSS +Kettering/M/KTRN +Ketti/M/KT +Kettie/M/KT +kettle/SM/KTL +kettledrum/SM/KTLTRM +kettleful//KTLFL +Ketty/M/KT +Kev/MN/KF +Kevan/M/KFN +Keven/M/KFN +Kevin/M/KFN +Kevina/M/KFN +Kevlar//KFL +Kevon/M/KFN +Kevorkian/M/KFKN +Kevyn/M/KFN +Kewaskum/M/KWSKM +Kewaunee/M/KWN +Kewpie/M/KP +Key/M/K +key/SGMD/K +keyboard/RDMZGS/KBT +keyboardist/S/KBTST +keyclick/SM/KKLK +keyhole/MS/KHL +Keynes/M/KNS +Keynesian/M/KNXN +keynote/SRDZMG/KNT +keynoter/M/KNT +keypad/MS/KPT +keypunch/ZGRSD/KPNX +keypuncher/M/KPNX +keyring//KRN +keystone/SM/KSTN +keystroke/SDMG/KSTRK +keyword/SM/KWT +kg//KK +KGB//KKB +Khabarovsk/M/KHBRFSK +Khachaturian/M/KHXTRN +khaki/SM/KHK +Khalid/M/KHLT +Khalil/M/KHLL +Khan/M/KHN +khan/MS/KHN +Kharkov/M/KHKF +Khartoum/M/KHTM +Khayyam/M/KHYM +Khmer/M/KHM +Khoisan/M/KHSN +Khomeini/M/KHMN +Khorana/M/KHRN +Khrushchev/SM/KHRXXF +Khufu/M/KHF +Khulna/M/KHLN +Khwarizmi/M/KHWRSM +Khyber/M/KHB +kHz/M/KHS +Ki/M/K +KIA//K +Kiah/M/K +Kial/M/KL +kibble/GMSD/KBL +kibbutz/M/KBTS +kibbutzim//KBTSM +kibitz/GRSDZ/KBTS +kibitzer/M/KBTS +kibosh/GMSD/KBX +kick/GZDRS/KK +Kickapoo/M/KKP +kickback/SM/KKBK +kickball/MS/KKBL +kicker/M/KK +kickoff/SM/KKF +kickstand/MS/KKSTNT +kicky/RT/KK +kid/MS/KT +Kidd/M/KT +kidded//KTT +kidder/SM/KT +kiddie/SD/KT +kidding/YM/KTN +kiddish//KTX +kiddo/SM/KT +kiddying//KTYN +kiddy's//KTS +kidless//KTLS +kidnap/MSJ/KTNP +kidnaper's//KTNPS +kidnaping's//KTNPNS +kidnapped//KTNPT +kidnapper/SM/KTNP +kidnapping/S/KTNPN +kidney/MS/KTN +kidskin/SM/KTSKN +Kieffer/M/KF +Kiel/M/KL +kielbasa/SM/KLBS +kielbasi//KLBS +Kiele/M/KL +Kienan/M/KNN +kier/I/K +Kierkegaard/M/KKKT +Kiersten/M/KSTN +Kieth/M/K@ +Kiev/M/KF +Kigali/M/KKL +Kikelia/M/KKL +Kikuyu/M/KKY +Kilauea/M/KL +Kile/M/KL +Kiley/M/KL +Kilian/M/KLN +Kilimanjaro/M/KLMNKR +kill/BJGZSDR/KL +killdeer/SM/KLT +Killebrew/M/KLBR +killer/M/KL +Killian/M/KLN +Killie/M/KL +killing/Y/KLN +killjoy/S/KLK +Killy/M/KL +kiln/GDSM/KLN +kilo/SM/KL +kilobaud/M/KLBT +kilobit/S/KLBT +kilobuck//KLBK +kilobyte/S/KLBT +kilocycle/MS/KLSKL +kilogauss/M/KLKS +kilogram/MS/KLKRM +kilohertz/M/KLHTS +kilohm/M/KLM +kilojoule/MS/KLKL +kiloliter/MS/KLLT +kilometer/SM/KLMT +kiloton/SM/KLTN +kilovolt/SM/KLFLT +kilowatt/SM/KLWT +kiloword//KLWT +kilt/MDRGZS/KLT +kilter/M/KLT +Kim/M/KM +Kimball/M/KMBL +Kimbell/M/KMBL +Kimberlee/M/KMBL +Kimberley/M/KMBL +Kimberli/M/KMBL +Kimberly/M/KMBL +Kimberlyn/M/KMBLN +Kimble/M/KMBL +Kimbra/M/KMBR +Kimmi/M/KM +Kimmie/M/KM +Kimmy/M/KM +kimono/MS/KMN +Kin/M/KN +kin/MS/KN +Kincaid/M/KNKT +kind/PSYRT/KNT +kinda//KNT +kinder/U/KNT +kindergarten/MS/KNTKTN +kindergärtner/SM/KNTKRTN +kindhearted/YP/KNTHTT +kindheartedness/MS/KNTHTTNS +kindle/AGRSD/KNTL +kindler/M/KNTL +kindliness/SM/KNTLNS +kindliness's/U/KNTLNSS +kindling/M/KNTLN +kindly/TUPR/KNTL +kindness/US/KNTNS +kindness's//KNTNSS +kindred/S/KNTRT +kine/SM/KN +kinematic/S/KNMTK +kinematics/M/KNMTKS +kinesics/M/KNSKS +kinesthesis//KNS@SS +kinesthetic/S/KNS@TK +kinesthetically//KNS@TKL +kinetic/S/KNTK +kinetically//KNTKL +kinetics/M/KNTKS +kinfolk/S/KNFLK +King/M/KN +king/SGYDM/KN +kingbird/M/KNBT +kingdom/SM/KNTM +kingfisher/MS/KNFX +kinglet/M/KNLT +kingliness/M/KNLNS +kingly/TPR/KNL +kingpin/MS/KNPN +Kingsbury/M/KNSBR +kingship/SM/KNXP +Kingsley/M/KNSL +Kingsly/M/KNSL +Kingston/M/KNSTN +Kingstown/M/KNSTN +Kingwood/M/KNWT +kink/GSDM/KNK +kinkily//KNKL +kinkiness/SM/KNKNS +kinky/PRT/KNK +Kinna/M/KN +Kinney/M/KN +Kinnickinnic/M/KNKNK +Kinnie/M/KN +Kinny/M/KN +Kinsey/M/KNS +kinsfolk/S/KNSFLK +Kinshasa/M/KNXS +Kinshasha/M/KNXX +kinship/SM/KNXP +Kinsley/M/KNSL +kinsman/M/KNSMN +kinsmen/M/KNSMN +kinswoman/M/KNSWMN +kinswomen//KNSWMN +kiosk/SM/KSK +Kiowa/SM/KW +Kip/M/KP +kip/MS/KP +Kipling/M/KPLN +Kipp/MR/KP +Kippar/M/KP +kipped//KPT +kipper/DMSG/KP +Kipper/M/KP +Kippie/M/KP +kipping//KPN +Kippy/M/KP +Kira/M/KR +Kirbee/M/KB +Kirbie/M/KB +Kirby/M/KB +Kirchhoff/M/KXHF +Kirchner/M/KXN +Kirchoff/M/KXF +Kirghistan/M/KKSTN +Kirghiz/M/KKS +Kirghizia/M/KKS +Kiri/M/KR +Kiribati//KRBT +Kirinyaga/M/KRNYK +kirk/GDMS/KK +Kirk/M/KK +Kirkland/M/KKLNT +Kirkpatrick/M/KKPTRK +Kirkwood/M/KKWT +Kirov/M/KRF +kirsch/S/KSX +Kirsten/M/KSTN +Kirsteni/M/KSTN +Kirsti/M/KST +Kirstin/M/KSTN +Kirstyn/M/KSTN +Kisangani/M/KSNKN +Kishinev/M/KXNF +kismet/SM/KSMT +kiss/DSRBJGZ/KS +Kissee/M/KS +kisser/M/KS +Kissiah/M/KX +Kissie/M/KS +Kissinger/M/KSN +Kit/M/KT +kit/MDRGS/KT +Kitakyushu/M/KTKYX +kitbag's//KTBKS +kitchen/GDRMS/KXN +kitchener/M/KXN +Kitchener/M/KXN +kitchenette/SM/KXNT +kitchenware/SM/KXNWR +kite/SM/KT +kiter/M/KT +kith/MDG/K@ +kiths//K@S +kitsch/MS/KTSX +kitschy//KTSX +kitted//KTT +kitten/SGDM/KTN +kittenish/YP/KTNX +kittenishness/M/KTNXNS +Kitti/M/KT +Kittie/M/KT +kitting//KTN +kittiwakes//KTWKS +Kitty/M/KT +kitty/SM/KT +Kiwanis/M/KWNS +kiwi/SM/KW +kiwifruit/S/KWFRT +Kizzee/M/KS +Kizzie/M/KS +KKK//K +kl//KL +Klan/M/KLN +Klansman/M/KLNSMN +Klara/M/KLR +Klarika/M/KLRK +Klarrisa/M/KLRS +Klaus/M/KLS +klaxon/M/KLKSN +Klee/M/KL +Kleenex/SM/KLNKS +Klein/M/KLN +Kleinrock/M/KLNRK +Klemens/M/KLMNS +Klement/M/KLMNT +Kleon/M/KLN +kleptomania/MS/KLPTMN +kleptomaniac/SM/KLPTMNK +Kliment/M/KLMNT +Kline/M/KLN +Klingon/M/KLNN +Klondike/SDMG/KLNTK +kludge/RSDGMZ/KLK +kludger/M/KLKR +kludgey//KLK +klutz/SM/KLTS +klutziness/S/KLTSNS +klutzy/TRP/KLTS +Klux/M/KLKS +klystron/MS/KLSTRN +km//KM +kn//N +knack/SGZRDM/NK +knacker/M/NK +knackwurst/MS/NKWST +Knapp/M/NP +knapsack/MS/NPSK +Knauer/M/N +knave/SM/NF +knavery/MS/NFR +knavish/Y/NFX +knead/GZRDS/NT +kneader/M/NT +knee/DSM/N +kneecap/MS/NKP +kneecapped//NKPT +kneecapping//NKPN +kneeing//NN +kneel/GRS/NL +kneeler/M/NL +kneepad/SM/NPT +knell/SMDG/NL +knelt//NLT +Knesset/M/NST +knew//N +Kngwarreye/M/NKWRY +knick/ZR/NK +Knickerbocker/MS/NKBK +knickerbocker/S/NKBK +knickknack/SM/NKKNK +Knievel/M/NFL +knife/DSGM/NF +Knight/M/NT +knight/MDYSG/NT +knighthood/MS/N@T +knightliness/MS/NTLNS +knightly/P/NTL +knish/MS/NX +knit/AU/NT +knits//NTS +knitted//NTT +knitter/MS/NT +knitting/SM/NTN +knitwear/M/NTW +knives/M/NFS +knob/MS/NB +knobbly//NBL +knobby/RT/NB +Knobeloch/M/NBLX +knock/GZSJRD/NK +knockabout/M/NKBT +knockdown/S/NKTN +knocker/M/NK +knockoff/S/NKF +knockout/MS/NKT +knockwurst's//NKWSTS +knoll/MDSG/NL +Knopf/M/NPF +Knossos/M/NSS +knot/MS/NT +knothole/SM/N@L +knotted//NTT +knottiness/M/NTNS +knotting/M/NTN +knotty/TPR/NT +know/GRBSJ/N +knowable/U/NWBL +knower/M/NW +knowhow//NH +knowing/RYT/NWN +knowingly/U/NWNL +knowings/U/NWNS +knowledge/SM/NLK +knowledgeable/P/NLKBL +knowledgeableness/M/NLKBLNS +knowledgeably//NLKBL +Knowles//NLS +known/SU/NN +Knox/M/NKS +Knoxville/M/NKSFL +knuckle/DSMG/NKL +knuckleball/R/NKLBL +knuckleduster//NKLTST +knucklehead/MS/NKLHT +Knudsen/M/NTSN +Knudson/M/NTSN +knurl/DSG/NL +Knuth/M/N@ +Knutsen/M/NTSN +Knutson/M/NTSN +KO//K +koala/SM/KL +Kobayashi/M/KBYX +Kobe/M/KB +Koch/M/KX +Kochab/M/KXB +Kodachrome/M/KTXRM +Kodak/SM/KTK +Kodaly/M/KTL +Kodiak/M/KTK +Koenig/M/KNK +Koenigsberg/M/KNKSBK +Koenraad/M/KNRT +Koestler/M/KSTL +Kohinoor/M/KHN +Kohl/MR/KL +Kohler/M/KL +kohlrabi/M/KLRB +kohlrabies//KLRBS +kola/SM/KL +Kolyma/M/KLM +Kommunizma/M/KMNSM +Kong/M/KNK +Kongo/M/KNK +Konrad/M/KNRT +Konstance/M/KNSTNS +Konstantin/M/KNSTNTN +Konstantine/M/KNSTNTN +Konstanze/M/KNSTNS +Koo/M/K +kook/GDMS/KK +kookaburra/SM/KKBR +kookiness/S/KKNS +kooky/PRT/KK +Koontz/M/KNTS +kopeck/MS/KPK +Koppers/M/KPS +Kora/M/KR +Koral/M/KRL +Koralle/M/KRL +Koran/SM/KRN +Koranic//KRNK +Kordula/M/KTL +Kore/M/KR +Korea/M/KR +Korean/S/KRN +Korella/M/KRL +Koren/M/KRN +Koressa/M/KRS +Korey/M/KR +Kori/M/KR +Korie/M/KR +Kornberg/M/KNBK +Korney/M/KN +Korrie/M/KR +Korry/M/KR +Kort/M/KT +Kory/M/KR +Korzybski/M/KSBSK +Kosciusko/M/KSSK +kosher/DGS/KX +Kossuth/M/KS@ +Kosygin/M/KSKN +Kovacs/M/KFKS +Kowalewski/M/KWLSK +Kowalski/M/KWLSK +Kowloon/M/KLN +kowtow/SGD/KT +KP//KP +kph//KF +Kr/M/KR +kraal/SMDG/KRL +Kraemer/M/KRM +kraft/M/KRFT +Kraft/M/KRFT +Krakatau's//KRKTS +Krakatoa/M/KRKT +Krakow/M/KRK +Kramer/M/KRM +Krasnodar/M/KRSNT +Krasnoyarsk/M/KRSNYSK +Krause/M/KRS +kraut/S/KRT +Krebs/M/KRBS +Kremlin/M/KRMLN +Kremlinologist/MS/KRMLNLKST +Kremlinology/MS/KRMLNLK +Kresge/M/KRSK +Krieger/M/KRK +kriegspiel/M/KRKSPL +krill/MS/KRL +Kringle/M/KRNL +Kris/M/KRS +Krisha/M/KRX +Krishna/M/KRXN +Krishnah/M/KRXN +Krispin/M/KRSPN +Krissie/M/KRS +Krissy/M/KRS +Krista/M/KRST +Kristal/M/KRSTL +Kristan/M/KRSTN +Kriste/M/KRST +Kristel/M/KRSTL +Kristen/M/KRSTN +Kristi/MN/KRST +Kristian/M/KRSXN +Kristie/M/KRST +Kristien/M/KRSTN +Kristin/M/KRSTN +Kristina/M/KRSTN +Kristine/M/KRSTN +Kristo/MS/KRST +Kristofer/M/KRSTF +Kristoffer/M/KRSTF +Kristofor/M/KRSTF +Kristoforo/M/KRSTFR +Kristopher/M/KRSTF +Kristy/M/KRST +Kristyn/M/KRSTN +Kroc/M/KRK +Kroger/M/KRK +króna/M/KRN +krone/RM/KRN +Kronecker/M/KRNK +kronor//KRN +krónur//KRN +Kropotkin/M/KRPTKN +Krueger/M/KRK +Kruger/M/KRK +Krugerrand/S/KRKRNT +Krupp/M/KRP +Kruse/M/KRS +krypton/SM/KRPTN +Krysta/M/KRST +Krystal/M/KRSTL +Krystalle/M/KRSTL +Krystle/M/KRSTL +Krystyna/M/KRSTN +ks//KS +K's//KS +KS//KS +k's/IE/KS +kt//KT +Ku/M/K +Kublai/M/KBL +Kubrick/M/KBRK +kuchen/MS/KXN +kudos/M/KTS +kudzu/SM/KTS +Kuenning/M/KNN +Kuhn/M/KN +Kuibyshev/M/KBXF +Kumar/M/KM +kumquat/SM/KMKT +Kunming/M/KNMN +Kuomintang/M/KMNTNK +Kurd/SM/KT +Kurdish/M/KTX +Kurdistan/SM/KTSTN +Kurosawa/M/KRSW +Kurt/M/KT +Kurtis/M/KTS +kurtosis/M/KTSS +Kusch/M/KSX +Kuwait/M/KWT +Kuwaiti/SM/KWT +Kuznets/M/KSNTS +Kuznetsk/M/KSNTSK +kvetch/DSG/KFX +kw//K +kW//K +Kwakiutl/M/KWKTL +Kwangchow's//KWNKXS +Kwangju/M/KWNKK +Kwanzaa/S/KWNS +kWh//KH +KY//K +Ky/MH/K +Kyla/M/KL +kyle/M/KL +Kyle/M/KL +Kylen/M/KLN +Kylie/M/KL +Kylila/M/KLL +Kylynn/M/KLN +Kym/M/KM +Kynthia/M/KN@ +Kyoto/M/KYT +Kyrgyzstan//KRKSSTN +Kyrstin/M/KRSTN +Kyushu/M/KYX +L//L +l/JGVXT/L +LA//L +La/M/L +la/MHLG/L +lab/SM/LB +Lab/SM/LB +Laban/M/LBN +label/GAZRDS/LBL +labeled/U/LBLT +labeler/M/LBL +labellings/A/LBLNS +label's//LBLS +labia/M/LB +labial/YS/LBL +labile//LBL +labiodental//LBTNTL +labium/M/LBM +labor/RDMJSZG/LB +laboratory/MS/LBRTR +labored/PMY/LBRT +laboredness/M/LBRTNS +labored's/U/LBRTS +laborer/M/LBR +laboring/MY/LBRN +laborings/U/LBRNS +laborious/PY/LBRS +laboriousness/MS/LBRSNS +laborsaving//LBSFN +Labrador/SM/LBRT +Labradorean/S/LBRTRN +laburnum/SM/LBNM +labyrinth/M/LBRN@ +labyrinthine//LBRN@N +labyrinths//LBRN@S +Lac/M/LK +lac/SGMDR/LK +lace/MS/LS +laced/U/LST +Lacee/M/LS +lacer/M/LS +lacerate/NGVXDS/LSRT +laceration/M/LSRXN +laces/U/LSS +lacewing/MS/LSWN +Lacey/M/LS +Lachesis/M/LXSS +lachrymal/S/LXRML +lachrymose//LXRMS +Lacie/M/LS +lacing/M/LSN +lack/GRDMS/LK +lackadaisic//LKTSK +lackadaisical/Y/LKTSKL +Lackawanna/M/LKWN +lacker/M/LK +lackey/SMDG/LK +lackluster/S/LKLST +laconic//LKNK +laconically//LKNKL +lacquer/ZGDRMS/LK +lacquerer/M/LKR +lacrosse/MS/LKRS +lactate/MNGSDX/LKTT +lactation/M/LKTXN +lactational/Y/LKTXNL +lacteal//LKTL +lactic//LKTK +lactose/MS/LKTS +lacuna/M/LKN +lacunae//LKN +Lacy/M/LS +lacy/RT/LS +lad/XGSJMND/LT +ladder/GDMS/LT +laddie/MS/LT +lade/S/LT +laded/U/LTT +laden/U/LTN +ladened//LTNT +ladening//LTNN +lading/M/LTN +ladle/SDGM/LTL +Ladoga/M/LTK +Ladonna/M/LTN +lady/SM/LT +Lady/SM/LT +ladybird/SM/LTBT +ladybug/MS/LTBK +ladyfinger/SM/LTFN +ladylike/U/LTLK +ladylove/MS/LTLF +Ladyship/MS/LTXP +ladyship/SM/LTXP +Laetitia/M/LTX +laetrile/S/LTRL +Lafayette/M/LFYT +Lafitte/M/LFT +lag/ZSR/LK +lager/DMG/LK +laggard/MYSP/LKT +laggardness/M/LKTNS +lagged//LKT +lagging/MS/LKN +lagniappe/SM/LKNP +lagoon/MS/LKN +Lagos/M/LKS +Lagrange/M/LKRNK +Lagrangian/M/LKRNKN +Laguerre/M/LKR +Laguna/M/LKN +Lahore/M/LHR +laid/AI/LT +Laidlaw/M/LTL +lain//LN +Laina/M/LN +Lainey/M/LN +lair/GDMS/L +Laird/M/LT +laird/MS/LT +laissez//LSS +laity/SM/LT +Laius/M/LS +lake/DSRMG/LK +Lakehurst/M/LKHST +Lakeisha/M/LKX +laker/M/LK +lakeside//LKST +Lakewood/M/LKWT +Lakisha/M/LKX +Lakshmi/M/LKXM +lallygag/S/LLKK +lallygagged//LLKKT +lallygagging//LLKKN +Lalo/M/LL +lam/MDRSTG/LM +lama/SM/LM +Lamaism/SM/LMSM +Lamar/M/LM +Lamarck/M/LMK +lamasery/MS/LMSR +Lamaze//LMS +Lamb/M/LM +lamb/SRDMG/LM +lambada/S/LMBT +lambaste/SDG/LMBST +lambda/SM/LMBT +lambency/MS/LMBNS +lambent/Y/LMBNT +Lambert/M/LMBT +lambkin/MS/LMBKN +Lamborghini/M/LMBKN +lambskin/MS/LMBSKN +lambswool//LMBSWL +lame/SPY/LM +lamebrain/SM/LMBRN +lamed/M/LMT +lameness/MS/LMNS +lament/DGSB/LMNT +lamentable/P/LMNTBL +lamentableness/M/LMNTBLNS +lamentably//LMNTBL +lamentation/SM/LMNTXN +lamented/U/LMNTT +lamina/M/LMN +laminae//LMN +laminar//LMN +laminate/XNGSD/LMNT +lamination/M/LMNXN +lammed//LMT +lammer//LM +lamming//LMN +Lammond/M/LMNT +Lamond/M/LMNT +Lamont/M/LMNT +L'Amour//LM +lamp/SGMRD/LMP +lampblack/SM/LMPBLK +lamplight/ZRMS/LMPLT +lamplighter/M/LMPLT +lampoon/RDMGS/LMPN +lampooner/M/LMPN +Lamport/M/LMPT +lamppost/SM/LMPST +lamprey/MS/LMPR +lampshade/MS/LMPXT +LAN//LN +Lana/M/LN +Lanae/M/LN +Lanai/M/LN +lanai/SM/LN +Lancashire/M/LNKXR +Lancaster/M/LNKST +Lance/M/LNS +lance/SRDGMZ/LNS +Lancelot/M/LNSLT +lancer/M/LNS +lancet/MS/LNST +Land/M/LNT +land/SMRDJGZ/LNT +landau/MS/LNT +lander/I/LNT +landfall/SM/LNTFL +landfill/DSG/LNTFL +landforms//LNTFMS +landhold/JGZR/LNTHLT +landholder/M/LNTHLT +landing/M/LNTN +Landis/M/LNTS +landlady/MS/LNTLT +landless//LNTLS +landlines//LNTLNS +landlocked//LNTLKT +landlord/MS/LNTLT +landlubber/SM/LNTLB +landmark/GSMD/LNTMK +landmass/MS/LNTMS +Landon/M/LNTN +landowner/MS/LNTN +landownership/M/LNTNXP +landowning/SM/LNTNN +Landry/M/LNTR +lands/I/LNTS +Landsat//LNTST +landscape/GMZSRD/LNTSKP +landscaper/M/LNTSKP +landslid/G/LNTSLT +landslide/MS/LNTSLT +landslip//LNTSLP +landsman/M/LNTSMN +landsmen//LNTSMN +Landsteiner/M/LNTSTN +landward/S/LNTWT +Landwehr/M/LNTWR +Lane/M/LN +lane/SM/LN +Lanette/M/LNT +Laney/M/LN +Lang/M/LNK +Lange/M/LNK +Langeland/M/LNKLNT +Langerhans/M/LNKHNS +Langford/M/LNKFT +Langland/M/LNKLNT +Langley/M/LNKL +Langmuir/M/LNKM +Langsdon/M/LNKSTN +Langston/M/LNKSTN +language/MS/LNKK +languid/PY/LNKT +languidness/MS/LNKTNS +languish/SRDG/LNKX +languisher/M/LNKX +languishing/Y/LNKXN +languor/SM/LNK +languorous/Y/LNKRS +Lani/M/LN +Lanie/M/LN +Lanita/M/LNT +lank/PTYR/LNK +lankiness/SM/LNKNS +lankness/MS/LNKNS +lanky/PRT/LNK +Lanna/M/LN +Lanni/M/LN +Lannie/M/LN +Lanny/M/LN +lanolin/MS/LNLN +Lansing/M/LNSN +lantern/GSDM/LNTN +lanthanide/M/LN@NT +lanthanum/MS/LN@NM +lanyard/MS/LNYT +Lanzhou//LNSH +Lao/SM/L +Laocoon/M/LKN +Laotian/MS/LXN +lap/SM/LP +lapboard/MS/LPBT +lapdog/S/LPTK +lapel/MS/LPL +lapidary/MS/LPTR +lapin/MS/LPN +Laplace/M/LPLS +Lapland/ZMR/LPLNT +Lapp/SM/LP +lapped//LPT +lappet/MS/LPT +lapping//LPN +laps/SRDG/LPS +lapse/KSDMG/LPS +lapsed/A/LPST +lapser/MA/LPS +lapses/A/LPSS +lapsing/A/LPSN +laptop/SM/LPTP +lapwing/MS/LPWN +Lara/M/LR +Laraine/M/LRN +Laramie/M/LRM +larboard/MS/LBT +larcenist/S/LSNST +larcenous//LSNS +larceny/MS/LSN +larch/MS/LX +lard/MRDSGZ/LT +larder/M/LT +Lardner/M/LTN +lardy/RT/LT +Laredo/M/LRT +large/SRTYP/LK +largehearted//LKHTT +largemouth//LKM@ +largeness/SM/LKNS +largess/SM/LKS +largish//LKX +largo/S/LK +Lari/M/LR +lariat/MDGS/LRT +Larina/M/LRN +Larine/M/LRN +Larisa/M/LRS +Larissa/M/LRS +lark/GRDMS/LK +Lark/M/LK +larker/M/LK +larkspur/MS/LKSP +Larousse/M/LRS +Larry/M/LR +Lars/NM/LS +Larsen/M/LSN +Larson/M/LSN +larva/M/LF +larvae//LF +larval//LFL +laryngeal/YS/LRNKL +larynges//LRNKS +laryngitides//LRNKTTS +laryngitis/M/LRNKTS +larynx/M/LRNKS +Laryssa/M/LRS +las/SRZG/LS +lasagna/S/LSKN +lasagne's//LSKNS +Lascaux/M/LSKKS +lascivious/YP/LSFS +lasciviousness/MS/LSFSNS +lase//LS +laser/M/LS +lash/JGMSRD/LX +lashed/U/LXT +lasher/M/LX +lashing/M/LXN +lass/SM/LS +Lassa/M/LS +Lassen/M/LSN +Lassie/M/LS +lassie/SM/LS +lassitude/MS/LSTT +lasso/GRDMS/LS +lassoer/M/LS +last/JGSYRD/LST +laster/M/LST +lasting/PY/LSTN +lastingness/M/LSTNNS +Laszlo/M/LSSL +Lat/M/LT +lat/SDRT/LT +Latasha/M/LTX +Latashia/M/LTX +latch/UGSD/LX +latching/M/LXN +latchkey/SM/LXK +latch's//LXS +late/KA/LT +latecomer/SM/LTKM +lated/A/LTT +lately//LTL +latency/MS/LTNS +lateness/MS/LTNS +latent/YS/LTNT +later/A/LT +lateral/GDYS/LTRL +lateralization//LTRLSXN +Lateran/M/LTRN +latest/S/LTST +LaTeX/M/LTKS +latex/MS/LTKS +lath/MSRDGZ/L@ +lathe/M/L@ +lather/RDMG/L@ +latherer/M/L@R +lathery//L@R +lathing/M/L@N +Lathrop/M/L@RP +laths//L@S +Latia/M/LX +latices/M/LTSS +Latin/RMS/LTN +Latina/SM/LTN +Latinate//LTNT +Latino/S/LTN +latish//LTX +Latisha/M/LTX +latitude/SM/LTTT +latitudinal/Y/LTTTNL +latitudinarian/S/LTTTNRN +latitudinary//LTTTNR +Latonya/M/LTNY +Latoya/M/LTY +Latrena/M/LTRN +Latrina/M/LTRN +latrine/MS/LTRN +Latrobe/M/LTRB +latte/SR/LT +latter/YM/LT +lattice/SDMG/LTS +latticework/MS/LTSWK +latticing/M/LTSN +Lattimer/M/LTM +Latvia/M/LTF +Latvian/S/LTFN +Laud/MR/LT +laud/RDSBG/LT +laudably//LTBL +laudanum/MS/LTNM +laudatory//LTTR +lauder/M/LT +Lauder/M/LT +Lauderdale/M/LTTL +lauds/M/LTS +Laue/M/L +laugh/BRDZGJ/LF +laughable/P/LFBL +laughableness/M/LFBLNS +laughably//LFBL +laugher/M/LF +laughing/MY/LFN +laughingstock/SM/LFNSTK +laughs//LFS +laughter/MS/LFT +Laughton/M/LFTN +Launce/M/LNS +launch/AGSD/LNX +launcher/MS/LNX +launching/S/LNXN +launchpad/S/LNXPT +launder/SDRZJG/LNT +laundered/U/LNTRT +launderer/M/LNTR +launderette/MS/LNTRT +laundress/MS/LNTRS +laundrette/S/LNTRT +laundromat/S/LNTRMT +Laundromat/SM/LNTRMT +laundry/MS/LNTR +laundryman/M/LNTRMN +laundrymen//LNTRMN +laundrywoman/M/LNTRWMN +laundrywomen//LNTRWMN +laura/M/LR +Laura/M/LR +Lauraine/M/LRN +Laural/M/LRL +Lauralee/M/LRL +Laurasia/M/LRX +Laure/M/LR +laureate/DSNG/LRT +laureateship/SM/LRTXP +Lauree/M/LR +Laureen/M/LRN +Laurel/M/LRL +laurel/SGMD/LRL +Laurella/M/LRL +Lauren/SM/LRN +Laurena/M/LRN +Laurence/M/LRNS +Laurene/M/LRN +Laurent/M/LRNT +Laurentian//LRNXN +Lauretta/M/LRT +Laurette/M/LRT +Lauri/M/LR +Laurianne/M/LRN +Laurice/M/LRS +Laurie/M/LR +Lauritz/M/LRTS +Lauryn/M/LRN +Lausanne/M/LSN +lava/SM/LF +lavage/MS/LFK +Laval/M/LFL +lavaliere/MS/LFLR +lavatory/MS/LFTR +lave/GDS/LF +Lavena/M/LFN +lavender/MDSG/LFNT +Lavern/M/LFN +Laverna/M/LFN +Laverne/M/LFN +Lavina/M/LFN +Lavinia/M/LFN +Lavinie/M/LFN +lavish/SRDYPTG/LFX +lavishness/MS/LFXNS +Lavoisier/M/LFS +Lavonne/M/LFN +Law/M/L +law/SMDG/L +Lawanda/M/LWNT +lawbreaker/SM/LBRK +lawbreaking/MS/LBRKN +Lawford/M/LFT +lawful/PUY/LFL +lawfulness/SMU/LFLNS +lawgiver/MS/LKF +lawgiving/M/LKFN +lawless/PY/LLS +lawlessness/MS/LLSNS +lawmaker/MS/LMK +lawmaking/SM/LMKN +lawman/M/LMN +lawmen//LMN +lawn/SM/LN +lawnmower/S/LNMW +Lawrence/M/LRNS +Lawrenceville/M/LRNSFL +lawrencium/SM/LRNSM +Lawry/M/LR +Lawson/M/LSN +lawsuit/MS/LST +Lawton/M/LTN +lawyer/DYMGS/LY +lax/PTSRY/LKS +laxative/PSYM/LKSTF +laxativeness/M/LKSTFNS +laxer/A/LKS +laxes/A/LKSS +laxity/SM/LKST +laxness/SM/LKSNS +lay/CZGSR/L +Lay/M/L +layabout/MS/LYBT +Layamon/M/LYMN +layaway/S/LYW +layer/GJDM/LY +layered/C/LYRT +layering/M/LYRN +layer's/IC/LYS +layette/SM/LYT +Layla/M/LL +layman/M/LMN +laymen//LMN +Layne/M/LN +Layney/M/LN +layoff/MS/LYF +layout/SM/LYT +layover/SM/LYF +laypeople//LPPL +layperson/S/LPSN +lays/AI/LS +Layton/M/LTN +layup/MS/LYP +laywoman/M/LWMN +laywomen//LWMN +Lazar/M/LS +Lazare/M/LSR +Lazaro/M/LSR +Lazarus/M/LSRS +laze/DSG/LS +lazily//LSL +laziness/MS/LSNS +lazuli/M/LSL +lazy/PTSRDG/LS +lazybones/M/LSBNS +lb//LB +LBJ/M/LBK +lbs//LBS +LC//LK +LCD//LKT +LCM//LKM +LDC//LTK +Le/NM/L +Lea/M/L +lea/MS/L +Leach/M/LX +leach/SDG/LX +leachate//LXT +lead/SGZXJRDN/LT +Leadbelly/M/LTBL +leaded/U/LTT +leaden/PGDY/LTN +leadenness/M/LTNS +leader/M/LT +leaderless//LTLS +leadership/MS/LTXP +leadsman/M/LTSMN +leadsmen//LTSMN +leaf/GSDM/LF +leafage/MS/LFK +leafhopper/M/LFHP +leafiness/M/LFNS +leafless//LFLS +leaflet/SDMG/LFLT +leafstalk/SM/LFSTLK +leafy/PTR/LF +league/RSDMZG/LK +leaguer/M/LK +Leah/M/L +leak/GSRDM/LK +leakage/SM/LKK +leaker/M/LK +Leakey/M/LK +leakiness/MS/LKNS +leaky/PRT/LK +Lean/M/LN +lean/YRDGTJSP/LN +Leander/M/LNT +Leandra/M/LNTR +leaner/M/LN +leaning/M/LNN +Leann/M/LN +Leanna/M/LN +Leanne/M/LN +leanness/MS/LNS +Leanor/M/LN +Leanora/M/LNR +leap/RDGZS/LP +leaper/M/LP +leapfrog/SM/LPFRK +leapfrogged//LPFRKT +leapfrogging//LPFRKN +Lear/M/L +learn/SZGJRD/LN +learned/UA/LNT +learnedly//LNTL +learnedness/M/LNTNS +learner/M/LN +learning/M/LNN +learns/UA/LNS +Leary/M/LR +leas/SRDGZ/LS +lease/ARSDG/LS +leaseback/MS/LSBK +leasehold/SRMZ/LSHLT +leaseholder/M/LSHLT +leaser/MA/LS +lease's//LSS +leash/UGSD/LX +leash's//LXS +leasing/M/LSN +least/S/LST +leastwise//LSTWS +leather/MDSG/L@ +leatherette/S/L@RT +leathern//L@N +leatherneck/SM/L@NK +leathery//L@R +leave/SRDJGZ/LF +leaven/DMJGS/LFN +leavened/U/LFNT +leavening/M/LFNN +Leavenworth/M/LFNW@ +leaver/M/LF +leaves/M/LFS +leaving/M/LFN +Lebanese//LBNS +Lebanon/M/LBNN +Lebbie/M/LB +lebensraum//LBNSRM +Lebesgue/M/LBSK +Leblanc/M/LBLNK +lecher/DMGS/LX +lecherous/YP/LXRS +lecherousness/MS/LXRSNS +lechery/MS/LXR +lecithin/SM/LS@N +lectern/SM/LKTN +lecture/RSDZMG/LKTR +lecturer/M/LKTR +lectureship/SM/LKTRXP +led//LT +LED/SM/LT +Leda/M/LT +Lederberg/M/LTBK +ledge/SRMZ/LK +ledger/DMG/LKR +Lee/M/L +lee/MZRS/L +Leeann/M/LN +Leeanne/M/LN +leech/MSDG/LX +Leeds/M/LTS +leek/SM/LK +Leela/M/LL +Leelah/M/LL +Leeland/M/LLNT +Leena/M/LN +leer/DG/L +leeriness/MS/LRNS +leering/Y/LRN +leery/PTR/LR +Leesa/M/LS +Leese/M/LS +Leeuwenhoek/M/LWNHK +Leeward/M/LWT +leeward/S/LWT +leeway/MS/LW +Left/S/LFT +left/TRS/LFT +leftism/SM/LFTSM +leftist/SM/LFTST +leftmost//LFTMST +leftover/MS/LFTF +leftward/S/LFTWT +Lefty/M/LFT +lefty/SM/LFT +leg/MS/LK +legacy/MS/LKS +legal/SY/LKL +legalese/MS/LKLS +legalism/SM/LKLSM +legalistic//LKLSTK +legality/MS/LKLT +legalization/MS/LKLSXN +legalize/DSG/LKLS +legalized/U/LKLST +legate/AXCNGSD/LKT +legatee/MS/LKT +legate's/C/LKTS +legation/AMC/LKXN +legato/SM/LKT +legend/SM/LKNT +legendarily//LKNTRL +legendary/S/LKNTR +Legendre/M/LKNTR +Leger/SM/LK +legerdemain/SM/LKTMN +legged//LKT +legginess/MS/LKNS +legging/MS/LKN +leggy/PRT/LK +leghorn/SM/LKN +Leghorn/SM/LKN +legibility/MS/LKBLT +legible//LKBL +legibly//LKBL +legion/SM/LKN +legionary/S/LKNR +legionnaire/SM/LKNR +legislate/SDXVNG/LKSLT +legislation/M/LKSLXN +legislative/SY/LKSLTF +legislator/SM/LKSLT +legislature/MS/LKSLTR +legit/S/LKT +legitimacy/MS/LKTMS +legitimate/SDNGY/LKTMT +legitimation/M/LKTMXN +legitimatize/SDG/LKTMTS +legitimization/MS/LKTMSXN +legitimize/RSDG/LKTMS +legless//LKLS +legman/M/LKMN +legmen//LKMN +Lego/M/LK +Legra/M/LKR +Legree/M/LKR +legroom/MS/LKRM +legstraps//LKSTRPS +legume/SM/LKM +leguminous//LKMNS +legwork/SM/LKWK +Lehigh/M/LH +Lehman/M/LMN +lei/MS/L +Leia/M/L +Leibniz/M/LBNS +Leicester/SM/LSST +Leiden/M/LTN +Leif/M/LF +Leigh/M/L +Leigha/M/LK +Leighton/M/LTN +Leila/M/LL +Leilah/M/LL +Leipzig/M/LPSK +Leisha/M/LX +leisure/SDYM/LSR +leisureliness/MS/LSRLNS +leisurely/P/LSRL +leisurewear//LSRW +leitmotif/SM/LTMTF +leitmotiv/MS/LTMTF +Lek/M/LK +Lela/M/LL +Lelah/M/LL +Leland/M/LLNT +Lelia/M/LL +Lem/M/LM +Lemaitre/M/LMTR +Lemar/M/LM +Lemke/M/LMK +lemma/MS/LM +lemme/GJ/LM +Lemmie/M/LM +lemming/M/LMN +Lemmy/M/LM +lemon/GSDM/LMN +lemonade/SM/LMNT +lemony//LMN +Lemuel/M/LML +lemur/MS/LM +Lemuria/M/LMR +Len/M/LN +Lena/M/LN +Lenard/M/LNT +Lenci/M/LNS +lend/SRGZ/LNT +lender/M/LNT +Lenee/M/LN +Lenette/M/LNT +length/MNYX/LNK@ +lengthen/GRD/LNK@N +lengthener/M/LNK@N +lengthily//LNK@L +lengthiness/MS/LNK@NS +lengths//LNK@S +lengthwise//LNK@WS +lengthy/TRP/LNK@ +lenience/S/LNNS +leniency/MS/LNNS +lenient/SY/LNNT +Lenin/M/LNN +Leningrad/M/LNNRT +Leninism/M/LNNSM +Leninist//LNNST +lenitive/S/LNTF +Lenka/M/LNK +Lenna/M/LN +Lennard/M/LNT +Lennie/M/LN +Lennon/M/LNN +Lenny/M/LN +Leno/M/LN +Lenoir/M/LN +Lenora/M/LNR +Lenore/M/LNR +lens/SRDMJGZ/LNS +lent/A/LNT +Lent/SMN/LNT +lenticular//LNTKL +lentil/SM/LNTL +lento/S/LNT +Leo/MS/L +Leodora/M/LTR +Leoine/M/LN +Leola/M/LL +Leoline/M/LLN +Leon/M/LN +Leona/M/LN +Leonanie/M/LNN +Leonard/M/LNT +Leonardo/M/LNT +Leoncavallo/M/LNKFL +Leone/M/LN +Leonel/M/LNL +Leonelle/M/LNL +Leonerd/M/LNT +Leonhard/M/LNHT +Leonid/M/LNT +Leonidas/M/LNTS +Leonie/M/LN +leonine//LNN +Leonor/M/LN +Leonora/M/LNR +Leonore/M/LNR +Leontine/M/LNTN +Leontyne/M/LNTN +leopard/MS/LPT +leopardess/SM/LPTS +leopardskin//LPTSKN +Leopold/M/LPLT +Leopoldo/M/LPLT +Leopoldville/M/LPLTFL +Leora/M/LR +leotard/MS/LTT +leper/SM/LP +Lepidus/M/LPTS +Lepke/M/LPK +leprechaun/SM/LPRXN +leprosy/MS/LPRS +leprous//LPRS +lepta//LPT +lepton/SM/LPTN +Lepus/M/LPS +Lerner/M/LN +Leroi/M/LR +Leroy/M/LR +Les/Y/LS +Lesa/M/LS +lesbian/MS/LSBN +lesbianism/MS/LSBNSM +Leshia/M/LX +lesion/DMSG/LXN +Lesley/M/LSL +Lesli/M/LSL +Leslie/M/LSL +Lesly/M/LSL +Lesotho/M/LS@ +less/U/LS +lessee/MS/LS +lessen/GDS/LSN +Lesseps/M/LSPS +lesser//LS +lesses//LSS +Lessie/M/LS +lessing//LSN +lesson/DMSG/LSN +lessor/MS/LS +lest/R/LST +Lester/M/LST +Lesya/M/LSY +let/ISM/LT +Leta/M/LT +letdown/SM/LTTN +Letha/M/L@ +lethal/YS/L@L +lethality/M/L@LT +lethargic//L@KK +lethargically//L@KKL +lethargy/MS/L@K +Lethe/M/L@ +Lethia/M/L@ +Leticia/M/LTX +Letisha/M/LTX +Letitia/M/LTX +Letizia/M/LTS +Letta/M/LT +letter/JSZGRDM/LT +letterbox/S/LTBKS +lettered/U/LTRT +letterer/M/LTR +letterhead/SM/LTHT +lettering/M/LTRN +letterman/M/LTMN +Letterman/M/LTMN +lettermen//LTMN +letterpress/MS/LTPRS +Letti/M/LT +Lettie/M/LT +letting/S/LTN +lettuce/SM/LTS +Letty/M/LT +letup/MS/LTP +leukemia/SM/LKM +leukemic/S/LKMK +leukocyte/MS/LKST +Leupold/M/LPLT +Lev/M/LF +Levant/M/LFNT +levee/SDM/LF +leveeing//LFN +level/STZGRDYP/LFL +leveled/U/LFLT +leveler/M/LFL +levelheaded/P/LFLHTT +levelheadedness/S/LFLHTTNS +leveling/U/LFLN +levelness/SM/LFLNS +lever/SDMG/LF +leverage/MGDS/LFRK +Levesque/M/LFSK +Levey/M/LF +Levi/MS/LF +Leviathan//LF@N +leviathan/MS/LF@N +levier/M/LF +Levin/M/LFN +Levine/M/LFN +levitate/XNGDS/LFTT +levitation/M/LFTXN +Leviticus/M/LFTKS +Levitt/M/LFT +levity/MS/LFT +Levon/M/LFN +Levy/M/LF +levy/SRDZG/LF +Lew/M/L +lewd/PYRT/LT +lewdness/MS/LTNS +Lewellyn/M/LWLN +Lewes//LWS +Lewie/M/LW +Lewinsky/M/LWNSK +lewis/M/LWS +Lewis/M/LWS +Lewiss//LWS +lex//LKS +lexeme/MS/LKSM +Lexi/MS/LKS +lexical/Y/LKSKL +lexicographer/MS/LKSKKRF +lexicographic//LKSKKRFK +lexicographical/Y/LKSKKRFKL +lexicography/SM/LKSKKRF +lexicon/SM/LKSKN +Lexie/M/LKS +Lexine/M/LKSN +Lexington/M/LKSNTN +Lexus/M/LKSS +Lexy/M/LKS +Leyden/M/LTN +Leyla/M/LL +Lezley/M/LSL +Lezlie/M/LSL +lg//LK +Lhasa/SM/LHS +Lhotse/M/LHTS +Li/MY/L +Lia/M/L +liability/SAM/LBLT +liable/AP/LBL +liaise/GSD/LS +liaison/SM/LSN +Liam/M/LM +Lian/M/LN +Liana/M/LN +Liane/M/LN +Lianna/M/LN +Lianne/M/LN +liar/MS/L +Lib/M/LB +lib/MS/LB +libation/SM/LBXN +libbed//LBT +Libbey/M/LB +Libbi/M/LB +Libbie/M/LB +libbing//LBN +Libby/M/LB +libel/GMRDSZ/LBL +libeler/M/LBL +libelous/Y/LBLS +Liberace/M/LBRS +liberal/YSP/LBRL +liberalism/MS/LBRLSM +liberality/MS/LBRLT +liberalization/SM/LBRLSXN +liberalize/GZSRD/LBRLS +liberalized/U/LBRLST +liberalizer/M/LBRLS +liberalness/MS/LBRLNS +liberate/NGDSCX/LBRT +liberation/MC/LBRXN +liberationists//LBRXNSTS +liberator/SCM/LBRT +Liberia/M/LBR +Liberian/S/LBRN +libertarian/MS/LBTRN +libertarianism/M/LBTRNSM +libertine/MS/LBTN +liberty/MS/LBT +libidinal//LBTNL +libidinous/PY/LBTNS +libidinousness/M/LBTNSNS +libido/MS/LBT +Libra/SM/LBR +librarian/MS/LBRRN +library/MS/LBRR +libretoes//LBRTS +libretos//LBRTS +librettist/MS/LBRTST +libretto/MS/LBRT +Libreville/M/LBRFL +Librium/M/LBRM +Libya/M/LBY +Libyan/S/LBYN +lice/M/LS +license/MGBRSD/LSNS +licensed/AU/LSNST +licensee/SM/LSNS +licenser/M/LSNS +licenses/A/LSNSS +licensing/A/LSNSN +licensor/M/LSNS +licentiate/MS/LSNXT +licentious/PY/LSNXS +licentiousness/MS/LSNXSNS +Licha/M/LX +lichee's//LXS +lichen/DMGS/LXN +Lichtenstein/M/LXTNSTN +Lichter/M/LXT +licit/Y/LST +lick/GRDSJ/LK +licked/U/LKT +licker/M/LK +lickerish//LKRX +licking/M/LKN +licorice/SM/LKRS +lid/MS/LT +Lida/M/LT +lidded//LTT +lidding//LTN +Lidia/M/LT +lidless//LTLS +lido/MS/LT +lie/DRS/L +Lie/M/L +Lieberman/M/LBMN +Liebfraumilch/M/LBFRMLX +Liechtenstein/RMZ/LXTNSTN +lied/MR/LT +Lief/M/LF +lief/TSR/LF +liefs/A/LFS +Liege/M/LK +liege/SR/LK +lien/SM/LN +lier/IMA/L +lies/A/LS +Liesa/M/LS +lieu/SM/L +lieut//LT +Lieut/M/LT +lieutenancy/MS/LTNNS +lieutenant/SM/LTNNT +life/MZR/LF +lifeblood/SM/LFBLT +lifeboat/SM/LFBT +lifebuoy/S/LFB +lifeforms//LFFMS +lifeguard/MDSG/LFKT +lifeless/PY/LFLS +lifelessness/SM/LFLSNS +lifelike/P/LFLK +lifelikeness/M/LFLKNS +lifeline/SM/LFLN +lifelong//LFLNK +lifer/M/LF +lifesaver/SM/LFSF +lifesaving/S/LFSFN +lifespan/S/LFSPN +lifestyle/S/LFSTL +lifetaking//LFTKN +lifetime/MS/LFTM +lifework/MS/LFWK +LIFO//LF +lift/GZMRDS/LFT +lifter/M/LFT +liftoff/MS/LFTF +ligament/MS/LKMNT +ligand/MS/LKNT +ligate/XSDNG/LKT +ligation/M/LKXN +ligature/DSGM/LKTR +light/ADSCG/LT +lighted/U/LTT +lighten/ZGDRS/LTN +lightener/M/LTN +lightening/M/LTNN +lighter/CM/LT +lightered//LTRT +lightering//LTRN +lighters//LTS +lightest//LTST +lightface/SDM/LTFS +lightheaded//L@TT +lighthearted/PY/L@TT +lightheartedness/MS/L@TTNS +lighthouse/MS/L@S +lighting/MS/LTN +lightly//LTL +lightness/MS/LTNS +lightning/SMD/LTNN +lightproof//LTPRF +light's//LTS +lightship/SM/LTXP +lightweight/S/LTWT +ligneous//LKNS +lignite/MS/LKNT +lignum//LKNM +likability/MS/LKBLT +likable/P/LKBL +likableness/MS/LKBLNS +like/USPBY/LK +likeability's//LKBLTS +liked/E/LKT +likelihood/MSU/LKLHT +likely/UPRT/LKL +liken/GSD/LKN +likeness/MSU/LKNS +liker/E/LK +liker's//LKS +likes/E/LKS +likest//LKST +likewise//LKWS +liking/SM/LKN +Lil/MY/LL +Lila/SM/LL +lilac/MS/LLK +Lilah/M/LL +Lilia/MS/LL +Lilian/M/LLN +Liliana/M/LLN +Liliane/M/LLN +Lilith/M/LL@ +Liliuokalani/M/LLKLN +Lilla/M/LL +Lille/M/LL +Lilli/MS/LL +Lillian/M/LLN +Lillie/M/LL +Lilliput/M/LLPT +lilliputian/S/LLPXN +Lilliputian/SM/LLPXN +Lilllie/M/LL +Lilly/M/LL +Lilongwe/M/LLNKW +lilt/MDSG/LLT +lilting/YP/LLTN +Lily/M/LL +lily/MSD/LL +Lilyan/M/LLYN +Lima/M/LM +limb/SGZRDM/LM +Limbaugh/M/LMB +limber/RDYTGP/LMB +limbered/U/LMBRT +limberness/SM/LMBNS +limbers/U/LMBS +limbic//LMBK +limbless//LMBLS +Limbo//LMB +limbo/GDMS/LMB +Limburger/SM/LMBK +lime/DSMG/LM +limeade/SM/LMT +limekiln/M/LMKLN +limelight/DMGS/LMLT +limerick/SM/LMRK +limestone/SM/LMSTN +limit/CSZGRD/LMT +limitability//LMTBLT +limitably//LMTBL +limitation/MCS/LMTXN +limited/PSY/LMTT +limitedly/U/LMTTL +limitedness/M/LMTTNS +limiter/M/LMT +limiting/S/LMTN +limitless/PY/LMTLS +limitlessness/SM/LMTLSNS +limit's//LMTS +limn/GSD/LMN +limo/S/LM +Limoges/M/LMKS +limousine/SM/LMSN +limp/SGTPYRD/LMP +limper/M/LMP +limpet/SM/LMPT +limpid/YP/LMPT +limpidity/MS/LMPTT +limpidness/SM/LMPTNS +limpness/MS/LMPNS +Limpopo/M/LMPP +limy/TR/LM +Lin/M/LN +Lina/M/LN +linage/MS/LNK +Linc/M/LNK +linchpin/MS/LNXPN +Lincoln/SM/LNKLN +Lind/M/LNT +Linda/M/LNT +Lindberg/M/LNTBK +Lindbergh/M/LNTB +linden/MS/LNTN +Lindholm/M/LNTHLM +Lindi/M/LNT +Lindie/M/LNT +Lindon/M/LNTN +Lindquist/M/LNTKST +Lindsay/M/LNTS +Lindsey/M/LNTS +Lindstrom/M/LNTSTRM +Lindsy/M/LNTS +Lindy/M/LNT +line/AGDS/LN +Linea/M/LN +lineage/SM/LNK +lineal/Y/LNL +lineament/MS/LNMNT +linear/Y/LN +linearity/MS/LNRT +linearize/SDGNB/LNRS +linebacker/SM/LNBK +lined/U/LNT +linefeed//LNFT +Linell/M/LNL +lineman/M/LNMN +linemen//LNMN +linen/SM/LNN +liner/SM/LN +line's//LNS +linesman/M/LNSMN +linesmen//LNSMN +Linet/M/LNT +Linette/M/LNT +lineup/S/LNP +ling/ZR/LN +linger/ZGJRD/LN +lingerer/M/LNR +lingerie/SM/LNR +lingering/Y/LNRN +lingo/M/LN +lingoes//LNS +lingua/M/LN +lingual/SY/LNL +linguine//LNN +linguini's//LNNS +linguist/SM/LNST +linguistic/S/LNSTK +linguistically//LNSTKL +linguistics/M/LNSTKS +liniment/MS/LNMNT +lining/SM/LNN +Link/M/LNK +link/USGD/LNK +linkable//LNKBL +linkage/SM/LNKK +linked/A/LNKT +linker/S/LNK +linking/S/LNKN +link's//LNKS +linkup/S/LNKP +Linn/M/LN +Linnaeus/M/LNS +Linnea/M/LN +Linnell/M/LNL +Linnet/M/LNT +linnet/SM/LNT +Linnie/M/LN +lino/M/LN +Linoel/M/LNL +linoleum/SM/LNLM +Linotype/M/LNTP +linseed/SM/LNST +lint/SMR/LNT +lintel/SM/LNTL +linter/M/LNT +Linton/M/LNTN +linty/RST/LNT +Linus/M/LNS +Linux/M/LNKS +Linwood/M/LNWT +Linzy/M/LNS +Lion/M/LN +lion/MS/LN +Lionel/M/LNL +Lionello/M/LNL +lioness/SM/LNS +lionhearted//LNHTT +lionization/SM/LNSXN +lionize/ZRSDG/LNS +lionizer/M/LNS +lip/MS/LP +lipase/M/LPS +lipid/MS/LPT +liposuction/S/LPSKXN +lipped//LPT +lipper//LP +Lippi/M/LP +lipping//LPN +Lippmann/M/LPMN +lippy/TR/LP +lipread/GSRJ/LPRT +Lipschitz/M/LPSXTS +Lipscomb/M/LPSKM +lipstick/MDSG/LPSTK +Lipton/M/LPTN +liq//LK +liquefaction/SM/LKFKXN +liquefier/M/LKF +liquefy/DRSGZ/LKF +liqueur/DMSG/LK +liquid/SPMY/LKT +liquidate/GNXSD/LKTT +liquidation/M/LKTXN +liquidator/SM/LKTT +liquidity/SM/LKTT +liquidize/ZGSRD/LKTS +liquidizer/M/LKTS +liquidness/M/LKTNS +liquor/SDMG/LK +liquorice/SM/LKRS +liquorish//LKRX +lira/M/LR +Lira/M/LR +lire//LR +Lisa/M/LS +Lisabeth/M/LSB@ +Lisbeth/M/LSB@ +Lisbon/M/LSBN +Lise/M/LS +Lisetta/M/LST +Lisette/M/LST +Lisha/M/LX +Lishe/M/LX +Lisle/M/LSL +lisle/SM/LSL +lisp/MRDGZS/LSP +lisper/M/LSP +Liss/M/LS +Lissa/M/LS +Lissajous/M/LSKS +Lissi/M/LS +Lissie/M/LS +lissome/P/LSM +lissomeness/M/LSMNS +lissomness/M/LSMNS +Lissy/M/LS +list/JMRDNGZXS/LST +listed/U/LSTT +listen/ZGRD/LSTN +listener/M/LSTN +lister/M/LST +Lister/M/LST +Listerine/M/LSTRN +listing/M/LSTN +listless/PY/LSTLS +listlessness/SM/LSTLSNS +Liston/M/LSTN +Liszt/M/LSST +lit/RZS/LT +Lita/M/LT +litany/MS/LTN +litchi/SM/LX +lite/S/LT +liter/M/LT +literacy/MS/LTRS +literal/PYS/LTRL +literalism/M/LTRLSM +literalistic//LTRLSTK +literalness/MS/LTRLNS +literariness/SM/LTRRNS +literary/P/LTRR +literate/YNSP/LTRT +literati//LTRT +literation/M/LTRXN +literature/SM/LTRTR +lithe/PRTY/L@ +litheness/SM/L@NS +lithesome//L@SM +lithium/SM/L@M +lithograph/DRMGZ/L@KRF +lithographer/M/L@KRF +lithographic//L@KRFK +lithographically//L@KRFKL +lithographs//L@KRFS +lithography/MS/L@KRF +lithology/M/L@LK +lithosphere/MS/L@SFR +lithospheric//L@SFRK +Lithuania/M/L@N +Lithuanian/S/L@NN +litigant/MS/LTKNT +litigate/NGXDS/LTKT +litigation/M/LTKXN +litigator/SM/LTKT +litigious/PY/LTKS +litigiousness/MS/LTKSNS +litmus/SM/LTMS +litotes/M/LTTS +litter/SZGRDM/LT +littérateur/S/LTRT +litterbug/SM/LTBK +Little/M/LTL +little/RSPT/LTL +littleneck/M/LTLNK +littleness/SM/LTLNS +Littleton/M/LTLTN +Litton/M/LTN +littoral/S/LTRL +liturgic/S/LTKK +liturgical/Y/LTKKL +liturgics/M/LTKKS +liturgist/MS/LTKST +liturgy/SM/LTK +Liuka/M/LK +Liv/M/LF +Liva/M/LF +livability/MS/LFBLT +livable/U/LFBL +livableness/M/LFBLNS +livably//LFBL +live/YHZTGJDSRPB/LF +lived/A/LFT +livelihood/SM/LFLHT +liveliness/SM/LFLNS +livelong/S/LFLNK +lively/RTP/LFL +liven/SDG/LFN +liveness/M/LFNS +liver/CSGD/LF +liveried//LFRT +liverish//LFRX +Livermore/M/LFMR +Liverpool/M/LFPL +Liverpudlian/MS/LFPTLN +liver's//LFS +liverwort/SM/LFWT +liverwurst/SM/LFWST +livery/CMS/LFR +liveryman/MC/LFRMN +liverymen/C/LFRMN +lives/A/LFS +lives's//LFSS +livestock/SM/LFSTK +Livia/M/LF +livid/YP/LFT +lividness/M/LFTNS +living/YP/LFN +livingness/M/LFNNS +Livingston/M/LFNSTN +Livingstone/M/LFNSTN +Livonia/M/LFN +Livvie/M/LFF +Livvy/M/LFF +Livvyy/M/LFF +Livy/M/LF +Liz/M/LS +Liza/M/LS +Lizabeth/M/LSB@ +lizard/MS/LST +Lizbeth/M/LSB@ +Lizette/M/LST +Lizzie/M/LS +Lizzy/M/LS +Ljubljana/M/LKBLKN +LL//L +ll/C/L +llama/SM/LM +llano/SM/LN +LLB//LB +LLD//LT +Llewellyn/M/LWLN +Lloyd/M/LT +Llywellyn/M/LWLN +LNG//LNK +lo//L +load/SURDZG/LT +loadable//LTBL +loaded/A/LTT +loader/MU/LT +loading/MS/LTN +loads/A/LTS +load's/A/LTS +loadstar's//LTSTS +loadstone's//LTSTNS +loaf/SRDMGZ/LF +loafer/M/LF +Loafer/S/LF +loam/SMDG/LM +loamy/RT/LM +loan/SGZRDMB/LN +loaner/M/LN +loaning/M/LNN +loansharking/S/LNXKN +loanword/S/LNWT +loath/JPSRDYZG/L@ +loathe//L@ +loather/M/L@ +loathing/M/L@N +loathness/M/L@NS +loathsome/PY/L@SM +loathsomeness/MS/L@SMNS +loaves/M/LFS +lob/MDSG/LB +Lobachevsky/M/LBXFSK +lobar//LB +lobbed//LBT +lobber/MS/LB +lobbing//LBN +lobby/GSDM/LB +lobbyist/MS/LBYST +lobe/SM/LB +lobotomist//LBTMST +lobotomize/GDS/LBTMS +lobotomy/MS/LBTM +lobster/MDGS/LBST +lobular/Y/LBL +lobularity//LBLRT +lobule/SM/LBL +local/SGDY/LKL +locale/MS/LKL +localisms//LKLSMS +locality/MS/LKLT +localization/MS/LKLSXN +localize/ZGDRS/LKLS +localized/U/LKLST +localizer/M/LKLS +localizes/U/LKLSS +locatable//LKTBL +locate/AXESDGN/LKT +locater/M/LKT +location/EMA/LKXN +locational/Y/LKXNL +locative/S/LKTF +locator's//LKTS +loch/M/LX +Lochinvar/M/LXNF +lochs//LXS +loci/M/LS +Lock/M/LK +lock/UGSD/LK +lockable//LKBL +Locke/M/LK +Lockean/M/LKN +locked/A/LKT +locker/SM/LK +locket/SM/LKT +Lockhart/M/LKHT +Lockheed/M/LKHT +Lockian/M/LKN +locking/S/LKN +lockjaw/SM/LKK +locknut/M/LKNT +lockout/MS/LKT +lock's//LKS +locksmith/MG/LKSM@ +locksmithing/M/LKSM@N +locksmiths//LKSM@S +lockstep/S/LKSTP +lockup/MS/LKP +Lockwood/M/LKWT +loco/SDMG/LK +locomotion/SM/LKMXN +locomotive/YMS/LKMTF +locomotor//LKMT +locomotory//LKMTR +locoweed/MS/LKWT +locus/M/LKS +locust/SM/LKST +locution/MS/LKXN +lode/SM/LT +lodestar/MS/LTST +lodestone/MS/LTSTN +lodge/GMZSRDJ/LK +Lodge/M/LK +lodged/E/LKT +lodgepole//LKPL +lodger/M/LKR +lodges/E/LKS +lodging/M/LKNK +lodgment/M/LTKMNT +Lodovico/M/LTFK +Lodowick/M/LTWK +Lodz//LTS +Loeb/M/LB +Loella/M/LL +Loewe/M/LW +Loewi/M/LW +loft/SGMRD/LFT +lofter/M/LFT +loftily//LFTL +loftiness/SM/LFTNS +lofty/PTR/LFT +log/SM/LK +Logan/M/LKN +loganberry/SM/LKNBR +logarithm/MS/LKR@M +logarithmic//LKR@MK +logarithmically//LKR@MKL +logbook/MS/LKBK +loge/SMNX/LK +logged/U/LKT +logger/SM/LK +loggerhead/SM/LKHT +loggia/SM/LK +logging/MS/LKN +logic/SM/LKK +logical/SPY/LKKL +logicality/MS/LKKLT +logicalness/M/LKKLNS +logician/SM/LKXN +login/S/LKN +logion/M/LKN +logistic/MS/LKSTK +logistical/Y/LKSTKL +logjam/SM/LKKM +LOGO//LK +logo/SM/LK +logotype/MS/LKTP +logout//LKT +logrolling/SM/LKRLN +log's/K/LKS +logy/RT/LK +Lohengrin/M/LHNKRN +loin/SM/LN +loincloth/M/LNKL@ +loincloths//LNKL@S +Loire/M/LR +Lois/M/LS +Loise/M/LS +loiter/RDJSZG/LT +loiterer/M/LTR +Loki/M/LK +Lola/M/LL +Loleta/M/LLT +Lolita/M/LLT +loll/RDGS/LL +loller/M/LL +lollipop/MS/LLPP +Lolly/M/LL +lolly/SM/LL +Lomb/M/LM +Lombard/M/LMBT +Lombardi/M/LMBT +Lombardy/M/LMBT +Lome//LM +Lon/M/LN +Lona/M/LN +London/RMZ/LNTN +Londonderry/M/LNTNTR +Londoner/M/LNTN +lone/PYZR/LN +Lonee/M/LN +loneliness/SM/LNLNS +lonely/TRP/LNL +loneness/M/LNNS +loner/M/LN +lonesome/PSY/LNSM +lonesomeness/MS/LNSMNS +long/JGTYRDPS/LNK +Long/M/LNK +longboat/MS/LNKBT +longbow/SM/LNKB +longed/K/LNKT +longeing//LNKN +longer/K/LNK +longevity/MS/LNKFT +Longfellow/M/LNKFL +longhair/SM/LNK +longhand/SM/LNKNT +longhorn/SM/LNKN +longing/MY/LNKN +longish//LNKX +longitude/MS/LNKTT +longitudinal/Y/LNKTTNL +longness/M/LNKNS +longs/K/LNKS +longshoreman/M/LNKXRMN +longshoremen//LNKXRMN +longsighted//LNKSTT +longstanding//LNKSTNTN +Longstreet/M/LNKSTRT +longsword//LNKSWT +longterm//LNKTM +longtime//LNKTM +Longueuil/M/LNKL +longueur/SM/LNK +longways//LNKWS +longword/SM/LNKWT +Loni/M/LN +Lonna/M/LN +Lonnard/M/LNT +Lonni/M/LN +Lonnie/M/LN +Lonny/M/LN +loofah/M/LF +loofahs//LFS +look/GZRDS/LK +lookahead//LKHT +lookalike/S/LKLK +looker/M/LK +lookout/MS/LKT +lookup/SM/LKP +loom/MDGS/LM +looming/M/LMN +Loomis/M/LMS +loon/MS/LN +loony/SRT/LN +loop/MRDGS/LP +looper/M/LP +loophole/MGSD/LFL +loopy/TR/LP +loose/SRDPGTY/LS +loosed/U/LST +looseleaf//LSLF +loosen/UDGS/LSN +loosener/M/LSN +looseness/MS/LSNS +looses/U/LSS +loosing/M/LSN +loot/MRDGZS/LT +looter/M/LT +lop/SDRG/LP +lope/S/LP +loper/M/LP +Lopez/M/LPS +lopped//LPT +lopper/MS/LP +lopping//LPN +lopsided/YP/LPSTT +lopsidedness/SM/LPSTTNS +loquacious/YP/LKSS +loquaciousness/MS/LKSSNS +loquacity/SM/LKST +Lora/M/LR +Lorain/M/LRN +Loraine/M/LRN +Loralee/M/LRL +Loralie/M/LRL +Loralyn/M/LRLN +Lorant/M/LRNT +Lord/MS/LT +lord/MYDGS/LT +lording/M/LTN +lordliness/SM/LTLNS +lordly/PTR/LTL +lordship/SM/LTXP +Lordship/SM/LTXP +lore/MS/LR +Loree/M/LR +Loreen/M/LRN +Lorelei/M/LRL +Lorelle/M/LRL +Loren/SM/LRN +Lorena/M/LRN +Lorene/M/LRN +Lorentz/M/LRNTS +Lorentzian/M/LRNTSN +Lorenz/M/LRNS +Lorenza/M/LRNS +Lorenzo/M/LRNS +Loretta/M/LRT +Lorette/M/LRT +lorgnette/SM/LKNT +Lori/M/LR +Loria/M/LR +Lorianna/M/LRN +Lorianne/M/LRN +Lorie/M/LR +Lorilee/M/LRL +Lorilyn/M/LRLN +Lorin/M/LRN +Lorinda/M/LRNT +Lorine/M/LRN +loris/SM/LRS +Lorita/M/LRT +lorn//LN +Lorna/M/LN +Lorne/M/LN +Lorraine/M/LRN +Lorrayne/M/LRN +Lorre/M/LR +Lorri/M/LR +Lorrie/M/LR +Lorrin/M/LRN +Lorry/M/LR +lorry/SM/LR +lorryload/S/LRLT +Lory/M/LR +Los//LS +lose/ZGJBSR/LS +loser/M/LS +loss/SM/LS +lossage//LSK +lossless//LSLS +lossy/RT/LS +lost/P/LST +Lot/M/LT +lot/MS/LT +Lothaire/M/L@R +Lothario/MS/L@R +lotion/MS/LXN +Lott/M/LT +Lotta/M/LT +Lotte/M/LT +lotted//LTT +lotter//LT +lottery/MS/LTR +Lotti/M/LT +Lottie/M/LT +lotting//LTN +lotto/MS/LT +Lotty/M/LT +lotus/SM/LTS +Lou/M/L +loud/YRNPT/LT +louden/DG/LTN +loudhailer/S/LTHL +loudly/RT/LTL +loudmouth/DM/LTM@ +loudmouths//LTM@S +loudness/MS/LTNS +loudspeaker/SM/LTSPK +loudspeaking//LTSPKN +Louella/M/LL +Louie/M/L +Louis/M/LS +Louisa/M/LS +Louise/M/LS +Louisette/M/LST +Louisiana/M/LXN +Louisianan/S/LXNN +Louisianian/S/LXNN +Louisville/M/LSFL +lounge/SRDZG/LNK +lounger/M/LNK +lour/GSD/L +Lourdes/M/LTS +louse/CSDG/LS +louse's//LSS +lousewort/M/LSWT +lousily//LSL +lousiness/MS/LSNS +lousy/PRT/LS +lout/SGMD/LT +loutish/YP/LTX +loutishness/M/LTXNS +Loutitia/M/LTX +louver/DMS/LF +L'Ouverture//LFTR +Louvre/M/LFR +lovable/U/LFBL +lovableness/MS/LFBLNS +lovably//LFBL +love/DSRMYZGJB/LF +Love/M/LF +lovebird/SM/LFBT +lovechild//LFXLT +Lovecraft/M/LFKRFT +loved/U/LFT +Lovejoy/M/LFK +Lovelace/M/LFLS +Loveland/M/LFLNT +loveless/YP/LFLS +lovelessness/M/LFLSNS +lovelies//LFLS +loveliness/UM/LFLNS +lovelinesses//LFLNSS +Lovell/M/LFL +lovelorn/P/LFLN +lovelornness/M/LFLNS +lovely/URPT/LFL +lovemaking/SM/LFMKN +lover/YMG/LF +lovesick//LFSK +lovestruck//LFSTRK +loving/U/LFN +lovingly//LFNL +lovingness/M/LFNNS +low/PDRYSZTG/L +lowborn//LBN +lowboy/SM/LB +lowbrow/MS/LBR +lowdown/S/LTN +Lowe/M/LW +Lowell/M/LWL +lower/DG/LW +lowercase/GSD/LWKS +lowermost//LWMST +Lowery/M/LWR +lowish//LWX +lowland/RMZS/LLNT +Lowlands/M/LLNTS +lowlife/SM/LLF +lowlight/MS/LLT +lowliness/MS/LLNS +lowly/PTR/LL +lowness/MS/LNS +Lowrance/M/LRNS +lox/MDSG/LKS +Loy/M/L +loyal/EY/LYL +loyaler//LYL +loyalest//LYLST +loyalism/SM/LYLSM +loyalist/SM/LYLST +loyalty/EMS/LYLT +Loyang/M/LYNK +Loyd/M/LT +Loydie/M/LT +Loyola/M/LYL +lozenge/SDM/LSNK +LP//LP +LPG//LPK +LPN/S/LPN +Lr//LR +ls//LS +l's//LS +L's//LS +LSD//LST +Lt/M/LT +ltd//LTT +Ltd/M/LTT +Lu/M/L +Luanda/M/LNT +Luann/M/LN +luau/MS/L +lubber/YMS/LB +Lubbock/M/LBK +lube/DSMG/LB +lubricant/SM/LBRKNT +lubricate/VNGSDX/LBRKT +lubrication/M/LBRKXN +lubricator/MS/LBRKT +lubricious/Y/LBRSS +lubricity/SM/LBRST +Lubumbashi/M/LBMBX +Luca/MS/LK +Lucais/M/LKS +Luce/M/LS +lucent/Y/LSNT +Lucerne/M/LSN +Lucho/M/LX +Luci/MN/LS +Lucia/MS/LX +Lucian/M/LXN +Luciana/M/LXN +Luciano/M/LXN +lucid/YP/LST +lucidity/MS/LSTT +lucidness/MS/LSTNS +Lucie/M/LS +Lucien/M/LSN +Lucienne/M/LSN +Lucifer/M/LSF +Lucila/M/LSL +Lucile/M/LSL +Lucilia/M/LSL +Lucille/M/LSL +Lucina/M/LSN +Lucinda/M/LSNT +Lucine/M/LSN +Lucio/M/LS +Lucita/M/LST +Lucite/MS/LST +Lucius/M/LSS +luck/GSDM/LK +luckier/U/LK +luckily/U/LKL +luckiness/UMS/LKNS +luckless//LKLS +Lucknow/M/LKN +Lucky/M/LK +lucky/RSPT/LK +lucrative/YP/LKRTF +lucrativeness/SM/LKRTFNS +lucre/MS/LKR +Lucretia/M/LKRX +Lucretius/M/LKRTS +lucubrate/GNSDX/LKBRT +lucubration/M/LKBRXN +Lucy/M/LS +Luddite/SM/LTT +Ludhiana/M/LTHN +ludicrous/PY/LTKRS +ludicrousness/SM/LTKRSNS +Ludlow/M/LTL +Ludmilla/M/LTML +ludo/M/LT +Ludovico/M/LTFK +Ludovika/M/LTFK +Ludvig/M/LTFK +Ludwig/M/LTWK +Luella/M/LL +Luelle/M/LL +luff/GSDM/LF +Lufthansa/M/LF@NS +Luftwaffe/M/LFTWF +lug/RS/LK +luge/MC/LK +Luger/M/LK +luggage/SM/LKK +lugged//LKT +lugger/SM/LK +lugging//LKN +Lugosi/M/LKS +lugsail/SM/LKSL +lugubrious/YP/LKBRS +lugubriousness/MS/LKBRSNS +Luigi/M/LK +Luis/M/LS +Luisa/M/LS +Luise/M/LS +Lukas/M/LKS +Luke/M/LK +lukewarm/PY/LKWM +lukewarmness/SM/LKWMNS +Lula/M/LL +Lulita/M/LLT +lull/SDG/LL +lullaby/GMSD/LLB +lulu/M/LL +Lulu/M/LL +lumbago/SM/LMBK +lumbar/S/LMB +lumber/RDMGZSJ/LMB +lumberer/M/LMBR +lumbering/M/LMBRN +lumberjack/MS/LMBKK +lumberman/M/LMBMN +lumbermen//LMBMN +lumberyard/MS/LMBRYT +lumen/M/LMN +Lumière/M/LMR +luminance/M/LMNNS +luminary/MS/LMNR +luminescence/SM/LMNSNS +luminescent//LMNSNT +luminosity/MS/LMNST +luminous/YP/LMNS +luminousness/M/LMNSNS +lummox/MS/LMKS +lump/SGMRDN/LMP +lumper/M/LMP +lumpiness/MS/LMPNS +lumpish/YP/LMPX +lumpishness/M/LMPXNS +lumpy/TPR/LMP +Luna/M/LN +lunacy/MS/LNS +lunar/S/LN +lunary//LNR +lunate/YND/LNT +lunatic/S/LNTK +lunation/M/LNXN +lunch/GMRSD/LNX +luncheon/SMDG/LNXN +luncheonette/SM/LNXNT +luncher/M/LNX +lunchpack//LNXPK +lunchroom/MS/LNXRM +lunchtime/MS/LNXTM +Lund/M/LNT +Lundberg/M/LNTBK +Lundquist/M/LNTKST +lune/M/LN +lung/SGRDM/LNK +lunge/MS/LNK +lunger/M/LNK +lungfish/SM/LNKFX +lungful//LNKFL +lunkhead/SM/LNKHT +Lupe/M/LP +lupine/SM/LPN +Lupus/M/LPS +lupus/SM/LPS +Lura/M/LR +lurch/RSDG/LX +lurcher/M/LX +lure/DSRG/LR +lurer/M/LR +Lurette/M/LRT +lurex//LRKS +Luria/M/LR +lurid/YP/LRT +luridness/SM/LRTNS +lurk/GZSRD/LK +lurker/M/LK +Lurleen/M/LLN +Lurlene/M/LLN +Lurline/M/LLN +Lusa/M/LS +Lusaka/M/LSK +luscious/PY/LSS +lusciousness/MS/LSSNS +lush/YSRDGTP/LX +lushness/MS/LXNS +Lusitania/M/LSTN +lust/MRDGZS/LST +luster/GDM/LST +lustering/M/LSTRN +lusterless//LSTLS +lustful/PY/LSTFL +lustfulness/M/LSTFLNS +lustily//LSTL +lustiness/MS/LSTNS +lustrous/PY/LSTRS +lustrousness/M/LSTRSNS +lusty/PRT/LST +lutanist/MS/LTNST +lute/DSMG/LT +lutenist/MS/LTNST +Lutero/M/LTR +lutetium/MS/LTTM +Luther/M/L@ +Lutheran/SM/L@RN +Lutheranism/MS/L@RNSM +luting/M/LTN +Lutz//LTS +luxe/MS/LKS +Luxembourg/RMZ/LKSMBK +Luxembourgian//LKSMBKN +Luxemburg's//LKSMBKS +luxuriance/MS/LKSRNS +luxuriant/Y/LKSRNT +luxuriate/GNSDX/LKSRT +luxuriation/M/LKSRXN +luxurious/PY/LKSRS +luxuriousness/SM/LKSRSNS +luxury/MS/LKSR +Luz/M/LS +Luzon/M/LSN +L'vov//LFF +Ly/MY/L +Lyallpur/M/LYLP +lyceum/MS/LSM +lychee's//LXS +lycopodium/M/LKPTM +Lycra/S/LKR +Lycurgus/M/LKKS +Lyda/M/LT +Lydia/M/LT +Lydian/S/LTN +Lydie/M/LT +Lydon/M/LTN +lye/JSMG/LY +Lyell/M/LYL +lying/Y/LYN +Lyle/M/LL +Lyly/M/LL +Lyman/M/LMN +Lyme/M/LM +lymph/M/LMF +lymphatic/S/LMFTK +lymphocyte/SM/LMFST +lymphoid//LMFT +lymphoma/MS/LMFM +lymphs//LMFS +Lyn/M/LN +Lynch/M/LNX +lynch/ZGRSDJ/LNX +Lynchburg/M/LNXBK +lyncher/M/LNX +lynching/M/LNXN +Lynda/M/LNT +Lynde/M/LNT +Lyndel/M/LNTL +Lyndell/M/LNTL +Lyndon/M/LNTN +Lyndsay/M/LNTS +Lyndsey/M/LNTS +Lyndsie/M/LNTS +Lyndy/M/LNT +Lynea/M/LN +Lynelle/M/LNL +Lynett/M/LNT +Lynette/M/LNT +Lynn/M/LN +Lynna/M/LN +Lynne/M/LN +Lynnea/M/LN +Lynnell/M/LNL +Lynnelle/M/LNL +Lynnet/M/LNT +Lynnett/M/LNT +Lynnette/M/LNT +Lynsey/M/LNS +lynx/MS/LNKS +Lyon/SM/LYN +Lyra/M/LR +lyre/SM/LR +lyrebird/MS/LRBT +lyric/S/LRK +lyrical/YP/LRKL +lyricalness/M/LRKLNS +lyricism/SM/LRSSM +lyricist/SM/LRSST +Lysenko/M/LSNK +lysine/M/LSN +Lysistrata/M/LSSTRT +Lysol/M/LSL +Lyssa/M/LS +LyX/M/LKS +m/ASK/M +M/GB/M +MA//M +ma/MH/M +Maalox/M/MLKS +ma'am//MM +Mab/M/MB +Mabel/M/MBL +Mabelle/M/MBL +Mable/M/MBL +Mac/SGMD/MK +mac/SGMDR/MK +macabre/Y/MKBR +macadam/SM/MKTM +macadamize/SDG/MKTMS +Macao/M/MK +macaque/SM/MKK +macaroni/SM/MKRN +macaroon/MS/MKRN +Macarthur/M/MK@ +MacArthur/M/MK@ +Macaulay/M/MKL +macaw/SM/MK +Macbeth/M/MKB@ +Maccabees/M/MKBS +Maccabeus/M/MKBS +Macdonald/M/MKTNLT +MacDonald/M/MKTNLT +MacDraw/M/MKTR +mace/MS/MS +Mace/MS/MS +Macedon/M/MSTN +Macedonia/M/MSTN +Macedonian/S/MSTNN +macer/M/MS +macerate/DSXNG/MSRT +maceration/M/MSRXN +Macgregor/M/MKKRK +MacGregor/M/MKKRK +Mach/M/MX +machete/SM/MXT +Machiavelli/M/MXFL +Machiavellian/S/MXFLN +machinate/SDXNG/MXNT +machination/M/MXNXN +machine/MGSDB/MXN +machinelike//MXNLK +machinery/SM/MXNR +machinist/MS/MXNST +machismo/SM/MXSM +macho/S/MX +Machs//MXS +Macias/M/MXS +Macintosh/M/MSNTX +MacIntosh/M/MSNTX +macintosh's//MSNTXS +mack/M/MK +Mack/M/MK +Mackenzie/M/MKNS +MacKenzie/M/MKNS +mackerel/SM/MKRL +Mackinac/M/MKNK +Mackinaw//MKN +mackinaw/SM/MKN +mackintosh/SM/MKNTX +MacLeish/M/MKLX +Macmillan/M/MKMLN +MacMillan/M/MKMLN +Macon/SM/MKN +MacPaint/M/MKPNT +macramé/S/MKRM +macro/SM/MKR +macrobiotic/S/MKRBTK +macrobiotics/M/MKRBTKS +macrocosm/MS/MKRKSM +macrodynamic//MKRTNMK +macroeconomic/S/MKRKNMK +macroeconomics/M/MKRKNMKS +macromolecular//MKRMLKL +macromolecule/SM/MKRMLKL +macron/MS/MKRN +macrophage/SM/MKRFK +macroscopic//MKRSKPK +macroscopically//MKRSKPKL +macrosimulation//MKRSMLXN +macrosocioeconomic//MKRSSKNMK +Macy/M/MS +mad/PSY/MT +Mada/M/MT +Madagascan/SM/MTKSKN +Madagascar/M/MTKSK +Madalena/M/MTLN +Madalyn/M/MTLN +madam/SM/MTM +madame/M/MTM +Madame/MS/MTM +madcap/S/MTKP +Maddalena/M/MTLN +madded//MTT +madden/GSD/MTN +Madden/M/MTN +maddening/Y/MTNN +madder/MS/MT +maddest//MTST +Maddi/M/MT +Maddie/M/MT +madding//MTN +Maddox/M/MTKS +Maddy/M/MT +made/AU/MT +Madeira/SM/MTR +Madel/M/MTL +Madelaine/M/MTLN +Madeleine/M/MTLN +Madelena/M/MTLN +Madelene/M/MTLN +Madelin/M/MTLN +Madelina/M/MTLN +Madeline/M/MTLN +Madella/M/MTL +Madelle/M/MTL +Madelon/M/MTLN +Madelyn/M/MTLN +mademoiselle/MS/MTMSL +Madge/M/MK +madhouse/SM/MTHS +Madhya/M/MTHY +Madison/M/MTSN +Madlen/M/MTLN +Madlin/M/MTLN +madman/M/MTMN +madmen//MTMN +madness/SM/MTNS +Madonna/MS/MTN +Madras//MTRS +madras/SM/MTRS +Madrid/M/MTRT +madrigal/MSG/MTRKL +Madsen/M/MTSN +Madurai/M/MTR +madwoman/M/MTWMN +madwomen//MTWMN +Mady/M/MT +Mae/M/M +Maegan/M/MKN +Maelstrom/M/MLSTRM +maelstrom/SM/MLSTRM +maestro/MS/MSTR +Maeterlinck/M/MTLNK +Mafia/MS/MF +mafia/S/MF +mafiosi//MFS +mafioso/M/MFS +Mafioso/S/MFS +MAG//MK +Mag/M/MK +mag/S/MK +magazine/DSMG/MKSN +Magda/M/MKT +Magdaia/M/MKT +Magdalen/M/MKTLN +Magdalena/M/MKTLN +Magdalene/M/MKTLN +Magellan/M/MKLN +Magellanic//MKLNK +magenta/MS/MKNT +magged//MKT +Maggee/M/MK +Maggi/M/MK +Maggie/M/MK +magging//MKN +maggot/MS/MKT +maggoty/RT/MKT +Maggy/M/MK +magi//MK +Magi/M/MK +magic/SM/MKK +magical/Y/MKKL +magician/MS/MKXN +magicked//MKKT +magicking//MKKN +Magill/M/MKL +Maginot/M/MKNT +magisterial/Y/MKSTRL +magistracy/MS/MKSTRS +magistrate/MS/MKSTRT +magma/SM/MKM +magnanimity/SM/MKNNMT +magnanimosity//MKNNMST +magnanimous/PY/MKNNMS +magnate/SM/MKNT +magnesia/MS/MKNX +magnesite/M/MKNST +magnesium/SM/MKNSM +magnet/SM/MKNT +magnetic/S/MKNTK +magnetically//MKNTKL +magnetics/M/MKNTKS +magnetism/SM/MKNTSM +magnetite/SM/MKNTT +magnetizable//MKNTSBL +magnetization/ASCM/MKNTSXN +magnetize/CGDS/MKNTS +magnetized/U/MKNTST +magneto/MS/MKNT +magnetodynamics//MKNTTNMKS +magnetohydrodynamical//MKNTHTRTNMKL +magnetohydrodynamics/M/MKNTHTRTNMKS +magnetometer/MS/MKNTMT +magnetosphere/M/MKNTSFR +magnetron/M/MKNTRN +magnification/M/MKNFKXN +magnificence/SM/MKNFSNS +magnificent/Y/MKNFSNT +magnified/U/MKNFT +magnify/DRSGNXZ/MKNF +magniloquence/MS/MKNLKNS +magniloquent//MKNLKNT +Magnitogorsk/M/MKNTKSK +magnitude/SM/MKNTT +magnolia/SM/MKNL +Magnum//MKNM +magnum/SM/MKNM +Magnuson/M/MKNSN +Magog/M/MKK +Magoo/M/MK +magpie/SM/MKP +Magritte/M/MKRT +Magruder/M/MKRT +Magsaysay/M/MKSS +Maguire/SM/MKR +Magus/M/MKS +Magyar/MS/MKY +Mahabharata//MHBHRT +Mahala/M/MHL +Mahalia/M/MHL +maharajah/M/MHRK +maharajahs//MHRKS +maharanee's//MHRNS +maharani/MS/MHRN +Maharashtra/M/MHRXTR +maharishi/SM/MHRX +mahatma/SM/MHTM +Mahavira/M/MHFR +Mahayana/M/MHYN +Mahayanist//MHYNST +Mahdi/M/MT +Mahfouz/M/MFS +Mahican/SM/MHKN +mahjong's//MKNKS +Mahler/M/ML +Mahmoud/M/MMT +Mahmud/M/MMT +mahogany/MS/MHKN +Mahomet's//MHMTS +mahout/SM/MHT +Mai/MR/M +Maia/M/M +Maible/M/MBL +maid/SMNX/MT +maiden/YM/MTN +maidenhair/MS/MTNH +maidenhead/SM/MTNHT +maidenhood/SM/MTNHT +maidenly/P/MTNL +maidservant/MS/MTSFNT +maier//M +Maier/M/M +Maiga/M/MK +Maighdiln/M/MTLN +Maigret/M/MKRT +mail/BSJGZMRD/ML +mailbag/MS/MLBK +mailbox/MS/MLBKS +mailer/M/ML +Mailer/M/ML +Maillol/M/MLL +maillot/SM/MLT +mailman/M/MLMN +mailmen//MLMN +maim/SGZRD/MM +Maiman/M/MMN +maimed/P/MMT +maimedness/M/MMTNS +maimer/M/MM +Maimonides/M/MMNTS +main/SA/MN +mainbrace/M/MNBRS +Maine/MZR/MN +Mainer/M/MN +mainframe/MS/MNFRM +mainland/SRMZ/MNLNT +mainlander/M/MNLNT +mainline/RSDZG/MNLN +mainliner/M/MNLN +mainly//MNL +mainmast/SM/MNMST +mains/M/MNS +mainsail/SM/MNSL +mainspring/SM/MNSPRN +mainstay/MS/MNST +mainstream/DRMSG/MNSTRM +maintain/BRDZGS/MNTN +maintainability//MNTNBLT +maintainable/U/MNTNBL +maintained/U/MNTNT +maintainer/M/MNTN +maintenance/SM/MNTNNS +maintop/SM/MNTP +maiolica's//MLKS +Mair/M/M +Maire/M/MR +Maisey/M/MS +Maisie/M/MS +Maison/M/MSN +maisonette/MS/MSNT +Maitilde/M/MTLT +maize/MS/MS +Maj//MK +Maje/M/MK +majestic//MKSTK +majestically//MKSTKL +majesty/MS/MKST +Majesty/MS/MKST +majolica/SM/MKLK +major/DMGS/MK +Major/M/MK +Majorca/M/MKK +majordomo/S/MKTM +majorette/SM/MKRT +majority/SM/MKRT +Majuro/M/MKR +makable//MKBL +Makarios/M/MKRS +make/UGSA/MK +makefile/S/MKFL +makeover/S/MKF +Maker/M/MK +maker/SM/MK +makeshift/S/MKXFT +makeup/MS/MKP +making/SM/MKN +Mal/M/ML +Mala/M/ML +Malabar/M/MLB +Malabo/M/MLB +Malacca/M/MLK +Malachi/M/MLX +malachite/SM/MLXT +maladapt/DV/MLTPT +maladjust/DLV/MLTKST +maladjustment/MS/MLTKSTMNT +maladministration//MLTMNSTRXN +maladroit/YP/MLTRT +maladroitness/MS/MLTRTNS +malady/MS/MLT +Malagasy/M/MLKS +malaise/SM/MLS +Malamud/M/MLMT +malamute/SM/MLMT +Malanie/M/MLN +malaprop//MLPRP +Malaprop/M/MLPRP +malapropism/SM/MLPRPSM +malaria/MS/MLR +malarial//MLRL +malarious//MLRS +malarkey/SM/MLK +malathion/S/ML@N +Malawi/M/MLW +Malawian/S/MLWN +Malay/SM/ML +Malaya/M/MLY +Malayalam/M/MLYLM +Malayan/MS/MLYN +Malaysia/M/MLX +Malaysian/S/MLXN +Malchy/M/MLX +Malcolm/M/MLKLM +malcontent/SMD/MLKNTNT +malcontented/PY/MLKNTNTT +malcontentedness/M/MLKNTNTTNS +Maldive/SM/MLTF +Maldivian/S/MLTFN +Maldonado/M/MLTNT +Male/M/ML +male/PSM/ML +maledict//MLTKT +malediction/MS/MLTKXN +malefaction/MS/MLFKXN +malefactor/MS/MLFKT +malefic//MLFK +maleficence/MS/MLFSNS +maleficent//MLFSNT +Malena/M/MLN +maleness/MS/MLNS +malevolence/S/MLFLNS +malevolencies//MLFLNSS +malevolent/Y/MLFLNT +malfeasance/SM/MLFSNS +malfeasant//MLFSNT +malformation/MS/MLFMXN +malformed//MLFMT +malfunction/SDG/MLFNKXN +Mali/M/ML +Malia/M/ML +Malian/S/MLN +Malibu/M/MLB +malice/MGSD/MLS +malicious/YU/MLSS +maliciousness/MS/MLSSNS +malign/GSRDYZ/MLN +malignancy/SM/MLKNNS +malignant/YS/MLKNNT +malignity/MS/MLKNT +Malina/M/MLN +Malinda/M/MLNT +Malinde/M/MLNT +malinger/GZRDS/MLN +malingerer/M/MLNR +Malinowski/M/MLNSK +Malissa/M/MLS +Malissia/M/MLX +mall/SGMD/ML +mallard/SM/MLT +Mallarmé/M/MLM +malleability/SM/MLBLT +malleable/P/MLBL +malleableness/M/MLBLNS +mallet/MS/MLT +Mallissa/M/MLS +Mallorie/M/MLR +Mallory/M/MLR +mallow/MS/ML +malnourished//MLNRXT +malnutrition/SM/MLNTRXN +malocclusion/MS/MLKLXN +malodorous//MLTRS +Malone/M/MLN +Malorie/M/MLR +Malory/M/MLR +malposed//MLPST +malpractice/SM/MLPRKTS +Malraux/M/MLRKS +malt/SGMD/MLT +Malta/M/MLT +malted/S/MLTT +Maltese//MLTS +Malthus/M/ML@S +Malthusian/S/ML@XN +malting/M/MLTN +maltose/SM/MLTS +maltreat/GDSL/MLTRT +maltreatment/S/MLTRTMNT +malty/RT/MLT +Malva/M/MLF +Malvin/M/MLFN +Malvina/M/MLFN +Malynda/M/MLNT +mama/SM/MM +mamba/SM/MMB +mambo/GSDM/MMB +Mame/M/MM +Mamet/M/MMT +Mamie/M/MM +mammal/SM/MML +mammalian/SM/MMLN +mammary//MMR +mamma's//MMS +mammogram/S/MMKRM +mammography/S/MMKRF +mammon/SM/MMN +Mammon's//MMNS +mammoth/M/MM@ +mammoths//MM@S +mammy/SM/MM +Mamore/M/MMR +Man/SM/MN +man/USY/MN +manacle/SDMG/MNKL +manage/ZLGRSD/MNK +manageability/S/MNKBLT +manageable/U/MNKBL +manageableness//MNKBLNS +managed/U/MNKT +management/SM/MNKMNT +manager/M/MNK +manageress/M/MNKRS +managerial/Y/MNKRL +managership/M/MNKXP +Managua/M/MNK +Manama/M/MNM +mañana/M/MN +mananas//MNNS +Manasseh/M/MNS +manatee/SM/MNT +Manaus's//MNSS +Manchester/M/MNXST +Manchu/MS/MNX +Manchuria/M/MNXR +Manchurian/S/MNXRN +Mancini/M/MNSN +manciple/M/MNSPL +Mancunian/MS/MNKNN +Manda/M/MNT +mandala/SM/MNTL +Mandalay/M/MNTL +mandamus/GMSD/MNTMS +Mandarin//MNTRN +mandarin/MS/MNTRN +mandate/SDMG/MNTT +mandatory/S/MNTTR +Mandel/M/MNTL +Mandela//MNTL +Mandelbrot/M/MNTLBRT +Mandi/M/MNT +mandible/MS/MNTBL +mandibular//MNTBL +Mandie/M/MNT +Mandingo/M/MNTN +mandolin/MS/MNTLN +mandrake/MS/MNTRK +mandrel/SM/MNTRL +mandrill/SM/MNTRL +Mandy/M/MNT +mane/MDS/MN +manège/GSD/MNK +Manet/M/MNT +maneuver/MRDSGB/MNF +maneuverability/MS/MNFRBLT +maneuverer/M/MNFR +Manfred/M/MNFRT +manful/Y/MNFL +manganese/MS/MNKNS +mange/GMSRDZ/MNK +manger/M/MNK +manginess/S/MNKNS +mangle/RSDG/MNKL +mangler/M/MNKL +mango/M/MNK +mangoes//MNKS +mangrove/MS/MNKRF +mangy/PRT/MNK +manhandle/GSD/MNHNTL +Manhattan/SM/MNHTN +manhole/MS/MNHL +manhood/MS/MNHT +manhunt/SM/MNHNT +Mani/M/MN +mania/SM/MN +maniac/SM/MNK +maniacal/Y/MNKL +manic/S/MNK +manically//MNKL +Manichean/M/MNXN +manicure/MGSD/MNKR +manicurist/SM/MNKRST +manifest/YDPGS/MNFST +manifestation/SM/MNFSTXN +manifesto/GSDM/MNFST +manifold/GPYRDMS/MNFLT +manifolder/M/MNFLT +manifoldness/M/MNFLTNS +manikin/MS/MNKN +Manila/MS/MNL +manila/S/MNL +manilla's//MNLS +manioc/SM/MNK +manipulability//MNPLBLT +manipulable//MNPLBL +manipulate/SDXBVGN/MNPLT +manipulative/PM/MNPLTF +manipulator/MS/MNPLT +manipulatory//MNPLTR +Manitoba/M/MNTB +Manitoulin/M/MNTLN +Manitowoc/M/MNTWK +mankind/M/MNKNT +Mankowski/M/MNKSK +Manley/M/MNL +manlike//MNLK +manliness/SM/MNLNS +manliness's/U/MNLNSS +manly/URPT/MNL +Mann/GM/MN +manna/MS/MN +manned/U/MNT +mannequin/MS/MNKN +manner/SDYM/MN +mannered/U/MNRT +mannerism/SM/MNRSM +mannerist/M/MNRST +mannerliness/MU/MNLNS +mannerly/UP/MNL +Mannheim/M/MNHM +Mannie/M/MN +mannikin's//MNKNS +Manning/M/MNN +manning/U/MNN +mannish/YP/MNX +mannishness/SM/MNXNS +Manny/M/MN +Mano/M/MN +Manolo/M/MNL +manometer/SM/MNMT +Manon/M/MNN +manor/MS/MN +manorial//MNRL +manpower/SM/MNPW +manqué/M/MNK +man's//MNS +mans/S/MNS +mansard/SM/MNST +manse/XNM/MNS +manservant/M/MNSFNT +Mansfield/M/MNSFLT +mansion/M/MNXN +manslaughter/SM/MNSLT +Manson/M/MNSN +manta/MS/MNT +Mantegna/M/MNTKN +mantel/SM/MNTL +mantelpiece/MS/MNTLPS +mantes//MNTS +mantilla/MS/MNTL +mantis/SM/MNTS +mantissa/SM/MNTS +mantle/ESDG/MNTL +Mantle/M/MNTL +mantle's//MNTLS +mantling/M/MNTLN +mantra/MS/MNTR +mantrap/SM/MNTRP +manual/SMY/MNL +Manuel/M/MNL +Manuela/M/MNL +manufacture/JZGDSR/MNFKTR +manufacturer/M/MNFKTR +manumission/MS/MNMXN +manumit/S/MNMT +manumitted//MNMTT +manumitting//MNMTN +manure/RSDMZG/MNR +manuscript/MS/MNSKRPT +Manville/M/MNFL +Manx//MNKS +many//MN +Manya/M/MNY +Mao/M/M +Maoism/MS/MSM +Maoist/S/MST +Maori/SM/MR +map/SM/MP +maple/MS/MPL +Maplecrest/M/MPLKRST +mapmaker/S/MPMK +mappable//MPBL +mapped/UA/MPT +mapper/S/MP +mapping/MS/MPN +Mapplethorpe/M/MPL@P +maps/AU/MPS +Maputo/M/MPT +mar/S/M +Mar/SMN/M +Mara/M/MR +Marabel/M/MRBL +marabou/MS/MRB +marabout's//MRBTS +maraca/MS/MRK +Maracaibo/M/MRKB +maraschino/SM/MRSXN +Marat/M/MRT +Marathi//MR@ +Marathon/M/MR@N +marathon/MRSZ/MR@N +marathoner/M/MR@N +maraud/ZGRDS/MRT +marauder/M/MRT +marble/JRSDMG/MBL +marbleize/GSD/MBLS +marbler/M/MBL +marbling/M/MBLN +Marc/M/MK +Marceau/M/MS +Marcel/M/MSL +Marcela/M/MSL +Marcelia/M/MSL +Marcelino/M/MSLN +Marcella/M/MSL +Marcelle/M/MSL +Marcellina/M/MSLN +Marcelline/M/MSLN +Marcello/M/MSL +Marcellus/M/MSLS +Marcelo/M/MSL +March/MS/MX +march/RSDZG/MX +Marchall/M/MXL +Marchelle/M/MXL +marcher/M/MX +marchioness/SM/MXNS +Marci/M/MS +Marcia/M/MX +Marciano/M/MXN +Marcie/M/MS +Marcile/M/MSL +Marcille/M/MSL +Marco/SM/MK +Marconi/M/MKN +Marcotte/M/MKT +Marcus/M/MKS +Marcy/M/MS +Mardi/SM/MT +Marduk/M/MTK +mare/MS/MR +Mareah/M/MR +Maren/M/MRN +Marena/M/MRN +Maressa/M/MRS +Marga/M/MK +Margalit/M/MKLT +Margalo/M/MKL +Margaret/M/MKRT +Margareta/M/MKRT +Margarete/M/MKRT +Margaretha/M/MKR@ +Margarethe/M/MKR@ +Margaretta/M/MKRT +Margarette/M/MKRT +margarine/MS/MKRN +Margarita/M/MKRT +margarita/SM/MKRT +Margarito/M/MKRT +Margaux/M/MKKS +Marge/M/MK +Margeaux/M/MKKS +Margery/M/MKR +Marget/M/MKT +Margette/M/MKT +Margi/M/MK +Margie/M/MK +margin/GSDM/MKN +marginal/YS/MKNL +marginalia//MKNL +marginality//MKNLT +marginalization//MKNLSXN +marginalize/SDG/MKNLS +Margit/M/MKT +Margo/M/MK +Margot/M/MKT +Margret/M/MKRT +Margrethe/M/MKR@ +Marguerite/M/MKRT +Margy/M/MK +Mari/MS/MR +maria/M/MR +Maria/M/MR +mariachi/SM/MRX +Mariam/M/MRM +Marian/MS/MRN +Mariana/SM/MRN +Mariann/M/MRN +Marianna/M/MRN +Marianne/M/MRN +Mariano/M/MRN +Maribel/M/MRBL +Maribelle/M/MRBL +Maribeth/M/MRB@ +Marice/M/MRS +Maricela/M/MRSL +Maridel/M/MRTL +Marie/M/MR +Marieann/M/MRN +Mariejeanne/M/MRKN +Mariel/M/MRL +Mariele/M/MRL +Marielle/M/MRL +Mariellen/M/MRLN +Marietta/M/MRT +Mariette/M/MRT +Marigold/M/MRKLT +marigold/MS/MRKLT +Marijn/M/MRKN +Marijo/M/MRK +marijuana/SM/MRKN +Marika/M/MRK +Marilee/M/MRL +Marilin/M/MRLN +Marillin/M/MRLN +Marilyn/M/MRLN +marimba/SM/MRMB +Marin/M/MRN +Marina/M/MRN +marina/MS/MRN +marinade/MGDS/MRNT +marinara/SM/MRNR +marinate/NGXDS/MRNT +marination/M/MRNXN +Marine/S/MRN +marine/ZRS/MRN +mariner/M/MRN +Marinna/M/MRN +Marino/M/MRN +Mario/M/MR +Marion/M/MRN +marionette/MS/MRNT +Mariquilla/M/MRKL +Marisa/M/MRS +Mariska/M/MRSK +Marisol/M/MRSL +Marissa/M/MRS +Marita/M/MRT +Maritain/M/MRTN +marital/Y/MRTL +maritime/R/MRTM +Maritsa/M/MRTS +Maritza/M/MRTS +Mariupol/M/MRPL +Marius/M/MRS +Mariya/M/MRY +Marj/M/MK +Marja/M/MK +Marje/M/MK +Marji/M/MK +Marjie/M/MK +marjoram/SM/MKRM +Marjorie/M/MKR +Marjory/M/MKR +Marjy/M/MK +mark/GZRDMBSJ/MK +Mark/MS/MK +Markab/M/MKB +markdown/SM/MKTN +marked/AU/MKT +markedly//MKTL +marker/M/MK +market/GSMRDJBZ/MKT +Marketa/M/MKT +marketability/SM/MKTBLT +marketable/U/MKTBL +marketeer/S/MKT +marketer/M/MKT +marketing/M/MKTN +marketplace/MS/MKTPLS +Markham/M/MKHM +marking/M/MKN +Markism/M/MKSM +markka/M/MK +markkaa//MK +Markos//MKS +Markov//MKF +Markovian//MKFN +Markovitz/M/MKFTS +marks/A/MKS +marksman/M/MKSMN +marksmanship/S/MKSMNXP +marksmen//MKSMN +markup/SM/MKP +Markus/M/MKS +marl/MDSG/ML +Marla/M/ML +Marlane/M/MLN +Marlboro/M/MLBR +Marlborough/M/MLBR +Marleah/M/ML +Marlee/M/ML +Marleen/M/MLN +Marlena/M/MLN +Marlene/M/MLN +Marley/M/ML +Marlie/M/ML +Marlin/M/MLN +marlin/SM/MLN +Marline/M/MLN +marlinespike/SM/MLNSPK +Marlo/M/ML +Marlon/M/MLN +Marlow/M/ML +Marlowe/M/MLW +Marlyn/M/MLN +Marmaduke/M/MMTK +marmalade/MS/MMLT +Marmara/M/MMR +marmoreal//MMRL +marmoset/MS/MMST +marmot/SM/MMT +Marna/M/MN +Marne/M/MN +Marney/M/MN +Marni/M/MN +Marnia/M/MN +Marnie/M/MN +maroon/GRDS/MRN +marque/SM/MK +marquee/MS/MK +Marquesas/M/MKSS +marquess/MS/MKS +marquetry/SM/MKTR +Marquette/M/MKT +Marquez/M/MKS +Marquis/M/MKS +marquis/SM/MKS +marquise/M/MKS +marquisette/MS/MKST +Marquita/M/MKT +Marrakesh/M/MRKX +marred/U/MRT +marriage/ASM/MRK +marriageability/SM/MRKBLT +marriageable//MRKBL +married/US/MRT +Marrilee/M/MRL +marring//MRN +Marriott/M/MRT +Marris/M/MRS +Marrissa/M/MRS +marrow/GDMS/MR +marrowbone/MS/MRBN +marry/SDGA/MR +Marseillaise/SM/MSLS +Marseilles//MSLS +Marseille's//MSLS +Marsh/M/MX +marsh/MS/MX +Marsha/M/MX +marshal/GMDRSZ/MXL +Marshal/M/MXL +Marshall/GDM/MXL +Marshalled/M/MXLT +marshaller//MXL +Marshalling/M/MXLN +marshallings//MXLNS +marshiness/M/MXNS +marshland/MS/MXLNT +marshmallow/SM/MXML +marshy/PRT/MX +Marsiella/M/MSL +marsupial/MS/MSPL +mart/MDNGXS/MT +Mart/MN/MT +Marta/M/MT +Martainn/M/MTN +Martel/M/MTL +Martelle/M/MTL +marten/M/MTN +Marten/M/MTN +Martguerita/M/MTKRT +Martha/M/M@ +Marthe/M/M@ +Marthena/M/M@N +Marti/M/MT +Martial//MXL +martial/Y/MXL +Martian/S/MXN +Martica/M/MTK +Martie/M/MT +Martin/M/MTN +martin/SM/MTN +Martina/M/MTN +martinet/SM/MTNT +Martinez/M/MTNS +martingale/MS/MTNL +martini/MS/MTN +Martinique/M/MTNK +Martino/M/MTN +Martinson/M/MTNSN +Martita/M/MTT +Marty/M/MT +Martyn/M/MTN +Martynne/M/MTN +martyr/GDMS/MTR +martyrdom/SM/MTRTM +Marv/NM/MF +Marva/M/MF +Marve/M/MF +marvel/DGS/MFL +Marvell/M/MFL +marvelous/PY/MFLS +Marven/M/MFN +Marvin/M/MFN +Marwin/M/MWN +Marx/M/MKS +Marxian/S/MKSN +Marxism/SM/MKSSM +Marxist/SM/MKSST +Mary/M/MR +Marya/M/MRY +Maryann/M/MRYN +Maryanna/M/MRYN +Maryanne/M/MRYN +Marybelle/M/MRBL +Marybeth/M/MRB@ +Maryellen/M/MRYLN +Maryjane/M/MRKN +Maryjo/M/MRK +Maryl/M/MRL +Maryland/MZR/MRLNT +Marylee/M/MRL +Marylin/M/MRLN +Marylinda/M/MRLNT +Marylou/M/MRL +Marylynne/M/MRLN +Maryrose/M/MRRS +Marys//MRS +Marysa/M/MRS +marzipan/SM/MSPN +mas/SRZ/MS +Masada/M/MST +Masai/M/MS +Masaryk/M/MSRK +masc//MSK +Mascagni/M/MSKKN +mascara/SGMD/MSKR +mascot/SM/MSKT +masculine/PYS/MSKLN +masculineness/M/MSKLNNS +masculinity/SM/MSKLNT +Masefield/M/MSFLT +maser/M/MS +Maseru/M/MSR +MASH//MX +mash/JGZMSRD/MX +Masha/M/MX +Mashhad/M/MXHT +mask/GZSRDMJ/MSK +masked/U/MSKT +masker/M/MSK +masks/U/MSKS +masochism/MS/MSXSM +masochist/MS/MSXST +masochistic//MSXSTK +masochistically//MSXSTKL +mason/SDMG/MSN +Mason/SM/MSN +masonic//MSNK +Masonic//MSNK +Masonite/M/MSNT +masonry/MS/MSNR +masque/RSMZ/MSK +masquer/M/MSK +masquerade/RSDGMZ/MSKRT +masquerader/M/MSKRT +Mass/S/MS +mass/VGSD/MS +Massachusetts/M/MSXSTS +massacre/DRSMG/MSKR +massage/SRDMG/MSK +massager/M/MSK +Massasoit/M/MSST +Massenet/M/MSNT +masseur/MS/MS +masseuse/SM/MSS +Massey/M/MS +massif/SM/MSF +Massimiliano/M/MSMLN +Massimo/M/MSM +massing/R/MSN +massive/YP/MSF +massiveness/SM/MSFNS +massless//MSLS +mast/GZSMRD/MST +mastectomy/MS/MSTKTM +master/JGDYM/MST +Master/SM/MST +masterclass//MSTKLS +mastered/A/MSTRT +masterful/YP/MSTFL +masterfulness/M/MSTFLNS +masterliness/M/MSTLNS +masterly/P/MSTL +mastermind/GDS/MSTMNT +masterpiece/MS/MSTPS +mastership/M/MSTXP +masterstroke/MS/MSTSTRK +masterwork/S/MSTWK +mastery/MS/MSTR +masthead/SDMG/MS@T +mastic/SM/MSTK +masticate/SDXGN/MSTKT +mastication/M/MSTKXN +mastiff/MS/MSTF +mastodon/MS/MSTTN +mastoid/S/MSTT +masturbate/SDNGX/MSTBT +masturbation/M/MSTBXN +masturbatory//MSTBTR +mat/SJGMDR/MT +Mata/M/MT +matador/SM/MTT +match/BMRSDZGJ/MX +matchable/U/MXBL +matchbook/SM/MXBK +matchbox/SM/MXBKS +matched/UA/MXT +matcher/M/MX +matches/A/MXS +matchless/Y/MXLS +matchlock/MS/MXLK +matchmake/GZJR/MXMK +matchmaker/M/MXMK +matchmaking/M/MXMKN +matchplay//MXPL +match's/A/MXS +matchstick/MS/MXSTK +matchwood/SM/MXWT +mate/IMS/MT +mated/U/MTT +Matelda/M/MTLT +Mateo/M/MT +mater/M/MT +material/SPYM/MTRL +materialism/SM/MTRLSM +materialist/SM/MTRLST +materialistic//MTRLSTK +materialistically//MTRLSTKL +materiality/M/MTRLT +materialization/SM/MTRLSXN +materialize/CDS/MTRLS +materialized/A/MTRLST +materializer/SM/MTRLS +materializes/A/MTRLSS +materializing//MTRLSN +materialness/M/MTRLNS +matériel/MS/MTRL +maternal/Y/MTNL +maternity/MS/MTNT +mates/U/MTS +math/M/M@ +Mathe/RM/M@ +mathematic/S/M@MTK +Mathematica/M/M@MTK +mathematical/Y/M@MTKL +mathematician/SM/M@MTXN +mathematics/M/M@MTKS +Mathematik/M/M@MTK +Mather/M/M@ +Mathew/MS/M@ +Mathewson/M/M@SN +Mathian/M/M@N +Mathias//M@S +Mathieu/M/M@ +Mathilda/M/M@LT +Mathilde/M/M@LT +Mathis//M@S +maths//M@S +Matias/M/MXS +Matilda/M/MTLT +Matilde/M/MTLT +matinée/S/MTN +mating/M/MTN +matins/M/MTNS +Matisse/SM/MTS +matriarch/M/MTRX +matriarchal//MTRXL +matriarchs//MTRXS +matriarchy/MS/MTRX +matrices//MTRSS +matricidal//MTRSTL +matricide/MS/MTRST +matriculate/XSDGN/MTRKLT +matriculation/M/MTRKLXN +matrimonial/Y/MTRMNL +matrimony/SM/MTRMN +matrix/M/MTRKS +matron/YMS/MTRN +Matsumoto/M/MTSMT +Matt/M/MT +matte/JGMZSRD/MT +Mattel/M/MTL +Matteo/M/MT +matter/GDM/MT +Matterhorn/M/MTHN +Matthaeus/M/M@S +Mattheus/M/M@S +Matthew/MS/M@ +Matthias//M@S +Matthieu/M/M@ +Matthiew/M/M@ +Matthus/M/M@S +Matti/M/MT +Mattias/M/MXS +Mattie/M/MT +matting/M/MTN +mattins's//MTNSS +mattock/MS/MTK +mattress/MS/MTRS +matt's//MTS +Matty/M/MT +maturate/DSNGVX/MTRT +maturation/M/MTRXN +maturational//MTRXNL +mature/RSDTPYG/MTR +matureness/M/MTRNS +maturer/M/MTR +maturity/MS/MTRT +matzo/SHM/MTS +matzot//MTST +Maud/M/MT +Maude/M/MT +Maudie/M/MT +maudlin/Y/MTLN +Maugham/M/MKM +Maui/M/M +maul/RDGZS/ML +mauler/M/ML +maunder/GDS/MNT +Maupassant/M/MPSNT +Maura/M/MR +Maure/M/MR +Maureen/M/MRN +Maureene/M/MRN +Maurene/M/MRN +Mauriac/M/MRK +Maurice/M/MRS +Mauricio/M/MRS +Maurie/M/MR +Maurine/M/MRN +Maurise/M/MRS +Maurita/M/MRT +Mauritania/M/MRTN +Mauritanian/S/MRTNN +Mauritian/S/MRXN +Mauritius/M/MRTS +Maurits/M/MRTS +Maurizia/M/MRS +Maurizio/M/MRS +Mauro/M/MR +Maurois/M/MRS +Maury/M/MR +Mauser/M/MS +mausoleum/SM/MSLM +mauve/SM/MF +maven/S/MFN +maverick/SMDG/MFRK +mavin's//MFNS +Mavis/M/MFS +Mavra/M/MFR +maw/SGMD/M +mawkish/PY/MKX +mawkishness/SM/MKXNS +Mawr/M/MR +max/GDS/MKS +Max/M/MKS +Maxi/M/MKS +maxi/S/MKS +Maxie/M/MKS +maxilla/M/MKSL +maxillae//MKSL +maxillary/S/MKSLR +Maxim/M/MKSM +maxim/SM/MKSM +maximal/SY/MKSML +maximality//MKSMLT +maxima's//MKSMS +Maximilian/M/MKSMLN +Maximilianus/M/MKSMLNS +Maximilien/M/MKSMLN +maximization/SM/MKSMSXN +maximize/RSDZG/MKSMS +maximizer/M/MKSMS +Maximo/M/MKSM +maximum/MYS/MKSMM +Maxine/M/MKSN +Maxtor/M/MKST +maxwell/M/MKSWL +Maxwell/M/MKSWL +Maxwellian//MKSWLN +Maxy/M/MKS +may/EGS/M +May/SMR/M +Maya/MS/MY +Mayan/S/MYN +maybe/S/MB +Maybelle/M/MBL +mayday/S/MT +Maye/M/MY +mayer//MY +Mayer/M/MY +mayest//MYST +Mayfair/M/MF +Mayflower/M/MFLW +mayflower/SM/MFLW +mayfly/MS/MFL +mayhap//MHP +mayhem/MS/MHM +Maynard/M/MNT +Mayne/M/MN +Maynord/M/MNT +mayn't//MNT +Mayo/M/MY +mayo/S/MY +mayonnaise/MS/MYNS +Mayor/M/MY +mayor/MS/MY +mayoral//MYRL +mayoralty/MS/MYRLT +mayoress/MS/MYRS +mayorship/M/MYXP +maypole/MS/MPL +Maypole/SM/MPL +Mayra/M/MR +mayst//MST +Mazama/M/MSM +Mazarin/M/MSRN +Mazatlan/M/MSTLN +Mazda/M/MST +maze/MGDSR/MS +mazed/YP/MST +mazedness/SM/MSTNS +mazurka/SM/MSK +Mazzini/M/MSN +Mb//M +MB//M +MBA//MB +Mbabane/M/MBBN +Mbini/M/MBN +MC//MK +McAdam/MS/MKTM +McAllister/M/MKLST +McBride/M/MKBRT +McCabe/M/MKB +McCain/M/MKN +McCall/M/MKL +McCarthy/M/MK@ +McCarthyism/M/MK@YSM +McCartney/M/MKTN +McCarty/M/MKT +McCauley/M/MKL +McClain/M/MKLN +McClellan/M/MKLLN +McClure/M/MKLR +McCluskey/M/MKLSK +McConnell/M/MKNL +McCormick/M/MKMK +McCoy/SM/MK +McCracken/M/MKRKN +McCray/M/MKR +McCullough/M/MKL +McDaniel/M/MKTNL +McDermott/M/MKTMT +McDonald/M/MKTNLT +McDonnell/M/MKTNL +McDougall/M/MKTKL +McDowell/M/MKTWL +McElhaney/M/MSLHN +McEnroe/M/MSNR +McFadden/M/MKFTN +McFarland/M/MKFLNT +McGee/M/MKK +McGill/M/MKKL +McGovern/M/MKKFN +McGowan/M/MKKWN +McGrath/M/MKKR@ +McGraw/M/MKKR +McGregor/M/MKKRK +McGuffey/M/MKKF +McGuire/M/MKKR +MCI/M/MS +McIntosh/M/MSNTX +McIntyre/M/MSNTR +McKay/M/MK +McKee/M/MK +McKenzie/M/MKNS +McKesson/M/MKSN +McKinley/M/MKNL +McKinney/M/MKN +McKnight/M/MKNT +McLanahan/M/MKLNHN +McLaughlin/M/MKLLN +McLean/M/MKLN +McLeod/M/MKLT +McLuhan/M/MKLHN +McMahon/M/MKMHN +McMartin/M/MKMTN +McMillan/M/MKMLN +McNamara/M/MKNMR +McNaughton/M/MKNTN +McNeil/M/MKNL +McPherson/M/MKFSN +MD//MT +Md/M/MT +mdse//MTS +MDT//MTT +ME//M +me/G/M +Me/M/M +Mead/M/MT +mead/SM/MT +Meade/M/MT +meadow/MS/MT +meadowland//MTLNT +meadowlark/SM/MTLK +Meadows//MTS +meadowsweet/M/MTSWT +Meagan/M/MKN +meager/PY/MK +meagerness/SM/MKNS +Meaghan/M/MKN +meagres//MKRS +meal/MDGS/ML +mealiness/MS/MLNS +mealtime/MS/MLTM +mealy/PRST/ML +mealybug/S/MLBK +mealymouthed//MLM@T +mean/YRGJTPS/MN +meander/JDSG/MNT +meaneing//MNN +meanie/MS/MN +meaning/M/MNN +meaningful/YP/MNNFL +meaningfulness/SM/MNNFLNS +meaningless/PY/MNNLS +meaninglessness/SM/MNNLSNS +meanness/S/MNS +means/M/MNS +meant/U/MNT +meantime/SM/MNTM +meanwhile/S/MNHL +Meany/M/MN +meany's//MNS +Meara/M/MR +meas/Y/MS +measle/SD/MSL +measles/M/MSLS +measly/TR/MSL +measurable/U/MSRBL +measurably//MSRBL +measure/BLMGRSD/MSR +measured/Y/MSRT +measureless//MSRLS +measurement/SM/MSRMNT +measurer/M/MSR +measures/A/MSRS +measuring/A/MSRN +meat/MS/MT +meataxe//MTKS +meatball/MS/MTBL +meatiness/MS/MTNS +meatless//MTLS +meatloaf//MTLF +meatloaves//MTLFS +meatpacking/S/MTPKN +meaty/RPT/MT +Mecca/MS/MK +mecca/S/MK +mechanic/MS/MXNK +mechanical/YS/MXNKL +mechanism/SM/MXNSM +mechanist/M/MXNST +mechanistic//MXNSTK +mechanistically//MXNSTKL +mechanization/SM/MXNSXN +mechanize/RSDZGB/MXNS +mechanized/U/MXNST +mechanizer/M/MXNS +mechanizes/U/MXNSS +mechanochemically//MXNXMKL +Mechelle/M/MXL +med//MT +medal/SGMD/MTL +medalist/MS/MTLST +medallion/MS/MTLN +Medan/M/MTN +meddle/GRSDZ/MTL +meddlesome//MTLSM +Medea/M/MT +Medellin//MTLN +Medfield/M/MTFLT +media/SM/MT +mediaeval's//MTFLS +medial/AY/MTL +medials//MTLS +median/YMS/MTN +mediate/PSDYVNGX/MTT +mediateness/M/MTTNS +mediation/ASM/MTXN +mediator/SM/MTT +medic/SM/MTK +Medicaid/SM/MTKT +medical/YS/MTKL +medicament/MS/MTKMNT +Medicare/MS/MTKR +medicate/DSXNGV/MTKT +medication/M/MTKXN +Medici/MS/MTS +medicinal/SY/MTSNL +medicine/DSMG/MTSN +medico/SM/MTK +medieval/YMS/MTFL +medievalist/MS/MTFLST +Medina/M/MTN +mediocre//MTKR +mediocrity/MS/MTKRT +meditate/NGVXDS/MTTT +meditation/M/MTTXN +meditative/PY/MTTTF +meditativeness/M/MTTTFNS +Mediterranean/MS/MTTRNN +medium/SM/MTM +mediumistic//MTMSTK +medley/SM/MTL +medulla/SM/MTL +Medusa/M/MTS +meed/MS/MT +meek/TPYR/MK +meekness/MS/MKNS +meerschaum/MS/MSXM +meet/JGSYR/MT +meeter/M/MT +meeting/M/MTN +meetinghouse/S/MTNHS +Meg/MN/MK +mega//MK +megabit/MS/MKBT +megabuck/S/MKBK +megabyte/S/MKBT +megacycle/MS/MKSKL +megadeath/M/MKT@ +megadeaths//MKT@S +megahertz/M/MKHTS +megalith/M/MKL@ +megalithic//MKL@K +megaliths//MKL@S +megalomania/SM/MKLMN +megalomaniac/SM/MKLMNK +megalopolis/SM/MKLPLS +Megan/M/MKN +megaphone/SDGM/MKFN +megaton/MS/MKTN +megavolt/M/MKFLT +megawatt/SM/MKWT +megaword/S/MKWT +Megen/M/MKN +Meggi/M/MK +Meggie/M/MK +Meggy/M/MK +Meghan/M/MKN +Meghann/M/MKN +megohm/MS/MKM +Mehetabel/M/MHTBL +Mei/MR/M +Meier/M/M +Meighen/M/MKN +Meiji/M/MK +meioses//MSS +meiosis/M/MSS +meiotic//MTK +Meir/M/M +Meister/M/MST +Meistersinger/M/MSTSN +Mejia/M/MK +Mekong/M/MKNK +Mel/MY/ML +Mela/M/ML +Melamie/M/MLM +melamine/SM/MLMN +melancholia/SM/MLNXL +melancholic/S/MLNXLK +melancholy/MS/MLNXL +Melanesia/M/MLNX +Melanesian/S/MLNXN +melange/S/MLNK +Melania/M/MLN +Melanie/M/MLN +melanin/MS/MLNN +melanoma/SM/MLNM +Melantha/M/MLN@ +Melany/M/MLN +Melba/M/MLB +Melbourne/M/MLBN +Melcher/M/MLX +Melchior/M/MLX +meld/SGD/MLT +mêlée/MS/ML +Melendez/M/MLNTS +Melesa/M/MLS +Melessa/M/MLS +Melicent/M/MLSNT +Melina/M/MLN +Melinda/M/MLNT +Melinde/M/MLNT +meliorate/XSDVNG/MLRT +melioration/M/MLRXN +Melisa/M/MLS +Melisande/M/MLSNT +Melisandra/M/MLSNTR +Melisenda/M/MLSNT +Melisent/M/MLSNT +Melissa/M/MLS +Melisse/M/MLS +Melita/M/MLT +Melitta/M/MLT +Mella/M/ML +Melli/M/ML +Mellicent/M/MLSNT +Mellie/M/ML +mellifluous/YP/MLFLS +mellifluousness/SM/MLFLSNS +Mellisa/M/MLS +Mellisent/M/MLSNT +Mellon/M/MLN +Melloney/M/MLN +mellow/TGRDYPS/ML +mellowness/MS/MLNS +Melly/M/ML +Melodee/M/MLT +melodic/S/MLTK +melodically//MLTKL +Melodie/M/MLT +melodious/YP/MLTS +melodiousness/S/MLTSNS +melodrama/SM/MLTRM +melodramatic/S/MLTRMTK +melodramatically//MLTRMTKL +Melody/M/MLT +melody/MS/MLT +melon/MS/MLN +Melonie/M/MLN +Melony/M/MLN +Melosa/M/MLS +Melpomene/M/MLPMN +melt/SAGD/MLT +meltdown/S/MLTTN +melter/M/MLT +melting/Y/MLTN +Melton/M/MLTN +Melva/M/MLF +Melville/M/MLFL +Melvin/M/MLFN +Melvyn/M/MLFN +member/DMS/MMB +membered/AE/MMBRT +members/EA/MMBS +membership/SM/MMBXP +membrane/MSD/MMBRN +membranous//MMBRNS +memento/SM/MMNT +Memling/M/MMLN +memo/SM/MM +memoir/MS/MM +memorabilia//MMRBL +memorability/SM/MMRBLT +memorable/P/MMRBL +memorableness/M/MMRBLNS +memorably//MMRBL +memorandum/SM/MMRNTM +memorial/SY/MMRL +memorialize/DSG/MMRLS +memorialized/U/MMRLST +memoriam//MMRM +memorization/MS/MMRSXN +memorize/RSDZG/MMRS +memorized/U/MMRST +memorizer/M/MMRS +memorizes/A/MMRSS +memory/MS/MMR +memoryless//MMRLS +Memphis/M/MMFS +men/MS/MN +menace/GSD/MNS +menacing/Y/MNSN +menage/S/MNK +menagerie/SM/MNKR +Menander/M/MNNT +menarche/MS/MNX +Menard/M/MNT +Mencius/M/MNSS +Mencken/M/MNKN +mend/RDSJGZ/MNT +mendacious/PY/MNTSS +mendaciousness/M/MNTSSNS +mendacity/MS/MNTST +Mendel/M/MNTL +Mendeleev/M/MNTLF +mendelevium/SM/MNTLFM +Mendelian//MNTLN +Mendelssohn/M/MNTLSN +mender/M/MNT +Mendez/M/MNTS +mendicancy/MS/MNTKNS +mendicant/S/MNTKNT +Mendie/M/MNT +mending/M/MNTN +Mendocino/M/MNTSN +Mendoza/M/MNTS +Mendy/M/MNT +Menelaus/M/MNLS +Menes/M/MNS +menfolk/S/MNFLK +menhaden/M/MNHTN +menial/YS/MNL +meningeal//MNNL +meninges//MNNS +meningitides//MNNTTS +meningitis/M/MNNTS +meninx//MNNKS +menisci//MNS +meniscus/M/MNSKS +Menkalinan/M/MNKLNN +Menkar/M/MNK +Menkent/M/MNKNT +Menlo/M/MNL +Mennonite/SM/MNNT +Menominee//MNMN +menopausal//MNPSL +menopause/SM/MNPS +menorah/M/MNR +menorahs//MNRS +Menotti/M/MNT +mens/SDG/MNS +Mensa/M/MNS +Mensch/M/MNSX +mensch/S/MNSX +menservants/M/MNSFNTS +menstrual//MNSTRL +menstruate/NGDSX/MNSTRT +menstruation/M/MNSTRXN +mensurable/P/MNSRBL +mensuration/MS/MNSRXN +menswear/M/MNSW +mental/Y/MNTL +mentalist/MS/MNTLST +mentality/MS/MNTLT +menthol/SM/MN@L +mentholated//MN@LTT +mention/ZGBRDS/MNXN +mentionable/U/MNXNBL +mentioned/U/MNXNT +mentioner/M/MNXN +mentor/DMSG/MNT +menu/SM/MN +Menuhin/M/MNHN +Menzies/M/MNSS +meow/DSG/M +Mephistopheles/M/MFSTFLS +mer/TGDR/M +Merak/M/MRK +Mercado/M/MKT +mercantile//MKNTL +Mercator/M/MKT +Mercedes//MSTS +mercenariness/M/MSNRNS +mercenary/SMP/MSNR +Mercer/M/MS +mercer/SM/MS +mercerize/SDG/MSRS +merchandise/SRDJMZG/MXNTS +merchandiser/M/MXNTS +merchant/SBDMG/MXNT +merchantability//MXNTBLT +merchantman/M/MXNTMN +merchantmen//MXNTMN +Merci/M/MS +Mercie/M/MS +merciful/YP/MSFL +mercifully/U/MSFL +mercifulness/M/MSFLNS +merciless/YP/MSLS +mercilessness/SM/MSLSNS +Merck/M/MK +mercurial/SPY/MKRL +mercuric//MKRK +Mercurochrome/M/MKRXRM +mercury/MS/MKR +Mercury/MS/MKR +Mercy/M/MS +mercy/SM/MS +mere/YS/MR +Meredeth/M/MRT@ +Meredith/M/MRT@ +Meredithe/M/MRT@ +Merell/M/MRL +meretricious/YP/MRTRSS +meretriciousness/SM/MRTRSSNS +merganser/MS/MKNS +merge/SRDGZ/MK +merger/M/MK +Meridel/M/MRTL +meridian/MS/MRTN +meridional//MRTNL +Meridith/M/MRT@ +Meriel/M/MRL +Merilee/M/MRL +Merill/M/MRL +Merilyn/M/MRLN +meringue/MS/MRN +merino/MS/MRN +Meris//MRS +Merissa/M/MRS +merit/SCGMD/MRT +merited/U/MRTT +meritocracy/MS/MRTKRS +meritocratic//MRTKRTK +meritocrats//MRTKRTS +meritorious/PY/MRTRS +meritoriousness/MS/MRTRSNS +Meriwether/M/MRW@ +Merl/M/ML +Merla/M/ML +Merle/M/ML +merlin/M/MLN +Merlin/M/MLN +Merlina/M/MLN +Merline/M/MLN +mermaid/MS/MMT +merman/M/MMN +mermen//MMN +Merna/M/MN +Merola/M/MRL +meromorphic//MRMFK +Merralee/M/MRL +Merrel/M/MRL +Merriam/M/MRM +Merrick/M/MRK +Merridie/M/MRT +Merrie/M/MR +Merrielle/M/MRL +Merrile/M/MRL +Merrilee/M/MRL +Merrili/M/MRL +Merrill/M/MRL +merrily//MRL +Merrily/M/MRL +Merrimac/M/MRMK +Merrimack/M/MRMK +merriment/MS/MRMNT +merriness/S/MRNS +Merritt/M/MRT +Merry/M/MR +merry/RPT/MR +merrymaker/MS/MRMK +merrymaking/SM/MRMKN +Mersey/M/MS +Merton/M/MTN +Merv/M/MF +Mervin/M/MFN +Merwin/M/MWN +Merwyn/M/MN +Meryl/M/MRL +mes/S/MS +Mesa//MS +mesa/SM/MS +Mesabi/M/MSB +mescal/SM/MSKL +mescaline/SM/MSKLN +mesdames/M/MSTMS +mesdemoiselles/M/MSTMSLS +mesh/GMSD/MX +meshed/U/MXT +Meshed's//MXTS +mesmeric//MSMRK +mesmerism/SM/MSMRSM +mesmerize/SRDZG/MSMRS +mesmerized/U/MSMRST +mesmerizer/M/MSMRS +Mesolithic/M/MSL@K +mesomorph/M/MSMF +mesomorphs//MSMFS +meson/MS/MSN +Mesopotamia/M/MSPTM +Mesopotamian/S/MSPTMN +mesosphere/MS/MSSFR +mesozoic//MSSK +Mesozoic//MSSK +mesquite/MS/MSKT +mess/GSDM/MS +message/SDMG/MSK +messeigneurs//MSKNS +messenger/GSMD/MSNK +Messerschmidt/M/MSSXMTT +Messiaen/M/MXN +messiah//MX +Messiah/M/MX +messiahs//MXS +Messiahs//MXS +messianic//MXNK +Messianic//MXNK +messieurs/M/MSS +messily//MSL +messiness/MS/MSNS +messmate/MS/MSMT +Messrs/M/MSRS +messy/PRT/MS +mestizo/MS/MSTS +met/U/MT +meta//MT +Meta/M/MT +metabolic//MTBLK +metabolically//MTBLKL +metabolism/MS/MTBLSM +metabolite/SM/MTBLT +metabolize/GSD/MTBLS +metacarpal/S/MTKPL +metacarpi//MTKP +metacarpus/M/MTKPS +metacircular//MTSKL +metacircularity//MTSKLRT +metal/SGMD/MTL +metalanguage/MS/MTLNKK +metalization/SM/MTLSXN +metalized//MTLST +metallic/S/MTLK +metalliferous//MTLFRS +metallings//MTLNS +metallography/M/MTLKRF +metalloid/M/MTLT +metallurgic//MTLKK +metallurgical/Y/MTLKKL +metallurgist/S/MTLKST +metallurgy/MS/MTLK +metalsmith/MS/MTLSM@ +metalwork/RMJGSZ/MTLWK +metalworking/M/MTLWKN +metamathematical//MTM@MTKL +metamorphic//MTMFK +metamorphism/SM/MTMFSM +metamorphose/GDS/MTMFS +metamorphosis/M/MTMFSS +metaphor/MS/MTF +metaphoric//MTFRK +metaphorical/Y/MTFRKL +metaphosphate/M/MTFSFT +metaphysic/SM/MTFSK +metaphysical/Y/MTFSKL +metastability/M/MTSTBLT +metastable//MTSTBL +metastases//MTSTSS +metastasis/M/MTSTSS +metastasize/DSG/MTSTSS +metastatic//MTSTTK +metatarsal/S/MTTSL +metatarsi//MTTS +metatarsus/M/MTTSS +metatheses//MT@SS +metathesis/M/MT@SS +metathesized//MT@SST +metathesizes//MT@SSS +metathesizing//MT@SSN +metavariable//MTFRBL +mete/ZDGSR/MT +metempsychoses//MTMPSXSS +metempsychosis/M/MTMPSXSS +meteor/SM/MT +meteoric//MTRK +meteorically//MTRKL +meteorite/SM/MTRT +meteoritic/S/MTRTK +meteoritics/M/MTRTKS +meteoroid/SM/MTRT +meteorologic//MTRLKK +meteorological//MTRLKKL +meteorologist/S/MTRLKST +meteorology/MS/MTRLK +meter/GDM/MT +methadone/SM/M@TN +methane/MS/M@N +methanol/SM/M@NL +methinks//M@NKS +methionine/M/M@NN +method/MS/M@T +methodical/YP/M@TKL +methodicalness/SM/M@TKLNS +methodism//M@TSM +Methodism/SM/M@TSM +methodist/MS/M@TST +Methodist/MS/M@TST +methodological/Y/M@TLKKL +methodologists//M@TLKSTS +methodology/MS/M@TLK +methought//M@T +Methuen/M/M@N +Methuselah/M/M@SL +Methuselahs//M@SLS +methyl/SM/M@L +methylated//M@LTT +methylene/M/M@LN +meticulous/YP/MTKLS +meticulousness/MS/MTKLSNS +métier/S/MT +metonymy/M/MTNM +Metrecal/M/MTRKL +metric/SM/MTRK +metrical/Y/MTRKL +metricate/SDNGX/MTRKT +metricize/GSD/MTRSS +metrics/M/MTRKS +metro/SM/MTR +metronome/MS/MTRNM +metropolis/SM/MTRPLS +metropolitan/S/MTRPLTN +metropolitanization//MTRPLTNSXN +mets//MTS +Metternich/M/MTNX +mettle/SDM/MTL +mettlesome//MTLSM +Metzler/M/MTSL +Meuse/M/MS +mew/SGD/M +mewl/GSD/ML +mews/SM/MS +Mex//MKS +Mexicali/M/MKSKL +Mexican/S/MKSKN +Mexico/M/MKSK +Meyer/SM/MY +Meyerbeer/M/MYB +mezzanine/MS/MSNN +mezzo/S/MS +MFA//MF +mfg//MFK +mfr/S/MFR +mg//MK +Mg/M/MK +MGM/M/MKM +mgr//MKR +Mgr//MKR +MHz//MHS +MI//M +mi/MNX/M +MIA//M +Mia/M/M +Miami/SM/MM +Miaplacidus/M/MPLSTS +miasma/SM/MSM +miasmal//MSML +Mic/M/MK +mica/MS/MK +Micaela/M/MKL +Micah/M/MK +mice/M/MS +micelles//MSLS +Mich/M/MX +Michael/SM/MXL +Michaela/M/MXL +Michaelangelo/M/MXLNKL +Michaelina/M/MXLN +Michaeline/M/MXLN +Michaella/M/MXL +Michaelmas/MS/MXLMS +Michaelson/M/MXLSN +Michail/M/MXL +Michal/M/MXL +Michale/M/MXL +Micheal/M/MXL +Micheil/M/MXL +Michel/M/MXL +Michelangelo/M/MXLNKL +Michele/M/MXL +Michelin/M/MXLN +Michelina/M/MXLN +Micheline/M/MXLN +Michell/M/MXL +Michelle/M/MXL +Michelson/M/MXLSN +Michigan/M/MXKN +Michigander/S/MXKNT +Michiganite/S/MXKNT +Mick/M/MK +Mickelson/M/MKLSN +Mickey/M/MK +mickey/SM/MK +Micki/M/MK +Mickie/M/MK +Micky/M/MK +Micmac/M/MKMK +micra's//MKRS +micro/S/MKR +microamp//MKRMP +microanalysis/M/MKRNLSS +microanalytic//MKRNLTK +microbe/MS/MKRB +microbial//MKRBL +microbicidal//MKRBSTL +microbicide/M/MKRBST +microbiological//MKRBLKKL +microbiologist/MS/MKRBLKST +microbiology/SM/MKRBLK +microbrewery/S/MKRBRWR +microchemistry/M/MKRXMSTR +microchip/S/MKRXP +microcircuit/MS/MKRSKT +microcode/GSD/MKRKT +microcomputer/MS/MKRKMPT +microcosm/MS/MKRKSM +microcosmic//MKRKSMK +microdensitometer//MKRTNSTMT +microdot/MS/MKRTT +microeconomic/S/MKRKNMK +microeconomics/M/MKRKNMKS +microelectronic/S/MKRLKTRNK +microelectronics/M/MKRLKTRNKS +microfiber/S/MKRFB +microfiche/M/MKRFX +microfilm/DRMSG/MKRFLM +microfossils//MKRFSLS +micrography/M/MKRKRF +microgroove/MS/MKRKRF +microhydrodynamics//MKRHTRTNMKS +microinstruction/SM/MKRNSTRKXN +microjoule//MKRKL +microlevel//MKRLFL +microlight/S/MKRLT +micromanage/GDSL/MKRMNK +micromanagement/S/MKRMNKMNT +micrometeorite/MS/MKRMTRT +micrometeoritic//MKRMTRTK +micrometer/SM/MKRMT +micron/MS/MKRN +Micronesia/M/MKRNX +Micronesian/S/MKRNXN +microorganism/SM/MKRKNSM +microphone/SGM/MKRFN +Microport/M/MKRPT +microprocessing//MKRPRSSN +microprocessor/SM/MKRPRSS +microprogram/SM/MKRPRKRM +microprogrammed//MKRPRKRMT +microprogramming//MKRPRKRMN +micros/M/MKRS +microscope/SM/MKRSKP +microscopic//MKRSKPK +microscopical/Y/MKRSKPKL +microscopy/MS/MKRSKP +microsecond/MS/MKRSKNT +microsimulation/S/MKRSMLXN +Microsoft/M/MKRSFT +microsomal//MKRSML +microstore//MKRSTR +microsurgery/SM/MKRSKR +MicroVAX/M/MKRFKS +MicroVAXes//MKRFKSS +microvolt/SM/MKRFLT +microwave/BMGSD/MKRWF +microwaveable//MKRWFBL +microword/S/MKRWT +mid/S/MT +midair/MS/MT +midas//MTS +Midas/M/MTS +midband/M/MTBNT +midday/MS/MT +midden/SM/MTN +middest//MTST +middle/GJRSD/MTL +middlebrow/SM/MTLBR +Middlebury/M/MTLBR +middleman/M/MTLMN +middlemen//MTLMN +middlemost//MTLMST +Middlesex/M/MTLSKS +Middleton/M/MTLTN +Middletown/M/MTLTN +middleweight/SM/MTLWT +middling/Y/MTLN +middy/SM/MT +Mideast/M/MTST +Mideastern//MTSTN +midfield/RM/MTFLT +Midge/M/MK +midge/SM/MK +midget/MS/MKT +midi/S/MT +midland/MRS/MTLNT +Midland/MS/MTLNT +midlife//MTLF +midlives//MTLFS +midmorn/G/MTMN +midmost/S/MTMST +midnight/SYM/MTNT +midpoint/MS/MTPNT +midrange//MTRNK +midrib/MS/MTRB +midriff/MS/MTRF +midscale//MTSKL +midsection/M/MTSKXN +midship/S/MTXP +midshipman/M/MTXPMN +midshipmen//MTXPMN +midspan//MTSPN +midst/SM/MTST +midstream/MS/MTSTRM +midsummer/MS/MTSM +midterm/MS/MTTM +midtown/MS/MTTN +Midway/M/MTW +midway/S/MTW +midweek/SYM/MTWK +Midwest/M/MTWST +Midwestern/ZR/MTWSTN +Midwesterner/M/MTWSTN +midwicket//MTWKT +midwife/SDMG/MTWF +midwifery/SM/MTWFR +midwinter/YMS/MTWNT +midwives//MTWFS +midyear/MS/MTY +mien/M/MN +miff/GDS/MF +MIG/S/MK +might/S/MT +mightily//MTL +mightiness/MS/MTNS +mightn't//MTNT +mighty/TPR/MT +mignon//MKNN +Mignon/M/MKNN +mignonette/SM/MKNNT +Mignonne/M/MKNN +migraine/SM/MKRN +migrant/MS/MKRNT +migrate/ASDG/MKRT +migration/MS/MKRXN +migrative//MKRTF +migratory/S/MKRTR +Miguel/M/MKL +Miguela/M/MKL +Miguelita/M/MKLT +mikado/MS/MKT +Mikael/M/MKL +Mikaela/M/MKL +mike/DSMG/MK +Mike/M/MK +Mikel/M/MKL +Mikey/M/MK +Mikhail/M/MKHL +Mikkel/M/MKL +Mikol/M/MKL +Mikoyan/M/MKYN +mil/MRSZ/ML +Mil/MY/ML +milady/MS/MLT +Milagros/M/MLKRS +Milan/M/MLN +Milanese//MLNS +milch/M/MLX +mild/STYRNP/MLT +mildew/DMGS/MLT +mildness/MS/MLTNS +Mildred/M/MLTRT +Mildrid/M/MLTRT +mile/SM/ML +Mile/SM/ML +mileage/SM/MLK +Milena/M/MLN +milepost/SM/MLPST +miler/M/ML +milestone/MS/MLSTN +Milford/M/MLFT +Milicent/M/MLSNT +milieu/SM/ML +Milissent/M/MLSNT +militancy/MS/MLTNS +militant/YPS/MLTNT +militantness/M/MLTNTNS +militarily//MLTRL +militarism/SM/MLTRSM +militarist/MS/MLTRST +militaristic//MLTRSTK +militarization/SCM/MLTRSXN +militarize/SDCG/MLTRS +military//MLTR +militate/SDG/MLTT +militia/SM/MLX +militiaman/M/MLXMN +militiamen//MLXMN +milk/GZSRDM/MLK +Milka/M/MLK +Milken/M/MLKN +milker/M/MLK +milkiness/MS/MLKNS +milkmaid/SM/MLKMT +milkman/M/MLKMN +milkmen//MLKMN +milkshake/S/MLKXK +milksop/SM/MLKSP +milkweed/MS/MLKWT +milky/RPT/MLK +mill/SGZMRD/ML +Mill/SMR/ML +millage/S/MLK +Millard/M/MLT +Millay/M/ML +millenarian//MLNRN +millenarianism/M/MLNRNSM +millennial//MLNL +millennialism//MLNLSM +millennium/MS/MLNM +millepede's//MLPTS +miller/M/ML +Miller/M/ML +Millet/M/MLT +millet/MS/MLT +Milli/M/ML +milliamp//MLMP +milliampere/S/MLMPR +milliard/MS/MLT +millibar/MS/MLB +Millicent/M/MLSNT +millidegree/S/MLTKR +Millie/M/ML +milligram/MS/MLKRM +millijoule/S/MLKL +Millikan/M/MLKN +milliliter/MS/MLLT +millimeter/SM/MLMT +milliner/SM/MLN +millinery/MS/MLNR +milling/M/MLN +million/HDMS/MLN +millionaire/MS/MLNR +millionth/M/MLN@ +millionths//MLN@S +millipede/SM/MLPT +millisecond/MS/MLSKNT +Millisent/M/MLSNT +millivolt/SM/MLFLT +millivoltmeter/SM/MLFLTMT +milliwatt/S/MLWT +millpond/MS/MLPNT +millrace/SM/MLRS +millstone/SM/MLSTN +millstream/SM/MLSTRM +millwright/MS/MLRT +Milly/M/ML +Milne/M/MLN +Milo/M/ML +Milquetoast/S/MLKTST +milquetoast/SM/MLKTST +Milt/M/MLT +milt/MDSG/MLT +Miltiades/M/MLXTS +Miltie/M/MLT +Milton/M/MLTN +Miltonic//MLTNK +Miltown/M/MLTN +Milty/M/MLT +Milwaukee/M/MLWK +Milzie/M/MLS +MIMD//MMT +mime/DSRMG/MM +mimeograph/GMDS/MMKRF +mimeographs//MMKRFS +mimer/M/MM +mimesis/M/MMSS +mimetic//MMTK +mimetically//MMTKL +Mimi/M/MM +mimic/S/MMK +mimicked//MMKT +mimicker/SM/MMK +mimicking//MMKN +mimicry/MS/MMKR +Mimosa/M/MMS +mimosa/SM/MMS +min/DRZGJ/MN +Min/MR/MN +Mina/M/MN +minaret/MS/MNRT +minatory//MNTR +mince/SRDGZJ/MNS +mincemeat/MS/MNSMT +mincer/M/MNS +mincing/Y/MNSN +mind/ARDSZG/MNT +Minda/M/MNT +Mindanao/M/MNTN +mindbogglingly//MNTBKLNL +minded/P/MNTT +minder/M/MNT +mindful/U/MNTFL +mindfully//MNTFL +mindfulness/MS/MNTFLNS +mindless/YP/MNTLS +mindlessness/SM/MNTLSNS +Mindoro/M/MNTR +mind's//MNTS +mindset/S/MNTST +Mindy/M/MNT +mine/SNX/MN +minefield/MS/MNFLT +miner/M/MN +Miner/M/MN +mineral/SM/MNRL +mineralization/C/MNRLSXN +mineralized/U/MNRLST +mineralogical//MNRLKKL +mineralogist/SM/MNRLKST +mineralogy/MS/MNRLK +Minerva/M/MNF +mineshaft//MNXFT +minestrone/MS/MNSTRN +minesweeper/MS/MNSWP +Minetta/M/MNT +Minette/M/MNT +mineworkers//MNWKS +Ming/M/MN +mingle/SDG/MNL +Mingus/M/MNS +mini/S/MN +miniature/GMSD/MNTR +miniaturist/SM/MNTRST +miniaturization/MS/MNTRSXN +miniaturize/SDG/MNTRS +minibike/S/MNBK +minibus/SM/MNBS +minicab/M/MNKB +minicam/MS/MNKM +minicomputer/SM/MNKMPT +minidress/SM/MNTRS +minify/GSD/MNF +minim/SM/MNM +minimal/SY/MNML +minimalism/S/MNMLSM +minimalist/MS/MNMLST +minimalistic//MNMLSTK +minimality//MNMLT +minima's//MNMS +minimax/M/MNMKS +minimization/MS/MNMSXN +minimize/RSDZG/MNMS +minimized/U/MNMST +minimizer/M/MNMS +minimum/MS/MNMM +mining/M/MNN +minion/M/MNN +miniseries//MNSRS +miniskirt/MS/MNSKT +minister/MDGS/MNST +ministerial/Y/MNSTRL +ministrant/S/MNSTRNT +ministration/SM/MNSTRXN +ministry/MS/MNSTR +minivan/S/MNFN +miniver/M/MNF +mink/SM/MNK +minke//MNK +Minn/M/MN +Minna/M/MN +Minnaminnie/M/MNMN +Minne/M/MN +Minneapolis/M/MNPLS +minnesinger/MS/MNSN +Minnesota/M/MNST +Minnesotan/S/MNSTN +Minni/M/MN +Minnie/M/MN +Minnnie/M/MN +minnow/SM/MN +Minny/M/MN +Minoan/S/MNN +Minolta/M/MNLT +minor/DMSG/MN +Minor/M/MN +minority/MS/MNRT +Minos//MNS +Minot/M/MNT +Minotaur/M/MNT +minotaur/S/MNT +minoxidil/S/MNKSTL +Minsk/M/MNSK +Minsky/M/MNSK +minster/SM/MNST +minstrel/SM/MNSTRL +minstrelsy/MS/MNSTRLS +mint/GZSMRD/MNT +Minta/M/MNT +mintage/SM/MNTK +Mintaka/M/MNTK +minter/M/MNT +minty/RT/MNT +minuend/SM/MNNT +minuet/SM/MNT +Minuit/M/MNT +minus/S/MNS +minuscule/SM/MNSKL +minute/RSDPMTYG/MNT +minuteman//MNTMN +Minuteman/M/MNTMN +minutemen//MNTMN +minuteness/SM/MNTNS +minutia/M/MNX +minutiae//MNX +minx/MS/MNKS +Miocene//MSN +MIPS//MPS +Miquela/M/MKL +Mir/M/M +Mira/M/MR +Mirabeau/M/MRB +Mirabel/M/MRBL +Mirabella/M/MRBL +Mirabelle/M/MRBL +Mirach/M/MRX +miracle/MS/MRKL +miraculous/PY/MRKLS +miraculousness/M/MRKLSNS +mirage/GSDM/MRK +Miran/M/MRN +Miranda/M/MRNT +mire/MGDS/MR +Mireielle/M/MRL +Mireille/M/MRL +Mirella/M/MRL +Mirelle/M/MRL +Mirfak/M/MFK +Miriam/M/MRM +Mirilla/M/MRL +Mirna/M/MN +Miro//MR +mirror/DMGS/MR +mirth/M/M@ +mirthful/PY/M@FL +mirthfulness/SM/M@FLNS +mirthless/YP/M@LS +mirthlessness/M/M@LSNS +mirths//M@S +MIRV/DSG/MF +miry/RT/MR +Mirzam/M/MSM +mis/SRZ/MS +misaddress/SDG/MSTRS +misadventure/SM/MSTFNTR +misalign/DSGL/MSLN +misalignment/MS/MSLKNMNT +misalliance/MS/MSLNS +misanalysed//MSNLST +misanthrope/MS/MSN@RP +misanthropic//MSN@RPK +misanthropically//MSN@RPKL +misanthropist/S/MSN@RPST +misanthropy/SM/MSN@RP +misapplier/M/MSPL +misapply/GNXRSD/MSPL +misapprehend/GDS/MSPRHNT +misapprehension/MS/MSPRHNXN +misappropriate/GNXSD/MSPRPRT +misbegotten//MSBKTN +misbehave/RSDG/MSBHF +misbehaver/M/MSBHF +misbehavior/SM/MSBHF +misbrand/DSG/MSBRNT +misc//MSK +miscalculate/XGNSD/MSKLKLT +miscalculation/M/MSKLKLXN +miscall/SDG/MSKL +miscarriage/MS/MSKRK +miscarry/SDG/MSKR +miscast/GS/MSKST +miscegenation/SM/MSKNXN +miscellanea//MSLN +miscellaneous/PY/MSLNS +miscellany/MS/MSLN +Mischa/M/MSX +mischance/MGSD/MSXNS +mischief/MDGS/MSXF +mischievous/PY/MSXFS +mischievousness/MS/MSXFSNS +miscibility/S/MSBLT +miscible/C/MSBL +misclassification/M/MSKLSFKXN +misclassified//MSKLSFT +misclassifying//MSKLSFYN +miscode/SDG/MSKT +miscommunicate/NDS/MSKMNKT +miscomprehended//MSKMPRHNTT +misconceive/GDS/MSKNSF +misconception/MS/MSKNSPXN +misconduct/GSMD/MSKNTKT +misconfiguration//MSKNFKRXN +misconstruction/MS/MSKNSTRKXN +misconstrue/DSG/MSKNSTR +miscopying//MSKPYN +miscount/DGS/MSKNT +miscreant/MS/MSKRNT +miscue/MGSD/MSK +misdeal/SG/MSTL +misdealt//MSTLT +misdeed/MS/MSTT +misdemeanant/SM/MSTMNNT +misdemeanor/SM/MSTMN +misdiagnose/GSD/MSTKNS +misdid//MSTT +misdirect/GSD/MSTRKT +misdirection/MS/MSTRKXN +misdirector/S/MSTRKT +misdo/JG/MST +misdoes//MSTS +misdone//MSTN +miser/KM/MS +miserable/SP/MSRBL +miserableness/SM/MSRBLNS +miserably//MSRBL +miserliness/MS/MSLNS +miserly/P/MSL +misery/MS/MSR +mises/KC/MSS +misfeasance/MS/MSFSNS +misfeature/M/MSFTR +misfield//MSFLT +misfile/SDG/MSFL +misfire/SDG/MSFR +misfit/MS/MSFT +misfitted//MSFTT +misfitting//MSFTN +misfortune/SM/MSFTN +misgauge/GDS/MSKK +misgiving/MYS/MSKFN +misgovern/LDGS/MSKFN +misgovernment/S/MSKFNMNT +misguidance/SM/MSKTNS +misguide/DRSG/MSKT +misguided/PY/MSKTT +misguidedness/M/MSKTTNS +misguider/M/MSKT +Misha/M/MX +mishandle/SDG/MXNTL +mishap/MS/MXP +mishapped//MXPT +mishapping//MXPN +mishear/GS/MX +misheard//MXT +mishitting//MXTN +mishmash/SM/MXMX +misidentification/M/MSTNTFKXN +misidentify/GNSD/MSTNTF +misinform/GDS/MSNFM +misinformation/SM/MSNFMXN +misinterpret/RDSZG/MSNTPRT +misinterpretation/MS/MSNTPRTXN +misinterpreter/M/MSNTPRT +misjudge/DSG/MSKK +misjudging/Y/MSKKNK +misjudgment/MS/MSKTKMNT +Miskito//MSKT +mislabel/DSG/MSLBL +mislaid//MSLT +mislay/GS/MSL +mislead/GRJS/MSLT +misleader/M/MSLT +misleading/Y/MSLTN +misled//MSLT +mismanage/LGSD/MSMNK +mismanagement/MS/MSMNKMNT +mismatch/GSD/MSMX +misname/GSD/MSNM +misnomer/GSMD/MSNM +misogamist/MS/MSKMST +misogamy/MS/MSKM +misogynist/MS/MSKNST +misogynistic//MSKNSTK +misogynous//MSKNS +misogyny/MS/MSKN +misperceive/SD/MSPSF +misplace/GLDS/MSPLS +misplacement/MS/MSPLSMNT +misplay/GSD/MSPL +mispositioned//MSPSXNT +misprint/SGDM/MSPRNT +misprision/SM/MSPRXN +mispronounce/DSG/MSPRNNS +mispronunciation/MS/MSPRNNXXN +misquotation/MS/MSKTXN +misquote/GDS/MSKT +misread/RSGJ/MSRT +misreader/M/MSRT +misrelated//MSRLTT +misremember/DG/MSRMMB +misreport/DGS/MSRPT +misrepresent/SDRG/MSRPRSNT +misrepresentation/MS/MSRPRSNTXN +misrepresenter/M/MSRPRSNT +misroute/DS/MSRT +misrule/SDG/MSRL +miss/SDEGV/MS +Miss/SM/MS +missal/ESM/MSL +misshape/DSG/MXP +misshapen/PY/MXPN +misshapenness/SM/MXPNS +Missie/M/MS +missile/MS/MSL +missilery/SM/MSLR +mission/AMS/MXN +missionary/MS/MXNR +missioned//MXNT +missioner/SM/MXN +missioning//MXNN +missis's//MSSS +Mississauga/M/MSSK +Mississippi/M/MSSP +Mississippian/S/MSSPN +missive/MS/MSF +Missoula/M/MSL +Missouri/M/MSR +Missourian/S/MSRN +misspeak/SG/MSPK +misspecification//MSPSFKXN +misspecified//MSPSFT +misspell/SGJD/MSPL +misspelling/M/MSPLN +misspend/GS/MSPNT +misspent//MSPNT +misspoke//MSPK +misspoken//MSPKN +misstate/GLDRS/MSTT +misstatement/MS/MSTTMNT +misstater/M/MSTT +misstep/MS/MSTP +misstepped//MSTPT +misstepping//MSTPN +missus/SM/MSS +Missy/M/MS +mist/MRDGZS/MST +mistakable/U/MSTKBL +mistake/BMGSR/MSTK +mistaken/Y/MSTKN +mistaker/M/MSTK +mistaking/Y/MSTKN +Mistassini/M/MSTSN +mister/GDM/MST +Mister/SM/MST +Misti/M/MST +mistily//MSTL +mistime/GSD/MSTM +mistiness/S/MSTNS +mistletoe/MS/MSTLT +mistook//MSTK +mistral/MS/MSTRL +mistranslated//MSTRNSLTT +mistranslates//MSTRNSLTS +mistranslating//MSTRNSLTN +mistranslation/SM/MSTRNSLXN +mistreat/DGSL/MSTRT +mistreatment/SM/MSTRTMNT +Mistress/MS/MSTRS +mistress/MSY/MSTRS +mistrial/SM/MSTRL +mistrust/SRDG/MSTRST +mistruster/M/MSTRST +mistrustful/Y/MSTRSTFL +Misty/M/MST +misty/PRT/MST +mistype/SDGJ/MSTP +misunderstand/JSRZG/MSNTSTNT +misunderstander/M/MSNTSTNT +misunderstanding/M/MSNTSTNTN +misunderstood//MSNTSTT +misuse/RSDMG/MSS +misuser/M/MSS +miswritten//MSRTN +MIT/M/MT +Mitch/M/MX +Mitchael/M/MXL +Mitchel/M/MXL +Mitchell/M/MXL +mite/SRMZ/MT +miter/GRDM/MT +miterer/M/MTR +Mitford/M/MTFT +Mithra/M/M@R +Mithridates/M/M@RTTS +mitigate/XNGVDS/MTKT +mitigated/U/MTKTT +mitigation/M/MTKXN +mitoses//MTSS +mitosis/M/MTSS +mitotic//MTTK +MITRE/SM/MTR +Mitsubishi/M/MTSBX +mitt/XSMN/MT +mitten/M/MTN +Mitterrand/M/MTRNT +Mitty/M/MT +Mitzi/M/MTS +mitzvahs//MTSFS +mix/AGSD/MKS +mixable//MKSBL +mixed/U/MKST +mixer/SM/MKS +mixture/SM/MKSTR +Mizar/M/MS +mizzen/MS/MSN +mizzenmast/SM/MSNMST +Mk//MK +mks//MKS +ml//ML +Mlle/M/ML +mm//M +MM//M +MMe//M +Mme/SM/M +MN//MN +Mn/M/MN +mnemonic/SM/MNMNK +mnemonically//MNMNKL +mnemonics/M/MNMNKS +Mnemosyne/M/MNMSN +MO//M +mo/CSK/M +Mo/MN/M +moan/GSZRDM/MN +moat/SMDG/MT +mob/MS/MB +mobbed//MBT +mobber//MB +mobbing//MBN +mobcap/SM/MBKP +Mobil/M/MBL +Mobile/M/MBL +mobile/S/MBL +mobility/MS/MBLT +mobilizable//MBLSBL +mobilization/AMCS/MBLSXN +mobilize/CGDS/MBLS +mobilized/U/MBLST +mobilizer/MS/MBLS +mobilizes/A/MBLSS +mobster/MS/MBST +Mobutu/M/MBT +moccasin/SM/MKSN +mocha/SM/MX +mock/GZSRD/MK +mockers/M/MKS +mockery/MS/MKR +mocking/Y/MKN +mockingbird/MS/MKNBT +mod/TSR/MT +modal/Y/MTL +modality/MS/MTLT +mode/MS/MT +model/ZGSJMRD/MTL +modeled/A/MTLT +modeler/M/MTL +modeling/M/MTLN +models/A/MTLS +modem/SM/MTM +moderate/PNGDSXY/MTRT +moderated/U/MTRTT +moderateness/SM/MTRTNS +moderation/M/MTRXN +moderator/MS/MTRT +modern/PTRYS/MTN +modernism/MS/MTNSM +modernist/S/MTNST +modernistic//MTNSTK +modernity/SM/MTNT +modernization/MS/MTNSXN +modernize/SRDGZ/MTNS +modernized/U/MTNST +modernizer/M/MTNS +modernizes/U/MTNSS +modernness/SM/MTNS +modest/TRY/MTST +Modesta/M/MTST +Modestia/M/MTSX +Modestine/M/MTSTN +Modesto/M/MTST +Modesty/M/MTST +modesty/MS/MTST +modicum/SM/MTKM +modifiability/M/MTFBLT +modifiable/U/MTFBL +modifiableness/M/MTFBLNS +modification/M/MTFKXN +modified/U/MTFT +modifier/M/MTF +modify/NGZXRSD/MTF +Modigliani/M/MTKLN +modish/YP/MTX +modishness/MS/MTXNS +Modula/M/MTL +modular/SY/MTL +modularity/SM/MTLRT +modularization//MTLRSXN +modularize/SDG/MTLRS +modulate/ADSNCG/MTLT +modulation/CMS/MTLXN +modulator/ACSM/MTLT +module/SM/MTL +moduli//MTL +modulo//MTL +modulus/M/MTLS +modus//MTS +Moe/M/M +Moen/M/MN +Mogadiscio's//MKTSS +Mogadishu//MKTX +mogul/MS/MKL +Mogul/MS/MKL +mohair/SM/MH +Mohamed/M/MHMT +Mohammad/M/MHMT +Mohammedan/SM/MHMTN +Mohammedanism/MS/MHMTNSM +Mohammed's//MHMTS +Mohandas/M/MHNTS +Mohandis/M/MHNTS +Mohawk/MS/MHK +Mohegan/S/MHKN +Mohican's//MHKNS +Moho/M/MH +Mohorovicic/M/MHRFSK +Mohr/M/MR +moiety/MS/MT +moil/SGD/ML +Moina/M/MN +Moines/M/MNS +Moira/M/MR +moire/MS/MR +Moise/MS/MS +Moiseyev/M/MSYF +Moishe/M/MX +moist/TXPRNY/MST +moisten/ZGRD/MSTN +moistener/M/MSTN +moistness/MS/MSTNS +moisture/MS/MSTR +moisturize/GZDRS/MSTRS +Mojave/M/MKF +molal//MLL +molar/MS/ML +molarity/SM/MLRT +molasses/MS/MLSS +mold/MRDJSGZ/MLT +Moldavia/M/MLTF +Moldavian/S/MLTFN +moldboard/SM/MLTBT +molder/DG/MLT +moldiness/SM/MLTNS +molding/M/MLTN +Moldova//MLTF +moldy/PTR/MLT +mole/MTS/ML +molecular/Y/MLKL +molecularity/SM/MLKLRT +molecule/MS/MLKL +molehill/SM/MLHL +moleskin/MS/MLSKN +molest/RDZGS/MLST +molestation/SM/MLSTXN +molested/U/MLSTT +molester/M/MLST +Moliere//MLR +Molina/M/MLN +Moline/M/MLN +Moll/M/ML +moll/MS/ML +Mollee/M/ML +Molli/M/ML +Mollie/M/ML +mollification/M/MLFKXN +mollify/XSDGN/MLF +mollusc's//MLSKS +mollusk/S/MLSK +Molly/M/ML +molly/SM/ML +mollycoddle/SRDG/MLKTL +mollycoddler/M/MLKTL +Molnar/M/MLN +Moloch/M/MLX +Molokai/M/MLK +Molotov/M/MLTF +molt/RDNGZS/MLT +molter/M/MLT +Moluccas//MLKS +molybdenite/M/MLBTNT +molybdenum/MS/MLBTNM +mom/SM/MM +Mombasa/M/MMBS +moment/MYS/MMNT +momenta//MMNT +momentarily//MMNTRL +momentariness/SM/MMNTRNS +momentary/P/MMNTR +momentous/YP/MMNTS +momentousness/MS/MMNTSNS +momentum/SM/MMNTM +momma/S/MM +Mommy/M/MM +mommy/SM/MM +Mon/SM/MN +Mona/M/MN +Monaco/M/MNK +monad/SM/MNT +monadic//MNTK +Monah/M/MN +monarch/M/MNX +monarchic//MNXK +monarchical//MNXKL +monarchism/MS/MNXSM +monarchist/MS/MNXST +monarchistic//MNXSTK +monarchs//MNXS +monarchy/MS/MNX +Monash/M/MNX +monastery/MS/MNSTR +monastic/S/MNSTK +monastical/Y/MNSTKL +monasticism/MS/MNSTSSM +monaural/Y/MNRL +Mondale/M/MNTL +Monday/MS/MNT +Mondrian/M/MNTRN +Monegasque/SM/MNKSK +Monera/M/MNR +Monet/M/MNT +monetarily//MNTRL +monetarism/S/MNTRSM +monetarist/MS/MNTRST +monetary//MNTR +monetization/CMA/MNTSXN +monetize/CGADS/MNTS +money/SMRD/MN +moneybag/SM/MNBK +moneychangers//MNXNKS +moneyer/M/MNY +moneylender/SM/MNLNT +moneymaker/MS/MNMK +moneymaking/MS/MNMKN +Monfort/M/MNFT +monger/SGDM/MNK +Mongol/SM/MNKL +Mongolia/M/MNKL +Mongolian/S/MNKLN +Mongolic/M/MNKLK +mongolism/SM/MNKLSM +mongoloid/S/MNKLT +Mongoloid/S/MNKLT +mongoose/SM/MNKS +mongrel/SM/MNKRL +Monica/M/MNK +monies/M/MNS +Monika/M/MNK +moniker/MS/MNK +Monique/M/MNK +monism/MS/MNSM +monist/SM/MNST +monition/SM/MNXN +monitor/GSMD/MNT +monitored/U/MNTRT +monitory/S/MNTR +Monk/M/MNK +monk/MS/MNK +monkey/SMDG/MNK +monkeyshine/S/MNKXN +monkish//MNKX +monkshood/SM/MNKXT +Monmouth/M/MNM@ +mono/MS/MN +monochromatic//MNXRMTK +monochromator//MNXRMT +monochrome/MS/MNXRM +monocle/SDM/MNKL +monoclinic//MNKLNK +monoclonal/S/MNKLNL +monocotyledon/SM/MNKTLTN +monocotyledonous//MNKTLTNS +monocular/SY/MNKL +monodic//MNTK +monodist/S/MNTST +monody/MS/MNT +monogamist/MS/MNKMST +monogamous/PY/MNKMS +monogamy/MS/MNKM +monogram/MS/MNKRM +monogrammed//MNKRMT +monogramming//MNKRMN +monograph/GMDS/MNKRF +monographs//MNKRFS +monolingual/S/MNLNL +monolingualism//MNLNLSM +monolith/M/MNL@ +monolithic//MNL@K +monolithically//MNL@KL +monoliths//MNL@S +monologist/S/MNLKST +monologue/GMSD/MNLK +monomania/MS/MNMN +monomaniac/MS/MNMNK +monomaniacal//MNMNKL +monomer/SM/MNM +monomeric//MNMRK +monomial/SM/MNML +Monongahela/M/MNNKHL +mononuclear//MNNKL +mononucleoses//MNNKLSS +mononucleosis/M/MNNKLSS +monophonic//MNFNK +monoplane/MS/MNPLN +monopole/S/MNPL +monopolist/MS/MNPLST +monopolistic//MNPLSTK +monopolization/MS/MNPLSXN +monopolize/GZDSR/MNPLS +monopolized/U/MNPLST +monopolizes/U/MNPLSS +monopoly/MS/MNPL +monorail/SM/MNRL +monostable//MNSTBL +monosyllabic//MNSLBK +monosyllable/MS/MNSLBL +monotheism/SM/MN@SM +monotheist/S/MN@ST +monotheistic//MN@STK +monotone/SDMG/MNTN +monotonic//MNTNK +monotonically//MNTNKL +monotonicity//MNTNST +monotonous/YP/MNTNS +monotonousness/MS/MNTNSNS +monotony/MS/MNTN +monoxide/SM/MNKST +Monro/M/MNR +Monroe/M/MNR +Monrovia/M/MNRF +Monsanto/M/MNSNT +monseigneur//MNSKN +monsieur/M/MNS +Monsignor/MS/MNSKN +monsignor/S/MNSKN +Monsignori//MNSKNR +monsoon/MS/MNSN +monsoonal//MNSNL +monster/SM/MNST +monstrance/ASM/MNSTRNS +monstrosity/SM/MNSTRST +monstrous/YP/MNSTRS +monstrousness/M/MNSTRSNS +Mont/M/MNT +montage/SDMG/MNTK +Montague/M/MNTK +Montaigne/M/MNTKN +Montana/M/MNTN +Montanan/MS/MNTNN +Montcalm/M/MNTKLM +Montclair/M/MNTKL +Monte/M/MNT +Montenegrin//MNTNKRN +Montenegro/M/MNTNKR +Monterey/M/MNTR +Monterrey/M/MNTR +Montesquieu/M/MNTSK +Montessori/M/MNTSR +Monteverdi/M/MNTFT +Montevideo/M/MNTFT +Montezuma//MNTSM +Montgomery/M/MNTKMR +month/MY/MN@ +monthly/S/MN@L +months//MN@S +Monti/M/MNT +Monticello/M/MNTSL +Montmartre/M/MNTMTR +Montoya/M/MNTY +Montpelier/M/MNTPL +Montrachet/M/MNTRXT +Montreal/M/MNTRL +Montserrat/M/MNTSRT +Monty/M/MNT +monument/DMSG/MNMNT +monumental/Y/MNMNTL +monumentality/M/MNMNTLT +moo/GSD/M +mooch/ZSRDG/MX +mood/MS/MT +moodily//MTL +moodiness/MS/MTNS +Moody/M/MT +moody/PTR/MT +Moog//MK +moon/GDMS/MN +Moon/M/MN +moonbeam/SM/MNBM +Mooney/M/MN +moonless//MNLS +moonlight/GZDRMS/MNLT +moonlighting/M/MNLTN +moonlit//MNLT +moonscape/MS/MNSKP +moonshine/SRZM/MNXN +moonshiner/M/MNXN +moonshot/MS/MNXT +moonstone/SM/MNSTN +moonstruck//MNSTRK +moonwalk/SDG/MNWLK +moor/GDMJS/M +Moor/MS/M +Moore/M/MR +mooring/M/MRN +Moorish//MRX +moorland/MS/MLNT +moose/M/MS +moot/RDGS/MT +mop/SZGMDR/MP +mope/S/MP +moped/MS/MPT +moper/M/MP +mopey//MP +mopier//MP +mopiest//MPST +mopish//MPX +mopped//MPT +moppet/MS/MPT +mopping//MPN +Mora/M/MR +moraine/MS/MRN +moral/SMY/MRL +morale/MS/MRL +Morales/M/MRLS +moralist/MS/MRLST +moralistic//MRLSTK +moralistically//MRLSTKL +morality/UMS/MRLT +moralization/CS/MRLSXN +moralize/CGDRSZ/MRLS +moralled//MRLT +moraller//MRL +moralling//MRLN +Moran/M/MRN +morass/SM/MRS +moratorium/SM/MRTRM +Moravia/M/MRF +Moravian//MRFN +moray/SM/MR +morbid/YP/MBT +morbidity/SM/MBTT +morbidness/S/MBTNS +Mord/M/MT +mordancy/MS/MTNS +mordant/GDYS/MTNT +Mordecai/M/MTK +Mordred/M/MTRT +Mordy/M/MT +more/DSN/MR +More/M/MR +Moreen/M/MRN +Morehouse/M/MRHS +morel/SM/MRL +Moreland/M/MRLNT +Morena/M/MRN +Moreno/M/MRN +moreover//MRF +Morey/M/MR +Morgan/MS/MKN +Morgana/M/MKN +Morganica/M/MKNK +Morganne/M/MKN +morgen/M/MKN +Morgen/M/MKN +morgue/SM/MK +Morgun/M/MKN +Moria/M/MR +Moriarty/M/MRT +moribund/Y/MRBNT +moribundity/M/MRBNTT +Morie/M/MR +Morin/M/MRN +morion/M/MRN +Morison/M/MRSN +Morissa/M/MRS +Morita/M/MRT +Moritz/M/MRTS +Morlee/M/ML +Morley/M/ML +Morly/M/ML +Mormon/SM/MMN +Mormonism/MS/MMNSM +morn/SGJDM/MN +Morna/M/MN +morning/MY/MNN +Moro/M/MR +Moroccan/S/MRKN +Morocco/M/MRK +morocco/SM/MRK +moron/SM/MRN +Moroni/M/MRN +moronic//MRNK +moronically//MRNKL +morose/YP/MRS +moroseness/MS/MRSNS +morph/GDJ/MF +morpheme/DSMG/MFM +morphemic/S/MFMK +Morpheus/M/MFS +morphia/S/MF +morphine/MS/MFN +morphism/MS/MFSM +morphologic//MFLKK +morphological/Y/MFLKKL +morphology/MS/MFLK +morphophonemic/S/MFFNMK +morphophonemics/M/MFFNMKS +morphs//MFS +Morrie/M/MR +morris//MRS +Morris/M/MRS +Morrison/M/MRSN +Morristown/M/MRSTN +Morrow/M/MR +morrow/MS/MR +Morry/M/MR +Morse/M/MS +morsel/GMDS/MSL +Mort/MN/MT +mortal/SY/MTL +mortality/SM/MTLT +mortar/GSDM/MT +mortarboard/SM/MTBT +Morten/M/MTN +mortgage/MGDS/MTKK +mortgageable//MTKKBL +mortgagee/SM/MTKK +mortgagor/SM/MTKK +mortice's//MTSS +mortician/SM/MTXN +Mortie/M/MT +mortification/M/MTFKXN +mortified/Y/MTFT +mortifier/M/MTF +mortify/DRSXGN/MTF +Mortimer/M/MTM +mortise/MGSD/MTS +Morton/M/MTN +mortuary/MS/MTR +Morty/M/MT +mos/S/MS +Mosaic//MSK +mosaic/MS/MSK +mosaicked//MSKT +mosaicking//MSKN +Moscone/M/MSKN +Moscow/M/MSK +Mose/MSR/MS +Moseley/M/MSL +Moselle/M/MSL +Moser/M/MS +mosey/SGD/MS +Moshe/M/MX +Moslem's//MSLMS +Mosley/M/MSL +mosque/SM/MSK +mosquito/M/MSKT +mosquitoes//MSKTS +Moss/M/MS +moss/SDMG/MS +mossback/MS/MSBK +Mossberg/M/MSBK +mossy/SRT/MS +most/SY/MST +Mosul/M/MSL +mot/MSV/MT +mote/ASCNK/MT +motel/MS/MTL +mote's//MTS +motet/SM/MTT +moth/ZMR/M@ +mothball/DMGS/M@BL +mother/RDYMZG/M@ +motherboard/MS/M@BT +motherfucker/MS/M@FK +motherfucking//M@FKN +motherhood/SM/M@HT +mothering/M/M@RN +motherland/SM/M@LNT +motherless//M@LS +motherliness/MS/M@LNS +motherly/P/M@L +moths//M@S +motif/MS/MTF +motile/S/MTL +motility/MS/MTLT +motion/GRDMS/MXN +motional/K/MXNL +motioner/M/MXN +motionless/YP/MXNLS +motionlessness/S/MXNLSNS +motion's/ACK/MXNS +motions/K/MXNS +motivate/XDSNGV/MTFT +motivated/U/MTFTT +motivation/M/MTFXN +motivational/Y/MTFXNL +motivator/S/MTFT +motive/MGSD/MTF +motiveless//MTFLS +motley/S/MTL +motlier//MTL +motliest//MTLST +motocross/SM/MTKRS +motor/DMSG/MT +motorbike/SDGM/MTBK +motorboat/MS/MTBT +motorcade/MSDG/MTKT +motorcar/MS/MTK +motorcycle/GMDS/MTSKL +motorcyclist/SM/MTSKLST +motoring/M/MTRN +motorist/SM/MTRST +motorization/SM/MTRSXN +motorize/DSG/MTRS +motorized/U/MTRST +motorman/M/MTMN +motormen//MTMN +motormouth//MTM@ +motormouths//MTM@S +Motorola/M/MTRL +motorway/SM/MTW +Motown/M/MTN +Mott/M/MT +mottle/GSRD/MTL +mottler/M/MTL +motto/M/MT +mottoes//MTS +moue/DSMG/M +moulder/DSG/MLT +moult/GSD/MLT +mound/GMDS/MNT +mount/EGACD/MNT +Mount/M/MNT +mountable//MNTBL +mountain/SM/MNTN +mountaineer/JMDSG/MNTN +mountaineering/M/MNTNRN +mountainous/PY/MNTNS +mountainousness/M/MNTNSNS +mountainside/MS/MNTNST +mountaintop/SM/MNTNTP +Mountbatten/M/MNTBTN +mountebank/SGMD/MNTBNK +mounted/U/MNTT +mounter/SM/MNT +Mountie/SM/MNT +mounties//MNTS +mounting/MS/MNTN +mounts/AE/MNTS +mourn/ZGSJRD/MN +mourner/M/MN +mournful/YP/MNFL +mournfuller//MNFL +mournfullest//MNFLST +mournfulness/S/MNFLNS +mourning/M/MNN +mouse/SRDGMZ/MS +mouser/M/MS +mousetrap/SM/MSTRP +mousetrapped//MSTRPT +mousetrapping//MSTRPN +mousiness/MS/MSNS +mousing/M/MSN +mousse/MGSD/MS +Moussorgsky/M/MSKSK +mousy/PRT/MS +mouth/MSRDG/M@ +Mouthe/M/M@ +mouthful/MS/M@FL +mouthiness/SM/M@NS +mouthorgan//M@KN +mouthpiece/SM/M@PS +mouths//M@S +mouthwash/SM/M@WX +mouthwatering//M@WTRN +mouthy/PTR/M@ +Mouton/M/MTN +mouton/SM/MTN +movable/ASP/MFBL +movableness/AM/MFBLNS +move/ARSDGZB/MF +moved/U/MFT +movement/SM/MFMNT +mover/AM/MF +movie/SM/MF +moviegoer/S/MFK +moving/YS/MFN +mow/SDRZG/M +mower/M/MW +Mowgli/M/MKL +mowing/M/MWN +moxie/MS/MKS +Moyer/M/MY +Moyna/M/MN +Moyra/M/MR +Mozambican/S/MSMBKN +Mozambique/M/MSMBK +Mozart/M/MST +Mozelle/M/MSL +Mozes/M/MSS +mozzarella/MS/MSRL +mp//MP +MP//MP +mpg//MPK +mph//MF +MPH//MF +Mr/M/MR +MRI//MR +Mrs//MRS +ms//MS +M's//MS +MS//MS +m's/K/MS +Ms/S/MS +MSG//MSK +Msgr/M/MSKR +MST//MST +MSW//MS +mt//MT +MT//MT +Mt/M/MT +mtg//MTK +mtge//MTK +MTS//MTS +MTV//MTF +mu/M/M +Muawiya/M/MWY +Mubarak/M/MBRK +much/SP/MX +muchness/M/MXNS +mucilage/MS/MSLK +mucilaginous//MSLKNS +muck/GRDMS/MK +mucker/M/MK +muckrake/ZMDRSG/MKRK +muckraker/M/MKRK +mucky/RT/MK +mucosa/M/MKS +mucous//MKS +mucus/SM/MKS +mud/MS/MT +mudded//MTT +muddily//MTL +muddiness/SM/MTNS +mudding//MTN +muddle/GRSDZ/MTL +muddlehead/SMD/MTLHT +muddleheaded/P/MTLHTT +muddler/M/MTL +muddy/TPGRSD/MT +mudflat/S/MTFLT +mudguard/SM/MTKT +mudlarks//MTLKS +mudroom/S/MTRM +mudslide/S/MTSLT +mudsling/JRGZ/MTSLN +mudslinger/M/MTSLN +mudslinging/M/MTSLNN +Mueller/M/ML +Muenster//MNST +muenster/MS/MNST +muesli/M/MSL +muezzin/MS/MSN +muff/GDMS/MF +Muffin/M/MFN +muffin/SM/MFN +muffle/ZRSDG/MFL +muffler/M/MFL +Mufi/M/MF +Mufinella/M/MFNL +mufti/MS/MFT +mug/SM/MK +Mugabe/M/MKB +mugged//MKT +mugger/SM/MK +mugginess/S/MKNS +mugging/S/MKN +muggy/RPT/MK +mugshot/S/MKXT +mugwump/MS/MKWMP +Muhammad/M/MHMT +Muhammadan/SM/MHMTN +Muhammadanism/S/MHMTNSM +Muir/M/M +Muire/M/MR +Mukden/M/MKTN +mukluk/SM/MKLK +mulatto/M/MLT +mulattoes//MLTS +mulberry/MS/MLBR +mulch/GMSD/MLX +mulct/SDG/MLKT +Mulder/M/MLT +mule/MGDS/ML +muleskinner/S/MLSKN +muleteer/MS/MLT +mulish/YP/MLX +mulishness/MS/MLXNS +mull/RDSG/ML +mullah/M/ML +mullahs//MLS +mullein/MS/MLN +Mullen/M/MLN +muller/M/ML +Muller/M/ML +mullet/MS/MLT +Mulligan/M/MLKN +mulligan/SM/MLKN +mulligatawny/SM/MLKTN +Mullikan/M/MLKN +Mullins//MLNS +mullion/MDSG/MLN +Multan/M/MLTN +multi//MLT +Multibus/M/MLTBS +multicellular//MLTSLL +multichannel/M/MLTXNL +multicollinearity/M/MLTKLNRT +multicolor/SDM/MLTKL +multicolumn//MLTKLMN +multicomponent//MLTKMPNNT +multicomputer/MS/MLTKMPT +Multics/M/MLTKS +MULTICS/M/MLTKS +multicultural//MLTKLTRL +multiculturalism/S/MLTKLTRLSM +multidimensional//MLTTMNXNL +multidimensionality//MLTTMNXNLT +multidisciplinary//MLTTSPLNR +multifaceted//MLTFSTT +multifamily//MLTFML +multifarious/YP/MLTFRS +multifariousness/SM/MLTFRSNS +multifigure//MLTFKR +multiform//MLTFM +multifunction/D/MLTFNKXN +multilateral/Y/MLTLTRL +multilayer//MLTLY +multilevel/D/MLTLFL +multilingual//MLTLNL +multilingualism/S/MLTLNLSM +multimedia/S/MLTMT +multimegaton/M/MLTMKTN +multimeter/M/MLTMT +multimillionaire/SM/MLTMLNR +multinational/S/MLTNXNL +multinomial/M/MLTNML +multiphase//MLTFS +multiple/SM/MLTPL +multiplet/SM/MLTPLT +multiplex/GZMSRD/MLTPLKS +multiplexor's//MLTPLKSS +multipliable//MLTPLBL +multiplicand/SM/MLTPLKNT +multiplication/M/MLTPLKXN +multiplicative/YS/MLTPLKTF +multiplicity/MS/MLTPLST +multiplier/M/MLTPL +multiply/ZNSRDXG/MLTPL +multiprocess/G/MLTPRSS +multiprocessor/MS/MLTPRSS +multiprogram//MLTPRKRM +multiprogrammed//MLTPRKRMT +multiprogramming/MS/MLTPRKRMN +multipurpose//MLTPPS +multiracial//MLTRXL +multistage//MLTSTK +multistory/S/MLTSTR +multisyllabic//MLTSLBK +multitasking/S/MLTTSKN +multitude/MS/MLTTT +multitudinous/YP/MLTTTNS +multitudinousness/M/MLTTTNSNS +multiuser//MLTS +multivalent//MLTFLNT +multivalued//MLTFLT +multivariate//MLTFRT +multiversity/M/MLTFST +multivitamin/S/MLTFTMN +mum/MS/MM +mumble/ZJGRSD/MMBL +mumbler/M/MMBL +mumbletypeg/S/MMBLTPK +Mumford/M/MMFT +mummed//MMT +mummer/SM/MM +mummery/MS/MMR +mummification/M/MMFKXN +mummify/XSDGN/MMF +mumming//MMN +mummy/GSDM/MM +mumps/M/MMPS +mun/S/MN +Munch/M/MNX +munch/ZRSDG/MNX +muncher/M/MNX +Münchhausen/M/MNXHSN +munchies//MNXS +Muncie/M/MNS +mundane/YSP/MNTN +Mundt/M/MNTT +munge/JGZSRD/MNK +Munich/M/MNX +municipal/YS/MNSPL +municipality/SM/MNSPLT +munificence/MS/MNFSNS +munificent/Y/MNFSNT +munition/SDG/MNXN +Munmro/M/MNMR +Munoz/M/MNS +Munro/M/MNR +Munroe/M/MNR +Munsey/M/MNS +Munson/M/MNSN +Munster/MS/MNST +muon/M/MN +Muong/M/MNK +Muppet/M/MPT +mural/SM/MRL +muralist/SM/MRLST +Murasaki/M/MRSK +Murat/M/MRT +Murchison/M/MXSN +Murcia/M/MX +murder/GZRDMS/MT +murderer/M/MTR +murderess/S/MTRS +murderous/YP/MTRS +murderousness/M/MTRSNS +Murdoch/M/MTX +Murdock/M/MTK +Mureil/M/MRL +Murial/M/MRL +muriatic//MRTK +Muriel/M/MRL +Murielle/M/MRL +Murillo/M/MRL +murk/TRMS/MK +murkily//MKL +murkiness/S/MKNS +murky/RPT/MK +Murmansk/M/MMNSK +murmur/RDMGZSJ/MM +murmurer/M/MMR +murmuring/U/MMRN +murmurous//MMRS +Murphy/M/MF +murrain/SM/MRN +Murray/M/MR +Murrow/M/MR +Murrumbidgee/M/MRMBK +Murry/M/MR +Murvyn/M/MFN +mus/GJDSR/MS +Muscat/M/MSKT +muscat/SM/MSKT +muscatel/MS/MSKTL +muscle/SDMG/MSKL +musclebound//MSKLBNT +Muscovite/M/MSKFT +muscovite/MS/MSKFT +Muscovy/M/MSKF +muscular/Y/MSKL +muscularity/SM/MSKLRT +musculature/SM/MSKLTR +muse//MS +Muse/M/MS +muser/M/MS +musette/SM/MST +museum/MS/MSM +mush/MSRDG/MX +musher/M/MX +mushiness/MS/MXNS +mushroom/DMSG/MXRM +mushy/PTR/MX +Musial/M/MXL +music/SM/MSK +musical/YU/MSKL +musicale/SM/MSKL +musicality/SM/MSKLT +musicals//MSKLS +musician/MYS/MSXN +musicianship/MS/MSXNXP +musicked//MSKT +musicking//MSKN +musicological//MSKLKKL +musicologist/MS/MSKLKST +musicology/MS/MSKLK +musing/Y/MSN +musk/GDMS/MSK +muskeg/SM/MSKK +Muskegon/M/MSKKN +muskellunge/SM/MSKLNK +musket/SM/MSKT +musketeer/MS/MSKT +musketry/MS/MSKTR +muskie/M/MSK +muskiness/MS/MSKNS +muskmelon/MS/MSKMLN +muskox/N/MSKKS +muskrat/MS/MSKRT +musky/RSPT/MSK +Muslim/MS/MSLM +muslin/MS/MSLN +muss/SDG/MS +mussel/MS/MSL +Mussolini/MS/MSLN +Mussorgsky/M/MSKSK +mussy/RT/MS +must/RDGZS/MST +mustache/DSM/MSTX +mustachio/MDS/MSTX +mustang/MS/MSTNK +mustard/MS/MSTT +muster/GD/MST +mustily//MSTL +mustiness/MS/MSTNS +mustn't//MSTNT +must've//MSTF +musty/RPT/MST +mutability/SM/MTBLT +mutable/P/MTBL +mutableness/M/MTBLNS +mutably//MTBL +mutagen/SM/MTKN +mutant/MS/MTNT +mutate/XVNGSD/MTT +mutation/M/MTXN +mutational/Y/MTXNL +mutator/S/MTT +mute/PDSRBYTG/MT +muted/Y/MTT +muteness/S/MTNS +mutilate/XDSNG/MTLT +mutilation/M/MTLXN +mutilator/MS/MTLT +mutineer/SMDG/MTN +mutinous/Y/MTNS +mutiny/MGSD/MTN +Mutsuhito/M/MTSHT +mutt/ZSMR/MT +mutter/GZRDJ/MT +mutterer/M/MTR +mutton/SM/MTN +muttonchops//MTNXPS +mutual/SY/MTL +mutuality/S/MTLT +muumuu/MS/MM +muzak//MSK +Muzak/SM/MSK +Muzo/M/MS +muzzle/MGRSD/MSL +muzzled/U/MSLT +muzzler/M/MSL +MVP//MFP +MW//M +My/M/M +my/S/M +Myanmar//MYNM +Myca/M/MK +Mycah/M/MK +Mycenae/M/MSN +Mycenaean//MSNN +Mychal/M/MXL +mycologist/MS/MKLKST +mycology/MS/MKLK +myelitides//MYLTTS +myelitis/M/MYLTS +Myer/MS/MY +myers//MYS +mylar//ML +Mylar/S/ML +Myles/M/MLS +Mylo/M/ML +myna/SM/MN +Mynheer/M/MNH +myocardial//MYKTL +myocardium/M/MYKTM +myopia/MS/MYP +myopic/S/MYPK +myopically//MYPKL +Myra/M/MR +Myrah/M/MR +Myranda/M/MRNT +Myrdal/M/MRTL +myriad/S/MRT +Myriam/M/MRM +Myrilla/M/MRL +Myrle/M/MRL +Myrlene/M/MRLN +myrmidon/S/MRMTN +Myrna/M/MRN +Myron/M/MRN +myrrh/M/MRH +myrrhs//MRHS +Myrta/M/MRT +Myrtia/M/MRX +Myrtice/M/MRTS +Myrtie/M/MRT +Myrtle/M/MRTL +myrtle/SM/MRTL +Myrvyn/M/MRFN +Myrwyn/M/MRN +mys//MS +myself//MSLF +Mysore/M/MSR +Myst/M/MST +mysterious/YP/MSTRS +mysteriousness/MS/MSTRSNS +mystery/MDSG/MSTR +mystic/SM/MSTK +mystical/Y/MSTKL +mysticism/MS/MSTSSM +mystification/M/MSTFKXN +mystifier/M/MSTF +mystify/CSDGNX/MSTF +mystifying/Y/MSTFYN +mystique/MS/MSTK +myth/MS/M@ +mythic//M@K +mythical/Y/M@KL +mythographer/SM/M@KRF +mythography/M/M@KRF +mythological/Y/M@LKKL +mythologist/MS/M@LKST +mythologize/CSDG/M@LKS +mythology/SM/M@LK +myths//M@S +N//N +n/T/N +Na/M/N +NAACP//NKP +nab/S/NB +nabbed//NBT +nabbing//NBN +Nabisco/M/NBSK +nabob/SM/NBB +Nabokov/M/NBKF +nacelle/SM/NSL +nacho/S/NX +NaCl/M/NKL +nacre/MS/NKR +nacreous//NKRS +Nada/M/NT +Nadean/M/NTN +Nadeen/M/NTN +Nader/M/NT +Nadia/M/NT +Nadine/M/NTN +nadir/SM/NT +Nadiya/M/NTY +Nady/M/NT +Nadya/M/NTY +nae/VM/N +nag/MS/NK +Nagasaki/M/NKSK +nagged//NKT +nagger/S/NK +nagging/Y/NKN +Nagoya/M/NKY +Nagpur/M/NKP +Nagy/M/NK +Nahuatl/SM/NHTL +Nahum/M/NHM +naiad/SM/NT +naifs//NFS +nail/SGMRD/NL +nailbrush/SM/NLBRX +nailer/M/NL +Naipaul/M/NPL +Nair/M/N +Nairobi/M/NRB +Naismith/M/NSM@ +naive/SRTYP/NF +naiveté/SM/NFT +naivety/MS/NFT +Nakamura/M/NKMR +Nakayama/M/NKYM +naked/TYRP/NKT +nakedness/MS/NKTNS +Nakoma/M/NKM +Nalani/M/NLN +Nam/M/NM +Namath/M/NM@ +name/ADSG/NM +nameable/U/NMBL +named/U/NMT +namedrop//NMTRP +namedropping//NMTRPN +named's//NMTS +nameless/PY/NMLS +namely//NML +nameplate/MS/NMPLT +namer/SM/NM +name's//NMS +namesake/SM/NMSK +Namibia/M/NMB +Namibian/S/NMBN +naming/M/NMN +Nan/M/NN +Nana/M/NN +Nanak/M/NNK +Nananne/M/NNN +Nance/M/NNS +Nancee/M/NNS +Nancey/M/NNS +Nanchang/M/NNXNK +Nanci/M/NNS +Nancie/M/NNS +Nancy/M/NNS +Nanete/M/NNT +Nanette/M/NNT +Nani/M/NN +Nanice/M/NNS +Nanine/M/NNN +Nanjing//NNKN +Nanking's//NNKNS +Nannette/M/NNT +Nanni/M/NN +Nannie/M/NN +Nanny/M/NN +nanny/SDMG/NN +nanometer/MS/NNMT +Nanon/M/NNN +Nanook/M/NNK +nanosecond/SM/NNSKNT +Nansen/M/NNSN +Nantes/M/NNTS +Nantucket/M/NNTKT +Naoma/M/NM +Naomi/M/NM +Nap/M/NP +nap/SM/NP +napalm/MDGS/NPLM +nape/SM/NP +Naphtali/M/NFTL +naphtha/SM/NF@ +naphthalene/MS/NF@LN +Napier/M/NP +napkin/SM/NPKN +Naples/M/NPLS +napless//NPLS +napoleon/MS/NPLN +Napoleon/MS/NPLN +Napoleonic//NPLNK +napped//NPT +napper/MS/NP +Nappie/M/NP +napping//NPN +Nappy/M/NP +nappy/TRSM/NP +Nara/M/NR +Narbonne/M/NBN +narc/DGS/NK +narcissism/MS/NSSSM +narcissist/MS/NSSST +narcissistic//NSSSTK +narcissus/M/NSSS +Narcissus/M/NSSS +narcoleptic//NKLPTK +narcoses//NKSS +narcosis/M/NKSS +narcotic/SM/NKTK +narcotization/S/NKTSXN +narcotize/GSD/NKTS +Nari/M/NR +Nariko/M/NRK +nark's//NKS +Narmada/M/NMT +Narragansett/M/NRKNST +narrate/VGNSDX/NRT +narration/M/NRXN +narrative/MYS/NRTF +narratology//NRTLK +narrator/SM/NRT +narrow/RDYTGPS/NR +narrowing/P/NRWN +narrowness/SM/NRNS +narwhal/MS/NHL +nary//NR +NASA/MS/NS +nasal/YS/NSL +nasality/MS/NSLT +nasalization/MS/NSLSXN +nasalize/GDS/NSLS +nascence/ASM/NSNS +nascent/A/NSNT +NASDAQ//NSTK +Nash/M/NX +Nashua/M/NX +Nashville/M/NXFL +Nassau/M/NS +Nasser/M/NS +nastily//NSTL +nastiness/MS/NSTNS +nasturtium/SM/NSTTM +nasty/TRSP/NST +Nat/M/NT +Nata/M/NT +natal//NTL +Natal/M/NTL +Natala/M/NTL +Natale/M/NTL +Natalee/M/NTL +Natalia/M/NTL +Natalie/M/NTL +Natalina/M/NTLN +Nataline/M/NTLN +natalist//NTLST +natality/M/NTLT +Natalya/M/NTLY +Nataniel/M/NTNL +Natasha/M/NTX +Natassia/M/NTX +natch/S/NX +Natchez//NXS +Nate/XMN/NT +Nathalia/M/N@L +Nathalie/M/N@L +Nathan/MS/N@N +Nathanael/M/N@NL +Nathanial/M/N@NL +Nathaniel/M/N@NL +Nathanil/M/N@NL +nation/MS/NXN +national/YS/NXNL +nationalism/SM/NXNLSM +nationalist/MS/NXNLST +nationalistic//NXNLSTK +nationalistically//NXNLSTKL +nationality/MS/NXNLT +nationalization/MS/NXNLSXN +nationalize/CSDG/NXNLS +nationalized/AU/NXNLST +nationalizer/SM/NXNLS +nationhood/SM/NXNHT +nationwide//NXNWT +native/PYS/NTF +nativeness/M/NTFNS +Natividad/M/NTFTT +Nativity/M/NTFT +nativity/MS/NTFT +Natka/M/NTK +natl//NTL +NATO/SM/NT +natter/SGD/NT +nattily//NTL +nattiness/SM/NTNS +Natty/M/NT +natty/TRP/NT +natural/PUY/NTRL +naturalism/MS/NTRLSM +naturalist/MS/NTRLST +naturalistic//NTRLSTK +naturalization/SM/NTRLSXN +naturalize/GSD/NTRLS +naturalized/U/NTRLST +naturalness/US/NTRLNS +naturals//NTRLS +nature/ASDCG/NTR +nature's//NTRS +naturist//NTRST +Naugahyde/S/NKHT +naught/MS/NT +naughtily//NTL +naughtiness/SM/NTNS +naughty/TPRS/NT +Naur/M/N +Nauru/M/NR +nausea/SM/NS +nauseate/DSG/NST +nauseating/Y/NSTN +nauseous/P/NSS +nauseousness/SM/NSSNS +nautical/Y/NTKL +nautilus/MS/NTLS +Navaho's//NFHS +Navajo/S/NFK +Navajoes//NFKS +naval/Y/NFL +Navarro/M/NFR +nave/SM/NF +navel/MS/NFL +navigability/SM/NFKBLT +navigable/P/NFKBL +navigableness/M/NFKBLNS +navigate/DSXNG/NFKT +navigation/M/NFKXN +navigational//NFKXNL +navigator/MS/NFKT +Navona/M/NFN +Navratilova/M/NFRTLF +navvy/M/NFF +Navy/S/NF +navy/SM/NF +nay/MS/N +naysayer/S/NSY +Nazarene/MS/NSRN +Nazareth/M/NSR@ +Nazi/SM/NS +Nazism/S/NSSM +NB//NB +Nb/M/NB +NBA//NB +NBC//NBK +NBS//NBS +NC//NK +NCAA//NK +NCC//NK +NCO//NK +NCR//NKR +ND//NT +nd/A/NT +Nd/M/NT +N'Djamena//NTKMN +Ndjamena/M/NTKMN +Ne//N +NE//N +Neal/M/NL +Neala/M/NL +Neale/M/NL +Neall/M/NL +Nealon/M/NLN +Nealson/M/NLSN +Nealy/M/NL +Neanderthal/S/NNT@L +neap/DGS/NP +Neapolitan/SM/NPLTN +near/TYRDPSG/N +nearby//NB +nearly/RT/NL +nearness/MS/NNS +nearside/M/NST +nearsighted/YP/NSTT +nearsightedness/S/NSTTNS +neat/YRNTXPS/NT +neaten/DG/NTN +neath//N@ +neatness/MS/NTNS +Neb/M/NB +Nebr/M/NBR +Nebraska/M/NBRSK +Nebraskan/MS/NBRSKN +Nebuchadnezzar/MS/NBXTNS +nebula/M/NBL +nebulae//NBL +nebular//NBL +nebulous/PY/NBLS +nebulousness/SM/NBLSNS +necessaries//NSSRS +necessarily/U/NSSRL +necessary/U/NSSR +necessitate/DSNGX/NSSTT +necessitation/M/NSSTXN +necessitous//NSSTS +necessity/SM/NSST +neck/GRDMJS/NK +neckband/M/NKBNT +neckerchief/MS/NKXF +necking/M/NKN +necklace/DSMG/NKLS +neckline/MS/NKLN +necktie/MS/NKT +necrology/SM/NKRLK +necromancer/MS/NKRMNS +necromancy/MS/NKRMNS +necromantic//NKRMNTK +necrophilia/M/NKRFL +necrophiliac/S/NKRFLK +necropolis/SM/NKRPLS +necropsy/M/NKRPS +necroses//NKRSS +necrosis/M/NKRSS +necrotic//NKRTK +nectar/SM/NKT +nectarine/SM/NKTRN +nectarous//NKTRS +nectary/MS/NKTR +Ned/M/NT +Neda/M/NT +Nedda/M/NT +Neddie/M/NT +Neddy/M/NT +Nedi/M/NT +née//N +need/YRDGS/NT +needed/U/NTT +needer/M/NT +needful/YSP/NTFL +Needham/M/NTHM +neediness/MS/NTNS +needle/GMZRSD/NTL +needlecraft/M/NTLKRFT +needlepoint/SM/NTLPNT +needless/YP/NTLS +needlessness/S/NTLSNS +needlewoman/M/NTLWMN +needlewomen//NTLWMN +needlework/RMS/NTLWK +needn't//NTNT +needy/TPR/NT +Neel/M/NL +Neely/M/NL +ne'er//N +nefarious/YP/NFRS +nefariousness/MS/NFRSNS +Nefen/M/NFN +Nefertiti/M/NFTT +neg/S/NK +negate/XRSDVNG/NKT +negated/U/NKTT +negater/M/NKT +negation/M/NKXN +negative/PDSYG/NKTF +negativeness/SM/NKTFNS +negativism/MS/NKTFSM +negativity/MS/NKTFT +negator/MS/NKT +Negev/M/NKF +neglect/SDRG/NKLKT +neglecter/M/NKLKT +neglectful/YP/NKLKTFL +neglectfulness/SM/NKLKTFLNS +negligee/SM/NKLK +negligence/MS/NKLKNS +negligent/Y/NKLKNT +negligibility/M/NKLKBLT +negligible//NKLKBL +negligibly//NKLKBL +negotiability/MS/NKXBLT +negotiable/A/NKXBL +negotiant/M/NKXNT +negotiate/ASDXGN/NKXT +negotiation/MA/NKXXN +negotiator/MS/NKXT +Negress/MS/NKRS +negritude/MS/NKRTT +Negritude/S/NKRTT +Negro/M/NKR +Negroes//NKRS +negroid//NKRT +Negroid/S/NKRT +Nehemiah/M/NHM +Nehru/M/NR +neigh/MDG/N +neighbor/SMRDYZGJ/NB +neighbored/U/NBRT +neighborer/M/NBR +neighborhood/SM/NBHT +neighborliness/UM/NBLNS +neighborlinesses//NBLNSS +neighborly/UP/NBL +neighs//NS +Neil/SM/NL +Neila/M/NL +Neile/M/NL +Neill/M/NL +Neilla/M/NL +Neille/M/NL +neither//N@ +Nelda/M/NLT +Nelia/M/NL +Nelie/M/NL +Nell/M/NL +Nelle/M/NL +Nelli/M/NL +Nellie/M/NL +Nelly/M/NL +Nels/N/NLS +Nelsen/M/NLSN +Nelson/M/NLSN +nelson/MS/NLSN +nematic//NMTK +nematode/SM/NMTT +Nembutal/M/NMBTL +nemeses//NMSS +nemesis//NMSS +Nemesis/M/NMSS +neoclassic/M/NKLSK +neoclassical//NKLSKL +neoclassicism/MS/NKLSSSM +neocolonialism/MS/NKLNLSM +neocortex/M/NKTKS +neodymium/MS/NTMM +Neogene//NKN +neolithic//NL@K +Neolithic/M/NL@K +neologism/SM/NLKSM +neomycin/M/NMSN +neon/DMS/NN +neonatal/Y/NNTL +neonate/MS/NNT +neophyte/MS/NFT +neoplasm/SM/NPLSM +neoplastic//NPLSTK +neoprene/SM/NPRN +Nepal/M/NPL +Nepalese//NPLS +Nepali/MS/NPL +nepenthe/MS/NPN@ +nephew/MS/NF +nephrite/SM/NFRT +nephritic//NFRTK +nephritides//NFRTTS +nephritis/M/NFRTS +nepotism/MS/NPTSM +nepotist/S/NPTST +Neptune/M/NPTN +neptunium/MS/NPTNM +nerd/S/NT +nerdy/RT/NT +Nereid/M/NRT +Nerf/M/NF +Nerissa/M/NRS +Nerita/M/NRT +Nero/M/NR +Neron/M/NRN +Nert/M/NT +Nerta/M/NT +Nerte/M/NT +Nerti/M/NT +Nertie/M/NT +Nerty/M/NT +Neruda/M/NRT +nerve/UGSD/NF +nerveless/YP/NFLS +nervelessness/SM/NFLSNS +nerve's//NFS +nerviness/SM/NFNS +nerving/M/NFN +nervous/PY/NFS +nervousness/SM/NFSNS +nervy/TPR/NF +Nessa/M/NS +Nessi/M/NS +Nessie/M/NS +Nessy/M/NS +nest/RDGSBM/NST +Nesta/M/NST +nester/M/NST +Nester/M/NST +Nestle/M/NSTL +nestle/RSDG/NSTL +nestler/M/NSTL +nestling/M/NSTLN +Nestor/M/NST +Nestorius/M/NSTRS +net/SM/NT +netball/M/NTBL +nether//N@ +Netherlander/SM/N@LNT +Netherlands/M/N@LNTS +nethermost//N@MST +netherworld/S/N@WLT +Netscape/M/NTSKP +nett/JGRDS/NT +Netta/M/NT +Netti/M/NT +Nettie/M/NT +netting/M/NTN +Nettle/M/NTL +nettle/MSDG/NTL +nettlesome//NTLSM +Netty/M/NT +network/SJMDG/NTWK +Netzahualcoyotl/M/NTSHLKYTL +Neumann/M/NMN +neural/Y/NRL +neuralgia/MS/NRLK +neuralgic//NRLKK +neurasthenia/MS/NRS@N +neurasthenic/S/NRS@NK +neuritic/S/NRTK +neuritides//NRTTS +neuritis/M/NRTS +neuroanatomy//NRNTM +neurobiology/M/NRBLK +neurological/Y/NRLKKL +neurologist/MS/NRLKST +neurology/SM/NRLK +neuromuscular//NRMSKL +neuron/MS/NRN +neuronal//NRNL +neurone/S/NRN +neuropathology/M/NRP@LK +neurophysiology/M/NRFXLK +neuropsychiatric//NRPSXTRK +neuroses//NRSS +neurosis/M/NRSS +neurosurgeon/MS/NRSKN +neurosurgery/SM/NRSKR +neurotic/S/NRTK +neurotically//NRTKL +neurotransmitter/S/NRTRNSMT +neut/ZR/NT +neuter/JZGRD/NT +neutral/PYS/NTRL +neutralise's//NTRLSS +neutralism/MS/NTRLSM +neutralist/S/NTRLST +neutrality/MS/NTRLT +neutralization/MS/NTRLSXN +neutralize/GZSRD/NTRLS +neutralized/U/NTRLST +neutrino/MS/NTRN +neutron/MS/NTRN +Nev/M/NF +Neva/M/NF +Nevada/M/NFT +Nevadan/S/NFTN +Nevadian/S/NFTN +never//NF +nevermore//NFMR +nevertheless//NF@LS +nevi//NF +Nevil/M/NFL +Nevile/M/NFL +Neville/M/NFL +Nevin/SM/NFN +Nevis/M/NFS +Nevsa/M/NFS +Nevsky/M/NFSK +nevus/M/NFS +new/SPTGDRY/N +Newark/M/NWK +newbie/S/NB +newborn/S/NBN +Newbury/M/NBR +Newburyport/M/NBRPT +Newcastle/M/NKSTL +newcomer/MS/NKM +newed/A/NWT +newel/MS/NWL +Newell/M/NWL +newer/A/NW +newfangled//NFNKLT +newfound//NFNT +newfoundland//NFNTLNT +Newfoundland/SRMZ/NFNTLNT +Newfoundlander/M/NFNTLNT +newish//NWX +newline/SM/NLN +newlywed/MS/NLWT +Newman/M/NMN +newness/MS/NNS +Newport/M/NPT +news/A/NS +NeWS/M/NS +newsagent/MS/NSKNT +newsboy/SM/NSB +newscast/SRMGZ/NSKST +newscaster/M/NSKST +newscasting/M/NSKSTN +newsdealer/MS/NSTL +newsed//NST +newses//NSS +newsflash/S/NSFLX +newsgirl/S/NSKL +newsgroup/SM/NSKRP +newsing//NSN +newsletter/SM/NSLT +newsman/M/NSMN +newsmen//NSMN +newspaper/SMGD/NSPP +newspaperman/M/NSPPMN +newspapermen//NSPPMN +newspaperwoman/M/NSPPWMN +newspaperwomen//NSPPWMN +newsprint/MS/NSPRNT +newsreader/MS/NSRT +newsreel/SM/NSRL +newsroom/S/NSRM +news's//NSS +newsstand/MS/NSTNT +Newsweek/MY/NSWK +Newsweekly/M/NSWKL +newsweekly/S/NSWKL +newswire//NSWR +newswoman/M/NSWMN +newswomen//NSWMN +newsworthiness/SM/NSW@NS +newsworthy/RPT/NSW@ +newsy/TRS/NS +newt/MS/NT +Newton/M/NTN +newton/SM/NTN +Newtonian//NTNN +Nexis/M/NKSS +next//NKST +nexus/SM/NKSS +Neysa/M/NS +NF//NF +NFC//NFK +NFL//NFL +NFS//NFS +Ngaliema/M/NKLM +Nguyen/M/NKYN +NH//NH +NHL//NHL +Ni/M/N +niacin/SM/NSN +Niagara/M/NKR +Nial/M/NL +Niall/M/NL +Niamey/M/NM +nib/SM/NB +nibbed//NBT +nibbing//NBN +nibble/RSDGZ/NBL +nibbler/M/NBL +Nibelung/M/NBLNK +Nicaean//NKN +Nicaragua/M/NKRK +Nicaraguan/S/NKRKN +Niccolo/M/NKL +Nice/M/NS +nice/YTPR/NS +Nicene//NSN +niceness/MS/NSNS +nicety/MS/NST +niche/SDGM/NX +Nichol/MS/NXL +Nicholas//NXLS +Nichole/M/NXL +Nicholle/M/NXL +Nicholson/M/NXLSN +nichrome//NXRM +nick/GZRDMS/NK +Nick/M/NK +nickel/SGMD/NKL +nickelodeon/SM/NKLTN +nicker/GD/NK +Nickey/M/NK +Nicki/M/NK +Nickie/M/NK +Nicklaus/M/NKLS +nicknack's//NKNKS +nickname/MGDRS/NKNM +nicknamer/M/NKNM +Nicko/M/NK +Nickola/MS/NKL +Nickolai/M/NKL +Nickolaus/M/NKLS +Nicky/M/NK +Nico/M/NK +Nicobar/M/NKB +Nicodemus/M/NKTMS +Nicol/M/NKL +Nicola/MS/NKL +Nicolai/MS/NKL +Nicole/M/NKL +Nicolea/M/NKL +Nicolette/M/NKLT +Nicoli/MS/NKL +Nicolina/M/NKLN +Nicoline/M/NKLN +Nicolle/M/NKL +Nicosia/M/NKX +nicotine/MS/NKTN +Niebuhr/M/NBR +niece/MS/NS +Niel/MS/NL +Niels/N/NLS +Nielsen/M/NLSN +Nielson/M/NLSN +Nietzsche/M/NTSSK +Nieves/M/NFS +nifty/TRS/NFT +Nigel/M/NKL +Niger/M/NK +Nigeria/M/NKR +Nigerian/S/NKRN +Nigerien//NKRN +niggard/SGMDY/NKT +niggardliness/SM/NKTLNS +niggardly/P/NKTL +nigger/SGDM/NK +niggle/RSDGZJ/NKL +niggler/M/NKL +niggling/Y/NKLN +nigh/RDGT/N +nighs//NS +night/SMYDZ/NT +nightcap/SM/NTKP +nightclothes//NTKL@S +nightclub/MS/NTKLB +nightclubbed//NTKLBT +nightclubbing//NTKLBN +nightdress/MS/NTTRS +nightfall/SM/NTFL +nightgown/MS/NTKN +nighthawk/MS/N@K +nightie/MS/NT +Nightingale/M/NTNL +nightingale/SM/NTNL +nightlife/MS/NTLF +nightlong//NTLNK +nightmare/MS/NTMR +nightmarish/Y/NTMRX +nightshade/SM/NTXT +nightshirt/MS/NTXT +nightspot/MS/NTSPT +nightstand/SM/NTSTNT +nightstick/S/NTSTK +nighttime/S/NTM +nightwear/M/NTW +nighty's//NTS +NIH//N +nihilism/MS/NHLSM +nihilist/MS/NHLST +nihilistic//NHLSTK +Nijinsky/M/NKNSK +Nikaniki/M/NKNK +Nike/M/NK +Niki/M/NK +Nikita/M/NKT +Nikki/M/NK +Nikkie/M/NK +Nikko/M/NK +Niko/MS/NK +Nikola/MS/NKL +Nikolai/M/NKL +Nikolaos/M/NKLS +Nikolaus/M/NKLS +Nikolayev's//NKLYFS +Nikoletta/M/NKLT +Nikolia/M/NKL +Nikolos/M/NKLS +Nikon/M/NKN +Nil/MS/NL +nil/MYS/NL +Nile/SM/NL +nilled//NLT +nilling//NLN +nilpotent//NLPTNT +Nils/N/NLS +Nilsen/M/NLSN +Nilson/M/NLSN +Nilsson/M/NLSN +nimbi//NMB +nimble/TRP/NMBL +nimbleness/SM/NMBLNS +nimbly//NMBL +nimbus/DM/NMBS +NIMBY//NMB +Nimitz/M/NMTS +Nimrod/MS/NMRT +Nina/M/NN +nincompoop/MS/NNKMPP +nine/MS/NN +ninefold//NNFLT +ninepence/M/NNPNS +ninepin/S/NNPN +ninepins/M/NNPNS +nineteen/SMH/NNTN +nineteenths//NNTN@S +ninetieths//NNT@S +Ninetta/M/NNT +Ninette/M/NNT +ninety/MHS/NNT +Nineveh/M/NNF +ninja/S/NNK +Ninnetta/M/NNT +Ninnette/M/NNT +ninny/SM/NN +Ninon/M/NNN +Nintendo/M/NNTNT +ninth//NN@ +ninths//NN@S +Niobe/M/NB +niobium/MS/NBM +nip/S/NP +nipped//NPT +nipper/DMGS/NP +nippiness/S/NPNS +nipping/Y/NPN +nipple/GMSD/NPL +Nippon/M/NPN +Nipponese//NPNS +nippy/TPR/NP +Nirenberg/M/NRNBK +nirvana/MS/NFN +Nirvana/S/NFN +nisei//NS +Nisei/MS/NS +Nissa/M/NS +Nissan/M/NSN +Nisse/M/NS +Nissie/M/NS +Nissy/M/NS +nit/ZSMR/NT +Nita/M/NT +niter/M/NT +nitpick/DRSJZG/NTPK +nitrate/MGNXSD/NTRT +nitration/M/NTRXN +nitric//NTRK +nitride/MGS/NTRT +nitriding/M/NTRTN +nitrification/SM/NTRFKXN +nitrite/MS/NTRT +nitrocellulose/MS/NTRSLLS +nitrogen/SM/NTRKN +nitrogenous//NTRKNS +nitroglycerin/MS/NTRKLSRN +nitrous//NTRS +nitwit/MS/NTWT +Niven/M/NFN +nix/GDSR/NKS +nixer/M/NKS +Nixie/M/NKS +Nixon/M/NKSN +NJ//NK +Nkrumah/M/NKRM +NLRB//NLRB +nm//NM +NM//NM +no/A/N +No/M/N +NOAA//N +Noach/M/NX +Noah/M/N +Noak/M/NK +Noam/M/NM +Noami/M/NM +nob/MY/NB +Nobe/M/NB +Nobel/M/NBL +Nobelist/SM/NBLST +nobelium/MS/NBLM +Nobie/M/NB +nobility/MS/NBLT +Noble/M/NBL +noble/TPSR/NBL +nobleman/M/NBLMN +noblemen//NBLMN +nobleness/SM/NBLNS +noblesse/M/NBLS +noblewoman//NBLWMN +noblewomen//NBLWMN +nobody/MS/NBT +Noby/M/NB +nocturnal/SY/NKTNL +nocturne/SM/NKTN +nod/SM/NT +nodal/Y/NTL +nodded//NTT +nodding//NTN +noddle/MSDG/NTL +noddy/M/NT +node/MS/NT +NoDoz/M/NTS +nodular//NTL +nodule/SM/NTL +Noe/M/N +Noel/MS/NL +noel/S/NL +Noelani/M/NLN +Noell/M/NL +Noella/M/NL +Noelle/M/NL +Noellyn/M/NLN +Noelyn/M/NLN +Noemi/M/NM +noes/S/NS +noggin/SM/NKN +nohow//NH +noise/GMSD/NS +noiseless/YP/NSLS +noiselessness/SM/NSLSNS +noisemake/ZGR/NSMK +noisemaker/M/NSMK +noisily//NSL +noisiness/MS/NSNS +noisome//NSM +noisy/TPR/NS +Nola/M/NL +Nolan/M/NLN +Nolana/M/NLN +Noland/M/NLNT +Nolie/M/NL +Noll/M/NL +Nollie/M/NL +Nolly/M/NL +nomad/SM/NMT +nomadic//NMTK +Nome/M/NM +nomenclature/MS/NMNKLTR +Nomi/M/NM +nominal/K/NMNL +nominalized//NMNLST +nominally//NMNL +nominals//NMNLS +nominate/CDSAXNG/NMNT +nomination/MAC/NMNXN +nominative/SY/NMNTF +nominator/CSM/NMNT +nominee/MS/NMN +non//NN +Nona/M/NN +nonabrasive//NNBRSF +nonabsorbent/S/NNBSBNT +nonacademic/S/NNKTMK +nonacceptance/MS/NNSPTNS +nonacid/MS/NNST +nonactive//NNKTF +nonadaptive//NNTPTF +nonaddictive//NNTKTF +nonadhesive//NNTHSF +nonadjacent//NNTKSNT +nonadjustable//NNTKSTBL +nonadministrative//NNTMNSTRTF +nonage/MS/NNK +nonagenarian/MS/NNKNRN +nonaggression/SM/NNKRXN +nonagricultural//NNKRKLTRL +Nonah/M/NN +nonalcoholic/S/NNLKHLK +nonaligned//NNLN +nonalignment/SM/NNLKNMNT +nonallergic//NNLKK +nonappearance/MS/NNPRNS +nonassignable//NNSKNBL +nonathletic//NN@LTK +nonattendance/SM/NNTNTNS +nonautomotive//NNTMTF +nonavailability/SM/NNFLBLT +nonbasic//NNBSK +nonbeliever/SM/NNBLF +nonbelligerent/S/NNBLKRNT +nonblocking//NNBLKN +nonbreakable//NNBRKBL +nonburnable//NNBNBL +nonbusiness//NNBSNS +noncaloric//NNKLRK +noncancerous//NNKNSRS +noncarbohydrate/M/NNKBHTRT +nonce/MS/NNS +nonchalance/SM/NNXLNS +nonchalant/YP/NNXLNT +nonchargeable//NNXKBL +nonclerical/S/NNKLRKL +nonclinical//NNKLNKL +noncollectable//NNKLKTBL +noncom/MS/NNKM +noncombatant/MS/NNKMBTNT +noncombustible/S/NNKMBSTBL +noncommercial/S/NNKMXL +noncommissioned//NNKMXNT +noncommittal/Y/NNKMTL +noncommunicable//NNKMNKBL +noncompeting//NNKMPTN +noncompetitive//NNKMPTTF +noncompliance/MS/NNKMPLNS +noncomplying/S/NNKMPLYN +noncomprehending//NNKMPRHNTN +nonconducting//NNKNTKTN +nonconductor/MS/NNKNTKT +nonconforming//NNKNFMN +nonconformist/SM/NNKNFMST +nonconformity/SM/NNKNFMT +nonconsecutive//NNKNSKTF +nonconservative//NNKNSFTF +nonconstructive//NNKNSTRKTF +noncontagious//NNKNTKS +noncontiguous//NNKNTKS +noncontinuous//NNKNTNS +noncontributing//NNKNTRBTN +noncontributory//NNKNTRBTR +noncontroversial//NNKNTRFXL +nonconvertible//NNKNFTBL +noncooperation/SM/NNKPRXN +noncorroding/S/NNKRTN +noncorrosive//NNKRSF +noncredit//NNKRTT +noncriminal/S/NNKRMNL +noncritical//NNKRTKL +noncrystalline//NNKRSTLN +noncumulative//NNKMLTF +noncustodial//NNKSTTL +noncyclic//NNSKLK +nondairy//NNTR +nondecreasing//NNTKRSN +nondeductible//NNTTKTBL +nondelivery/MS/NNTLFR +nondemocratic//NNTMKRTK +nondenominational//NNTNMNXNL +nondepartmental//NNTPTMNTL +nondepreciating//NNTPRXTN +nondescript/YS/NNTSKRPT +nondestructive/Y/NNTSTRKTF +nondetachable//NNTTXBL +nondeterminacy//NNTTMNS +nondeterminate/Y/NNTTMNT +nondeterminism//NNTTMNSM +nondeterministic//NNTTMNSTK +nondeterministically//NNTTMNSTKL +nondisciplinary//NNTSPLNR +nondisclosure/SM/NNTSKLSR +nondiscrimination/SM/NNTSKRMNXN +nondiscriminatory//NNTSKRMNTR +nondramatic//NNTRMTK +nondrinker/SM/NNTRNK +nondrying//NNTRYN +nondurable//NNTRBL +none/S/NN +noneconomic//NNKNMK +noneducational//NNTKXNL +noneffective/S/NNFKTF +nonelastic//NNLSTK +nonelectric/S/NNLKTRK +nonelectrical//NNLKTRKL +nonemergency//NNMKNS +nonempty//NNMPT +nonenforceable//NNNFSBL +nonentity/MS/NNNTT +nonequivalence/M/NNKFLNS +nonequivalent/S/NNKFLNT +nones/M/NNS +nonessential/S/NNSNXL +nonesuch/SM/NNSX +nonetheless//NN@LS +nonevent/MS/NNFNT +nonexchangeable//NNKSXNKBL +nonexclusive//NNKSKLSF +nonexempt//NNKSMPT +nonexistence/MS/NNKSSTNS +nonexistent//NNKSSTNT +nonexplosive/S/NNKSPLSF +nonextensible//NNKSTNSBL +nonfactual//NNFKTL +nonfading//NNFTN +nonfat//NNFT +nonfatal//NNFTL +nonfattening//NNFTNN +nonferrous//NNFRS +nonfiction/SM/NNFKXN +nonfictional//NNFKXNL +nonflammable//NNFLMBL +nonflowering//NNFLWRN +nonfluctuating//NNFLKTTN +nonflying//NNFLYN +nonfood/M/NNFT +nonfreezing//NNFRSN +nonfunctional//NNFNKXNL +nongovernmental//NNKFNMNTL +nongranular//NNKRNL +nonhazardous//NNHSTS +nonhereditary//NNHRTTR +nonhuman//NNHMN +Noni/M/NN +nonidentical//NNTNTKL +Nonie/M/NN +noninclusive//NNNKLSF +nonindependent//NNNTPNTNT +nonindustrial//NNNTSTRL +noninfectious//NNNFKXS +noninflammatory//NNNFLMTR +noninflationary//NNNFLXNR +noninflected//NNNFLKTT +nonintellectual/S/NNNTLKTL +noninteracting//NNNTRKTN +noninterchangeable//NNNTXNKBL +noninterference/MS/NNNTFRNS +nonintervention/SM/NNNTFNXN +nonintoxicating//NNNTKSKTN +nonintuitive//NNNTTF +noninvasive//NNNFSF +nonionic//NNNK +nonirritating//NNRTTN +nonjudgmental//NNKTKMNTL +nonjudicial//NNKTXL +nonlegal//NNLKL +nonlethal//NNL@L +nonlinear/Y/NNLN +nonlinearity/MS/NNLNRT +nonlinguistic//NNLNSTK +nonliterary//NNLTRR +nonliving//NNLFN +nonlocal//NNLKL +nonmagical//NNMKKL +nonmagnetic//NNMKNTK +nonmalignant//NNMLKNNT +nonmember/SM/NNMMB +nonmetal/MS/NNMTL +nonmetallic//NNMTLK +nonmigratory//NNMKRTR +nonmilitant/S/NNMLTNT +nonmilitary//NNMLTR +Nonna/M/NN +Nonnah/M/NN +nonnarcotic/S/NNKTK +nonnative/S/NNTF +nonnegative//NNKTF +nonnegotiable//NNKXBL +nonnuclear//NNKL +nonnumerical/S/NNMRKL +nonobjective//NNBKKTF +nonobligatory//NNBLKTR +nonobservance/MS/NNBSFNS +nonobservant//NNBSFNT +nonoccupational//NNKPXNL +nonoccurence//NNKRNS +nonofficial//NNFXL +nonogenarian//NNKNRN +nonoperational//NNPRXNL +nonoperative//NNPRTF +nonorthogonal//NN@KNL +nonorthogonality//NN@KNLT +nonparallel/S/NNPRLL +nonparametric//NNPRMTRK +nonpareil/SM/NNPRL +nonparticipant/SM/NNPTSPNT +nonparticipating//NNPTSPTN +nonpartisan/S/NNPTSN +nonpaying//NNPYN +nonpayment/SM/NNPMNT +nonperformance/SM/NNPFMNS +nonperforming//NNPFMN +nonperishable/S/NNPRXBL +nonperson/S/NNPSN +nonperturbing//NNPTBN +nonphysical/Y/NNFSKL +nonplus/S/NNPLS +nonplussed//NNPLST +nonplussing//NNPLSN +nonpoisonous//NNPSNS +nonpolitical//NNPLTKL +nonpolluting//NNPLTN +nonporous//NNPRS +nonpracticing//NNPRKTSN +nonprejudicial//NNPRKTXL +nonprescription//NNPRSKRPXN +nonprocedural/Y/NNPRSTRL +nonproductive//NNPRTKTF +nonprofessional/S/NNPRFXNL +nonprofit/SB/NNPRFT +nonprogrammable//NNPRKRMBL +nonprogrammer//NNPRKRM +nonproliferation/SM/NNPRLFRXN +nonpublic//NNPBLK +nonpunishable//NNPNXBL +nonracial//NNRXL +nonradioactive//NNRTKTF +nonrandom//NNRNTM +nonreactive//NNRKTF +nonreciprocal/S/NNRSPRKL +nonreciprocating//NNRSPRKTN +nonrecognition/SM/NNRKKNXN +nonrecoverable//NNRKFRBL +nonrecurring//NNRKRN +nonredeemable//NNRTMBL +nonreducing//NNRTSN +nonrefillable//NNRFLBL +nonrefundable//NNRFNTBL +nonreligious//NNRLKS +nonrenewable//NNRNWBL +nonrepresentational//NNRPRSNTXNL +nonresident/SM/NNRSTNT +nonresidential//NNRSTNXL +nonresidual//NNRSTL +nonresistance/SM/NNRSSTNS +nonresistant/S/NNRSSTNT +nonrespondent/S/NNRSPNTNT +nonresponse//NNRSPNS +nonrestrictive//NNRSTRKTF +nonreturnable/S/NNRTNBL +nonrhythmic//NNRH@MK +nonrigid//NNRKT +nonsalaried//NNSLRT +nonscheduled//NNSKTLT +nonscientific//NNSNTFK +nonscoring//NNSKRN +nonseasonal//NNSSNL +nonsectarian//NNSKTRN +nonsecular//NNSKL +nonsegregated//NNSKRKTT +nonsense/MS/NNSNS +nonsensical/PY/NNSNSKL +nonsensicalness/M/NNSNSKLNS +nonsensitive//NNSNSTF +nonsexist//NNSKSST +nonsexual//NNSKSL +nonsingular//NNSNL +nonskid//NNSKT +nonslip//NNSLP +nonsmoker/SM/NNSMK +nonsmoking//NNSMKN +nonsocial//NNSXL +nonspeaking//NNSPKN +nonspecialist/MS/NNSPXLST +nonspecializing//NNSPXLSN +nonspecific//NNSPSFK +nonspiritual/S/NNSPRTL +nonstaining//NNSTNN +nonstandard//NNSTNTT +nonstarter/SM/NNSTT +nonstick//NNSTK +nonstop//NNSTP +nonstrategic//NNSTRTKK +nonstriking//NNSTRKN +nonstructural//NNSTRKTRL +nonsuccessive//NNSSSF +nonsupervisory//NNSPFSR +nonsupport/GS/NNSPT +nonsurgical//NNSKKL +nonsustaining//NNSSTNN +nonsympathizer/M/NNSMP@S +nontarnishable//NNTNXBL +nontaxable/S/NNTKSBL +nontechnical/Y/NNTXNKL +nontenured//NNTNRT +nonterminal/MS/NNTMNL +nonterminating//NNTMNTN +nontermination/M/NNTMNXN +nontheatrical//NN@TRKL +nonthinking/S/NN@NKN +nonthreatening//NN@RTNN +nontoxic//NNTKSK +nontraditional//NNTRTXNL +nontransferable//NNTRNSFRBL +nontransparent//NNTRNSPRNT +nontrivial//NNTRFL +nontropical//NNTRPKL +nonuniform//NNNFM +nonunion/S/NNNN +nonuser/SM/NNS +nonvenomous//NNFNMS +nonverbal/Y/NNFBL +nonveteran/MS/NNFTRN +nonviable//NNFBL +nonviolence/SM/NNFLNS +nonviolent/Y/NNFLNT +nonvirulent//NNFRLNT +nonvocal//NNFKL +nonvocational//NNFKXNL +nonvolatile//NNFLTL +nonvolunteer/S/NNFLNT +nonvoter/MS/NNFT +nonvoting//NNFTN +nonwhite/SM/NNHT +nonworking//NNWKN +nonyielding//NNYLTN +nonzero//NNSR +noodle/GMSD/NTL +nook/MS/NK +noon/GDMS/NN +noonday/MS/NNT +nooning/M/NNN +noontide/MS/NNTT +noontime/MS/NNTM +noose/SDGM/NS +nope/S/NP +nor/H/N +Nora/M/NR +NORAD/M/NRT +noradrenalin//NRTRNLN +noradrenaline/M/NRTRNLN +Norah/M/NR +Norbert/M/NBT +Norberto/M/NBT +Norbie/M/NB +Norby/M/NB +Nordhoff/M/NTHF +Nordic/S/NTK +Nordstrom/M/NTSTRM +Norean/M/NRN +Noreen/M/NRN +Norene/M/NRN +Norfolk/M/NFLK +Norina/M/NRN +Norine/M/NRN +norm/SMGD/NM +Norma/M/NM +normal/SY/NML +normalcy/MS/NMLS +normality/SM/NMLT +normalization/A/NMLSXN +normalizations//NMLSXNS +normalization's//NMLSXNS +normalize/SRDZGB/NMLS +normalized/AU/NMLST +normalizes/AU/NMLSS +Norman/SM/NMN +Normand/M/NMNT +Normandy/M/NMNT +normative/YP/NMTF +normativeness/M/NMTFNS +Normie/M/NM +Normy/M/NM +Norplant//NPLNT +Norri/SM/NR +Norrie/M/NR +Norristown/M/NRSTN +Norry/M/NR +Norse//NS +Norseman/M/NSMN +Norsemen//NSMN +North/M/N@ +north/MRGZ/N@ +Northampton/M/N@MPTN +northbound//N@BNT +Northeast/SM/N@ST +northeast/ZSMR/N@ST +northeaster/YM/N@ST +northeastern//N@STN +northeastward/S/N@STWT +norther/MY/N@ +northerly/S/N@L +northern/RYZS/N@N +Northerner/M/N@N +northernmost//N@NMST +Northfield/M/N@FLT +northing/M/N@N +northland//N@LNT +northmen//N@MN +Northrop/M/N@RP +Northrup/M/N@RP +norths//N@S +Norths//N@S +Northumberland/M/N@MBLNT +northward/S/N@WT +northwest/MRZS/N@WST +Northwest/MS/N@WST +northwester/YM/N@WST +northwestern//N@WSTN +northwestward/S/N@WSTWT +Norton/M/NTN +Norw/M/N +Norwalk/M/NWLK +Norway/M/NW +Norwegian/S/NWKN +Norwich/M/NWX +nos/GDS/NS +nose/M/NS +nosebag/M/NSBK +nosebleed/SM/NSBLT +nosecone/S/NSKN +nosed/V/NST +nosedive/DSG/NSTF +nosegay/MS/NSK +Nosferatu/M/NSFRT +nosh/MSDG/NX +nosily//NSL +nosiness/MS/NSNS +nosing/M/NSN +nostalgia/SM/NSTLK +nostalgic/S/NSTLKK +nostalgically//NSTLKKL +Nostradamus/M/NSTRTMS +Nostrand/M/NSTRNT +nostril/SM/NSTRL +nostrum/SM/NSTRM +nosy/SRPMT/NS +not/DRGB/NT +notability/SM/NTBLT +notable/PS/NTBL +notableness/M/NTBLNS +notably//NTBL +notarial//NTRL +notarization/S/NTRSXN +notarize/DSG/NTRS +notary/MS/NTR +notate/VGNXSD/NTT +notation/CMSF/NTXN +notational/CY/NTXNL +notative/CF/NTTF +notch/MSDG/NX +note/CSDFG/NT +notebook/MS/NTBK +noted/YP/NTT +notedness/M/NTTNS +notepad/S/NTPT +notepaper/MS/NTPP +note's//NTS +noteworthiness/SM/NTW@NS +noteworthy/P/NTW@ +nothing/PS/N@N +nothingness/SM/N@NNS +notice/MSDG/NTS +noticeable/U/NTSBL +noticeably//NTSBL +noticeboard/S/NTSBT +noticed/U/NTST +notifiable//NTFBL +notification/M/NTFKXN +notifier/M/NTF +notify/NGXSRDZ/NTF +notion/MS/NXN +notional/Y/NXNL +notoriety/S/NTRT +notorious/YP/NTRS +notoriousness/M/NTRSNS +Notre/M/NTR +Nottingham/M/NTNHM +notwithstanding//NTW@STNTN +Nouakchott/M/NKXT +nougat/MS/NKT +Noumea/M/NM +noun/SMK/NN +nourish/DRSGL/NRX +nourished/U/NRXT +nourisher/M/NRX +nourishment/SM/NRXMNT +nous/M/NS +nouveau//NF +nouvelle//NFL +Nov/M/NF +Nova/M/NF +nova/MS/NF +novae//NF +Novak/M/NFK +novel/SM/NFL +novelette/SM/NFLT +Novelia/M/NFL +novelist/SM/NFLST +novelization/S/NFLSXN +novelize/GDS/NFLS +novella/SM/NFL +novelty/MS/NFLT +November/SM/NFMB +novena/SM/NFN +novene//NFN +Novgorod/M/NFKRT +novice/MS/NFS +novitiate/MS/NFXT +Novocain/S/NFKN +Novocaine/M/NFKN +Novokuznetsk/M/NFKSNTSK +Novosibirsk/M/NFSBSK +NOW//N +now/S/N +nowadays//NWTS +noway/S/NW +Nowell/M/NWL +nowhere/S/NHR +nowise//NWS +noxious/PY/NKSS +noxiousness/M/NKSSNS +Noyce/M/NS +Noyes/M/NYS +nozzle/MS/NSL +Np//NP +NP//NP +NRA//NR +nroff/M/NRF +N's//NS +NS//NS +n's/CI/NS +NSF//NSF +NT//NT +nth//N@ +nu/M/N +nuance/SDM/NNS +nub/MS/NB +nubbin/SM/NBN +nubby/RT/NB +Nubia/M/NB +Nubian/M/NBN +nubile//NBL +nuclear/K/NKL +nuclease/M/NKLS +nucleate/DSXNG/NKLT +nucleated/A/NKLTT +nucleation/M/NKLXN +nuclei/M/NKL +nucleic//NKLK +nucleoli//NKLL +nucleolus/M/NKLLS +nucleon/MS/NKLN +nucleotide/MS/NKLTT +nucleus/M/NKLS +nuclide/M/NKLT +nude/CRS/NT +nudely//NTL +nudeness/M/NTNS +nudest//NTST +nudge/GSRD/NK +nudger/M/NKR +nudism/MS/NTSM +nudist/MS/NTST +nudity/MS/NTT +nugatory//NKTR +Nugent/M/NKNT +nugget/SM/NKT +nuisance/MS/NSNS +nuke/DSMG/NK +Nukualofa//NKLF +null/DSG/NL +nullification/M/NLFKXN +nullifier/M/NLF +nullify/RSDXGNZ/NLF +nullity/SM/NLT +numb/SGZTYRDP/NM +number/RDMGJ/NMB +numbered/UA/NMBRT +numberer/M/NMBR +numberless//NMBLS +numberplate/M/NMBPLT +numbers/A/NMBS +Numbers/M/NMBS +numbing/Y/NMBN +numbness/MS/NMBNS +numbskull's//NMBSKLS +numerable/IC/NMRBL +numeracy/SI/NMRS +numeral/YMS/NMRL +numerate/SDNGX/NMRT +numerates/I/NMRTS +numeration/M/NMRXN +numerator/MS/NMRT +numeric/S/NMRK +numerical/Y/NMRKL +numerological//NMRLKKL +numerologist/S/NMRLKST +numerology/MS/NMRLK +numerous/YP/NMRS +numerousness/M/NMRSNS +numinous/S/NMNS +numismatic/S/NMSMTK +numismatics/M/NMSMTKS +numismatist/MS/NMSMTST +numskull/SM/NMSKL +nun/MS/NN +Nunavut/M/NNFT +nuncio/SM/NNS +Nunez/M/NNS +Nunki/M/NNK +nunnery/MS/NNR +nuptial/S/NPXL +Nuremberg/M/NRMBK +Nureyev/M/NRYF +nurse/SRDJGMZ/NS +nursemaid/MS/NSMT +nurser/M/NS +nursery/MS/NSR +nurseryman/M/NSRMN +nurserymen//NSRMN +nursling/M/NSLN +nurture/SRDGZM/NTR +nurturer/M/NTR +nus//NS +nut/MS/NT +nutate/NGSD/NTT +nutation/M/NTXN +nutcrack/RZ/NTKRK +nutcracker/M/NTKRK +nuthatch/SM/N@X +nutmeat/SM/NTMT +nutmeg/MS/NTMK +nutmegged//NTMKT +nutmegging//NTMKN +nutpick/MS/NTPK +Nutrasweet/M/NTRSWT +nutria/SM/NTR +nutrient/MS/NTRNT +nutriment/MS/NTRMNT +nutrition/SM/NTRXN +nutritional/Y/NTRXNL +nutritionist/MS/NTRXNST +nutritious/PY/NTRXS +nutritiousness/MS/NTRXSNS +nutritive/Y/NTRTF +nutshell/MS/NTXL +nutted//NTT +nuttiness/SM/NTNS +nutting//NTN +nutty/TRP/NT +nuzzle/GZRSD/NSL +NV//NF +NW//N +NWT//NT +NY//N +Nyasa/M/NYS +NYC//NK +Nydia/M/NT +Nye/M/NY +Nyerere/M/NYRR +nylon/SM/NLN +nymph/M/NMF +nymphet/MS/NMFT +nympholepsy/M/NMFLPS +nymphomania/MS/NMFMN +nymphomaniac/S/NMFMNK +nymphs//NMFS +Nyquist/M/NKST +NYSE//NS +Nyssa/M/NS +NZ//NS +o//* +O//* +oaf/MS/*F +oafish/PY/*FX +oafishness/S/*FXNS +Oahu/M/*H +oak/SMN/*K +Oakland/M/*KLNT +Oakley/M/*KL +Oakmont/M/*KMNT +oakum/MS/*KM +oakwood//*KWT +oar/GSMD/* +oarlock/MS/*LK +oarsman/M/*SMN +oarsmen//*SMN +oarswoman//*SWMN +oarswomen//*SWMN +OAS//*S +oases//*SS +oasis/M/*SS +oat/SMNR/*T +oatcake/MS/*TKK +oater/M/*T +Oates/M/*TS +oath/M/*@ +oaths//*@S +oatmeal/SM/*TML +Oaxaca/M/*KSK +ob//*B +OB//*B +Ob/MD/*B +Obadiah/M/*BT +Obadias/M/*BTS +obbligato/S/*BLKT +obduracy/S/*BTRS +obdurate/PDSYG/*BTRT +obdurateness/S/*BTRTNS +Obed/M/*BT +Obediah/M/*BT +obedience/EMS/*BTNS +obedient/EY/*BTNT +obeisance/MS/*BSNS +obeisant/Y/*BSNT +obelisk/SM/*BLSK +Oberlin/M/*BLN +Oberon/M/*BRN +obese//*BS +obesity/MS/*BST +obey/EDRGS/*B +obeyer/EM/*BY +obfuscate/SRDXGN/*BFSKT +obfuscation/M/*BFSKXN +obfuscatory//*BFSKTR +obi/MDGS/*B +Obidiah/M/*BT +Obie/M/*B +obit/SMR/*BT +obituary/SM/*BTR +obj//*BK +object/SGVMD/*BKKT +objectify/GSDXN/*BKKTF +objection/SMB/*BKKXN +objectionable/U/*BKKXNBL +objectionableness/M/*BKKXNBLNS +objectionably//*BKKXNBL +objective/PYS/*BKKTF +objectiveness/MS/*BKKTFNS +objectivity/MS/*BKKTFT +objector/SM/*BKKT +objurgate/GNSDX/*BKKT +objurgation/M/*BKKXN +oblate/NYPSX/*BLT +oblation/M/*BLXN +obligate/NGSDXY/*BLKT +obligation/M/*BLKXN +obligational//*BLKXNL +obligatorily//*BLKTRL +obligatory//*BLKTR +oblige/SRDG/*BLK +obliged/E/*BLKT +obliger/M/*BLK +obliges/E/*BLKS +obliging/PY/*BLKN +obligingness/M/*BLKNNS +oblique/DSYGP/*BLK +obliqueness/S/*BLKNS +obliquity/MS/*BLKT +obliterate/VNGSDX/*BLTRT +obliteration/M/*BLTRXN +obliterative/Y/*BLTRTF +oblivion/MS/*BLFN +oblivious/YP/*BLFS +obliviousness/MS/*BLFSNS +oblong/SYP/*BLNK +oblongness/M/*BLNKNS +obloquies//*BLKS +obloquy/M/*BLK +obnoxious/YP/*BNKSS +obnoxiousness/MS/*BNKSSNS +oboe/SM/*B +oboist/S/*BST +obos//*BS +O'Brien/M/*BRN +obs//*BS +obscene/RYT/*BSN +obscenity/MS/*BSNT +obscurantism/MS/*BSKRNTSM +obscurantist/MS/*BSKRNTST +obscuration//*BSKRXN +obscure/YTPDSRGL/*BSKR +obscureness/M/*BSKRNS +obscurity/MS/*BSKRT +obsequies//*BSKS +obsequious/YP/*BSKS +obsequiousness/S/*BSKSNS +obsequy//*BSK +observability/M/*BSFBLT +observable/SU/*BSFBL +observably//*BSFBL +observance/MS/*BSFNS +observant/U/*BSFNT +observantly//*BSFNTL +observants//*BSFNTS +observation/MS/*BSFXN +observational/Y/*BSFXNL +observatory/MS/*BSFTR +observe/ZGDSRB/*BSF +observed/U/*BSFT +observer/M/*BSF +observing/Y/*BSFN +obsess/GVDS/*BSS +obsession/MS/*BSXN +obsessional//*BSXNL +obsessive/PYS/*BSSF +obsessiveness/S/*BSSFNS +obsidian/SM/*BSTN +obsolesce/GSD/*BSLS +obsolescence/S/*BSLSNS +obsolescent/Y/*BSLSNT +obsolete/GPDSY/*BSLT +obsoleteness/M/*BSLTNS +obstacle/SM/*BSTKL +obstetric/S/*BSTTRK +obstetrical//*BSTTRKL +obstetrician/SM/*BSTTRXN +obstetrics/M/*BSTTRKS +obstinacy/SM/*BSTNS +obstinate/PY/*BSTNT +obstinateness/M/*BSTNTNS +obstreperous/PY/*BSTRPRS +obstreperousness/SM/*BSTRPRSNS +obstruct/RDVGS/*BSTRKT +obstructed/U/*BSTRKTT +obstructer/M/*BSTRKT +obstruction/SM/*BSTRKXN +obstructionism/SM/*BSTRKXNSM +obstructionist/MS/*BSTRKXNST +obstructive/PSY/*BSTRKTF +obstructiveness/MS/*BSTRKTFNS +obtain/LSGDRB/*BTN +obtainable/U/*BTNBL +obtainably//*BTNBL +obtainment/S/*BTNMNT +obtrude/DSRG/*BTRT +obtruder/M/*BTRT +obtrusion/S/*BTRXN +obtrusive/UPY/*BTRSF +obtrusiveness/MSU/*BTRSFNS +obtuse/PRTY/*BTS +obtuseness/S/*BTSNS +obverse/YS/*BFS +obviate/XGNDS/*BFT +obvious/YP/*BFS +obviousness/SM/*BFSNS +Oby/M/*B +ocarina/MS/*KRN +O'Casey//*KS +Occam/M/*KM +occasion/MDSJG/*KXN +occasional/Y/*KXNL +occident/M/*STNT +Occident/SM/*STNT +Occidental/S/*STNTL +occidental/SY/*STNTL +occipital/Y/*SPTL +occlude/GSD/*KLT +occlusion/MS/*KLXN +occlusive/S/*KLSF +occult/SRDYG/*KLT +occulter/M/*KLT +occultism/SM/*KLTSM +occupancy/SM/*KPNS +occupant/MS/*KPNT +occupation/SAM/*KPXN +occupational/Y/*KPXNL +occupied/AU/*KPT +occupier/M/*KP +occupies/A/*KPS +occupy/RSDZG/*KP +occur/AS/*K +occurred/A/*KRT +occurrence/SM/*KRNS +occurring/A/*KRN +ocean/MS/*SN +oceanfront/MS/*SNFRNT +oceangoing//*SNKN +Oceania/M/*SN +oceanic//*SNK +oceanographer/SM/*SNKRF +oceanographic//*SNKRFK +oceanography/SM/*SNKRF +oceanology/MS/*SNLK +oceanside//*SNST +Oceanside/M/*SNST +Oceanus/M/*SNS +ocelot/SM/*SLT +ocher/DMGS/*X +Ochoa/M/*X +o'clock//*KLK +O'Clock//*KLK +O'Connell/M/*KNL +O'Connor/M/*KN +Oconomowoc/M/*KNMWK +OCR//*KR +Oct/M/*KT +octagon/SM/*KTKN +octagonal/Y/*KTKNL +octahedral//*KTHTRL +octahedron/M/*KTHTRN +octal/S/*KTL +octane/MS/*KTN +octant/M/*KTNT +octave/MS/*KTF +Octavia/M/*KTF +Octavian/M/*KTFN +Octavio/M/*KTF +Octavius/M/*KTFS +octavo/MS/*KTF +octennial//*KTNL +octet/SM/*KTT +octile//*KTL +octillion/M/*KTLN +October/MS/*KTB +octogenarian/MS/*KTKNRN +octopus/SM/*KTPS +octoroon/M/*KTRN +ocular/S/*KL +oculist/SM/*KLST +OD//*T +odalisque/SM/*TLSK +odd/TRYSPL/*T +oddball/SM/*TBL +oddity/MS/*TT +oddment/MS/*TMNT +oddness/MS/*TNS +ode/MDRS/*T +Ode/MR/*T +Odele/M/*TL +Odelia/M/*TL +Odelinda/M/*TLNT +Odell/M/*TL +O'Dell/M/*TL +Odella/M/*TL +Odelle/M/*TL +Oder/M/*T +Oderberg/MS/*TBK +Odessa/M/*TS +Odets/M/*TTS +Odetta/M/*TT +Odette/M/*TT +Odey/M/*T +Odie/M/*T +Odilia/M/*TL +Odille/M/*TL +Odin/M/*TN +odious/PY/*TS +odiousness/MS/*TSNS +Odis/M/*TS +odium/MS/*TM +Odo/M/*T +Odom/M/*TM +odometer/SM/*TMT +O'Donnell/M/*TNL +odor/DMS/*T +odoriferous//*TRFRS +odorless//*TLS +odorous/YP/*TRS +ODs//*TS +O'Dwyer/M/*TY +Ody/M/*T +Odysseus/M/*TSS +Odyssey/M/*TS +odyssey/S/*TS +OE//* +OED//*T +oedipal//*TPL +Oedipal/Y/*TPL +Oedipus/M/*TPS +OEM/M/*M +OEMS//*MS +oenology/MS/*NLK +oenophile/S/*NFL +o'er//* +O'Er//* +Oersted/M/*STT +oesophagi//*SFK +oeuvre/SM/*FR +of/K/*F +Ofelia/M/*FL +Ofella/M/*FL +off/SZGDRJ/*F +offal/MS/*FL +offbeat/MS/*FBT +offcuts//*FKTS +Offenbach/M/*FNBX +offend/SZGDR/*FNT +offender/M/*FNT +offense/MSV/*FNS +offensive/YSP/*FNSF +offensively/I/*FNSFL +offensiveness/MSI/*FNSFNS +offer/RDJGZ/*F +offerer/M/*FR +offering/M/*FRN +offertory/SM/*FTR +offhand/D/*FHNT +offhanded/YP/*FHNTT +offhandedness/S/*FHNTTNS +office/SRMZ/*FS +officeholder/SM/*FSHLT +officemate/S/*FSMT +officer/GMD/*FS +officership/S/*FSXP +official/PSYM/*FXL +officialdom/SM/*FXLTM +officialism/SM/*FXLSM +officially/U/*FXL +officiant/SM/*FXNT +officiate/XSDNG/*FXT +officiation/M/*FXXN +officiator/MS/*FXT +officio//*FS +officious/YP/*FSS +officiousness/MS/*FSSNS +offing/M/*FN +offish//*FX +offload/GDS/*FLT +offprint/GSDM/*FPRNT +offramp//*FRMP +offset/SM/*FST +offsetting//*FSTN +offshoot/MS/*FXT +offshore//*FXR +offside/RS/*FST +offspring/M/*FSPRN +offstage/S/*FSTK +offtrack//*FTRK +Ofilia/M/*FL +oft/NRT/*FT +often/RT/*FTN +oftentimes//*FTNTMS +ofttimes//*FTMS +Ogbomosho/M/*KBMX +Ogdan/M/*KTN +Ogden/M/*KTN +Ogdon/M/*KTN +Ogilvy/M/*KLF +ogive/M/*KF +ogle/ZGDSR/*KL +Oglethorpe/M/*KL@P +ogre/MS/*KR +ogreish//*KRX +ogress/S/*KRS +oh//* +OH//* +O'Hara//*HR +O'Hare/M/*HR +O'Higgins//*HKNS +Ohio/M/*H +Ohioan/S/*HN +ohm/SM/*M +ohmic//*MK +ohmmeter/MS/*MT +oho/S/*H +ohs//*S +OHSA/M/*S +oil/MDRSZG/*L +oilcloth/M/*LKL@ +oilcloths//*LKL@S +oiler/M/*L +oilfield/MS/*LFLT +oiliness/SM/*LNS +oilman/M/*LMN +oilmen//*LMN +oilseed/SM/*LST +oilskin/MS/*LSKN +oily/TPR/*L +oink/GDS/*NK +ointment/SM/*NTMNT +Oise/M/*S +OJ//*K +Ojibwa/SM/*KBW +OK/MDG/*K +Okamoto/M/*KMT +okapi/SM/*KP +Okayama/M/*KYM +okay's//*KS +Okeechobee/M/*KXB +O'Keeffe//*KF +Okefenokee//*KFNK +Okhotsk/M/*KHTSK +Okinawa/M/*KNW +Okinawan/S/*KNWN +Okla/M/*KL +Oklahoma/M/*KLHM +Oklahoman/SM/*KLHMN +okra/MS/*KR +OKs//*KS +Oktoberfest//*KTBFST +Ola/M/*L +Olaf/M/*LF +Olag/M/*LK +Olav/M/*LF +old/XTNRPS/*LT +olden/DG/*LTN +Oldenburg/M/*LTNBK +Oldfield/M/*LTFLT +oldie/MS/*LT +oldish//*LTX +oldness/S/*LTNS +Oldsmobile/M/*LTSMBL +oldster/SM/*LTST +Olduvai/M/*LTF +olé//*L +Ole/MV/*L +oleaginous//*LKNS +oleander/SM/*LNT +O'Leary/M/*LR +olefin/M/*LFN +Oleg/M/*LK +Olen/M/*LN +Olenek/M/*LNK +Olenka/M/*LNK +Olenolin/M/*LNLN +oleo/S/*L +oleomargarine/SM/*LMKRN +oles//*LS +olfactory//*LFKTR +Olga/M/*LK +Olia/M/*L +oligarch/M/*LKX +oligarchic//*LKXK +oligarchical//*LKXKL +oligarchs//*LKXS +oligarchy/SM/*LKX +Oligocene//*LKSN +oligopolistic//*LKPLSTK +oligopoly/MS/*LKPL +Olimpia/M/*LMP +Olin/M/*LN +olive/MSR/*LF +Olive/MZR/*LF +Oliver/M/*LF +Olivero/M/*LFR +Olivette/M/*LFT +Olivetti/M/*LFT +Olivia/M/*LF +Olivie/RM/*LF +Olivier/M/*LF +Oliviero/M/*LFR +Oliy/M/*L +Ollie/M/*L +Olly/M/*L +Olmec//*LMK +Olmsted/M/*LMSTT +Olsen/M/*LSN +Olson/M/*LSN +Olva/M/*LF +Olvan/M/*LFN +Olwen/M/*LWN +Olympe/M/*LMP +Olympia/SM/*LMP +Olympiad/MS/*LMPT +Olympian/S/*LMPN +Olympic/S/*LMPK +Olympie/M/*LMP +Olympus/M/*LMPS +om/XN/*M +Omaha/SM/*MH +Oman/M/*MN +Omar/M/*M +ombudsman/M/*MBTSMN +ombudsmen//*MBTSMN +Omdurman/M/*MTMN +omega/MS/*MK +omelet/SM/*MLT +omelette's//*MLTS +omen/DMG/*MN +Omero/M/*MR +omicron/MS/*MKRN +ominous/YP/*MNS +ominousness/SM/*MNSNS +omission/MS/*MXN +omit/S/*MT +omitted//*MTT +omitting//*MTN +omni/M/*MN +omnibus/MS/*MNBS +omnipotence/SM/*MNPTNS +Omnipotent//*MNPTNT +omnipotent/SY/*MNPTNT +omnipresence/MS/*MNPRSNS +omnipresent/Y/*MNPRSNT +omniscience/SM/*MNSNS +omniscient/YS/*MNSNT +omnivore/MS/*MNFR +omnivorous/PY/*MNFRS +omnivorousness/MS/*MNFRSNS +oms//*MS +Omsk/M/*MSK +ON//*N +on/RY/*N +onanism/M/*NNSM +Onassis/M/*NSS +once/SR/*NS +oncer/M/*NS +oncogene/S/*NKKN +oncologist/S/*NKLKST +oncology/SM/*NKLK +oncoming/S/*NKMN +Ondrea/M/*NTR +one/NPMSX/*N +Oneal/M/*NL +Onega/M/*NK +Onegin/M/*NKN +Oneida/SM/*NT +O'Neil//*NL +O'Neill//*NL +oneness/MS/*NNS +oner/M/*N +onerous/YP/*NRS +onerousness/SM/*NRSNS +oneself//*NSLF +onetime//*NTM +oneupmanship//*NPMNXP +Onfre/M/*NFR +Onfroi/M/*NFR +ongoing/S/*NKN +Onida/M/*NT +onion/GDM/*NN +onionskin/MS/*NNSKN +onlooker/MS/*NLK +onlooking//*NLKN +only/TP/*NL +Ono/M/*N +Onofredo/M/*NFRT +onomatopoeia/SM/*NMTP +onomatopoeic//*NMTPK +onomatopoetic//*NMTPTK +Onondaga/MS/*NNTK +onrush/GMS/*NRX +ons//*NS +Onsager/M/*NSK +onset/SM/*NST +onsetting//*NSTN +onshore//*NXR +onside//*NST +onslaught/MS/*NSLT +Ont/M/*NT +Ontarian/S/*NTRN +Ontario/M/*NTR +onto//*NT +ontogeny/SM/*NTKN +ontological/Y/*NTLKKL +ontology/SM/*NTLK +onus/SM/*NS +onward/S/*NWT +onyx/MS/*NKS +oodles//*TLS +ooh/GD/* +oohs//*S +oolitic//*LTK +Oona/M/*N +oops/S/*PS +Oort/M/*T +ooze/GDS/*S +oozy/RT/*S +op/XGDN/*P +opacity/SM/*PST +Opal/M/*PL +opal/SM/*PL +opalescence/S/*PLSNS +opalescent/Y/*PLSNT +Opalina/M/*PLN +Opaline/M/*PLN +opaque/GTPYRSD/*PK +opaqueness/SM/*PKNS +opcode/MS/*PKT +ope/S/*P +OPEC//*PK +Opel/M/*PL +open/YRDJGZTP/*PN +opencast//*PNKST +opened/AU/*PNT +opener/M/*PN +openhanded/P/*PNHNTT +openhandedness/SM/*PNHNTTNS +openhearted//*PNHTT +opening/M/*PNN +openness/S/*PNS +opens/A/*PNS +openwork/MS/*PNWK +opera/SM/*PR +operable/I/*PRBL +operand/SM/*PRNT +operandi//*PRNT +operant/YS/*PRNT +operate/XNGVDS/*PRT +operatic/S/*PRTK +operatically//*PRTKL +operation/M/*PRXN +operational/Y/*PRXNL +operationalization/S/*PRXNLSXN +operationalize/D/*PRXNLS +operative/IP/*PRTF +operatively//*PRTFL +operativeness/MI/*PRTFNS +operatives//*PRTFS +operator/SM/*PRT +operetta/MS/*PRT +Ophelia/M/*FL +Ophelie/M/*FL +Ophiuchus/M/*FXS +ophthalmic/S/*F@LMK +ophthalmologist/SM/*F@LMLKST +ophthalmology/MS/*F@LMLK +opiate/GMSD/*PT +opine/XGNSD/*PN +opinion/M/*PNN +opinionated/PY/*PNNTT +opinionatedness/M/*PNNTTNS +opioid//*PT +opium/MS/*PM +opossum/SM/*PSM +opp//*P +Oppenheimer/M/*PNHM +opponent/MS/*PNNT +opportune/IY/*PTN +opportunism/SM/*PTNSM +opportunist/SM/*PTNST +opportunistic//*PTNSTK +opportunistically//*PTNSTKL +opportunity/MS/*PTNT +oppose/BRSDG/*PS +opposed/U/*PST +opposer/M/*PS +opposite/SXYNP/*PST +oppositeness/M/*PSTNS +opposition/M/*PSXN +oppositional//*PSXNL +oppress/DSGV/*PRS +oppression/MS/*PRXN +oppressive/YP/*PRSF +oppressiveness/MS/*PRSFNS +oppressor/MS/*PRS +opprobrious/Y/*PRBRS +opprobrium/SM/*PRBRM +Oprah/M/*PR +ops//*PS +opt/DSG/*PT +opthalmic//*P@LMK +opthalmologic//*P@LMLKK +opthalmology//*P@LMLK +optic/S/*PTK +optical/Y/*PTKL +optician/SM/*PTXN +optics/M/*PTKS +optima//*PTM +optimal/Y/*PTML +optimality//*PTMLT +optimise's//*PTMSS +optimism/SM/*PTMSM +optimist/SM/*PTMST +optimistic//*PTMSTK +optimistically//*PTMSTKL +optimization/SM/*PTMSXN +optimize/DRSZG/*PTMS +optimized/U/*PTMST +optimizer/M/*PTMS +optimizes/U/*PTMSS +optimum/SM/*PTMM +option/GDMS/*PXN +optional/YS/*PXNL +optionality/M/*PXNLT +optoelectronic//*PTLKTRNK +optometric//*PTMTRK +optometrist/MS/*PTMTRST +optometry/SM/*PTMTR +opulence/SM/*PLNS +opulent/Y/*PLNT +opus/SM/*PS +OR//* +or/MY/* +Ora/M/*R +oracle/GMSD/*RKL +oracular//*RKL +oral/YS/*RL +Oralee/M/*RL +Oralia/M/*RL +Oralie/M/*RL +Oralla/M/*RL +Oralle/M/*RL +Oran/M/*RN +Orange/M/*RNK +orange/MS/*RNK +orangeade/MS/*RNKT +orangery/SM/*RNKR +orangutan/MS/*RNKTN +Oranjestad/M/*RNKSTT +orate/SDGNX/*RT +oration/M/*RXN +orator/MS/*RT +oratorical/Y/*RTRKL +oratorio/MS/*RTR +oratory/MS/*RTR +Orazio/M/*RS +orb/SMDG/*B +Orbadiah/M/*BT +orbicular//*BKL +orbiculares//*BKLRS +orbit/MRDGZS/*BT +orbital/MYS/*BTL +orchard/SM/*XT +orchestra/MS/*XSTR +orchestral/Y/*XSTRL +orchestrate/GNSDX/*XSTRT +orchestrater's//*XSTRTS +orchestration/M/*XSTRXN +orchestrator/M/*XSTRT +orchid/SM/*XT +ordain/SGLDR/*TN +ordainer/M/*TN +ordainment/MS/*TNMNT +ordeal/SM/*TL +order/AESGD/*T +ordered/U/*TRT +orderer//*TR +ordering/S/*TRN +orderless//*TLS +orderliness/SE/*TLNS +orderly/PS/*TL +order's/E/*TS +ordinal/S/*TNL +ordinance/MS/*TNNS +ordinarily//*TNRL +ordinariness/S/*TNRNS +ordinary/RSPT/*TNR +ordinate/I/*TNT +ordinated//*TNTT +ordinates//*TNTS +ordinate's//*TNTS +ordinating//*TNTN +ordination/SM/*TNXN +ordnance/SM/*TNNS +Ordovician//*TFXN +ordure/MS/*TR +Ore/NM/*R +ore/NSM/*R +Oreg/M/*RK +oregano/SM/*RKN +Oregon/M/*RKN +Oregonian/S/*RKNN +Orel/M/*RL +Orelee/M/*RL +Orelia/M/*RL +Orelie/M/*RL +Orella/M/*RL +Orelle/M/*RL +Oren/M/*RN +Oreo//*R +Orestes//*RSTS +organ/MS/*KN +organdie's//*KNTS +organdy/MS/*KNT +organelle/MS/*KNL +organic/S/*KNK +organically/I/*KNKL +organism/MS/*KNSM +organismic//*KNSMK +organist/MS/*KNST +organizable/UMS/*KNSBL +organization/MEAS/*KNSXN +organizational/MYS/*KNSXNL +organize/AGZDRS/*KNS +organized/UE/*KNST +organizer/MA/*KNS +organizes/E/*KNSS +organizing/E/*KNSN +organometallic//*KNMTLK +organza/SM/*KNS +orgasm/GSMD/*KSM +orgasmic//*KSMK +orgiastic//*KSTK +orgy/SM/*K +Oriana/M/*RN +oriel/MS/*RL +orient/GADES/*RNT +Orient/SM/*RNT +orientable//*RNTBL +Oriental/S/*RNTL +oriental/SY/*RNTL +orientate/ESDXGN/*RNTT +orientated/A/*RNTTT +orientates/A/*RNTTS +orientation/AMES/*RNTXN +orienteering/M/*RNTRN +orienter//*RNT +orient's//*RNTS +orifice/MS/*RFS +orig//*RK +origami/MS/*RKM +origin/MS/*RKN +original/US/*RKNL +originality/SM/*RKNLT +originally//*RKNL +originate/VGNXSD/*RKNT +origination/M/*RKNXN +originative/Y/*RKNTF +originator/SM/*RKNT +Orin/M/*RN +Orinoco/M/*RNK +oriole/SM/*RL +Orion/M/*RN +orison/SM/*RSN +Oriya/M/*RY +Orizaba/M/*RSB +Orkney/M/*KN +Orlan/M/*LN +Orland/M/*LNT +Orlando/M/*LNT +Orleans//*LNS +Orlick/M/*LK +Orlon/SM/*LN +Orly/M/*L +ormolu/SM/*ML +ornament/GSDM/*NMNT +ornamental/SY/*NMNTL +ornamentation/SM/*NMNTXN +ornate/YP/*NT +ornateness/SM/*NTNS +orneriness/SM/*NRNS +ornery/PRT/*NR +ornithological//*N@LKKL +ornithologist/SM/*N@LKST +ornithology/MS/*N@LK +orographic/M/*RKRFK +orography/M/*RKRF +Orono/M/*RN +orotund//*RTNT +orotundity/MS/*RTNTT +orphan/SGDM/*FN +orphanage/MS/*FNK +orphanhood/M/*FNHT +Orpheus/M/*FS +Orphic//*FK +Orr/MN/*R +Orran/M/*RN +Orren/M/*RN +Orrin/M/*RN +orris/SM/*RS +ors//*S +Orsa/M/*S +Orsola/M/*SL +Orson/M/*SN +Ortega/M/*TK +Ortensia/M/*TNX +orthodontia/S/*@TNX +orthodontic/S/*@TNTK +orthodontics/M/*@TNTKS +orthodontist/MS/*@TNTST +Orthodox/S/*@TKS +orthodox/YS/*@TKS +orthodoxies//*@TKSS +orthodoxly/U/*@TKSL +orthodoxy/U/*@TKS +orthodoxy's//*@TKSS +orthogonal/Y/*@KNL +orthogonality/M/*@KNLT +orthogonalization/M/*@KNLSXN +orthogonalized//*@KNLST +orthographic//*@KRFK +orthographically//*@KRFKL +orthography/MS/*@KRF +orthonormal//*@NML +orthopedic/S/*@PTK +orthopedics/M/*@PTKS +orthopedist/SM/*@PTST +orthophosphate/MS/*@FSFT +orthorhombic//*@HMBK +Ortiz/M/*TS +Orton/M/*TN +Orv/M/*F +Orval/M/*FL +Orville/M/*FL +Orwell/M/*WL +Orwellian//*WLN +o's//*S +Os/M/*S +OS/M/*S +Osage/SM/*SK +Osaka/M/*SK +Osbert/M/*SBT +Osborn/M/*SBN +Osborne/M/*SBN +Osbourn/M/*SBN +Osbourne/M/*SBN +Oscar/SM/*SK +Osceola/M/*SL +oscillate/SDXNG/*SLT +oscillation/M/*SLXN +oscillator/SM/*SLT +oscillatory//*SLTR +oscilloscope/SM/*SLSKP +osculate/XDSNG/*SKLT +osculation/M/*SKLXN +Osgood/M/*SKT +OSHA//*X +Oshawa/M/*XW +O'Shea/M/*X +Oshkosh/M/*XKX +osier/MS/*S +Osiris/M/*SRS +Oslo/M/*SL +Osman/M/*SMN +osmium/MS/*SMM +Osmond/M/*SMNT +osmoses//*SMSS +osmosis/M/*SMSS +osmotic//*SMTK +Osmund/M/*SMNT +osprey/SM/*SPR +osseous/Y/*SS +Ossie/M/*S +ossification/M/*SFKXN +ossify/NGSDX/*SF +ostensible//*STNSBL +ostensibly//*STNSBL +ostentation/MS/*STNTXN +ostentatious/PY/*STNTXS +ostentatiousness/M/*STNTXSNS +osteoarthritides//*ST@RTTS +osteoarthritis/M/*ST@RTS +osteology/M/*STLK +osteopath/M/*STP@ +osteopathic//*STP@K +osteopaths//*STP@S +osteopathy/MS/*STP@ +osteoporoses//*STPRSS +osteoporosis/M/*STPRSS +ostracise's//*STRSSS +ostracism/MS/*STRSSM +ostracize/GSD/*STRSS +Ostrander/M/*STRNT +ostrich/MS/*STRX +Ostrogoth/M/*STRK@ +Ostwald/M/*STWLT +O'Sullivan/M/*SLFN +Osvaldo/M/*SFLT +Oswald/M/*SWLT +Oswell/M/*SWL +OT//*T +OTB//*TB +OTC//*TK +Otes//*TS +Otha/M/*@ +Othelia/M/*@L +Othella/M/*@L +Othello/M/*@L +other/SMP/*@ +otherness/M/*@NS +otherwise//*@WS +otherworld/Y/*@WLT +otherworldly/P/*@WLTL +Othilia/M/*@L +Othilie/M/*@L +Otho/M/*@ +otiose//*XS +Otis/M/*TS +OTOH//*T +Ottawa/MS/*TW +otter/DMGS/*T +Ottilie/M/*TL +Otto/M/*T +Ottoman//*TMN +ottoman/MS/*TMN +Ouagadougou/M/*KTK +oubliette/SM/*BLT +ouch/SDG/*X +ought/SGD/*T +oughtn't//*TNT +Ouija/MS/*K +ounce/MS/*NS +our/S/* +ourself//*SLF +ourselves//*SLFS +oust/RDGZS/*ST +ouster/M/*ST +out/PJZGSDR/*T +outage/MS/*TK +outargue/GDS/*TK +outback/MRS/*TBK +outbalance/GDS/*TBLNS +outbid/S/*TBT +outbidding//*TBTN +outboard/S/*TBT +outboast/GSD/*TBST +outbound/S/*TBNT +outbreak/SMG/*TBRK +outbroke//*TBRK +outbroken//*TBRKN +outbuilding/SM/*TBLTN +outburst/MGS/*TBST +outcast/GSM/*TKST +outclass/SDG/*TKLS +outcome/SM/*TKM +outcrop/SM/*TKRP +outcropped//*TKRPT +outcropping/S/*TKRPN +outcry/MSDG/*TKR +outdated/P/*TTTT +outdid//*TTT +outdistance/GSD/*TTSTNS +outdo/G/*TT +outdoes//*TTS +outdone//*TTN +outdoor/S/*TT +outdoorsy//*TTS +outdraw/GS/*TTR +outdrawn//*TTRN +outdrew//*TTR +outermost//*TMST +outerwear/M/*TW +outface/SDG/*TFS +outfall/MS/*TFL +outfield/RMSZ/*TFLT +outfielder/M/*TFLT +outfight/SG/*TFT +outfit/MS/*TFT +outfitted//*TFTT +outfitter/MS/*TFT +outfitting//*TFTN +outflank/SGD/*TFLNK +outflow/SMDG/*TFL +outfought//*TFT +outfox/GSD/*TFKS +outgeneraled//*TKNRLT +outgo/GJ/*TK +outgoes//*TKS +outgoing/P/*TKN +outgrew//*TKR +outgrip//*TKRP +outgrow/GSH/*TKR +outgrown//*TKRN +outgrowth/M/*TKR@ +outgrowths//*TKR@S +outguess/SDG/*TKS +outhit/S/*@T +outhitting//*@TN +outhouse/SM/*@S +outing/M/*TN +outlaid//*TLT +outland/ZR/*TLNT +outlander/M/*TLNT +outlandish/PY/*TLNTX +outlandishness/MS/*TLNTXNS +outlast/GSD/*TLST +outlaw/SDMG/*TL +outlawry/M/*TLR +outlay/GSM/*TL +outlet/SM/*TLT +outliers//*TLS +outline/SDGM/*TLN +outlive/GSD/*TLF +outlook/MDGS/*TLK +outlying//*TLYN +outmaneuver/GSD/*TMNF +outmatch/SDG/*TMX +outmigration//*TMKRXN +outmoded//*TMTT +outness/M/*TNS +outnumber/GDS/*TNMB +outpaced//*TPST +outpatient/SM/*TPTNT +outperform/DGS/*TPFM +outplacement/S/*TPLSMNT +outplay/GDS/*TPL +outpoint/GDS/*TPNT +outpost/SM/*TPST +outpour/MJG/*TP +outpouring/M/*TPRN +outproduce/GSD/*TPRTS +output/SM/*TPT +outputted//*TPTT +outputting//*TPTN +outrace/GSD/*TRS +outrage/GSDM/*TRK +outrageous/YP/*TRKS +outrageousness/M/*TRKSNS +outran//*TRN +outrank/GSD/*TRNK +outré//*TR +outreach/SDG/*TRX +outrider/MS/*TRT +outrigger/SM/*TRK +outright/Y/*TRT +outrun/S/*TRN +outrunning//*TRNN +outscore/GDS/*TSKR +outsell/GS/*TSL +outset/MS/*TST +outsetting//*TSTN +outshine/SG/*TXN +outshone//*TXN +outshout/GDS/*TXT +outside/ZSR/*TST +outsider/PM/*TST +outsize/S/*TSS +outskirt/SM/*TSKT +outsmart/SDG/*TSMT +outsold//*TSLT +outsource/SDJG/*TSS +outspend/SG/*TSPNT +outspent//*TSPNT +outspoke//*TSPK +outspoken/YP/*TSPKN +outspokenness/SM/*TSPKNS +outspread/SG/*TSPRT +outstanding/Y/*TSTNTN +outstate/NX/*TSTT +outstation/M/*TSTXN +outstay/SDG/*TST +outstretch/GSD/*TSTRX +outstrip/S/*TSTRP +outstripped//*TSTRPT +outstripping//*TSTRPN +outtake/S/*TK +outvote/GSD/*TFT +outward/SYP/*TWT +outwardness/M/*TWTNS +outwear/SG/*TW +outweigh/GD/*TW +outweighs//*TWS +outwit/S/*TWT +outwitted//*TWTT +outwitting//*TWTN +outwore//*TWR +outwork/SMDG/*TWK +outworn//*TWN +ouzo/SM/*S +ova/M/*F +oval/MYPS/*FL +ovalness/M/*FLNS +ovarian//*FRN +ovary/SM/*FR +ovate/SDGNX/*FT +ovation/GMD/*FXN +oven/MS/*FN +ovenbird/SM/*FNBT +over/YGS/*F +overabundance/MS/*FRBNTNS +overabundant//*FRBNTNT +overachieve/SRDGZ/*FRXF +overact/DGVS/*FRKT +overage/S/*FRK +overaggressive//*FRKRSF +overall/SM/*FRL +overallocation//*FRLKXN +overambitious//*FRMBXS +overanxious//*FRNKSS +overarching//*FRXN +overarm/GSD/*FRM +overate//*FRT +overattentive//*FRTNTF +overawe/GDS/*FRW +overbalance/DSG/*FBLNS +overbear/GS/*FB +overbearing/YP/*FBRN +overbearingness/M/*FBRNNS +overbid/S/*FBT +overbidding//*FBTN +overbite/MS/*FBT +overblown//*FBLN +overboard//*FBT +overbold//*FBLT +overbook/SDG/*FBK +overbore//*FBR +overborne//*FBN +overbought//*FBT +overbuild/GS/*FBLT +overbuilt//*FBLT +overburden/SDG/*FBTN +overburdening/Y/*FBTNN +overbuy/GS/*FB +overcame//*FKM +overcapacity/M/*FKPST +overcapitalize/DSG/*FKPTLS +overcareful//*FKRFL +overcast/GS/*FKST +overcasting/M/*FKSTN +overcautious//*FKXS +overcerebral//*FSRBRL +overcharge/DSG/*FXK +overcloud/DSG/*FKLT +overcoat/SMG/*FKT +overcoating/M/*FKTN +overcome/RSG/*FKM +overcomer/M/*FKM +overcommitment/S/*FKMTMNT +overcompensate/XGNDS/*FKMPNST +overcompensation/M/*FKMPNSXN +overcomplexity/M/*FKMPLKST +overcomplicated//*FKMPLKTT +overconfidence/MS/*FKNFTNS +overconfident/Y/*FKNFTNT +overconscientious//*FKNSNXS +overconsumption/M/*FKNSMPXN +overcook/SDG/*FKK +overcooled//*FKLT +overcorrection//*FKRKXN +overcritical//*FKRTKL +overcrowd/DGS/*FKRT +overcurious//*FKRS +overdecorate/SDG/*FTKRT +overdependent//*FTPNTNT +overdetermined//*FTTMNT +overdevelop/SDG/*FTFLP +overdid//*FTT +overdo/G/*FT +overdoes//*FTS +overdone//*FTN +overdose/DSMG/*FTS +overdraft/SM/*FTRFT +overdraw/GS/*FTR +overdrawn//*FTRN +overdress/GDS/*FTRS +overdrew//*FTR +overdrive/GSM/*FTRF +overdriven//*FTRFN +overdrove//*FTRF +overdub/S/*FTB +overdubbed//*FTBT +overdubbing//*FTBN +overdue//*FT +overeager/PY/*FRK +overeagerness/M/*FRKNS +overeat/GNRS/*FRT +overeater/M/*FRT +overeducated//*FRTKTT +overemotional//*FRMXNL +overemphases//*FRMFSS +overemphasis/M/*FRMFSS +overemphasize/GZDSR/*FRMFSS +overenthusiastic//*FRN@XSTK +overestimate/DSXGN/*FRSTMT +overestimation/M/*FRSTMXN +overexcite/DSG/*FRKSST +overexercise/SDG/*FRKSSS +overexert/GDS/*FRKST +overexertion/SM/*FRKSXN +overexploitation//*FRKSPLTXN +overexploited//*FRKSPLTT +overexpose/GDS/*FRKSPS +overexposure/SM/*FRKSPSR +overextend/DSG/*FRKSTNT +overextension//*FRKSTNXN +overfall/M/*FFL +overfed//*FFT +overfeed/GS/*FFT +overfill/GDS/*FFL +overfishing//*FFXN +overflew//*FFL +overflight/SM/*FFLT +overflow/DGS/*FFL +overflown//*FFLN +overfly/GS/*FFL +overfond//*FFNT +overfull//*FFL +overgeneralize/GDS/*FKNRLS +overgenerous//*FKNRS +overgraze/SDG/*FKRS +overgrew//*FKR +overground//*FKRNT +overgrow/GSH/*FKR +overgrown//*FKRN +overgrowth/M/*FKR@ +overgrowths//*FKR@S +overhand/DGS/*FHNT +overhang/GS/*FHNK +overhasty//*FHST +overhaul/GRDJS/*FHL +overhead/S/*FHT +overhear/SRG/*FH +overheard//*FHT +overhearer/M/*FHR +overheat/SGD/*FHT +overhung//*FHNK +overincredulous//*FRNKRTLS +overindulge/SDG/*FRNTLK +overindulgence/SM/*FRNTLKNS +overindulgent//*FRNTLKNT +overinflated//*FRNFLTT +overjoy/SGD/*FK +overkill/SDMG/*FKL +overladed//*FLTT +overladen//*FLTN +overlaid//*FLT +overlain//*FLN +overland/S/*FLNT +overlap/MS/*FLP +overlapped//*FLPT +overlapping//*FLPN +overlarge//*FLK +overlay/GS/*FL +overleaf//*FLF +overlie//*FL +overload/SDG/*FLT +overlong//*FLNK +overlook/DSG/*FLK +overlord/DMSG/*FLT +overloud//*FLT +overly/GRS/*FL +overmanning//*FMNN +overmaster/GSD/*FMST +overmatching//*FMXN +overmodest//*FMTST +overmuch/S/*FMX +overnice//*FNS +overnight/SDRGZ/*FNT +overoptimism/SM/*FRPTMSM +overoptimistic//*FRPTMSTK +overpaid//*FPT +overparticular//*FPTKL +overpass/GMSD/*FPS +overpay/LSG/*FP +overpayment/M/*FPMNT +overplay/SGD/*FPL +overpopulate/DSNGX/*FPPLT +overpopulation/M/*FPPLXN +overpopulous//*FPPLS +overpower/GSD/*FPW +overpowering/Y/*FPWRN +overpraise/DSG/*FPRS +overprecise//*FPRSS +overpressure//*FPRSR +overprice/SDG/*FPRS +overprint/DGS/*FPRNT +overproduce/SDG/*FPRTS +overproduction/S/*FPRTKXN +overprotect/GVDS/*FPRTKT +overprotection/M/*FPRTKXN +overqualified//*FKLFT +overran//*FRN +overrate/DSG/*FRT +overreach/DSRG/*FRX +overreact/SGD/*FRKT +overreaction/SM/*FRKXN +overred//*FRT +overrefined//*FRFNT +overrepresented//*FRPRSNTT +overridden//*FRTN +override/RSG/*FRT +overrider/M/*FRT +overripe//*FRP +overrode//*FRT +overrule/GDS/*FRL +overrun/S/*FRN +overrunning//*FRNN +oversample/DG/*FSMPL +oversaturate//*FSTRT +oversaw//*FS +oversea/S/*FS +oversee/ZRS/*FS +overseeing//*FSN +overseen//*FSN +overseer/M/*FS +oversell/SG/*FSL +oversensitive/P/*FSNSTF +oversensitiveness/S/*FSNSTFNS +oversensitivity//*FSNSTFT +oversexed//*FSKST +overshadow/GSD/*FXT +overshoe/SM/*FX +overshoot/SG/*FXT +overshot/S/*FXT +oversight/SM/*FST +oversimple//*FSMPL +oversimplification/M/*FSMPLFKXN +oversimplify/GXNDS/*FSMPLF +oversize/GS/*FSS +oversleep/GS/*FSLP +overslept//*FSLPT +oversoft/P/*FSFT +oversoftness/M/*FSFTNS +oversold//*FSLT +overspecialization/MS/*FSPXLSXN +overspecialize/GSD/*FSPXLS +overspend/SG/*FSPNT +overspent//*FSPNT +overspill/DMSG/*FSPL +overspread/SG/*FSPRT +overstaffed//*FSTFT +overstate/SDLG/*FSTT +overstatement/SM/*FSTTMNT +overstay/GSD/*FST +overstep/S/*FSTP +overstepped//*FSTPT +overstepping//*FSTPN +overstimulate/DSG/*FSTMLT +overstock/SGD/*FSTK +overstraining//*FSTRNN +overstressed//*FSTRST +overstretch/D/*FSTRX +overstrict//*FSTRKT +overstrike/GS/*FSTRK +overstrung//*FSTRNK +overstuffed//*FSTFT +oversubscribe/SDG/*FSBSKRB +oversubtle//*FSBTL +oversupply/MDSG/*FSPL +oversuspicious//*FSSPSS +overt/PY/*FT +overtake/RSZG/*FTK +overtaken//*FTKN +overtax/DSG/*FTKS +overthrew//*F@R +overthrow/GS/*F@R +overthrown//*F@RN +overtightened//*FTTNT +overtime/MGDS/*FTM +overtire/DSG/*FTR +overtone/MS/*FTN +overtook//*FTK +overture/DSMG/*FTR +overturn/SDG/*FTN +overuse/DSG/*FRS +overvalue/GSD/*FFL +overview/MS/*FF +overweening//*FWNN +overweight/GSD/*FWT +overwhelm/GDS/*FHLM +overwhelming/Y/*FHLMN +overwinter/SDG/*FWNT +overwork/GSD/*FWK +overwrap//*FRP +overwrite/SG/*FRT +overwritten//*FRTN +overwrote//*FRT +overwrought//*FRT +overzealous/P/*FSLS +overzealousness/M/*FSLSNS +Ovid/M/*FT +oviduct/SM/*FTKT +oviform//*FFM +oviparous//*FPRS +ovoid/S/*FT +ovular//*FL +ovulate/GNXDS/*FLT +ovulatory//*FLTR +ovule/MS/*FL +ovum/MS/*FM +ow/DYG/* +owe/S/*W +Owen/MS/*WN +owl/GSMDR/*L +owlet/SM/*LT +owlish/PY/*LX +owlishness/M/*LXNS +own/EGDS/*N +owned/U/*NT +owner/SM/*N +ownership/MS/*NXP +ox/MNS/*KS +oxalate/M/*KSLT +oxalic//*KSLK +oxaloacetic//*KSLSTK +oxblood/S/*KSBLT +oxbow/SM/*KSB +oxcart/MS/*KSKT +oxen/M/*KSN +oxford/MS/*KSFT +Oxford/MS/*KSFT +oxidant/SM/*KSTNT +oxidate/NVX/*KSTT +oxidation/M/*KSTXN +oxidative/Y/*KSTTF +oxide/SM/*KST +oxidization/MS/*KSTSXN +oxidize/JDRSGZ/*KSTS +oxidized/U/*KSTST +oxidizer/M/*KSTS +oxidizes/A/*KSTSS +Oxnard//*KSNT +Oxonian//*KSNN +oxtail/M/*KSTL +Oxus/M/*KSS +oxyacetylene/MS/*KSYSTLN +oxygen/MS/*KSKN +oxygenate/XSDMGN/*KSKNT +oxygenation/M/*KSKNXN +oxyhydroxides//*KSHTRKSTS +oxymora//*KSMR +oxymoron/M/*KSMRN +oyster/GSDM/*ST +oystering/M/*STRN +oz//*S +Oz/M/*S +Ozark/SM/*SK +ozone/SM/*SN +Ozymandias/M/*SMNTS +Ozzie/M/*S +Ozzy/M/*S +P//P +p/XTGJ/P +PA//P +Pa/M/P +pa/MH/P +Pablo/M/PBL +Pablum/M/PBLM +pablum/S/PBLM +Pabst/M/PBST +pabulum/SM/PBLM +PAC//PK +pace/DRSMZG/PS +Pace/M/PS +pacemaker/SM/PSMK +pacer/M/PS +pacesetter/MS/PSST +pacesetting//PSSTN +Pacheco/M/PXK +pachyderm/MS/PXTM +pachysandra/MS/PXSNTR +pacific//PSFK +Pacific/M/PSFK +pacifically//PSFKL +pacification/M/PSFKXN +pacifier/M/PSF +pacifism/MS/PSFSM +pacifist/MS/PSFST +pacifistic//PSFSTK +pacify/NRSDGXZ/PSF +pack/GZSJDRMB/PK +package/ARSDG/PKK +packaged/U/PKKT +packager/S/PKK +package's//PKKS +packages/U/PKKS +packaging/SM/PKKN +Packard/SM/PKT +packed/AU/PKT +packer/MUS/PK +packet/MSDG/PKT +packhorse/M/PKHS +packing/M/PKN +packinghouse/S/PKNHS +packs/UA/PKS +packsaddle/SM/PKSTL +Packston/M/PKSTN +Packwood/M/PKWT +Paco/M/PK +Pacorro/M/PKR +pact/SM/PKT +pad/MS/PT +Padang/M/PTNK +padded/U/PTT +Paddie/M/PT +padding/SM/PTN +paddle/MZGRSD/PTL +paddler/M/PTL +paddock/SDMG/PTK +Paddy/M/PT +paddy/SM/PT +Padget/M/PKT +Padgett/M/PKT +Padilla/M/PTL +padlock/SGDM/PTLK +Padraic/M/PTRK +Padraig/M/PTRK +padre/MS/PTR +Padrewski/M/PTRSK +Padriac/M/PTRK +paean/MS/PN +paediatrician/MS/PTTRXN +paediatrics/M/PTTRKS +paedophilia's//PTFLS +paella/SM/PL +paeony/M/PN +pagan/SM/PKN +Paganini/M/PKNN +paganism/MS/PKNSM +Page/M/PK +page/MZGDRS/PK +pageant/SM/PKNT +pageantry/SM/PKNTR +pageboy/SM/PKB +paged/U/PKT +pageful//PKFL +pager/M/PK +paginate/DSNGX/PKNT +Paglia/M/PKL +pagoda/MS/PKT +Pahlavi/M/PLF +paid/AU/PT +Paige/M/PK +Pail/M/PL +pail/SM/PL +pailful/SM/PLFL +pain/GSDM/PN +Paine/M/PN +painful/YP/PNFL +painfuller//PNFL +painfullest//PNFLST +painfulness/MS/PNFLNS +painkiller/MS/PNKL +painkilling//PNKLN +painless/YP/PNLS +painlessness/S/PNLSNS +painstaking/SY/PNSTKN +paint/ADRZGS/PNT +paintbox/M/PNTBKS +paintbrush/SM/PNTBRX +painted/U/PNTT +painter/YM/PNT +painterly/P/PNTL +painting/SM/PNTN +paint's//PNTS +paintwork//PNTWK +pair/JSDMG/P +paired/UA/PRT +pairs/A/PS +pairwise//PWS +paisley/MS/PSL +pajama/MDS/PKM +Pakistan/M/PKSTN +Pakistani/S/PKSTN +pal/SJMDRYTG/PL +palace/MS/PLS +paladin/MS/PLTN +palaeolithic//PLL@K +palaeontologists//PLNTLKSTS +palaeontology/M/PLNTLK +palanquin/MS/PLNKN +palatability/M/PLTBLT +palatable/P/PLTBL +palatableness/M/PLTBLNS +palatal/YS/PLTL +palatalization/MS/PLTLSXN +palatalize/SDG/PLTLS +palate/BMS/PLT +palatial/Y/PLXL +palatinate/SM/PLTNT +Palatine//PLTN +palatine/S/PLTN +palaver/GSDM/PLF +pale/SPY/PL +paleface/SM/PLFS +Palembang/M/PLMBNK +paleness/S/PLNS +Paleocene//PLSN +Paleogene//PLKN +paleographer/SM/PLKRF +paleography/SM/PLKRF +paleolithic//PLL@K +Paleolithic//PLL@K +paleontologist/S/PLNTLKST +paleontology/MS/PLNTLK +Paleozoic//PLSK +Palermo/M/PLM +Palestine/M/PLSTN +Palestinian/S/PLSTNN +Palestrina/M/PLSTRN +palette/MS/PLT +Paley/M/PL +palfrey/MS/PLFR +palimony/S/PLMN +palimpsest/MS/PLMPSST +palindrome/MS/PLNTRM +palindromic//PLNTRMK +paling/M/PLN +palisade/MGSD/PLST +Palisades/M/PLSTS +palish//PLX +pall/GSMD/PL +Pall/M/PL +Palladio/M/PLT +palladium/SM/PLTM +pallbearer/SM/PLBR +pallet/SMGD/PLT +palletized//PLTST +palliate/SDVNGX/PLT +palliation/M/PLXN +palliative/SY/PLTF +pallid/PY/PLT +pallidness/MS/PLTNS +pallor/MS/PL +palm/GSMDR/PLM +Palm/MR/PLM +palmate//PLMT +palmer/M/PLM +Palmer/M/PLM +Palmerston/M/PLMSTN +palmetto/MS/PLMT +palmist/MS/PLMST +palmistry/MS/PLMSTR +Palmolive/M/PLMLF +palmtop/S/PLMTP +palmy/RT/PLM +Palmyra/M/PLMR +Palo/M/PL +Paloma/M/PLM +Palomar/M/PLM +palomino/MS/PLMN +palpable//PLPBL +palpably//PLPBL +palpate/SDNGX/PLPT +palpation/M/PLPXN +palpitate/NGXSD/PLPTT +palpitation/M/PLPTXN +palsy/GSDM/PLS +paltriness/SM/PLTRNS +paltry/TRP/PLTR +paludal//PLTL +Pam/M/PM +Pamela/M/PML +Pamelina/M/PMLN +Pamella/M/PML +Pamirs//PMS +Pammi/M/PM +Pammie/M/PM +Pammy/M/PM +pampas/M/PMPS +pamper/RDSG/PMP +pamperer/M/PMPR +Pampers//PMPS +pamphlet/SM/PMFLT +pamphleteer/DMSG/PMFLT +Pan/M/PN +pan/SMD/PN +panacea/MS/PNS +panache/MS/PNX +Panama/MS/PNM +panama/S/PNM +Panamanian/S/PNMNN +pancake/MGSD/PNKK +Panchito/M/PNXT +Pancho/M/PNX +panchromatic//PNXRMTK +pancreas/MS/PNKRS +pancreatic//PNKRTK +panda/SM/PNT +pandemic/S/PNTMK +pandemonium/SM/PNTMNM +pander/ZGRDS/PNT +Pandora/M/PNTR +pane/KMS/PN +panegyric/SM/PNKRK +panel/JSGDM/PNL +paneling/M/PNLN +panelist/MS/PNLST +panelization//PNLSXN +panelized//PNLST +pang/GDMS/PNK +Pangaea/M/PNK +pangolin/M/PNKLN +panhandle/RSDGMZ/PNHNTL +panic/SM/PNK +panicked//PNKT +panicking//PNKN +panicky/RT/PNK +panier's//PNS +panjandrum/M/PNKNTRM +Pankhurst/M/PNKHST +Panmunjom/M/PNMNKM +panned//PNT +pannier/SM/PN +panning//PNN +panoply/MSD/PNPL +panorama/MS/PNRM +panoramic//PNRMK +panpipes//PNPPS +Pansie/M/PNS +Pansy/M/PNS +pansy/SM/PNS +pant/GDS/PNT +Pantagruel/M/PNTKRL +Pantaloon/M/PNTLN +pantaloons//PNTLNS +pantheism/MS/PN@SM +pantheist/S/PN@ST +pantheistic//PN@STK +pantheon/MS/PN@N +panther/SM/PN@ +pantie/SM/PNT +pantiled//PNTLT +pantograph/M/PNTKRF +pantomime/SDGM/PNTMM +pantomimic//PNTMMK +pantomimist/SM/PNTMMST +pantry/SM/PNTR +pantsuit/SM/PNTST +pantyhose//PNTHS +pantyliner//PNTLN +pantywaist/SM/PNTWST +Panza/M/PNS +Paola/M/PL +Paoli/M/PL +Paolina/M/PLN +Paolo/M/PL +pap/SZMNR/PP +papa/MS/PP +papacy/SM/PPS +Papagena/M/PPKN +Papageno/M/PPKN +papal/Y/PPL +paparazzi//PPRS +papaw/SM/PP +papaya/MS/PPY +paper/GJMRDZ/PP +paperback/GDMS/PPBK +paperboard/MS/PPBT +paperboy/SM/PPB +paperer/M/PPR +papergirl/SM/PPKL +paperhanger/SM/PPHNK +paperhanging/SM/PPHNKN +paperiness/M/PPRNS +paperless//PPLS +paperweight/MS/PPWT +paperwork/SM/PPWK +papery/P/PPR +papilla/M/PPL +papillae//PPL +papillary//PPLR +papist/MS/PPST +papoose/SM/PPS +Pappas/M/PPS +papped//PPT +papping//PPN +pappy/RST/PP +paprika/MS/PPRK +papyri//PPR +papyrus/M/PPRS +Paquito/M/PKT +par/ZGSJBMDR/P +para/MS/PR +parable/MGSD/PRBL +parabola/MS/PRBL +parabolic//PRBLK +paraboloid/MS/PRBLT +paraboloidal/M/PRBLTL +Paracelsus/M/PRSLSS +paracetamol/M/PRSTML +parachute/RSDMG/PRXT +parachuter/M/PRXT +parachutist/MS/PRXTST +Paraclete/M/PRKLT +parade/RSDMZG/PRT +parader/M/PRT +paradigm/SM/PRTKM +paradigmatic//PRTKMTK +paradisaic//PRTSK +paradisaical//PRTSKL +Paradise/M/PRTS +paradise/MS/PRTS +paradox/MS/PRTKS +paradoxic//PRTKSK +paradoxical/YP/PRTKSKL +paradoxicalness/M/PRTKSKLNS +paraffin/GSMD/PRFN +paragon/SGDM/PRKN +paragraph/MRDG/PRKRF +paragrapher/M/PRKRF +paragraphs//PRKRFS +Paraguay/M/PRK +Paraguayan/S/PRKYN +parakeet/MS/PRKT +paralegal/S/PRLKL +paralinguistic//PRLNSTK +parallax/SM/PRLKS +parallel/DSG/PRLL +paralleled/U/PRLLT +parallelepiped/MS/PRLLPPT +parallelism/SM/PRLLSM +parallelization/MS/PRLLSXN +parallelize/ZGDSR/PRLLS +parallelogram/MS/PRLLKRM +paralysis/M/PRLSS +paralytic/S/PRLTK +paralytically//PRLTKL +paralyze/ZGDRS/PRLS +paralyzed/Y/PRLST +paralyzedly/S/PRLSTL +paralyzer/M/PRLS +paralyzing/Y/PRLSN +paralyzingly/S/PRLSNL +paramagnet/M/PRMKNT +paramagnetic//PRMKNTK +Paramaribo/M/PRMRB +paramecia//PRMX +paramecium/M/PRMSM +paramedic/MS/PRMTK +paramedical/S/PRMTKL +parameter/SM/PRMT +parameterization/SM/PRMTRSXN +parameterize/BSDG/PRMTRS +parameterized/U/PRMTRST +parameterless//PRMTLS +parametric//PRMTRK +parametrically//PRMTRKL +parametrization//PRMTRSXN +parametrize/DS/PRMTRS +paramilitary/S/PRMLTR +paramount/S/PRMNT +paramour/MS/PRM +Paramus/M/PRMS +Paraná//PRN +paranoia/SM/PRN +paranoiac/S/PRNK +paranoid/S/PRNT +paranormal/SY/PRNML +parapet/SMD/PRPT +paraphernalia//PRFNL +paraphrase/GMSRD/PRFRS +paraphraser/M/PRFRS +paraplegia/MS/PRPLK +paraplegic/S/PRPLKK +paraprofessional/SM/PRPRFXNL +parapsychologist/S/PRPSXLKST +parapsychology/MS/PRPSXLK +paraquat/S/PRKT +parasite/SM/PRST +parasitic/S/PRSTK +parasitically//PRSTKL +parasitism/SM/PRSTSM +parasitologist/M/PRSTLKST +parasitology/M/PRSTLK +parasol/SM/PRSL +parasympathetic/S/PRSMP@TK +parathion/SM/PR@N +parathyroid/S/PR@RT +paratroop/RSZ/PRTRP +paratrooper/M/PRTRP +paratyphoid/S/PRTFT +parboil/DSG/PBL +PARC/M/PK +parcel/SGMD/PSL +parceled/U/PSLT +parceling/M/PSLN +parch/GSDL/PX +Parcheesi/M/PXS +parchment/SM/PXMNT +pardon/ZBGRDS/PTN +pardonable/U/PTNBL +pardonableness/M/PTNBLNS +pardonably/U/PTNBL +pardoner/M/PTN +pare/S/PR +paregoric/SM/PRKRK +parent/MDGJS/PRNT +parentage/MS/PRNTK +parental/Y/PRNTL +parenteral//PRNTRL +parentheses//PRN@SS +parenthesis/M/PRN@SS +parenthesize/GSD/PRN@SS +parenthetic//PRN@TK +parenthetical/Y/PRN@TKL +parenthood/MS/PRN@T +pares/S/PRS +paresis/M/PRSS +Pareto/M/PRT +parfait/SM/PFT +pariah/M/PR +pariahs//PRS +parietal/S/PRTL +parimutuel/S/PRMTL +paring/M/PRN +Paris/M/PRS +parish/MS/PRX +parishioner/SM/PRXN +Parisian/SM/PRXN +parity/ESM/PRT +park/GJZDRMS/PK +Park/RMS/PK +parka/MS/PK +Parke/M/PK +Parker/M/PK +Parkersburg/M/PKSBK +Parkhouse/M/PKHS +parking/M/PKN +Parkinson/M/PKNSN +parkish//PKX +parkland/M/PKLNT +parklike//PKLK +Parkman//PKMN +parkway/MS/PKW +parlance/SM/PLNS +parlay/DGS/PL +parley/MDSG/PL +parliament/MS/PLMNT +Parliament/MS/PLMNT +parliamentarian/SM/PLMNTRN +parliamentary/U/PLMNTR +parlor/SM/PL +parlous//PLS +Parmesan/S/PMSN +parmigiana//PMKN +Parnassus/SM/PNSS +Parnell/M/PNL +parochial/Y/PRXL +parochialism/SM/PRXLSM +parochiality//PRXLT +parodied/U/PRTT +parodist/SM/PRTST +parody/SDGM/PRT +parole/MSDG/PRL +parolee/MS/PRL +paroxysm/MS/PRKSSM +paroxysmal//PRKSSML +parquet/SMDG/PKT +parquetry/SM/PKTR +Parr/M/PR +parrakeet's//PRKTS +parred//PRT +parricidal//PRSTL +parricide/MS/PRST +parring//PRN +Parrish/M/PRX +Parrnell/M/PRNL +parrot/GMDS/PRT +parrotlike//PRTLK +parry/GSD/PR +Parry/M/PR +pars/JDSRGZ/PS +parse//PS +parsec/SM/PSK +parsed/U/PST +Parsee's//PSS +parser/M/PS +Parsifal/M/PSFL +parsimonious/Y/PSMNS +parsimony/SM/PSMN +parsley/MS/PSL +parsnip/MS/PSNP +parson/MS/PSN +parsonage/MS/PSNK +Parsons/M/PSNS +part/CDGS/PT +partake/ZGSR/PTK +partaken//PTKN +partaker/M/PTK +parter/S/PT +parterre/MS/PTR +parthenogeneses//P@NKNSS +parthenogenesis/M/P@NKNSS +Parthenon/M/P@NN +Parthia/M/P@ +partial/SY/PXL +partiality/MS/PXLT +participant/MS/PTSPNT +participate/NGVDSX/PTSPT +participation/M/PTSPXN +participator/S/PTSPT +participatory//PTSPTR +participial/Y/PTSPL +participle/MS/PTSPL +particle/MS/PTKL +particleboard/S/PTKLBT +particolored//PTKLRT +particular/SY/PTKL +particularistic//PTKLRSTK +particularity/SM/PTKLRT +particularization/MS/PTKLRSXN +particularize/GSD/PTKLRS +particulate/S/PTKLT +parting/MS/PTN +partisan/SM/PTSN +partisanship/SM/PTSNXP +partition/AMRDGS/PTXN +partitioned/U/PTXNT +partitioner/M/PTXN +partitive/S/PTTF +partizan's//PTSNS +partly//PTL +partner/DMGS/PTN +partnership/SM/PTNXP +partook//PTK +partridge/MS/PTRK +part's//PTS +parturition/SM/PTRXN +partway//PTW +party/RSDMG/PT +parvenu/SM/PFN +pas/S/PS +Pasadena/M/PSTN +PASCAL//PSKL +Pascal/M/PSKL +pascal/SM/PSKL +Pascale/M/PSKL +paschal/S/PSXL +pasha/MS/PX +Paso/M/PS +Pasquale/M/PSKL +pass/JGVBZDSR/PS +passably//PSBL +passage/MGSD/PSK +passageway/MS/PSKW +Passaic/M/PSK +passband//PSBNT +passbook/MS/PSBK +passé/M/PS +passel/MS/PSL +passenger/MYS/PSNK +passer/M/PS +passerby//PSB +passersby//PSSB +passim//PSM +passing/Y/PSN +passion/SEM/PXN +Passion/SM/PXN +passionate/EYP/PXNT +passionated//PXNTT +passionateness/EM/PXNTNS +passionates//PXNTS +passionating//PXNTN +passioned//PXNT +passionflower/MS/PXNFLW +passioning//PXNN +passionless//PXNLS +passivated//PSFTT +passive/SYP/PSF +passiveness/S/PSFNS +passivity/S/PSFT +passkey/SM/PSK +passmark//PSMK +passover//PSF +Passover/MS/PSF +passport/SM/PSPT +password/SDM/PSWT +past/PGMDRS/PST +pasta/MS/PST +paste/MS/PST +pasteboard/SM/PSTBT +pasted/UA/PSTT +pastel/MS/PSTL +pastern/SM/PSTN +Pasternak/M/PSTNK +pasteup//PSTP +Pasteur/M/PST +pasteurization/MS/PSTRSXN +pasteurize/RSDGZ/PSTRS +pasteurized/U/PSTRST +pasteurizer/M/PSTRS +pastiche/MS/PSTX +pastille/SM/PSTL +pastime/SM/PSTM +pastiness/SM/PSTNS +pastor/GSDM/PST +pastoral/SPY/PSTRL +pastoralization/M/PSTRLSXN +pastorate/MS/PSTRT +pastrami/MS/PSTRM +pastry/SM/PSTR +pasts/A/PSTS +past's/A/PSTS +pasturage/SM/PSTRK +pasture/MGSRD/PSTR +pasturer/M/PSTR +pasty/PTRS/PST +Pat/MN/PT +pat/MNDRS/PT +Patagonia/M/PTKN +Patagonian/S/PTKNN +patch/EGRSD/PX +patcher/EM/PX +patchily//PXL +patchiness/S/PXNS +patch's//PXS +patchwork/RMSZ/PXWK +patchy/PRT/PX +Pate/M/PT +pate/SM/PT +Patel/M/PTL +patella/MS/PTL +patellae//PTL +paten/M/PTN +Paten/M/PTN +patent/ZGMRDYSB/PTNT +patentee/SM/PTNT +pater/M/PT +paterfamilias/SM/PTFMLS +paternal/Y/PTNL +paternalism/MS/PTNLSM +paternalist//PTNLST +paternalistic//PTNLSTK +paternity/SM/PTNT +paternoster/SM/PTNST +Paterson/M/PTSN +path/M/P@ +pathetic//P@TK +pathetically//P@TKL +pathfinder/MS/P@FNT +pathless/P/P@LS +pathname/SM/P@NM +pathogen/SM/P@KN +pathogenesis/M/P@KNSS +pathogenic//P@KNK +pathologic//P@LKK +pathological/Y/P@LKKL +pathologist/MS/P@LKST +pathology/SM/P@LK +pathos/SM/P@S +paths//P@S +pathway/MS/P@W +Patience/M/PTNS +patience/SM/PTNS +patient/MRYTS/PTNT +patients/I/PTNTS +patient's/I/PTNTS +Patin/M/PTN +patina/SM/PTN +patine//PTN +patio/MS/PX +Patna/M/PTN +patois/M/PTS +Paton/M/PTN +patresfamilias//PTRSFMLS +patriarch/M/PTRX +patriarchal//PTRXL +patriarchate/MS/PTRXT +patriarchs//PTRXS +patriarchy/MS/PTRX +Patric/M/PTRK +Patrica/M/PTRK +Patrice/M/PTRS +Patricia/M/PTRX +patrician/MS/PTRXN +patricide/MS/PTRST +Patricio/M/PTRS +Patrick/M/PTRK +patrimonial//PTRMNL +patrimony/SM/PTRMN +patriot/SM/PTRT +patriotic/U/PTRTK +patriotically//PTRTKL +patriotism/SM/PTRTSM +patristic/S/PTRSTK +Patrizia/M/PTRS +Patrizio/M/PTRS +Patrizius/M/PTRSS +patrol/MS/PTRL +patrolled//PTRLT +patrolling//PTRLN +patrolman/M/PTRLMN +patrolmen//PTRLMN +patrolwoman//PTRLWMN +patrolwomen//PTRLWMN +patron/YMS/PTRN +patronage/MS/PTRNK +patroness/S/PTRNS +patronization//PTRNSXN +patronize/GZRSDJ/PTRNS +patronized/U/PTRNST +patronizer/M/PTRNS +patronizes/A/PTRNSS +patronizing/YM/PTRNSN +patronizing's/U/PTRNSNS +patronymic/S/PTRNMK +patronymically//PTRNMKL +patroon/MS/PTRN +patsy/SM/PTS +Patsy/SM/PTS +patted//PTT +Patten/M/PTN +patten/MS/PTN +patter/RDSGJ/PT +patterer/M/PTR +pattern/GSDM/PTN +patternless//PTNLS +Patterson/M/PTSN +Patti/M/PT +Pattie/M/PT +Pattin/M/PTN +patting//PTN +Patton/M/PTN +Patty/M/PT +patty/SM/PT +paucity/SM/PST +Paul/MG/PL +Paula/M/PL +Paule/M/PL +Pauletta/M/PLT +Paulette/M/PLT +Pauli/M/PL +Paulie/M/PL +Paulina/M/PLN +Pauline//PLN +Pauling/M/PLN +Paulita/M/PLT +Paulo/M/PL +Paulsen/M/PLSN +Paulson/M/PLSN +Paulus/M/PLS +Pauly/M/PL +paunch/GMSD/PNX +paunchiness/M/PNXNS +paunchy/RTP/PNX +pauper/SGDM/PP +pauperism/SM/PPRSM +pauperize/SDG/PPRS +pause/DSG/PS +Pavarotti//PFRT +pave/GDRSJL/PF +paved/UA/PFT +Pavel/M/PFL +pavement/SGDM/PFMNT +paver/M/PF +paves/A/PFS +Pavia/M/PF +pavilion/SMDG/PFLN +paving/A/PFN +paving's//PFNS +Pavla/M/PFL +Pavlov/M/PFLF +Pavlova/MS/PFLF +Pavlovian//PFLFN +paw/MDSG/P +pawl/SM/PL +pawn/GSDRM/PN +pawnbroker/SM/PNBRK +pawnbroking/S/PNBRKN +Pawnee/SM/PN +pawner/M/PN +pawnshop/MS/PNXP +pawpaw's//PPS +Pawtucket/M/PTKT +paxes//PKSS +Paxon/M/PKSN +Paxton/M/PKSTN +pay/AGSLB/P +payable/S/PYBL +payback/S/PBK +paycheck/SM/PXK +payday/MS/PT +payed//PYT +payee/SM/PY +payer/SM/PY +payload/SM/PLT +paymaster/SM/PMST +payment/ASM/PMNT +Payne/SM/PN +payoff/MS/PYF +payola/MS/PYL +payout/S/PYT +payroll/MS/PRL +payslip/S/PSLP +Payson/M/PSN +Payton/M/PTN +Paz/M/PS +Pb/M/PB +PBS//PBS +PBX//PBKS +PC/M/PK +PCB//PKB +PCP//PKP +PCs//PKS +pct//PKT +pd//PT +PD//PT +Pd/M/PT +PDP//PTP +PDQ//PTK +PDT//PTT +PE//P +pea/MS/P +Peabody/M/PBT +peace/GMDS/PS +Peace/M/PS +peaceable/P/PSBL +peaceableness/M/PSBLNS +peaceably//PSBL +peaceful/PY/PSFL +peacefuller//PSFL +peacefullest//PSFLST +peacefulness/S/PSFLNS +peacekeeping/S/PSKPN +peacemaker/MS/PSMK +peacemaking/MS/PSMKN +peacetime/MS/PSTM +peach/GSDM/PX +Peachtree/M/PXTR +peachy/RT/PX +peacock/SGMD/PKK +Peadar/M/PT +peafowl/SM/PFL +peahen/MS/PHN +peak/SGDM/PK +peaked/P/PKT +peakiness/M/PKNS +peaky/P/PK +peal/MDSG/PL +Peale/M/PL +pealed/A/PLT +peals/A/PLS +peanut/SM/PNT +pear/SYM/P +Pearce/M/PS +Pearl/M/PL +pearl/SGRDM/PL +Pearla/M/PL +Pearle/M/PL +pearler/M/PL +Pearlie/M/PL +Pearline/M/PLN +pearly/TRS/PL +Pearson/M/PSN +peartrees//PTRS +Peary/M/PR +peasant/SM/PSNT +peasanthood//PSN@T +peasantry/SM/PSNTR +peashooter/MS/PXT +peat/SM/PT +peats/A/PTS +peaty/TR/PT +pebble/MGSD/PBL +pebbling/M/PBLN +pebbly/TR/PBL +Pebrook/M/PBRK +pecan/SM/PKN +peccadillo/M/PKTL +peccadilloes//PKTLS +peccary/MS/PKR +Pechora/M/PXR +peck/GZSDRM/PK +Peck/M/PK +pecker/M/PK +Peckinpah/M/PKNP +Pecos/M/PKS +pectic//PKTK +pectin/SM/PKTN +pectoral/S/PKTRL +peculate/NGDSX/PKLT +peculator/S/PKLT +peculiar/SY/PKL +peculiarity/MS/PKLRT +pecuniary//PKNR +pedagogic/S/PTKKK +pedagogical/Y/PTKKKL +pedagogics/M/PTKKKS +pedagogue/SDGM/PTKK +pedagogy/MS/PTKK +pedal/SGRDM/PTL +pedant/SM/PTNT +pedantic//PTNTK +pedantically//PTNTKL +pedantry/MS/PTNTR +peddle/ZGRSD/PTL +peddler/M/PTL +Peder/M/PT +pederast/SM/PTRST +pederasty/SM/PTRST +pedestal/GDMS/PTSTL +pedestrian/MS/PTSTRN +pedestrianization//PTSTRNSXN +pedestrianize/GSD/PTSTRNS +pediatric/S/PTTRK +pediatrician/SM/PTTRXN +pedicab/SM/PTKB +pedicure/DSMG/PTKR +pedicurist/SM/PTKRST +pedigree/DSM/PTKR +pediment/DMS/PTMNT +pedlar's//PTLS +pedometer/MS/PTMT +pedophile/S/PTFL +pedophilia//PTFL +Pedro/M/PTR +peduncle/MS/PTNKL +pee/ZDRS/P +peeing//PN +peek/GSD/PK +peekaboo/SM/PKB +Peel/M/PL +peel/SJGZDR/PL +peeler/M/PL +peeling/M/PLN +peen/GSDM/PN +peep/SGZDR/PP +peeper/M/PP +peephole/SM/PFL +peepshow/MS/PPX +peepy//PP +peer/DMG/P +peerage/MS/PRK +peeress/MS/PRS +peerless/PY/PLS +peerlessness/M/PLSNS +peeve/GZMDS/PF +peevers/M/PFS +peevish/YP/PFX +peevishness/SM/PFXNS +peewee/S/PW +Peg/M/PK +peg/MS/PK +Pegasus/MS/PKSS +pegboard/SM/PKBT +Pegeen/M/PKN +pegged//PKT +Peggi/M/PK +Peggie/M/PK +pegging//PKN +Peggy/M/PK +Pei/M/P +peignoir/SM/PKN +Peiping/M/PPN +Peirce/M/PS +pejoration/SM/PKRXN +pejorative/SY/PKRTF +peke/MS/PK +Pekinese's//PKNSS +Peking/SM/PKN +pekingese//PKNS +Pekingese/SM/PKNS +pekoe/SM/PK +pelagic//PLKK +Pele/M/PL +Pelee/M/PL +pelf/SM/PLF +Pelham/M/PLHM +pelican/SM/PLKN +pellagra/SM/PLKR +pellet/SGMD/PLT +pellucid//PLST +Peloponnese/M/PLPNS +pelt/GSDR/PLT +pelter/M/PLT +pelvic/S/PLFK +pelvis/SM/PLFS +Pembroke/M/PMBRK +pemmican/SM/PMKN +pen/M/PN +Pen/M/PN +Pena/M/PN +penal/Y/PNL +penalization/SM/PNLSXN +penalize/SDG/PNLS +penalized/U/PNLST +penalty/MS/PNLT +penance/SDMG/PNNS +pence/M/PNS +penchant/MS/PNXNT +pencil/SGJMD/PNSL +pend/DCGS/PNT +pendant/SM/PNTNT +pendent/CS/PNTNT +Penderecki/M/PNTRK +Pendleton/M/PNTLTN +pendulous//PNTLS +pendulum/MS/PNTLM +Penelopa/M/PNLP +Penelope/M/PNLP +penetrability/SM/PNTRBLT +penetrable//PNTRBL +penetrate/SDVGNX/PNTRT +penetrating/Y/PNTRTN +penetration/M/PNTRXN +penetrative/PY/PNTRTF +penetrativeness/M/PNTRTFNS +penetrator/MS/PNTRT +penguin/MS/PNKN +penicillin/SM/PNSLN +penile//PNL +peninsula/SM/PNNSL +peninsular//PNNSL +penis/MS/PNS +penitence/MS/PNTNS +penitent/SY/PNTNT +penitential/YS/PNTNXL +penitentiary/MS/PNTNXR +penknife/M/PNKNF +penknives//PNKNFS +penlight/MS/PNLT +penman/M/PNMN +penmanship/MS/PNMNXP +penmen//PNMN +Penn/M/PN +Penna//PN +pennant/SM/PNNT +penned//PNT +Penney/M/PN +Penni/M/PN +Pennie/M/PN +penniless//PNLS +penning//PNN +Pennington/M/PNNTN +pennis//PNS +pennon/SM/PNN +Pennsylvania/M/PNSLFN +Pennsylvanian/S/PNSLFNN +Penny/M/PN +penny/SM/PN +pennyweight/SM/PNWT +pennyworth/M/PNW@ +penologist/MS/PNLKST +penology/MS/PNLK +Penrod/M/PNRT +pens/V/PNS +Pensacola/M/PNSKL +pension/ZGMRDBS/PNXN +pensioner/M/PNXN +pensive/PY/PNSF +pensiveness/S/PNSFNS +pent/AS/PNT +pentacle/MS/PNTKL +Pentagon/M/PNTKN +pentagon/SM/PNTKN +pentagonal/SY/PNTKNL +pentagram/MS/PNTKRM +pentameter/SM/PNTMT +Pentateuch/M/PNTTX +pentathlete/S/PNT@LT +pentathlon/MS/PNT@LN +pentatonic//PNTTNK +Pentecost/SM/PNTKST +pentecostal//PNTKSTL +Pentecostal/S/PNTKSTL +Pentecostalism/S/PNTKSTLSM +penthouse/SDGM/PN@S +Pentium/M/PNTM +penuche/SM/PNX +penultimate/SY/PNLTMT +penumbra/MS/PNMBR +penumbrae//PNMBR +penurious/YP/PNRS +penuriousness/MS/PNRSNS +penury/SM/PNR +peon/MS/PN +peonage/MS/PNK +peony/SM/PN +people/SDMG/PPL +Peoria/M/PR +pep/SM/PP +Pepe/M/PP +Pepi/M/PP +Pepillo/M/PPL +Pepin/M/PPN +Pepita/M/PPT +Pepito/M/PPT +pepped//PPT +pepper/SGRDM/PP +peppercorn/MS/PPKN +pepperer/M/PPR +peppergrass/M/PPKRS +peppermint/MS/PPMNT +pepperoni/S/PPRN +peppery//PPR +peppiness/SM/PPNS +pepping//PPN +peppy/PRT/PP +Pepsi/M/PPS +Pepsico/M/PPSK +PepsiCo/M/PPSK +pepsin/SM/PPSN +peptic/S/PPTK +peptidase/SM/PPTTS +peptide/SM/PPTT +peptizing//PPTSN +Pepys/M/PPS +Pequot/M/PKT +per/K/P +peradventure/S/PRTFNTR +perambulate/DSNGX/PRMBLT +perambulation/M/PRMBLXN +perambulator/MS/PRMBLT +percale/MS/PKL +perceivably//PSFBL +perceive/DRSZGB/PSF +perceived/U/PSFT +perceiver/M/PSF +percent/MS/PSNT +percentage/MS/PSNTK +percentile/SM/PSNTL +percept/VMS/PSPT +perceptible//PSPTBL +perceptibly//PSPTBL +perception/MS/PSPXN +perceptional//PSPXNL +perceptive/YP/PSPTF +perceptiveness/MS/PSPTFNS +perceptual/Y/PSPTL +Perceval/M/PSFL +perch/GSDM/PX +perchance//PXNS +perchlorate/M/PXLRT +perchlorination//PXLRNXN +percipience/MS/PSPNS +percipient/S/PSPNT +Percival/M/PSFL +percolate/NGSDX/PKLT +percolation/M/PKLXN +percolator/MS/PKLT +percuss/DSGV/PKS +percussion/SAM/PKXN +percussionist/MS/PKXNST +percussive/PY/PKSF +percussiveness/M/PKSFNS +percutaneous/Y/PKTNS +Percy/M/PS +perdition/MS/PTXN +perdurable//PTRBL +peregrinate/XSDNG/PRKRNT +peregrination/M/PRKRNXN +peregrine/S/PRKRN +Perelman/M/PRLMN +peremptorily//PRMPTRL +peremptory/P/PRMPTR +perennial/SY/PRNL +pères//PRS +perestroika/S/PRSTRK +Perez/M/PRS +perfect/DRYSTGVP/PFKT +perfecta/S/PFKT +perfecter/M/PFKT +perfectibility/MS/PFKTBLT +perfectible//PFKTBL +perfection/MS/PFKXN +perfectionism/MS/PFKXNSM +perfectionist/MS/PFKXNST +perfective/PY/PFKTF +perfectiveness/M/PFKTFNS +perfectness/MS/PFKTNS +perfidious/YP/PFTS +perfidiousness/M/PFTSNS +perfidy/MS/PFT +perforate/XSDGN/PFRT +perforated/U/PFRTT +perforation/M/PFRXN +perforce//PFS +perform/SDRZGB/PFM +performance/MS/PFMNS +performed/U/PFMT +performer/M/PFM +perfume/ZMGSRD/PFM +perfumer/M/PFM +perfumery/SM/PFMR +perfunctorily//PFNKTRL +perfunctoriness/M/PFNKTRNS +perfunctory/P/PFNKTR +perfused//PFST +perfusion/M/PFXN +Pergamon/M/PKMN +pergola/SM/PKL +perhaps/S/PHPS +Peri/M/PR +Peria/M/PR +pericardia//PRKT +pericardium/M/PRKTM +Perice/M/PRS +Periclean//PRKLN +Pericles/M/PRKLS +perigee/SM/PRK +perihelia//PRHL +perihelion/M/PRHLN +peril/GSDM/PRL +Perilla/M/PRL +perilous/PY/PRLS +perilousness/M/PRLSNS +perimeter/MS/PRMT +perinatal//PRNTL +perinea//PRN +perineum/M/PRNM +period/MS/PRT +periodic//PRTK +periodical/YMS/PRTKL +periodicity/MS/PRTST +periodontal/Y/PRTNTL +periodontics/M/PRTNTKS +periodontist/S/PRTNTST +peripatetic/S/PRPTTK +peripheral/SY/PRFRL +periphery/SM/PRFR +periphrases//PRFRSS +periphrasis/M/PRFRSS +periphrastic//PRFRSTK +periscope/SDMG/PRSKP +perish/BZGSRD/PRX +perishable/SM/PRXBL +perishing/Y/PRXN +peristalses//PRSTLSS +peristalsis/M/PRSTLSS +peristaltic//PRSTLTK +peristyle/MS/PRSTL +peritoneal//PRTNL +peritoneum/SM/PRTNM +peritonitis/MS/PRTNTS +periwig/MS/PRWK +periwigged//PRWKT +periwigging//PRWKN +periwinkle/SM/PRWNKL +perjure/SRDZG/PKR +perjurer/M/PKR +perjury/MS/PKR +perk/GDS/PK +perkily//PKL +Perkin/SM/PKN +perkiness/S/PKNS +perky/TRP/PK +Perl/M/PL +Perla/M/PL +Perle/M/PL +Perm/M/PM +perm/MDGS/PM +permafrost/MS/PMFRST +permalloy/M/PML +Permalloy/M/PML +permanence/SM/PMNNS +permanency/MS/PMNNS +permanent/YSP/PMNNT +permanentness/M/PMNNTNS +permeability/SM/PMBLT +permeable/P/PMBL +permeableness/M/PMBLNS +permeate/NGVDSX/PMT +Permian//PMN +permissibility/M/PMSBLT +permissible/P/PMSBL +permissibleness/M/PMSBLNS +permissibly//PMSBL +permission/SM/PMXN +permissive/YP/PMSF +permissiveness/MS/PMSFNS +permit/SM/PMT +permitted//PMTT +permitting//PMTN +permutation/MS/PMTXN +permute/SDG/PMT +Pernell/M/PNL +pernicious/PY/PNSS +perniciousness/MS/PNSSNS +Pernod/M/PNT +Peron/M/PRN +peroration/SM/PRRXN +Perot/M/PRT +peroxidase/M/PRKSTS +peroxide/MGDS/PRKST +perpend/DG/PPNT +perpendicular/SY/PPNTKL +perpendicularity/SM/PPNTKLRT +perpetrate/NGXSD/PPTRT +perpetration/M/PPTRXN +perpetrator/SM/PPTRT +perpetual/SY/PPTL +perpetuate/NGSDX/PPTT +perpetuation/M/PPTXN +perpetuity/MS/PPTT +perplex/DSG/PPLKS +perplexed/Y/PPLKST +perplexity/MS/PPLKST +perquisite/SM/PKST +Perren/M/PRN +Perri/M/PR +Perrine/M/PRN +Perry/MR/PR +persecute/XVNGSD/PSKT +persecution/M/PSKXN +persecutor/MS/PSKT +persecutory//PSKTR +Perseid/M/PST +Persephone/M/PSFN +Perseus/M/PSS +perseverance/MS/PSFRNS +persevere/GSD/PSFR +persevering/Y/PSFRN +Pershing/M/PXN +Persia/M/PX +Persian/S/PXN +persiflage/MS/PSFLK +persimmon/SM/PSMN +Persis/M/PSS +persist/DRSG/PSST +persistence/SM/PSSTNS +persistent/Y/PSSTNT +persnickety//PSNKT +person/BMS/PSN +persona/M/PSN +personable/P/PSNBL +personableness/M/PSNBLNS +personae//PSN +personage/SM/PSNK +personal/YS/PSNL +personality/SM/PSNLT +personalization/CMS/PSNLSXN +personalize/CSDG/PSNLS +personalized/U/PSNLST +personalty/MS/PSNLT +personification/M/PSNFKXN +personifier/M/PSNF +personify/XNGDRS/PSNF +personnel/SM/PSNL +persons/U/PSNS +person's/U/PSNS +perspective/YMS/PSPKTF +perspex//PSPKS +perspicacious/PY/PSPKSS +perspicaciousness/M/PSPKSSNS +perspicacity/S/PSPKST +perspicuity/SM/PSPKT +perspicuous/YP/PSPKS +perspicuousness/M/PSPKSNS +perspiration/MS/PSPRXN +perspire/DSG/PSPR +persuade/ZGDRSB/PST +persuaded/U/PSTT +persuader/M/PST +persuasion/SM/PSXN +persuasive/U/PSSF +persuasively//PSSFL +persuasiveness/MS/PSSFNS +pert/YRTSP/PT +pertain/GSD/PTN +Perth/M/P@ +pertinacious/YP/PTNSS +pertinaciousness/M/PTNSSNS +pertinacity/MS/PTNST +pertinence/S/PTNNS +pertinent/YS/PTNNT +pertness/MS/PTNS +perturb/GDS/PTB +perturbation/MS/PTBXN +perturbed/U/PTBT +pertussis/SM/PTSS +Peru/M/PR +peruke/SM/PRK +perusal/SM/PRSL +peruse/RSDZG/PRS +peruser/M/PRS +Peruvian/S/PRFN +pervade/SDG/PFT +pervasion/M/PFXN +pervasive/PY/PFSF +pervasiveness/MS/PFSFNS +perverse/PXYNV/PFS +perverseness/SM/PFSNS +perversion/M/PFXN +perversity/MS/PFST +pervert/DRSG/PFT +perverted/YP/PFTT +perverter/M/PFT +perviousness//PFSNS +peseta/SM/PST +Peshawar/M/PXW +peskily//PSKL +peskiness/S/PSKNS +pesky/RTP/PSK +peso/MS/PS +pessimal/Y/PSML +pessimism/SM/PSMSM +pessimist/SM/PSMST +pessimistic//PSMSTK +pessimistically//PSMSTKL +pest/RZSM/PST +pester/DG/PST +pesticide/MS/PSTST +pestiferous//PSTFRS +pestilence/SM/PSTLNS +pestilent/Y/PSTLNT +pestilential/Y/PSTLNXL +pestle/SDMG/PSTL +pesto/S/PST +PET//PT +Pet/MRZ/PT +pet/SMRZ/PT +Peta/M/PT +Pétain/M/PTN +petal/SDM/PTL +petard/MS/PTT +petcock/SM/PTKK +Pete/M/PT +peter/GD/PT +Peter/M/PT +Peters/N/PTS +Petersburg/M/PTSBK +Petersen/M/PTSN +Peterson/M/PTSN +Peterus/M/PTRS +Petey/M/PT +pethidine/M/P@TN +petiole/SM/PXL +petite/XNPS/PTT +petiteness/M/PTTNS +petition/GZMRD/PTXN +petitioner/M/PTXN +petitions/A/PTXNS +petition's/A/PTXNS +petits//PTTS +Petkiewicz/M/PTKWKS +Petr/M/PTR +Petra/M/PTR +Petrarch/M/PTRX +petrel/SM/PTRL +petri//PTR +petrifaction/SM/PTRFKXN +petrify/NDSG/PTRF +Petrina/M/PTRN +petrochemical/SM/PTRXMKL +petrodollar/MS/PTRTL +petroglyph/M/PTRKLF +petrol/MS/PTRL +petrolatum/MS/PTRLTM +petroleum/MS/PTRLM +petrolled//PTRLT +petrolling//PTRLN +petrologist/MS/PTRLKST +petrology/MS/PTRLK +Petronella/M/PTRNL +Petronia/M/PTRN +Petronilla/M/PTRNL +Petronille/M/PTRNL +petted//PTT +petter/MS/PT +Pettibone/M/PTBN +petticoat/SMD/PTKT +pettifog/S/PTFK +pettifogged//PTFKT +pettifogger/SM/PTFK +pettifogging//PTFKN +pettily//PTL +pettiness/S/PTNS +petting//PTN +pettis//PTS +pettish/YP/PTX +pettishness/M/PTXNS +Petty/M/PT +petty/PRST/PT +petulance/MS/PTLNS +petulant/Y/PTLNT +Petunia/M/PTN +petunia/SM/PTN +Peugeot/M/PKT +pew/SM/P +Pewaukee/M/PWK +pewee/MS/PW +pewit/MS/PWT +pewter/SRM/PT +peyote/SM/PYT +Peyter/M/PT +Peyton/M/PTN +pf//PF +Pfc//PFK +PFC//PFK +pfennig/SM/PFNK +Pfizer/M/PFS +pg//PK +PG//PK +pH/M/F +Ph/M/F +Phaedra/M/FTR +Phaethon/M/F@N +phaeton/MS/FTN +phage/M/FK +phagocyte/SM/FKST +Phaidra/M/FTR +phalanger/MS/FLNK +phalanges//FLNKS +phalanx/SM/FLNKS +phalli//FL +phallic//FLK +phallus/M/FLS +Phanerozoic//FNRSK +phantasm/SM/FNTSM +phantasmagoria/SM/FNTSMKR +phantasmal//FNTSML +phantasy's//FNTSS +phantom/MS/FNTM +pharaoh//FR +Pharaoh/M/FR +pharaohs//FRS +Pharaohs//FRS +pharisaic//FRSK +Pharisaic//FRSK +Pharisaical//FRSKL +pharisee/S/FRS +Pharisee/SM/FRS +pharmaceutic/S/FMSTK +pharmaceutical/SY/FMSTKL +pharmaceutics/M/FMSTKS +pharmacist/SM/FMSST +pharmacological/Y/FMKLKKL +pharmacologist/SM/FMKLKST +pharmacology/SM/FMKLK +pharmacopoeia/SM/FMKP +pharmacy/SM/FMS +pharyngeal/S/FRNKL +pharynges//FRNKS +pharyngitides//FRNKTTS +pharyngitis/M/FRNKTS +pharynx/M/FRNKS +phase/DSRGZM/FS +phaseout/S/FST +PhD//FT +pheasant/SM/FSNT +Phebe/M/FB +Phedra/M/FTR +Phekda/M/FKT +Phelia/M/FL +Phelps/M/FLPS +phenacetin/MS/FNSTN +phenobarbital/SM/FNBBTL +phenol/MS/FNL +phenolic//FNLK +phenolphthalein/M/FNLF@LN +phenomena/SM/FNMN +phenomenal/Y/FNMNL +phenomenological/Y/FNMNLKKL +phenomenology/MS/FNMNLK +phenomenon/SM/FNMNN +phenotype/MS/FNTP +phenyl/M/FNL +phenylalanine/M/FNLLNN +pheromone/MS/FRMN +phew/S/F +phi/SM/F +phial/MS/FL +phialled//FLT +phialling//FLN +Phidias/M/FTS +Phil/MY/FL +Philadelphia/M/FLTLF +philander/SRDGZ/FLNT +philanderer/M/FLNTR +philanthropic//FLN@RPK +philanthropically//FLN@RPKL +philanthropist/MS/FLN@RPST +philanthropy/SM/FLN@RP +philatelic//FLTLK +philatelist/MS/FLTLST +philately/SM/FLTL +Philbert/M/FLBT +Philco/M/FLK +philharmonic/S/FLHMNK +Philip/M/FLP +Philipa/M/FLP +Philippa/M/FLP +Philippe/M/FLP +Philippians/M/FLPNS +philippic/SM/FLPK +Philippine/SM/FLPN +Philis/M/FLS +philistine/S/FLSTN +Philistine/SM/FLSTN +philistinism/S/FLSTNSM +Phillida/M/FLT +Phillie/M/FL +Phillip/MS/FLP +Phillipa/M/FLP +Phillipe/M/FLP +Phillipp/M/FLP +Phillis/M/FLS +Philly/SM/FL +philodendron/MS/FLTNTRN +philological/Y/FLLKKL +philologist/MS/FLLKST +philology/MS/FLLK +Philomena/M/FLMN +philosopher/MS/FLSF +philosophic//FLSFK +philosophical/Y/FLSFKL +philosophize/ZDRSG/FLSFS +philosophized/U/FLSFST +philosophizer/M/FLSFS +philosophizes/U/FLSFSS +philosophy/MS/FLSF +philter/SGDM/FLT +philtre/DSMG/FLTR +Phineas/M/FNS +Phip/M/FP +Phipps/M/FPS +phlebitides//FLBTTS +phlebitis/M/FLBTS +phlegm/SM/FLKM +phlegmatic//FLKMTK +phlegmatically//FLKMTKL +phloem/MS/FLM +phlox/M/FLKS +phobia/SM/FB +phobic/S/FBK +Phobos/M/FBS +Phoebe/M/FB +phoebe/SM/FB +Phoenicia/M/FNX +Phoenician/SM/FNXN +Phoenix/M/FNKS +phoenix/MS/FNKS +phone/DSGM/FN +phoneme/SM/FNM +phonemic/S/FNMK +phonemically//FNMKL +phonemics/M/FNMKS +phonetic/S/FNTK +phonetically//FNTKL +phonetician/SM/FNTXN +phonetics/M/FNTKS +phonic/S/FNK +phonically//FNKL +phonics/M/FNKS +phoniness/MS/FNNS +phonograph/RM/FNKRF +phonographer/M/FNKRF +phonographic//FNKRFK +phonographs//FNKRFS +phonologic//FNLKK +phonological/Y/FNLKKL +phonologist/MS/FNLKST +phonology/MS/FNLK +phonon/M/FNN +phony/PTRSDG/FN +phooey/S/F +phosphatase/M/FSFTS +phosphate/MS/FSFT +phosphide/M/FSFT +phosphine/MS/FSFN +phosphor/MS/FSF +phosphoresce//FSFRS +phosphorescence/SM/FSFRSNS +phosphorescent/Y/FSFRSNT +phosphoric//FSFRK +phosphorous//FSFRS +phosphorus/SM/FSFRS +photo/SGMD/FT +photocell/MS/FTSL +photochemical/Y/FTXMKL +photochemistry/M/FTXMSTR +photocopier/M/FTKP +photocopy/MRSDZG/FTKP +photoelectric//FTLKTRK +photoelectrically//FTLKTRKL +photoelectronic//FTLKTRNK +photoelectrons//FTLKTRNS +photoengrave/RSDJZG/FTNKRF +photoengraver/M/FTNKRF +photoengraving/M/FTNKRFN +photofinishing/MS/FTFNXN +photogenic//FTKNK +photogenically//FTKNKL +photograph/AGD/FTKRF +photographer/SM/FTKRF +photographic//FTKRFK +photographically//FTKRFKL +photograph's//FTKRFS +photographs/A/FTKRFS +photography/MS/FTKRF +photojournalism/SM/FTKNLSM +photojournalist/SM/FTKNLST +photoluminescence/M/FTLMNSNS +photolysis/M/FTLSS +photolytic//FTLTK +photometer/SM/FTMT +photometric//FTMTRK +photometrically//FTMTRKL +photometry/M/FTMTR +photomicrograph/M/FTMKRKRF +photomicrography/M/FTMKRKRF +photomultiplier/M/FTMLTPL +photon/MS/FTN +photorealism//FTRLSM +photosensitive//FTSNSTF +photosphere/M/FTSFR +Photostat/MS/FTSTT +photostatic//FTSTTK +Photostatted//FTSTTT +Photostatting//FTSTTN +photosyntheses//FTSN@SS +photosynthesis/M/FTSN@SS +photosynthesize/DSG/FTSN@SS +photosynthetic//FTSN@TK +phototypesetter//FTTPST +phototypesetting/M/FTTPSTN +phrasal//FRSL +phrase/AGDS/FRS +phrasebook//FRSBK +phrasemaking//FRSMKN +phraseology/MS/FRSLK +phrase's//FRSS +phrasing/SM/FRSN +phrenological/Y/FRNLKKL +phrenologist/MS/FRNLKST +phrenology/MS/FRNLK +phyla/M/FL +phylactery/MS/FLKTR +phylae//FL +Phylis/M/FLS +Phyllida/M/FLT +Phyllis/M/FLS +Phyllys/M/FLS +phylogeny/MS/FLKN +phylum/M/FLM +Phylys/M/FLS +phys//FS +physic/SM/FSK +physical/PYS/FSKL +physicality/M/FSKLT +physician/SM/FSXN +physicist/MS/FSSST +physicked//FSKT +physicking//FSKN +physiochemical//FXXMKL +physiognomy/SM/FXKNM +physiography/MS/FXKRF +physiologic//FXLKK +physiological/Y/FXLKKL +physiologist/SM/FXLKST +physiology/MS/FXLK +physiotherapist/MS/FX@RPST +physiotherapy/SM/FX@RP +physique/MSD/FSK +phytoplankton/M/FTPLNKTN +pi/ZGDRH/P +Pia/M/P +Piaf/M/PF +Piaget/M/PKT +pianism/M/PNSM +pianissimo/S/PNSM +pianist/SM/PNST +pianistic//PNSTK +piano/SM/PN +pianoforte/MS/PNFT +pianola//PNL +Pianola/M/PNL +piaster/MS/PST +piazza/SM/PS +pibroch/M/PBRX +pibrochs//PBRXS +pica/SM/PK +picador/MS/PKT +picaresque/S/PKRSK +Picasso/M/PKS +picayune/S/PKYN +Piccadilly/M/PKTL +piccalilli/MS/PKLL +piccolo/MS/PKL +pick/GZSJDR/PK +pickaback's//PKBKS +pickax/GMSD/PKKS +pickaxe's//PKKSS +picker/MG/PK +pickerel/MS/PKRL +Pickering/M/PKRN +picket/MSRDZG/PKT +picketer/M/PKT +Pickett/M/PKT +Pickford/M/PKFT +pickle/SDMG/PKL +Pickman/M/PKMN +pickoff/S/PKF +pickpocket/GSM/PKPKT +pickup/SM/PKP +Pickwick/M/PKWK +picky/RT/PK +picnic/SM/PKNK +picnicked//PKNKT +picnicker/MS/PKNK +picnicking//PKNKN +picofarad/MS/PKFRT +picojoule//PKKL +picoseconds//PKSKNTS +picot/DMGS/PKT +Pict/M/PKT +pictograph/M/PKTKRF +pictographs//PKTKRFS +pictorial/PYS/PKTRL +pictorialness/M/PKTRLNS +picture/MGSD/PKTR +picturesque/PY/PKTRSK +picturesqueness/SM/PKTRSKNS +piddle/GSD/PTL +piddly//PTL +pidgin/SM/PKN +pie/MS/P +piebald/S/PBLT +piece/GMDSR/PS +piecemeal//PSML +piecer/M/PS +piecewise//PSWS +piecework/ZSMR/PSWK +pieceworker/M/PSWK +piedmont//PTMNT +Piedmont/M/PTMNT +pieing//PN +pier/M/P +Pier/M/P +Pierce/M/PS +pierce/RSDZGJ/PS +piercer/M/PS +piercing/Y/PSN +Pierette/M/PRT +Pierre/M/PR +Pierrette/M/PRT +Pierrot/M/PRT +Pierson/M/PSN +Pieter/M/PT +Pietra/M/PTR +Pietrek/M/PTRK +Pietro/M/PTR +piety/SM/PT +piezoelectric//PSLKTRK +piezoelectricity/M/PSLKTRST +piffle/MGSD/PFL +pig/MLS/PK +pigeon/DMGS/PKN +pigeonhole/SDGM/PKNHL +pigged//PKT +piggery/M/PKR +pigging//PKN +piggish/YP/PKX +piggishness/SM/PKXNS +Piggy/M/PK +piggy/RSMT/PK +piggyback/MSDG/PKBK +pigheaded/YP/PKTT +pigheadedness/S/PKTTNS +piglet/MS/PKLT +pigment/MDSG/PKMNT +pigmentation/MS/PKMNTXN +Pigmy's//PKMS +pigpen/SM/PKPN +pigroot//PKRT +pigskin/MS/PKSKN +pigsty/SM/PKST +pigswill/M/PKSWL +pigtail/SMD/PKTL +Pike/M/PK +pike/MZGDRS/PK +piker/M/PK +pikestaff/MS/PKSTF +pilaf/MS/PLF +pilaster/SM/PLST +Pilate/M/PLT +pilau's//PLS +pilchard/SM/PLXT +Pilcomayo/M/PLKMY +pile/JDSMZG/PL +pileup/MS/PLP +pilfer/ZGSRD/PLF +pilferage/SM/PLFRK +pilferer/M/PLFR +Pilgrim//PLKRM +pilgrim/MS/PLKRM +pilgrimage/DSGM/PLKRMK +piling/M/PLN +pill/GSMD/PL +pillage/RSDZG/PLK +pillar/DMSG/PL +pillbox/MS/PLBKS +pillion/DMGS/PLN +pillory/MSDG/PLR +pillow/GDMS/PL +pillowcase/SM/PLKS +pillowslip/S/PLSLP +Pillsbury/M/PLSBR +pilot/DMGS/PLT +pilothouse/SM/PL@S +piloting/M/PLTN +pimento/MS/PMNT +pimiento/SM/PMNT +pimp/GSMYD/PMP +pimpernel/SM/PMPNL +pimple/SDM/PMPL +pimplike//PMPLK +pimply/TRM/PMPL +PIN//PN +pin/US/PN +pinafore/MS/PNFR +piñata/S/PT +Pinatubo/M/PNTB +pinball/MS/PNBL +Pincas/M/PNKS +pincer/GSD/PNS +pinch/GRSD/PNX +Pinchas/M/PNXS +pincher/M/PNX +Pincus/M/PNKS +pincushion/SM/PNKXN +Pindar/M/PNT +pine/MNGXDS/PN +pineapple/MS/PNPL +pined/A/PNT +Pinehurst/M/PNHST +pines/A/PNS +pinfeather/SM/PNF@ +ping/GDRM/PN +pinhead/SMD/PNHT +pinheaded/P/PNHTT +pinhole/SM/PNHL +pining/A/PNN +pinion/DMG/PNN +pink/GTYDRMPS/PNK +Pinkerton/M/PNKTN +pinkeye/MS/PNKY +pinkie/SM/PNK +pinkish/P/PNKX +pinkness/S/PNKNS +pinko/MS/PNK +pinky's//PNKS +pinnacle/MGSD/PNKL +pinnate//PNT +pinned/U/PNT +pinning/S/PNN +Pinocchio/M/PNX +Pinochet/M/PNXT +pinochle/SM/PNXL +piñon/S/PN +pinpoint/SDG/PNPNT +pinprick/MDSG/PNPRK +pin's//PNS +pinsetter/SM/PNST +Pinsky/M/PNSK +pinstripe/SDM/PNSTRP +pint/MRS/PNT +pintail/SM/PNTL +Pinter/M/PNT +pinto/S/PNT +pinup/MS/PNP +pinwheel/DMGS/PNHL +piny/RT/PN +pinyin//PNYN +Pinyin//PNYN +pion/M/PN +pioneer/SDMG/PN +Piotr/M/PTR +pious/YP/PS +piousness/MS/PSNS +pip/JSZMGDR/PP +Pip/MR/PP +pipe/MS/PP +pipeline/DSMG/PPLN +piper/M/PP +Piper/M/PP +Pipestone/M/PPSTN +pipet's//PPTS +pipette/MGSD/PPT +pipework//PPWK +piping/YM/PPN +pipit/MS/PPT +Pippa/M/PP +pipped//PPT +pippin/SM/PPN +pipping//PPN +Pippo/M/PP +Pippy/M/PP +pipsqueak/SM/PPSKK +piquancy/MS/PKNS +piquant/PY/PKNT +piquantness/M/PKNTNS +pique/GMDS/PK +piracy/MS/PRS +Piraeus/M/PRS +Pirandello/M/PRNTL +piranha/SM/PRNH +pirate/MGSD/PRT +piratical/Y/PRTKL +pirogi//PRK +pirogies//PRKS +pirouette/MGSD/PRT +pis//PS +Pisa/M/PS +piscatorial//PSKTRL +Pisces/M/PSS +Pisistratus/M/PSSTRTS +pismire/SM/PSMR +piss/DSRG/PS +Pissaro/M/PSR +pistachio/MS/PSTX +piste/SM/PST +pistil/MS/PSTL +pistillate//PSTLT +pistol/SMGD/PSTL +pistole/M/PSTL +pistoleers//PSTLS +piston/SM/PSTN +pit/MS/PT +pita/SM/PT +pitapat/S/PTPT +pitapatted//PTPTT +pitapatting//PTPTN +Pitcairn/M/PTKN +pitch/RSDZG/PX +pitchblende/SM/PXBLNT +pitcher/M/PX +pitchfork/GDMS/PXFK +pitching/M/PXN +pitchman/M/PXMN +pitchmen//PXMN +pitchstone/M/PXSTN +piteous/YP/PTS +piteousness/SM/PTSNS +pitfall/SM/PTFL +pith/MGDS/P@ +pithily//P@L +pithiness/SM/P@NS +piths//P@S +pithy/RTP/P@ +pitiable/P/PXBL +pitiableness/M/PXBLNS +pitiably//PXBL +pitier/M/PT +pitiful/PY/PTFL +pitifuller//PTFL +pitifullest//PTFLST +pitifulness/M/PTFLNS +pitiless/PY/PTLS +pitilessness/SM/PTLSNS +pitman/M/PTMN +Pitney/M/PTN +piton/SM/PTN +Pitt/SM/PT +pittance/SM/PTNS +pitted//PTT +pitting//PTN +Pittman/M/PTMN +Pittsburgh/ZM/PTSB +Pittsfield/M/PTSFLT +Pittston/M/PTSTN +pituitary/SM/PTTR +pity/ZDSRMG/PT +pitying/Y/PTYN +Pius/M/PS +pivot/DMSG/PFT +pivotal/Y/PFTL +pivoting/M/PFTN +pix/DSG/PKS +pixel/SM/PKSL +pixie/MS/PKS +pixiness//PKSNS +pixmap/SM/PKSMP +Pizarro/M/PSR +pizazz/S/PSS +pizza/SM/PS +pizzeria/SM/PSR +pizzicati//PSKT +pizzicato//PSKT +pj's//PKS +PJ's//PKS +pk//PK +pkg//PKK +pkt//PKT +pkwy//PK +Pkwy//PK +pl//PL +placard/DSMG/PLKT +placate/NGVXDRS/PLKT +placatory//PLKTR +place/DSRJLGZM/PLS +placeable/A/PLSBL +placebo/SM/PLSB +placed/EAU/PLST +placeholder/S/PLSHLT +placekick/DGS/PLSKK +placeless/Y/PLSLS +placement/AMES/PLSMNT +placenta/SM/PLSNT +placental/S/PLSNTL +placer/EM/PLS +places/EA/PLSS +placid/PY/PLST +placidity/SM/PLSTT +placidness/M/PLSTNS +placing/AE/PLSN +placket/SM/PLKT +plagiarism/MS/PLKRSM +plagiarist/MS/PLKRST +plagiarize/GZDSR/PLKRS +plagiary/SM/PLKR +plague/MGRSD/PLK +plagued/U/PLKT +plaguer/M/PLK +plaice/M/PLS +plaid/DMSG/PLT +plain/SPTGRDY/PLN +plainclothes//PLNKL@S +plainclothesman//PLNKL@SMN +plainclothesmen//PLNKL@SMN +Plainfield/M/PLNFLT +plainness/MS/PLNS +plainsman/M/PLNSMN +plainsmen//PLNSMN +plainsong/SM/PLNSNK +plainspoken//PLNSPKN +plaint/VMS/PLNT +plaintiff/MS/PLNTF +plaintive/YP/PLNTF +plaintiveness/M/PLNTFNS +Plainview/M/PLNF +plait/SRDMG/PLT +plaiting/M/PLTN +plan/DRMSGZ/PLN +planar//PLN +planarity//PLNRT +Planck/M/PLNK +plane/SCGD/PLN +planeload//PLNLT +planer/M/PLN +plane's//PLNS +planet/MS/PLNT +planetarium/MS/PLNTRM +planetary//PLNTR +planetesimal/M/PLNTSML +planetoid/SM/PLNTT +plangency/S/PLNKNS +plangent//PLNKNT +plank/SJMDG/PLNK +planking/M/PLNKN +plankton/MS/PLNKTN +planned/U/PLNT +planner/SM/PLN +planning//PLNN +Plano//PLN +planoconcave//PLNKNKF +planoconvex//PLNKNFKS +plant/SADG/PLNT +Plantagenet/M/PLNTKNT +plantain/MS/PLNTN +plantar//PLNT +plantation/MS/PLNTXN +planter/MS/PLNT +planting/S/PLNTN +plantlike//PLNTLK +plant's//PLNTS +plaque/MS/PLK +plash/GSDM/PLX +plasm/M/PLSM +plasma/MS/PLSM +plasmid/S/PLSMT +plaster/MDRSZG/PLST +plasterboard/MS/PLSTBT +plasterer/M/PLSTR +plastering/M/PLSTRN +plasterwork/M/PLSTWK +plastic/MYS/PLSTK +plastically//PLSTKL +plasticine//PLSTSN +Plasticine/M/PLSTSN +plasticity/SM/PLSTST +plasticize/GDS/PLSTSS +plat/JDNRSGXZ/PLT +plate/SM/PLT +plateau/GDMS/PLT +plateful/S/PLTFL +platelet/SM/PLTLT +platen/M/PLTN +plater/M/PLT +platform/SGDM/PLTFM +Plath/M/PL@ +plating/M/PLTN +platinize/GSD/PLTNS +platinum/MS/PLTNM +platitude/SM/PLTTT +platitudinous/Y/PLTTTNS +Plato/M/PLT +platonic//PLTNK +Platonic//PLTNK +Platonism/M/PLTNSM +Platonist//PLTNST +platoon/MDSG/PLTN +Platte/M/PLT +platted//PLTT +platter/MS/PLT +Platteville/M/PLTFL +platting//PLTN +platy/TR/PLT +platypus/MS/PLTPS +platys//PLTS +plaudit/MS/PLTT +plausibility/S/PLSBLT +plausible/P/PLSBL +plausibly//PLSBL +Plautus/M/PLTS +play/DRSEBG/PL +playability/U/PLYBLT +playable/U/PLYBL +playact/SJDG/PLYKT +playacting/M/PLYKTN +playback/MS/PLBK +playbill/SM/PLBL +Playboy/M/PLB +playboy/SM/PLB +played/A/PLYT +player/SM/PLY +player's/E/PLYS +playfellow/S/PLFL +playful/PY/PLFL +playfulness/MS/PLFLNS +playgirl/SM/PLKL +playgoer/MS/PLK +playground/MS/PLKRNT +playgroup/S/PLKRP +playhouse/SM/PLHS +playing/S/PLYN +playmate/MS/PLMT +playoff/S/PLYF +playpen/SM/PLPN +playroom/SM/PLRM +plays/A/PLS +Playtex/M/PLTKS +plaything/MS/PL@N +playtime/SM/PLTM +playwright/SM/PLRT +playwriting/M/PLRTN +plaza/SM/PLS +plea/SM/PL +plead/ZGJRDS/PLT +pleader/MA/PLT +pleading/MY/PLTN +pleas/RSDJG/PLS +pleasant/UYP/PLSNT +pleasanter//PLSNT +pleasantest//PLSNTST +pleasantness/SMU/PLSNTNS +pleasantry/MS/PLSNTR +please/Y/PLS +pleased/EU/PLST +pleaser/M/PLS +pleases/E/PLSS +pleasing/YP/PLSN +pleasingness/M/PLSNNS +pleasurable/P/PLSRBL +pleasurableness/M/PLSRBLNS +pleasurably//PLSRBL +pleasure/MGBDS/PLSR +pleasureful//PLSRFL +pleasures/E/PLSRS +pleasure's/E/PLSRS +pleat/RDMGS/PLT +pleater/M/PLT +plebe/MS/PLB +plebeian/SY/PLBN +plebiscite/SM/PLBST +plectra//PLKTR +plectrum/SM/PLKTRM +pledge/RSDMG/PLK +pledger/M/PLKR +Pleiads//PLTS +Pleistocene//PLSTSN +plenary/S/PLNR +plenipotentiary/S/PLNPTNXR +plenitude/MS/PLNTT +plenteous/PY/PLNTS +plenteousness/M/PLNTSNS +plentiful/YP/PLNTFL +plentifulness/M/PLNTFLNS +plenty/SM/PLNT +plenum/M/PLNM +pleonasm/MS/PLNSM +plethora/SM/PL@R +pleura/M/PLR +pleurae//PLR +pleural//PLRL +pleurisy/SM/PLRS +Plexiglas/MS/PLKSKLS +plexus/SM/PLKSS +pliability/MS/PLBLT +pliable/P/PLBL +pliableness/M/PLBLNS +pliancy/MS/PLNS +pliant/YP/PLNT +pliantness/M/PLNTNS +plication/MA/PLKXN +plier/MA/PL +plight/GMDRS/PLT +plimsolls//PLMSLS +plink/GRDS/PLNK +plinker/M/PLNK +plinth/M/PLN@ +plinths//PLN@S +Pliny/M/PLN +Pliocene/S/PLSN +PLO//PL +plod/S/PLT +plodded//PLTT +plodder/SM/PLT +plodding/SY/PLTN +plop/SM/PLP +plopped//PLPT +plopping//PLPN +plosive//PLSF +plot/SM/PLT +plotted/A/PLTT +plotter/MDSG/PLT +plotting//PLTN +plover/MS/PLF +plow/SGZDRM/PL +plowed/U/PLWT +plower/M/PLW +plowman/M/PLMN +plowmen//PLMN +plowshare/MS/PLXR +ploy/SCDG/PL +ploy's//PLS +pluck/SGRD/PLK +plucker/M/PLK +pluckily//PLKL +pluckiness/SM/PLKNS +plucky/TPR/PLK +plug/US/PLK +pluggable//PLKBL +plugged/UA/PLKT +plugging/AU/PLKN +plughole//PLKL +plug's//PLKS +plum/SMDG/PLM +plumage/DSM/PLMK +plumb/JSZGMRD/PLM +plumbago/M/PLMBK +plumbed/U/PLMBT +plumber/M/PLMB +plumbing/M/PLMBN +plume/SM/PLM +plummer//PLM +plummest//PLMST +plummet/DSG/PLMT +plummy//PLM +plump/RDNYSTGP/PLMP +plumper/M/PLMP +plumpness/S/PLMPNS +plumy/TR/PLM +plunder/GDRSZ/PLNT +plunge/RSDZG/PLNK +plunger/M/PLNK +plunk/ZGSRD/PLNK +plunker/M/PLNK +pluperfect/S/PLPFKT +plural/SY/PLRL +pluralism/MS/PLRLSM +pluralist/S/PLRLST +pluralistic//PLRLSTK +plurality/SM/PLRLT +pluralization/MS/PLRLSXN +pluralize/GZRSD/PLRLS +pluralizer/M/PLRLS +plus/S/PLS +plush/RSYMTP/PLX +plushness/MS/PLXNS +plushy/RPT/PLX +plussed//PLST +plussing//PLSN +Plutarch/M/PLTX +Pluto/M/PLT +plutocracy/MS/PLTKRS +plutocrat/SM/PLTKRT +plutocratic//PLTKRTK +plutonium/SM/PLTNM +pluvial/S/PLFL +ply/AZNGRSD/PL +Plymouth/M/PLM@ +plywood/MS/PLWT +pm//PM +PM//PM +Pm/M/PM +PMS//PMS +pneumatic/S/NMTK +pneumatically//NMTKL +pneumatics/M/NMTKS +pneumonia/MS/NMN +PO//P +Po/M/P +poach/ZGSRD/PX +poacher/M/PX +Pocahontas/M/PKHNTS +pock/GDMS/PK +pocket/MSRDG/PKT +pocketbook/SM/PKTBK +pocketful/SM/PKTFL +pocketing/M/PKTN +pocketknife/M/PKTKNF +pocketknives//PKTKNFS +pockmark/MDSG/PKMK +Pocono/MS/PKN +pod/SM/PT +podded//PTT +podding//PTN +podge/ZR/PK +Podgorica/M/PTKRK +podiatrist/MS/PTTRST +podiatry/MS/PTTR +podium/MS/PTM +Podunk/M/PTNK +Poe/M/P +poem/MS/PM +poesy/GSDM/PS +poet/MS/PT +poetaster/MS/PTST +poetess/MS/PTS +poetic/S/PTK +poetical/U/PTKL +poetically//PTKL +poeticalness//PTKLNS +poetics/M/PTKS +poetry/SM/PTR +pogo//PK +Pogo/M/PK +pogrom/GMDS/PKRM +poi/SM/P +poignancy/MS/PKNNS +poignant/Y/PKNNT +Poincaré/M/PNK +poinciana/SM/PNXN +Poindexter/M/PNTKST +poinsettia/SM/PNSX +point/RDMZGS/PNT +pointblank//PNTBLNK +pointed/PY/PNTT +pointedness/M/PNTTNS +pointer/M/PNT +pointillism/SM/PNTLSM +pointillist/SM/PNTLST +pointing/M/PNTN +pointless/YP/PNTLS +pointlessness/SM/PNTLSNS +pointy/TR/PNT +pois/GDS/PS +poise/M/PS +poison/RDMZGSJ/PSN +poisoner/M/PSN +poisoning/M/PSNN +poisonous/PY/PSNS +Poisson/M/PSN +poke/DRSZG/PK +Pokemon/M/PKMN +poker/M/PK +pokerface/D/PKFS +poky/SRT/PK +pol/GMDRS/PL +Pol/MY/PL +Poland/M/PLNT +Polanski/M/PLNSK +polar/S/PL +polarimeter/SM/PLRMT +polarimetry//PLRMTR +Polaris/M/PLRS +polariscope/M/PLRSKP +polarity/MS/PLRT +polarization/CMS/PLRSXN +polarize/RSDZG/PLRS +polarized/UC/PLRST +polarizes/C/PLRSS +polarizing/C/PLRSN +polarogram/SM/PLRKRM +polarograph//PLRKRF +polarography/M/PLRKRF +Polaroid/SM/PLRT +pole/MS/PL +Pole/MS/PL +polecat/SM/PLKT +polemic/S/PLMK +polemical/Y/PLMKL +polemicist/S/PLMSST +polemics/M/PLMKS +poler/M/PL +polestar/S/PLST +poleward/S/PLWT +police/MSDG/PLS +policeman/M/PLSMN +policemen/M/PLSMN +policewoman/M/PLSWMN +policewomen//PLSWMN +policy/SM/PLS +policyholder/MS/PLSHLT +policymaker/S/PLSMK +policymaking//PLSMKN +polio/SM/PL +poliomyelitides//PLMYLTTS +poliomyelitis/M/PLMYLTS +polis/M/PLS +Polish//PLX +polish/RSDZGJ/PLX +polished/U/PLXT +polisher/M/PLX +Politburo/M/PLTBR +politburo/S/PLTBR +polite/PRTY/PLT +politeness/MS/PLTNS +politesse/SM/PLTS +politic/S/PLTK +political/U/PLTKL +politically//PLTKL +politician/MS/PLTXN +politicization/S/PLTSSXN +politicize/CSDG/PLTSS +politicked//PLTKT +politicking/SM/PLTKN +politico/SM/PLTK +politics/M/PLTKS +polity/MS/PLT +Polk/M/PLK +polka/SDMG/PLK +poll/MDNRSGX/PL +pollack/SM/PLK +Pollard/M/PLT +polled/U/PLT +pollen/GDM/PLN +pollinate/XSDGN/PLNT +pollination/M/PLNXN +pollinator/MS/PLNT +polliwog/SM/PLWK +Pollock/SM/PLK +pollock's//PLKS +pollster/MS/PLST +pollutant/MS/PLTNT +pollute/RSDXZVNG/PLT +polluted/U/PLTT +polluter/M/PLT +pollution/M/PLXN +Pollux/M/PLKS +Polly/M/PL +Pollyanna/M/PLYN +pollywog's//PLWKS +Polo/M/PL +polo/MS/PL +polonaise/MS/PLNS +polonium/MS/PLNM +poltergeist/SM/PLTKST +poltroon/MS/PLTRN +polyandrous//PLYNTRS +polyandry/MS/PLYNTR +polyatomic//PLYTMK +polybutene/MS/PLBTN +polycarbonate//PLKBNT +polychemicals//PLXMKLS +polychrome//PLXRM +polyclinic/MS/PLKLNK +polycrystalline//PLKRSTLN +polyelectrolytes//PLYLKTRLTS +polyester/SM/PLYST +polyether/S/PLY@ +polyethylene/SM/PLY@LN +polygamist/MS/PLKMST +polygamous/Y/PLKMS +polygamy/MS/PLKM +polyglot/S/PLKLT +polygon/MS/PLKN +polygonal/Y/PLKNL +polygraph/MDG/PLKRF +polygraphs//PLKRFS +polygynous//PLKNS +polyhedral//PLHTRL +polyhedron/MS/PLHTRN +Polyhymnia/M/PLHMN +polyisobutylene//PLYSBTLN +polyisocyanates//PLYSSYNTS +polymath/M/PLM@ +polymaths//PLM@S +polymer/MS/PLM +polymerase/S/PLMRS +polymeric//PLMRK +polymerization/SM/PLMRSXN +polymerize/SDG/PLMRS +polymorph/M/PLMF +polymorphic//PLMFK +polymorphisms//PLMFSMS +polymyositis//PLMYSTS +Polynesia/M/PLNX +Polynesian/S/PLNXN +polynomial/YMS/PLNML +polyp/MS/PLP +Polyphemus/M/PLFMS +polyphonic//PLFNK +polyphony/MS/PLFN +polyphosphate/S/PLFSFT +polypropylene/MS/PLPRPLN +polystyrene/SM/PLSTRN +polysyllabic//PLSLBK +polysyllable/SM/PLSLBL +polytechnic/MS/PLTXNK +polytheism/SM/PL@SM +polytheist/SM/PL@ST +polytheistic//PL@STK +polythene/M/PL@N +polytonal/Y/PLTNL +polytopes//PLTPS +polyunsaturated//PLYNSTRTT +polyurethane/SM/PLYR@N +polyvinyl/MS/PLFNL +pomade/MGSD/PMT +pomander/MS/PMNT +pomegranate/SM/PMKRNT +Pomerania/M/PMRN +Pomeranian//PMRNN +pommel/GSMD/PML +Pomona/M/PMN +pomp/SM/PMP +Pompadour/M/PMPT +pompadour/MDS/PMPT +pompano/SM/PMPN +Pompeian/S/PMPN +Pompeii/M/PMP +Pompey/M/PMP +pompom/SM/PMPM +pompon's//PMPNS +pomposity/MS/PMPST +pompous/YP/PMPS +pompousness/S/PMPSNS +ponce/M/PNS +Ponce/M/PNS +Ponchartrain/M/PNXTRN +poncho/MS/PNX +pond/SMDRGZ/PNT +ponder/ZGRD/PNT +ponderer/M/PNTR +ponderous/PY/PNTRS +ponderousness/MS/PNTRSNS +pone/SM/PN +pongee/MS/PNK +poniard/GSDM/PNT +pons/M/PNS +Pontchartrain/M/PNXTRN +Pontiac/M/PNXK +Pontianak/M/PNXNK +pontiff/MS/PNTF +pontifical/YS/PNTFKL +pontificate/XGNDS/PNTFKT +pontoon/SMDG/PNTN +pony/DSMG/PN +ponytail/SM/PNTL +pooch/GSDM/PX +poodle/MS/PTL +poof/MS/PF +pooh/DG/P +Pooh/M/P +poohs//PS +pool/MDSG/PL +Poole/M/PL +poolroom/MS/PLRM +poolside//PLST +Poona/M/PN +poop/MDSG/PP +poor/TYRP/P +poorboy//PB +poorhouse/MS/PHS +poorness/MS/PNS +pop/SM/PP +popcorn/MS/PPKN +pope/SM/PP +Pope/SM/PP +Popek/MS/PPK +Popeye/M/PPY +popgun/SM/PPKN +popinjay/MS/PPNK +poplar/SM/PPL +poplin/MS/PPLN +Popocatepetl/M/PPKTPTL +popover/SM/PPF +poppa/MS/PP +popped//PPT +Popper/M/PP +popper/SM/PP +poppet/M/PPT +popping//PPN +Poppins/M/PPNS +Poppy/M/PP +poppy/SDM/PP +poppycock/MS/PPKK +poppyseed//PPST +Popsicle/MS/PPSKL +populace/MS/PPLS +popular/YS/PPL +popularism//PPLRSM +popularity/UMS/PPLRT +popularization/SM/PPLRSXN +popularize/A/PPLRS +popularized//PPLRST +popularizer/MS/PPLRS +popularizes/U/PPLRSS +popularizing//PPLRSN +populate/CXNGDS/PPLT +populated/UA/PPLTT +populates/A/PPLTS +populating/A/PPLTN +population/MC/PPLXN +populism/S/PPLSM +populist/SM/PPLST +populous/YP/PPLS +populousness/MS/PPLSNS +porcelain/SM/PSLN +porch/SM/PX +porcine//PSN +porcupine/MS/PKPN +pore/ZGDRS/PR +Porfirio/M/PFR +porgy/SM/PK +poring/Y/PRN +pork/ZRMS/PK +porker/M/PK +porky/TSR/PK +porn/S/PN +porno/S/PN +pornographer/SM/PNKRF +pornographic//PNKRFK +pornographically//PNKRFKL +pornography/SM/PNKRF +porosity/SM/PRST +porous/PY/PRS +porousness/MS/PRSNS +porphyritic//PFRTK +porphyry/MS/PFR +porpoise/DSGM/PPS +porridge/MS/PRK +Porrima/M/PRM +porringer/MS/PRN +Porsche/M/PSK +port/ABSGZMRD/PT +Port/MR/PT +portability/S/PTBLT +portable/U/PTBL +portables//PTBLS +portably//PTBL +portage/ASM/PTK +portaged//PTKT +portaging//PTKN +portal/SM/PTL +portamento/M/PTMNT +portcullis/MS/PTKLS +Porte/M/PT +ported/CE/PTT +portend/SDG/PTNT +portent/SM/PTNT +portentous/PY/PTNTS +portentousness/M/PTNTSNS +porter/DMG/PT +Porter/M/PT +porterage/M/PTRK +porterhouse/SM/PTHS +porter's/A/PTS +portfolio/MS/PTFL +porthole/SM/P@L +Portia/M/PX +portico/M/PTK +porticoes//PTKS +Portie/M/PT +portière/SM/PTR +porting/E/PTN +portion/KGSMD/PXN +Portland/M/PTLNT +portliness/SM/PTLNS +portly/PTR/PTL +portmanteau/SM/PTMNT +Pôrto/M/PRT +portrait/MS/PTRT +portraitist/SM/PTRTST +portraiture/MS/PTRTR +portray/GDRS/PTR +portrayal/SM/PTRYL +portrayer/M/PTRY +ports/CE/PTS +Portsmouth/M/PTSM@ +Portugal/M/PTKL +Portuguese/M/PTKS +portulaca/MS/PTLK +Porty/M/PT +pose/ZGKDRSE/PS +posed/CA/PST +Poseidon/M/PSTN +poser/KME/PS +poses/CA/PSS +poseur/MS/PS +posh/DSRGT/PX +posing/CA/PSN +posit/SCGD/PST +positifs//PSTFS +position/KGASMD/PSXN +positionable//PSXNBL +positional/KY/PSXNL +positions/EC/PSXNS +position's/EC/PSXNS +positive/RSPYT/PSTF +positiveness/S/PSTFNS +positivism/M/PSTFSM +positivist/S/PSTFST +positivity//PSTFT +positron/SM/PSTRN +Posner/M/PSN +poss/S/PS +posse/M/PS +possess/AGEDS/PSS +possessed/PY/PSST +possession/AEMS/PSXN +possessional//PSXNL +possessive/PSMY/PSSF +possessiveness/MS/PSSFNS +possessor/MS/PSS +possibility/SM/PSBLT +possible/TRS/PSBL +possibly//PSBL +possum/MS/PSM +post/ASDRJG/PST +Post/M/PST +postage/MS/PSTK +postal/S/PSTL +postbag/M/PSTBK +postbox/SM/PSTBKS +postcard/SM/PSTKT +postcode/SM/PSTKT +postcondition/S/PSTKNTXN +postconsonantal//PSTKNSNNTL +postdate/DSG/PSTTT +postdoctoral//PSTTKTRL +poster/MS/PST +posterior/SY/PSTR +posteriori//PSTRR +posterity/SM/PSTRT +postfix/GDS/PSTFKS +postgraduate/SM/PSTKRTT +posthaste/S/PS@ST +posthumous/YP/PS@MS +posthumousness/M/PS@MSNS +posthypnotic//PS@PNTK +postilion/MS/PSTLN +postindustrial//PSTNTSTRL +posting/M/PSTN +postlude/MS/PSTLT +postman/M/PSTMN +postmarital//PSTMRTL +postmark/GSMD/PSTMK +postmaster/SM/PSTMST +postmen//PSTMN +postmeridian//PSTMRTN +postmistress/MS/PSTMSTRS +postmodern//PSTMTN +postmodernist//PSTMTNST +postmortem/S/PSTMTM +postnasal//PSTNSL +postnatal//PSTNTL +postoperative/Y/PSTPRTF +postorder//PSTT +postpaid//PSTPT +postpartum//PSTPTM +postpone/GLDRS/PSTPN +postponement/S/PSTPNMNT +postpositions//PSTPSXNS +postprandial//PSTPRNTL +post's//PSTS +postscript/SM/PSTSKRPT +postsecondary//PSTSKNTR +postulate/XGNSD/PSTLT +postulation/M/PSTLXN +postural//PSTRL +posture/MGSRD/PSTR +posturer/M/PSTR +postvocalic//PSTFKLK +postwar//PSTW +posy/SM/PS +pot/CMS/PT +potability/SM/PTBLT +potable/SP/PTBL +potableness/M/PTBLNS +potage/M/PTK +potash/MS/PTX +potassium/MS/PTSM +potato/M/PTT +potatoes//PTTS +potbelly/MSD/PTBL +potboil/ZR/PTBL +potboiler/M/PTBL +Potemkin/M/PTMKN +potency/MS/PTNS +potent/YS/PTNT +potentate/SM/PTNTT +potential/SY/PTNXL +potentiality/MS/PTNXLT +potentiating//PTNXTN +potentiometer/SM/PTNXMT +potful/SM/PTFL +pothead/MS/P@T +pother/GDMS/P@ +potherb/MS/P@B +potholder/MS/P@LT +pothole/SDMG/P@L +potholing/M/P@LN +pothook/SM/P@K +potion/SM/PXN +potlatch/SM/PTLX +potluck/MS/PTLK +Potomac/M/PTMK +potpie/SM/PTP +potpourri/SM/PTPR +Potsdam/M/PTSTM +potsherd/MS/PTXT +potshot/S/PTXT +pottage/SM/PTK +Pottawatomie/M/PTWTM +potted//PTT +Potter/M/PT +potter/RDMSG/PT +pottery/MS/PTR +potting//PTN +Potts/M/PTS +potty/SRT/PT +pouch/SDMG/PX +Poughkeepsie/M/PKPS +Poul/M/PL +poulterer/MS/PLTR +poultice/DSMG/PLTS +poultry/MS/PLTR +pounce/SDG/PNS +pound/KRDGS/PNT +Pound/M/PNT +poundage/MS/PNTK +pounder/MS/PNT +pour/DSG/P +pourer's//PRS +Poussin/MS/PSN +pout/GZDRS/PT +pouter/M/PT +poverty/MS/PFT +POW//P +pow/RZ/P +powder/RDGMS/PT +powderpuff//PTPF +powdery//PTR +Powell/M/PWL +power/GMD/PW +powerboat/MS/PWBT +powerful/YP/PWFL +powerfulness/M/PWFLNS +powerhouse/MS/PWHS +powerless/YP/PWLS +powerlessness/SM/PWLSNS +Powers//PWS +Powhatan/M/PHTN +powwow/GDMS/PW +pox/GMDS/PKS +Poznan/M/PSNN +pp//P +PP//P +ppm//PM +ppr//PR +PPS//PS +pr//PR +PR//PR +Pr/MN/PR +practicability/S/PRKTKBLT +practicable/P/PRKTKBL +practicably//PRKTKBL +practical/YPS/PRKTKL +practicality/SM/PRKTKLT +practicalness/M/PRKTKLNS +practice/BDRSMG/PRKTS +practiced/U/PRKTST +practicer/M/PRKTS +practicum/SM/PRKTKM +practitioner/SM/PRKTXN +Pradesh/M/PRTX +Prado/M/PRT +praetor/MS/PRT +Praetorian//PRTRN +praetorian/S/PRTRN +pragmatic/S/PRKMTK +pragmatical/Y/PRKMTKL +pragmatics/M/PRKMTKS +pragmatism/MS/PRKMTSM +pragmatist/MS/PRKMTST +Prague/M/PRK +Praia//PR +prairie/MS/PRR +praise/ESDG/PRS +praiser/S/PRS +praise's//PRSS +praiseworthiness/MS/PRSW@NS +praiseworthy/P/PRSW@ +praising/Y/PRSN +Prakrit/M/PRKRT +praline/MS/PRLN +pram/MS/PRM +prance/ZGSRD/PRNS +prancer/M/PRNS +prancing/Y/PRNSN +prank/SMDG/PRNK +prankster/SM/PRNKST +praseodymium/SM/PRSTMM +Pratchett/M/PRXT +prate/DSRGZ/PRT +prater/M/PRT +pratfall/MS/PRTFL +prating/Y/PRTN +Pratt/M/PRT +prattle/DRSGZ/PRTL +prattler/M/PRTL +prattling/Y/PRTLN +Prattville/M/PRTFL +Pravda/M/PRFT +prawn/MDSG/PRN +praxes//PRKSS +praxis/M/PRKSS +Praxiteles/M/PRKSTLS +pray/DRGZS/PR +prayer/M/PRY +prayerbook//PRYBK +prayerful/YP/PRYFL +prayerfulness/M/PRYFLNS +PRC//PRK +preach/DRSGLZJ/PRX +preacher/M/PRX +preaching/Y/PRXN +preachment/MS/PRXMNT +preachy/RT/PRX +preadolescence/S/PRTLSNS +Preakness/M/PRKNS +preallocate/XGNDS/PRLKT +preallocation/M/PRLKXN +preallocator/S/PRLKT +preamble/MGDS/PRMBL +preamp//PRMP +preamplifier/M/PRMPLF +prearrange/LSDG/PRRNK +prearrangement/SM/PRRNKMNT +preassign/SDG/PRSN +preauthorize//PR@RS +prebendary/M/PRBNTR +Precambrian//PRKMBRN +precancel/DGS/PRKNSL +precancerous//PRKNSRS +precarious/PY/PRKRS +precariousness/MS/PRKRSNS +precaution/SGDM/PRKXN +precautionary//PRKXNR +precede/DSG/PRST +precedence/SM/PRSTNS +precedent/SDM/PRSTNT +precedented/U/PRSTNTT +precept/SMV/PRSPT +preceptive/Y/PRSPTF +preceptor/MS/PRSPT +precess/DSG/PRSS +precession/M/PRSXN +precinct/MS/PRSNKT +preciosity/MS/PRSST +precious/PYS/PRSS +preciousness/S/PRSSNS +precipice/MS/PRSPS +precipitable//PRSPTBL +precipitant/S/PRSPTNT +precipitate/YNGVPDSX/PRSPTT +precipitateness/M/PRSPTTNS +precipitation/M/PRSPTXN +precipitous/YP/PRSPTS +precipitousness/M/PRSPTSNS +précis/MDG/PRSS +precise/XYTRSPN/PRSS +preciseness/SM/PRSSNS +precision/M/PRSXN +preclude/GDS/PRKLT +preclusion/S/PRKLXN +precocious/YP/PRKSS +precociousness/MS/PRKSSNS +precocity/SM/PRKST +precode/D/PRKT +precognition/SM/PRKKNXN +precognitive//PRKKNTF +precollege/M/PRKLK +precolonial//PRKLNL +precomputed//PRKMPTT +preconceive/GSD/PRKNSF +preconception/SM/PRKNSPXN +precondition/GMDS/PRKNTXN +preconscious//PRKNSS +precook/GDS/PRKK +precursor/SM/PRKS +precursory//PRKSR +precut//PRKT +predate/NGDSX/PRTT +predation/CMS/PRTXN +predator/SM/PRTT +predatory//PRTTR +predecease/SDG/PRTSS +predecessor/MS/PRTSS +predeclared//PRTKLRT +predecline//PRTKLN +predefine/GSD/PRTFN +predefinition/SM/PRTFNXN +predesignate/GDS/PRTSKNT +predestination/SM/PRTSTNXN +predestine/SDG/PRTSTN +predetermination/MS/PRTTMNXN +predetermine/ZGSRD/PRTTMN +predeterminer/M/PRTTMN +predicable/S/PRTKBL +predicament/SM/PRTKMNT +predicate/VGNXSD/PRTKT +predication/M/PRTKXN +predicator//PRTKT +predict/BSDGV/PRTKT +predictability/UMS/PRTKTBLT +predictable/U/PRTKTBL +predictably/U/PRTKTBL +predicted/U/PRTKTT +prediction/MS/PRTKXN +predictive/Y/PRTKTF +predictor/MS/PRTKT +predigest/GDS/PRTKST +predilect//PRTLKT +predilection/SM/PRTLKXN +predispose/SDG/PRTSPS +predisposition/MS/PRTSPSXN +predoctoral//PRTKTRL +predominance/SM/PRTMNNS +predominant/Y/PRTMNNT +predominate/YSDGN/PRTMNT +predomination/M/PRTMNXN +preemie/MS/PRM +preeminence/SM/PRMNNS +preeminent/Y/PRMNNT +preemployment/M/PRMPLMNT +preempt/GVSD/PRMPT +preemption/SM/PRMPXN +preemptive/Y/PRMPTF +preemptor/M/PRMPT +preen/SRDG/PRN +preener/M/PRN +preexist/DSG/PRKSST +preexistence/SM/PRKSSTNS +preexistent//PRKSSTNT +pref/RZ/PRF +prefab/MS/PRFB +prefabbed//PRFBT +prefabbing//PRFBN +prefabricate/XNGDS/PRFBRKT +prefabrication/M/PRFBRKXN +preface/DRSGM/PRFS +prefacer/M/PRFS +prefatory//PRFTR +prefect/MS/PRFKT +prefecture/MS/PRFKTR +prefer/BL/PRF +preferable/P/PRFRBL +preferableness/M/PRFRBLNS +preferably//PRFRBL +preference/MS/PRFRNS +preferential/Y/PRFRNXL +preferment/SM/PRFMNT +preferred//PRFRT +preferring//PRFRN +prefiguration/M/PRFKRXN +prefigure/SDG/PRFKR +prefix/MDSG/PRFKS +preflight/SGDM/PRFLT +preform/DSG/PRFM +pregnancy/SM/PRKNNS +pregnant/Y/PRKNNT +preheat/GDS/PRHT +prehensile//PRHNSL +prehistoric//PRHSTRK +prehistorical/Y/PRHSTRKL +prehistory/SM/PRHSTR +preindustrial//PRNTSTRL +preinitialize/SDG/PRNXLS +preinterview/M/PRNTF +preisolated//PRSLTT +prejudge/DRSG/PRKK +prejudger/M/PRKKR +prejudgment/SM/PRKTKMNT +prejudice/MSDG/PRKTS +prejudiced/U/PRKTST +prejudicial/PY/PRKTXL +prekindergarten/MS/PRKNTKTN +prelacy/MS/PRLS +prelate/SM/PRLT +preliminarily//PRLMNRL +preliminary/S/PRLMNR +preliterate/S/PRLTRT +preloaded//PRLTT +prelude/GMDRS/PRLT +preluder/M/PRLT +premarital/Y/PRMRTL +premarket//PRMKT +premature/SPY/PRMTR +prematureness/M/PRMTRNS +prematurity/M/PRMTRT +premed/S/PRMT +premedical//PRMTKL +premeditate/XDSGNV/PRMTTT +premeditated/Y/PRMTTTT +premeditation/M/PRMTTXN +premenstrual//PRMNSTRL +premier/GSDM/PRM +premiere/MS/PRMR +premiership/SM/PRMXP +Preminger/M/PRMN +premise/GMDS/PRMS +premiss's//PRMSS +premium/MS/PRMM +premix/GDS/PRMKS +premolar/S/PRML +premonition/SM/PRMNXN +premonitory//PRMNTR +Pren/M/PRN +prenatal/Y/PRNTL +Prent/M/PRNT +Prentice/MGD/PRNTS +Prenticed/M/PRNTST +Prenticing/M/PRNTSN +Prentiss/M/PRNTS +prenuptial//PRNPXL +preoccupation/MS/PRKPXN +preoccupy/DSG/PRKP +preoperative//PRPRTF +preordain/DSLG/PRTN +prep/SM/PRP +prepackage/GSD/PRPKK +prepaid//PRPT +preparation/SM/PRPRXN +preparative/SYM/PRPRTF +preparatory//PRPRTR +prepare/ZDRSG/PRPR +prepared/UP/PRPRT +preparedly//PRPRTL +preparedness/USM/PRPRTNS +prepay/GLS/PRP +prepayment/SM/PRPMNT +prepender/S/PRPNT +prepends//PRPNTS +preplanned//PRPLNT +preponderance/SM/PRPNTRNS +preponderant/Y/PRPNTRNT +preponderate/DSYGN/PRPNTRT +preposition/SDMG/PRPSXN +prepositional/Y/PRPSXNL +prepossess/GSD/PRPSS +prepossessing/U/PRPSSN +prepossession/MS/PRPSXN +preposterous/PY/PRPSTRS +preposterousness/M/PRPSTRSNS +prepped//PRPT +prepping//PRPN +preppy/RST/PRP +preprepared//PRPRPRT +preprint/SGDM/PRPRNT +preprocessed//PRPRSST +preprocessing//PRPRSSN +preprocessor/S/PRPRSS +preproduction//PRPRTKXN +preprogrammed//PRPRKRMT +prepubescence/S/PRPBSNS +prepubescent/S/PRPBSNT +prepublication/M/PRPBLKXN +prepuce/SM/PRPS +prequel/S/PRKL +preradiation//PRRTXN +prerecord/DGS/PRRKT +preregister/DSG/PRRKST +preregistration/MS/PRRKSTRXN +prerequisite/SM/PRRKST +prerogative/SDM/PRRKTF +Pres//PRS +pres/S/PRS +presage/GMDRS/PRSK +presager/M/PRSK +presbyopia/MS/PRSBYP +presbyter/MS/PRSBT +presbyterian//PRSBTRN +Presbyterian/S/PRSBTRN +Presbyterianism/S/PRSBTRNSM +presbytery/MS/PRSBTR +preschool/RSZ/PRSKL +prescience/SM/PRSNS +prescient/Y/PRSNT +Prescott/M/PRSKT +prescribe/RSDG/PRSKRB +prescribed/U/PRSKRBT +prescriber/M/PRSKRB +prescript/SVM/PRSKRPT +prescription/SM/PRSKRPXN +prescriptive/Y/PRSKRPTF +preselect/SGD/PRSLKT +presence/SM/PRSNS +present/SLBDRYZGP/PRSNT +presentable/P/PRSNTBL +presentableness/M/PRSNTBLNS +presentably/A/PRSNTBL +presentation/AMS/PRSNTXN +presentational/A/PRSNTXNL +presented/A/PRSNTT +presenter/A/PRSNT +presentiment/MS/PRSNTMNT +presentment/SM/PRSNTMNT +presents/A/PRSNTS +preservation/SM/PRSFXN +preservationist/S/PRSFXNST +preservative/SM/PRSFTF +preserve/DRSBZG/PRSF +preserved/U/PRSFT +preserver/M/PRSF +preset/S/PRST +presetting//PRSTN +preshrank//PRXRNK +preshrink/SG/PRXRNK +preshrunk//PRXRNK +preside/DRSG/PRST +presidency/MS/PRSTNS +president/SM/PRSTNT +presidential/Y/PRSTNXL +presider/M/PRST +presidia//PRST +presidium/M/PRSTM +Presley/M/PRSL +presoaks//PRSKS +presort/GDS/PRST +press/ACDSG/PRS +pressed/U/PRST +presser/MS/PRS +pressing/YS/PRSN +pressingly/C/PRSNL +pressman/M/PRSMN +pressmen//PRSMN +pressure/DSMG/PRSR +pressurization/MS/PRSRSXN +pressurize/DSRGZ/PRSRS +pressurized/U/PRSRST +prestidigitate/NX/PRSTTKTT +prestidigitation/M/PRSTTKTXN +prestidigitator/M/PRSTTKTT +prestidigitatorial//PRSTTKTTRL +prestige/MS/PRSTK +prestigious/PY/PRSTKS +presto/S/PRST +Preston/M/PRSTN +presumably//PRSMBL +presume/BGDRS/PRSM +presumer/M/PRSM +presuming/Y/PRSMN +presumption/MS/PRSMPXN +presumptive/Y/PRSMPTF +presumptuous/YP/PRSMPTS +presumptuousness/SM/PRSMPTSNS +presuppose/GDS/PRSPS +presupposition/S/PRSPSXN +pretax//PRTKS +preteen/S/PRTN +pretend/SDRZG/PRTNT +pretended/Y/PRTNTT +pretender/M/PRTNT +pretending/U/PRTNTN +pretense/MNVSX/PRTNS +pretension/GDM/PRTNXN +pretentious/UYP/PRTNXS +pretentiousness/S/PRTNXSNS +preterit/SM/PRTRT +preterite's//PRTRTS +preternatural/Y/PRTNTRL +pretest/SDG/PRTST +pretext/SMDG/PRTKST +Pretoria/M/PRTR +pretreated//PRTRTT +pretreatment/S/PRTRTMNT +pretrial//PRTRL +prettify/SDG/PRTF +prettily//PRTL +prettiness/SM/PRTNS +pretty/TGPDRS/PRT +pretzel/SM/PRTSL +prevail/SGD/PRFL +prevailing/Y/PRFLN +prevalence/MS/PRFLNS +prevalent/SY/PRFLNT +prevaricate/DSXNG/PRFRKT +prevaricator/MS/PRFRKT +prevent/BSDRGV/PRFNT +preventable/U/PRFNTBL +preventably//PRFNTBL +preventative/S/PRFNTTF +preventer/M/PRFNT +prevention/MS/PRFNXN +preventive/SPY/PRFNTF +preventiveness/M/PRFNTFNS +preview/ZGSDRM/PRF +previous/Y/PRFS +prevision/SGMD/PRFXN +prewar//PRW +prexes//PRKSS +prey/SMDG/PR +preyer's//PRYS +Priam/M/PRM +priapic//PRPK +Pribilof/M/PRBLF +price/AGSD/PRS +Price/M/PRS +priced/U/PRST +priceless//PRSLS +pricer/MS/PRS +price's//PRSS +pricey//PRS +pricier//PRS +priciest//PRSST +prick/RDSYZG/PRK +pricker/M/PRK +pricking/M/PRKN +prickle/GMDS/PRKL +prickliness/S/PRKLNS +prickly/RTP/PRKL +pride/GMDS/PRT +prideful/Y/PRTFL +prier/M/PR +priest/SMYDG/PRST +priestess/MS/PRSTS +priesthood/SM/PRS@T +Priestley/M/PRSTL +priestliness/SM/PRSTLNS +priestly/PTR/PRSTL +prig/SM/PRK +prigged//PRKT +prigging//PRKN +priggish/PYM/PRKX +priggishness/S/PRKXNS +prim/SPJGZYDR/PRM +primacy/MS/PRMS +primal//PRML +primarily//PRMRL +primary/MS/PRMR +primate/MS/PRMT +prime/PYS/PRM +primed/U/PRMT +primely/M/PRML +primeness/M/PRMNS +primer/M/PRM +Prime's//PRMS +primeval/Y/PRMFL +priming/M/PRMN +primitive/YPS/PRMTF +primitiveness/SM/PRMTFNS +primitivism/M/PRMTFSM +primmed//PRMT +primmer//PRM +primmest//PRMST +primming//PRMN +primness/MS/PRMNS +primogenitor/MS/PRMKNT +primogeniture/MS/PRMKNTR +primordial/YS/PRMTL +primp/DGS/PRMP +primrose/MGSD/PRMRS +Prince/M/PRNS +prince/SMY/PRNS +princedom/MS/PRNSTM +princeliness/SM/PRNSLNS +princely/PRT/PRNSL +princess/MS/PRNSS +Princeton/M/PRNSTN +principal/SY/PRNSPL +principality/MS/PRNSPLT +Principe/M/PRNSP +Principia/M/PRNSP +principle/SDMG/PRNSPL +principled/U/PRNSPLT +print/AGDRS/PRNT +printable/U/PRNTBL +printably//PRNTBL +printed/U/PRNTT +printer/AM/PRNT +printers//PRNTS +printing/SM/PRNTN +printmake/ZGR/PRNTMK +printmaker/M/PRNTMK +printmaking/M/PRNTMKN +printout/S/PRNTT +Prinz/M/PRNS +prior/YS/PR +prioress/MS/PRRS +priori//PRR +prioritize/DSRGZJ/PRRTS +priority/MS/PRRT +priory/SM/PRR +Pris//PRS +Prisca/M/PRSK +Priscella/M/PRSL +Priscilla/M/PRSL +prise/GMAS/PRS +prised//PRST +prism/MS/PRSM +prismatic//PRSMTK +prison/DRMSGZ/PRSN +prisoner/M/PRSN +Prissie/M/PRS +prissily//PRSL +prissiness/SM/PRSNS +prissy/RSPT/PRS +pristine/Y/PRSTN +prithee/S/PR@ +privacy/MS/PRFS +private/NVYTRSXP/PRFT +privateer/SMDG/PRFT +privateness/M/PRFTNS +privation/MCS/PRFXN +privative/Y/PRFTF +privatization/S/PRFTSXN +privatize/GSD/PRFTS +privet/SM/PRFT +privilege/SDMG/PRFLK +privileged/U/PRFLKT +privily//PRFL +privy/SRMT/PRF +prize/DSRGZM/PRS +prized/A/PRST +prizefight/SRMGJZ/PRSFT +prizefighter/M/PRSFT +prizefighting/M/PRSFTN +prizewinner/S/PRSWN +prizewinning//PRSWNN +PRO//PR +pro/MS/PR +proactive//PRKTF +prob/RBJ/PRB +probabilist//PRBBLST +probabilistic//PRBBLSTK +probabilistically//PRBBLSTKL +probability/SM/PRBBLT +probable/S/PRBBL +probably//PRBBL +probate/NVMX/PRBT +probated/A/PRBTT +probates/A/PRBTS +probating/A/PRBTN +probation/MRZ/PRBXN +probational//PRBXNL +probationary/S/PRBXNR +probationer/M/PRBXN +probation's/A/PRBXNS +probative/A/PRBTF +prober/M/PRB +probity/SM/PRBT +problem/SM/PRBLM +problematic/S/PRBLMTK +problematical/UY/PRBLMTKL +proboscis/MS/PRBSS +procaine/MS/PRKN +procedural/SY/PRSTRL +procedure/MS/PRSTR +proceed/JRDSG/PRST +proceeder/M/PRST +proceeding/M/PRSTN +process/BSDMG/PRSS +processed/UA/PRSST +processes/A/PRSSS +procession/GD/PRSXN +processional/YS/PRSXNL +processor/MS/PRSS +proclamation/MS/PRKLMXN +proclivity/MS/PRKLFT +proconsular//PRKNSL +procrastinate/XNGDS/PRKRSTNT +procrastination/M/PRKRSTNXN +procrastinator/MS/PRKRSTNT +procreational//PRKRXNL +procreatory//PRKRTR +procrustean//PRKRSTN +Procrustean//PRKRSTN +Procrustes/M/PRKRSTS +proctor/GSDM/PRKT +proctorial//PRKTRL +procurable/U/PRKRBL +procure/L/PRKR +procurement/MS/PRKRMNT +Procyon/M/PRSYN +prod/S/PRT +prodded//PRTT +prodding//PRTN +prodigal/SY/PRTKL +prodigality/S/PRTKLT +prodigious/PY/PRTKS +prodigiousness/M/PRTKSNS +prodigy/MS/PRTK +produce/AZGDRS/PRTS +producer/AM/PRTS +producible/A/PRTSBL +product/V/PRTKT +production/ASM/PRTKXN +productive/PY/PRTKTF +productively/UA/PRTKTFL +productiveness/MS/PRTKTFNS +productivities//PRTKTFTS +productivity/A/PRTKTFT +productivity's//PRTKTFTS +productize/GZRSD/PRTKTS +Prof//PRF +prof/S/PRF +profanation/S/PRFNXN +profane/YPDRSG/PRFN +profaneness/MS/PRFNNS +profanity/MS/PRFNT +professed/Y/PRFST +profession/SM/PRFXN +professional/USY/PRFXNL +professionalism/SM/PRFXNLSM +professionalize/GSD/PRFXNLS +professor/SM/PRFS +professorial/Y/PRFSRL +professorship/SM/PRFSXP +proffer/GSD/PRF +proficiency/SM/PRFSNS +proficient/YS/PRFSNT +profit/GZDRB/PRFT +profitability/MS/PRFTBLT +profitable/UP/PRFTBL +profitableness/MU/PRFTBLNS +profitably/U/PRFTBL +profiteer/GSMD/PRFT +profiterole/MS/PRFTRL +profitless//PRFTLS +profligacy/S/PRFLKS +profligate/YS/PRFLKT +proforma/S/PRFM +profound/PTYR/PRFNT +profoundity//PRFNTT +profoundness/SM/PRFNTNS +profundity/MS/PRFNTT +profuse/YP/PRFS +profuseness/MS/PRFSNS +progenitor/SM/PRKNT +progeny/M/PRKN +progesterone/SM/PRKSTRN +prognathous//PRKN@S +prognoses//PRKNSS +prognosis/M/PRKNSS +prognostic/S/PRKNSTK +prognosticate/NGVXDS/PRKNSTKT +prognostication/M/PRKNSTKXN +prognosticator/S/PRKNSTKT +program/CSA/PRKRM +programed//PRKRMT +programing//PRKRMN +programmability//PRKRMBLT +programmable/S/PRKRMBL +programmed/CA/PRKRMT +programmer/ASM/PRKRM +programming/CA/PRKRMN +programmings//PRKRMNS +progress/MSDVG/PRKRS +progression/SM/PRKRXN +progressive/SPY/PRKRSF +progressiveness/SM/PRKRSFNS +progressivism//PRKRSFSM +prohibit/VGSRD/PRHBT +prohibiter/M/PRHBT +prohibition/MS/PRHBXN +Prohibition/MS/PRHBXN +prohibitionist/MS/PRHBXNST +prohibitive/PY/PRHBTF +prohibitiveness/M/PRHBTFNS +prohibitory//PRHBTR +project/MDVGS/PRKKT +projected/AU/PRKKTT +projectile/MS/PRKKTL +projection/MS/PRKKXN +projectionist/MS/PRKKXNST +projective/Y/PRKKTF +projector/SM/PRKKT +Prokofieff/M/PRKFF +Prokofiev/M/PRKFF +prolegomena//PRLKMN +proletarian/S/PRLTRN +proletarianization/M/PRLTRNSXN +proletarianized//PRLTRNST +proletariat/SM/PRLTRT +proliferate/GNVDSX/PRLFRT +proliferation/M/PRLFRXN +prolific/P/PRLFK +prolifically//PRLFKL +prolix/Y/PRLKS +prolixity/MS/PRLKST +prologize//PRLKS +prologue/MGSD/PRLK +prologuize//PRLKS +prolong/G/PRLNK +prolongate/NGSDX/PRLNKT +prolongation/M/PRLNKXN +prolonger/M/PRLNK +promenade/GZMSRD/PRMNT +promenader/M/PRMNT +Promethean//PRM@N +Prometheus/M/PRM@S +promethium/SM/PRM@M +prominence/MS/PRMNNS +prominent/Y/PRMNNT +promiscuity/MS/PRMSKT +promiscuous/PY/PRMSKS +promiscuousness/M/PRMSKSNS +promise/GD/PRMS +promising/UY/PRMSN +promissory//PRMSR +promontory/MS/PRMNTR +promote/GVZBDR/PRMT +promoter/M/PRMT +promotive/P/PRMTF +promotiveness/M/PRMTFNS +prompt/SGJTZPYDR/PRMPT +prompted/U/PRMPTT +prompter/M/PRMPT +promptitude/SM/PRMPTTT +promptness/MS/PRMPTNS +promulgate/NGSDX/PRMLKT +promulgation/M/PRMLKXN +promulgator/MS/PRMLKT +pron//PRN +prone/PY/PRN +proneness/MS/PRNNS +prong/SGMD/PRNK +pronghorn/SM/PRNKN +pronominalization//PRNMNLSXN +pronominalize//PRNMNLS +pronounce/GLSRD/PRNNS +pronounceable/U/PRNNSBL +pronounced/U/PRNNST +pronouncedly//PRNNSTL +pronouncement/SM/PRNNSMNT +pronouncer/M/PRNNS +pronto//PRNT +pronunciation/SM/PRNNXXN +proof/SEAM/PRF +proofed/A/PRFT +proofer//PRF +proofing/M/PRFN +proofread/GZSR/PRFRT +proofreader/M/PRFRT +prop/SZ/PRP +propaganda/SM/PRPKNT +propagandist/SM/PRPKNTST +propagandistic//PRPKNTSTK +propagandize/DSG/PRPKNTS +propagate/SDVNGX/PRPKT +propagated/U/PRPKTT +propagation/M/PRPKXN +propagator/MS/PRPKT +propel/S/PRPL +propellant/MS/PRPLNT +propelled//PRPLT +propeller/MS/PRPL +propelling//PRPLN +propensity/MS/PRPNST +proper/PYRT/PRP +properness/M/PRPNS +propertied/U/PRPTT +property/SDM/PRPT +prophecy/SM/PRFS +prophesier/M/PRFS +prophesy/GRSDZ/PRFS +prophet/SM/PRFT +prophetess/S/PRFTS +prophetic//PRFTK +prophetical/Y/PRFTKL +prophylactic/S/PRFLKTK +prophylaxes//PRFLKSS +prophylaxis/M/PRFLKSS +propinquity/MS/PRPNKT +propionate/M/PRPNT +propitiate/GNXSD/PRPXT +propitiatory//PRPXTR +propitious/YP/PRPXS +propitiousness/M/PRPXSNS +proponent/MS/PRPNNT +proportion/ESGDM/PRPXN +proportional/SY/PRPXNL +proportionality/M/PRPXNLT +proportionate/YGESD/PRPXNT +proportioner/M/PRPXN +proportionment/M/PRPXNMNT +proposal/SM/PRPSL +propped//PRPT +propping//PRPN +proprietary/S/PRPRTR +proprietor/SM/PRPRT +proprietorial//PRPRTRL +proprietorship/SM/PRPRTXP +proprietress/MS/PRPRTRS +propriety/MS/PRPRT +proprioception//PRPRSPXN +proprioceptive//PRPRSPTF +propulsion/MS/PRPLXN +propulsive//PRPLSF +propylene/M/PRPLN +prorogation/SM/PRRKXN +prorogue//PRRK +pros/DSRG/PRS +prosaic//PRSK +prosaically//PRSKL +proscenium/MS/PRSNM +prosciutti//PRST +prosciutto/SM/PRST +proscription/SM/PRSKRPXN +proscriptive//PRSKRPTF +prose/M/PRS +prosecute/SDBXNG/PRSKT +prosecution/M/PRSKXN +prosecutor/MS/PRSKT +proselyte/SDGM/PRSLT +proselytism/MS/PRSLTSM +proselytize/ZGDSR/PRSLTS +proser/M/PRS +Proserpine/M/PRSPN +prosodic/S/PRSTK +prosody/MS/PRST +prospect/DMSVG/PRSPKT +prospection/SM/PRSPKXN +prospective/SYP/PRSPKTF +prospectiveness/M/PRSPKTFNS +prospector/MS/PRSPKT +prospectus/SM/PRSPKTS +prosper/GSD/PRSP +prosperity/MS/PRSPRT +prosperous/PY/PRSPRS +prosperousness/M/PRSPRSNS +prostate//PRSTT +prostheses//PRS@SS +prosthesis/M/PRS@SS +prosthetic/S/PRS@TK +prosthetics/M/PRS@TKS +prostitute/DSXNGM/PRSTTT +prostitution/M/PRSTTXN +prostrate/SDXNG/PRSTRT +prostration/M/PRSTRXN +prosy/RT/PRS +protactinium/MS/PRTKTNM +protagonist/SM/PRTKNST +Protagoras/M/PRTKRS +protean/S/PRTN +protease/M/PRTS +protect/DVGS/PRTKT +protected/UY/PRTKTT +protection/MS/PRTKXN +protectionism/MS/PRTKXNSM +protectionist/MS/PRTKXNST +protective/YPS/PRTKTF +protectiveness/S/PRTKTFNS +protector/MS/PRTKT +protectorate/SM/PRTKTRT +protégé/SM/PRTK +protégées//PRTKS +protein/MS/PRTN +proteolysis/M/PRTLSS +proteolytic//PRTLTK +Proterozoic/M/PRTRSK +protest/G/PRTST +protestant/S/PRTSTNT +Protestant/SM/PRTSTNT +protestantism//PRTSTNTSM +Protestantism/MS/PRTSTNTSM +protestation/MS/PRTSTXN +protesting/Y/PRTSTN +Proteus/M/PRTS +protocol/DMGS/PRTKL +protoplasm/MS/PRTPLSM +protoplasmic//PRTPLSMK +prototype/SDGM/PRTTP +prototypic//PRTTPK +prototypical/Y/PRTTPKL +protozoa//PRTS +protozoan/MS/PRTSN +protozoic//PRTSK +protozoon's//PRTSNS +protract/DG/PRTRKT +protrude/SDG/PRTRT +protrusile//PRTRSL +protrusion/MS/PRTRXN +protrusive/PY/PRTRSF +protuberance/S/PRTBRNS +protuberant//PRTBRNT +proud/TRY/PRT +Proudhon/M/PRTHN +Proust/M/PRST +prov/DRGZB/PRF +provabilities//PRFBLTS +provability/U/PRFBLT +provability's//PRFBLTS +provable/P/PRFBL +provableness/M/PRFBLNS +provably//PRFBL +prove/ESDAG/PRF +proved/U/PRFT +provenance/SM/PRFNNS +Provençal//PRFNL +Provencals//PRFNKLS +Provence/M/PRFNS +provender/SDG/PRFNT +provenience/SM/PRFNNS +provenly//PRFNL +prover/M/PRF +proverb/DG/PRFB +proverbial/Y/PRFBL +Proverbs/M/PRFBS +provide/DRSBGZ/PRFT +provided/U/PRFTT +providence/SM/PRFTNS +Providence/SM/PRFTNS +provident/Y/PRFTNT +providential/Y/PRFTNXL +provider/M/PRFT +province/SM/PRFNS +provincial/SY/PRFNXL +provincialism/SM/PRFNXLSM +provision/R/PRFXN +provisional/YS/PRFXNL +provisioner/M/PRFXN +proviso/MS/PRFS +Provo/M/PRF +provocateur/S/PRFKT +provocative/P/PRFKTF +provocativeness/SM/PRFKTFNS +provoke/GZDRS/PRFK +provoked/U/PRFKT +provoking/Y/PRFKN +provolone/SM/PRFLN +provost/MS/PRFST +prow/TRMS/PR +prowess/SM/PRWS +prowl/RDSZG/PRL +prowler/M/PRL +proximal/Y/PRKSML +proximate/PY/PRKSMT +proximateness/M/PRKSMTNS +proximity/MS/PRKSMT +Proxmire/M/PRKSMR +proxy/SM/PRKS +Prozac//PRSK +Pru/M/PR +prude/MS/PRT +Prudence/M/PRTNS +prudence/SM/PRTNS +prudent/Y/PRTNT +Prudential/M/PRTNXL +prudential/SY/PRTNXL +prudery/MS/PRTR +Prudi/M/PRT +prudish/YP/PRTX +prudishness/SM/PRTXNS +Prudy/M/PRT +Prue/M/PR +Pruitt/M/PRT +prune/DSRGZM/PRN +pruner/M/PRN +prurience/MS/PRRNS +prurient/Y/PRRNT +Prussia/M/PRX +Prussian/S/PRXN +prussic//PRSK +Prut/M/PRT +pry/DRSGTZ/PR +Pryce/M/PRS +pryer's//PRYS +prying/Y/PRYN +P's//PS +PS//PS +p's/A/PS +psalm/SGDM/PSLM +psalmist/SM/PSLMST +Psalms/M/PSLMS +psalter//PSLT +Psalter/SM/PSLT +psaltery/MS/PSLTR +psephologist/M/PSFLKST +pseudo/S/PST +pseudonym/SM/PSTNM +pseudonymous//PSTNMS +pseudopod//PSTPT +pseudoscience/S/PSTSNS +pshaw/SDG/PX +psi/S/PS +psittacoses//PSTKSS +psittacosis/M/PSTKSS +psoriases//PSRSS +psoriasis/M/PSRSS +psst/S/PST +PST//PST +psych/SDG/PSX +psyche/M/PSX +Psyche/M/PSX +psychedelic/S/PSXTLK +psychedelically//PSXTLKL +psychiatric//PSXTRK +psychiatrist/SM/PSXTRST +psychiatry/MS/PSXTR +psychic/MS/PSXK +psychical/Y/PSXKL +psycho/SM/PSX +psychoacoustic/S/PSXKSTK +psychoacoustics/M/PSXKSTKS +psychoactive//PSXKTF +psychoanalysis/M/PSXNLSS +psychoanalyst/S/PSXNLST +psychoanalytic//PSXNLTK +psychoanalytical//PSXNLTKL +psychoanalyze/SDG/PSXNLS +psychobabble/S/PSXBBL +psychobiology/M/PSXBLK +psychocultural//PSXKLTRL +psychodrama/MS/PSXTRM +psychogenic//PSXKNK +psychokinesis/M/PSXKNSS +psycholinguistic/S/PSXLNSTK +psycholinguistics/M/PSXLNSTKS +psycholinguists//PSXLNSTS +psychological/Y/PSXLKKL +psychologist/MS/PSXLKST +psychology/MS/PSXLK +psychometric/S/PSXMTRK +psychometrics/M/PSXMTRKS +psychometry/M/PSXMTR +psychoneuroses//PSXNRSS +psychoneurosis/M/PSXNRSS +psychopath/M/PSXP@ +psychopathic/S/PSXP@K +psychopathology/M/PSXP@LK +psychopaths//PSXP@S +psychopathy/SM/PSXP@ +psychophysic/S/PSXFSK +psychophysical/Y/PSXFSKL +psychophysics/M/PSXFSKS +psychophysiology/M/PSXFXLK +psychos/S/PSXS +psychosis/M/PSXSS +psychosocial/Y/PSXSXL +psychosomatic/S/PSXSMTK +psychosomatics/M/PSXSMTKS +psychotherapeutic/S/PSX@RPTK +psychotherapist/MS/PSX@RPST +psychotherapy/SM/PSX@RP +psychotic/S/PSXTK +psychotically//PSXTKL +psychotropic/S/PSXTRPK +psychs//PSXS +PT//PT +pt/C/PT +Pt/M/PT +PTA//PT +Ptah/M/PT +ptarmigan/MS/PTMKN +pterodactyl/SM/PTRTKTL +PTO//PT +Ptolemaic//PTLMK +Ptolemaists//PTLMSTS +Ptolemy/MS/PTLM +ptomaine/MS/PTMN +Pu//P +pub/MS/PB +pubbed//PBT +pubbing//PBN +pubertal//PBTL +puberty/MS/PBT +pubes//PBS +pubescence/S/PBSNS +pubescent//PBSNT +pubic//PBK +pubis/M/PBS +public/YSP/PBLK +publican/AMS/PBLKN +publication/AMS/PBLKXN +publicist/SM/PBLSST +publicity/SM/PBLST +publicize/SDG/PBLSS +publicized/U/PBLSST +publicness/M/PBLKNS +publics/A/PBLKS +publish/JDRSBZG/PBLX +publishable/U/PBLXBL +published/UA/PBLXT +publisher/ASM/PBLX +publishes/A/PBLXS +publishing/M/PBLXN +Puccini/M/PSN +puce/SM/PS +puck/GZSDRM/PK +Puck/M/PK +pucker/DG/PK +Puckett/M/PKT +puckish/YP/PKX +puckishness/S/PKXNS +pudding/MS/PTN +puddle/JMGRSD/PTL +puddler/M/PTL +puddling/M/PTLN +puddly//PTL +pudenda//PTNT +pudendum/M/PTNTM +pudginess/SM/PKNS +pudgy/PRT/PK +Puebla/M/PBL +Pueblo/MS/PBL +pueblo/SM/PBL +puerile/Y/PRL +puerility/SM/PRLT +puerperal//PPRL +puers//PS +Puerto/M/PT +Puff/M/PF +puff/SGZDRM/PF +puffball/SM/PFBL +puffer/M/PF +puffery/M/PFR +puffin/SM/PFN +puffiness/S/PFNS +puffy/PRT/PF +pug/MS/PK +Puget/M/PKT +pugged//PKT +pugging//PKN +Pugh/M/P +pugilism/SM/PKLSM +pugilist/S/PKLST +pugilistic//PKLSTK +pugnacious/YP/PKNSS +pugnaciousness/MS/PKNSSNS +pugnacity/SM/PKNST +puissant/Y/PSNT +puke/GDS/PK +pukka//PK +Pulaski/SM/PLSK +pulchritude/SM/PLXRTT +pulchritudinous/M/PLXRTTNS +pule/GDS/PL +Pulitzer/SM/PLTS +pull/DRGZSJ/PL +pullback/S/PLBK +pullet/SM/PLT +pulley/SM/PL +Pullman/MS/PLMN +pullout/S/PLT +pullover/SM/PLF +pulmonary//PLMNR +pulp/MDRGS/PLP +pulpiness/S/PLPNS +pulpit/MS/PLPT +pulpwood/MS/PLPWT +pulpy/PTR/PLP +pulsar/MS/PLS +pulsate/NGSDX/PLST +pulsation/M/PLSXN +pulse/ADSG/PLS +pulser//PLS +pulse's//PLSS +pulverable//PLFRBL +pulverization/MS/PLFRSXN +pulverize/GZSRD/PLFRS +pulverized/U/PLFRST +pulverizer/M/PLFRS +pulverizes/UA/PLFRSS +puma/SM/PM +pumice/SDMG/PMS +pummel/SDG/PML +pump/GZSMDR/PMP +pumpernickel/SM/PMPNKL +pumping/M/PMPN +pumpkin/MS/PMPKN +pun/MS/PN +punch/GRSDJBZ/PNX +Punch/M/PNX +punchbowl/M/PNXBL +punched/U/PNXT +puncheon/MS/PNXN +puncher/M/PNX +punchline/S/PNXLN +punchy/RT/PNX +punctilio/SM/PNKTL +punctilious/PY/PNKTLS +punctiliousness/SM/PNKTLSNS +punctual/PY/PNKTL +punctualities//PNKTLTS +punctuality/UM/PNKTLT +punctualness/M/PNKTLNS +punctuate/SDXNG/PNKTT +punctuation/M/PNKTXN +punctuational//PNKTXNL +puncture/SDMG/PNKTR +pundit/SM/PNTT +punditry/S/PNTTR +pungency/MS/PNKNS +pungent/Y/PNKNT +Punic//PNK +puniness/MS/PNNS +punish/RSDGBL/PNX +punished/U/PNXT +punisher/M/PNX +punishment/MS/PNXMNT +punitive/YP/PNTF +punitiveness/M/PNTFNS +Punjab/M/PNKB +Punjabi/M/PNKB +punk/TRMS/PNK +punky/PRS/PNK +punned//PNT +punning//PNN +punster/SM/PNST +punt/GZMDRS/PNT +punter/M/PNT +puny/PTR/PN +pup/MS/PP +pupa/M/PP +pupae//PP +pupal//PPL +pupate/NGSD/PPT +pupil/SM/PPL +pupillage/M/PPLK +pupped//PPT +puppet/SM/PPT +puppeteer/SM/PPT +puppetry/MS/PPTR +pupping//PPN +puppy/GSDM/PP +puppyish//PPYX +purblind//PBLNT +Purcell/M/PSL +purchasable//PXSBL +purchase/GASD/PXS +purchaser/MS/PXS +purdah/M/PT +purdahs//PTS +Purdue/M/PT +pure/PYTGDR/PR +purebred/S/PRBRT +puree/DSM/PR +pureeing//PRN +pureness/MS/PRNS +purgation/M/PKXN +purgative/MS/PKTF +purgatorial//PKTRL +purgatory/SM/PKTR +purge/GZDSR/PK +purger/M/PK +purify/GSRDNXZ/PRF +Purim/SM/PRM +Purina/M/PRN +purine/SM/PRN +purism/MS/PRSM +purist/MS/PRST +puristic//PRSTK +puritan/SM/PRTN +Puritan/SM/PRTN +puritanic//PRTNK +puritanical/Y/PRTNKL +Puritanism/MS/PRTNSM +puritanism/S/PRTNSM +purity/SM/PRT +purl/MDGS/PL +purlieu/SM/PL +purloin/DRGS/PLN +purloiner/M/PLN +purple/MTGRSD/PPL +purplish//PPLX +purport/DRSZG/PPT +purported/Y/PPTT +purpose/SDVGYM/PPS +purposeful/YP/PPSFL +purposefulness/S/PPSFLNS +purposeless/PY/PPSLS +purposelessness/M/PPSLSNS +purposive/YP/PPSF +purposiveness/M/PPSFNS +purr/DSG/PR +purring/Y/PRN +purse/DSRGZM/PS +purser/M/PS +pursuance/MS/PSNS +pursuant//PSNT +pursue/ZGRSD/PS +pursuer/M/PS +pursuit/MS/PST +purulence/MS/PRLNS +purulent//PRLNT +Purus//PRS +purvey/DGS/PF +purveyance/MS/PFYNS +purveyor/MS/PFY +purview/SM/PF +pus/SM/PS +Pusan/M/PSN +Pusey/M/PS +push/DSRBGZ/PX +pushbutton/S/PXBTN +pushcart/SM/PXKT +pushchair/SM/PXX +pushdown//PXTN +pusher/M/PX +pushily//PXL +pushiness/MS/PXNS +Pushkin/M/PXKN +pushover/SM/PXF +Pushtu/M/PXT +pushy/PRT/PX +pusillanimity/MS/PSLNMT +pusillanimous/Y/PSLNMS +puss/S/PS +pussy/TRSM/PS +pussycat/S/PSKT +pussyfoot/DSG/PSFT +pustular//PSTL +pustule/MS/PSTL +put/IS/PT +putative/Y/PTTF +Putin/M/PTN +Putnam/M/PTNM +Putnem/M/PTNM +putout/S/PTT +putrefaction/SM/PTRFKXN +putrefactive//PTRFKTF +putrefy/DSG/PTRF +putrescence/MS/PTRSNS +putrescent//PTRSNT +putrid/YP/PTRT +putridity/M/PTRTT +putridness/M/PTRTNS +putsch/S/PTSX +putt/SGZMDR/PT +putted/I/PTT +puttee/MS/PT +putter/RDMGZ/PT +putting/I/PTN +putty/SDMG/PT +puttying/M/PTYN +puzzle/JRSDZLG/PSL +puzzlement/MS/PSLMNT +puzzler/M/PSL +PVC//PFK +pvt//PFT +Pvt/M/PFT +PW//P +PX//PKS +Pygmalion/M/PKMLN +pygmy/SM/PKM +Pygmy/SM/PKM +Pyhrric/M/PHRK +pyknotic//PKNTK +Pyle/M/PL +pylon/SM/PLN +pylori//PLR +pyloric//PLRK +pylorus/M/PLRS +Pym/M/PM +Pynchon/M/PNXN +Pyongyang/M/PYNKYNK +pyorrhea/SM/PYRH +Pyotr/M/PYTR +pyramid/GMDS/PRMT +pyramidal/Y/PRMTL +pyre/MS/PR +Pyrenees//PRNS +Pyrex/SM/PRKS +pyridine/M/PRTN +pyrimidine/SM/PRMTN +pyrite/MS/PRT +pyrolysis/M/PRLSS +pyrolyze/RSM/PRLS +pyromania/MS/PRMN +pyromaniac/SM/PRMNK +pyrometer/MS/PRMT +pyrometry/M/PRMTR +pyrophosphate/M/PRFSFT +pyrotechnic/S/PRTXNK +pyrotechnical//PRTXNKL +pyrotechnics/M/PRTXNKS +pyroxene/M/PRKSN +pyroxenite/M/PRKSNT +Pyrrhic//PRHK +Pythagoras/M/P@KRS +Pythagorean/S/P@KRN +Pythias//P@S +Python/M/P@N +python/MS/P@N +pyx/MDSG/PKS +q//K +Q//K +QA//K +Qaddafi/M/KTF +Qantas/M/KNTS +Qatar/M/KT +QB//KB +QC//KK +QED//KT +Qingdao//KNT +Qiqihar/M/KKH +QM//KM +Qom/M/KM +qr//KR +q's//KS +Q's//KS +qt//KT +qty//KT +qua//K +Quaalude/M/KLT +quack/SDG/KK +quackery/MS/KKR +quackish//KKX +quad/SM/KT +quadded//KTT +quadding//KTN +quadrangle/MS/KTRNKL +quadrangular/M/KTRNKL +quadrant/MS/KTRNT +quadraphonic/S/KTRFNK +quadrapole//KTRPL +quadratic/SM/KTRTK +quadratical/Y/KTRTKL +quadrature/MS/KTRTR +quadrennial/SY/KTRNL +quadrennium/MS/KTRNM +quadric//KTRK +quadriceps/SM/KTRSPS +quadrilateral/S/KTRLTRL +quadrille/XMGNSD/KTRL +quadrillion/MH/KTRLN +quadripartite/NY/KTRPTT +quadriplegia/SM/KTRPLK +quadriplegic/SM/KTRPLKK +quadrivia//KTRF +quadrivium/M/KTRFM +quadruped/MS/KTRPT +quadrupedal//KTRPTL +quadruple/GSD/KTRPL +quadruplet/SM/KTRPLT +quadruplicate/GDS/KTRPLKT +quadruply/NX/KTRPL +quadrupole//KTRPL +quadword/MS/KTWT +quaff/SRDG/KF +quaffer/M/KF +quagmire/DSMG/KKMR +quahog/MS/KHK +quail/GSDM/KL +quaint/PTYR/KNT +quaintness/MS/KNTNS +quake/GZDSR/KK +Quaker/SM/KK +Quakeress/M/KKRS +Quakerism/S/KKRSM +quaky/RT/KK +qualification/ME/KLFKXN +qualified/UY/KLFT +qualifier/SM/KLF +qualify/EGXSDN/KLF +qualitative/Y/KLTTF +quality/MS/KLT +qualm/SM/KLM +qualmish//KLMX +quandary/MS/KNTR +quangos//KNKS +quanta/M/KNT +Quantico/M/KNTK +quantifiable/U/KNTFBL +quantified/U/KNTFT +quantifier/M/KNTF +quantify/GNSRDZX/KNTF +quantile/S/KNTL +quantitative/PY/KNTTTF +quantitativeness/M/KNTTTFNS +quantity/MS/KNTT +quantization/MS/KNTSXN +quantize/ZGDRS/KNTS +quantizer/M/KNTS +quantum/M/KNTM +quarantine/DSGM/KRNTN +quark/SM/KK +quarrel/SZDRMG/KRL +quarreler/M/KRL +quarrellings//KRLNS +quarrelsome/PY/KRLSM +quarrelsomeness/MS/KRLSMNS +quarrier/M/KR +quarry/RSDGM/KR +quarryman/M/KRMN +quarrymen//KRMN +quart/RMSZ/KT +quarter/MDRYG/KT +quarterback/SGMD/KTBK +quarterdeck/MS/KTTK +quarterer/M/KTR +quarterfinal/MS/KTFNL +quartering/M/KTRN +quarterly/S/KTL +quartermaster/MS/KTMST +quarterstaff/M/KTSTF +quarterstaves//KTSTFS +quartet/SM/KTT +quartic/S/KTK +quartile/SM/KTL +quarto/SM/KT +quartz/SM/KTS +quartzite/M/KTST +quasar/SM/KS +quash/GSD/KX +quasi//KS +quasilinear//KSLN +Quasimodo/M/KSMT +Quaternary//KTNR +quaternary/S/KTNR +quaternion/SM/KTNN +quatrain/SM/KTRN +quaver/GDS/KF +quavering/Y/KFRN +quavery//KFR +quay/SM/K +Quayle/M/KL +quayside/M/KST +Que/M/K +queasily//KSL +queasiness/SM/KSNS +queasy/TRP/KS +Quebec/M/KBK +Quechua/M/KX +queen/SGMDY/KN +Queen/SM/KN +Queenie/M/KN +queenly/RT/KNL +Queensland/M/KNSLNT +queer/STGRDYP/K +queerness/S/KNS +quell/SRDG/KL +queller/M/KL +quench/GZRSDB/KNX +quenchable/U/KNXBL +quenched/U/KNXT +quencher/M/KNX +quenchless//KNXLS +Quent/M/KNT +Quentin/M/KNTN +Querida/M/KRT +quern/M/KN +querulous/YP/KRLS +querulousness/S/KRLSNS +query/MGRSD/KR +quest/FSIM/KST +quested/A/KSTT +quester/AS/KST +quester's//KSTS +questing//KSTN +question/SMRDGBZJ/KSXN +questionable/P/KSXNBL +questionableness/M/KSXNBLNS +questionably/U/KSXNBL +questioned/UA/KSXNT +questioner/M/KSXN +questioning/UY/KSXNN +questionnaire/MS/KSXNR +quests/A/KSTS +Quetzalcoatl/M/KTSLKTL +queue/GZMDSR/K +queued/C/KT +queuer/M/K +queues/C/KS +queuing/C/KN +Quezon/M/KSN +quibble/GZRSD/KBL +quibbler/M/KBL +quiche/SM/KX +quick/RNYTXPS/KK +quicken/RDG/KKN +quickie/MS/KK +quicklime/SM/KKLM +quickness/MS/KKNS +quicksand/MS/KKSNT +quicksilver/GDMS/KKSLF +quickstep/SM/KKSTP +quid/SM/KT +quiesce/D/KS +quiescence/MS/KSNS +quiescent/YP/KSNT +quiet/UTGPSDRY/KT +quieted/E/KTT +quieten/SGD/KTN +quieter/E/KT +quieter's//KTS +quieting/E/KTN +quietly/E/KTL +quietness/MS/KTNS +quiets/E/KTS +quietude/IEMS/KTT +quietus/MS/KTS +quill/GSDM/KL +Quill/M/KL +Quillan/M/KLN +quilt/SZJGRDM/KLT +quilter/M/KLT +quilting/M/KLTN +quince/SM/KNS +quincentenary/M/KNSNTNR +Quincey/M/KNS +quincy/M/KNS +Quincy/M/KNS +quinine/MS/KNN +Quinlan/M/KNLN +Quinn/M/KN +quinquennial/Y/KNKNL +quinsy/SM/KNS +Quint/M/KNT +quint/MS/KNT +Quinta/M/KNT +Quintana/M/KNTN +quintessence/SM/KNTSNS +quintessential/Y/KNTSNXL +quintet/SM/KNTT +quintic//KNTK +quintile/SM/KNTL +Quintilian/M/KNTLN +Quintilla/M/KNTL +quintillion/MH/KNTLN +quintillionth/M/KNTLN@ +Quintin/M/KNTN +Quintina/M/KNTN +Quinton/M/KNTN +quintuple/SDG/KNTPL +quintuplet/MS/KNTPLT +Quintus/M/KNTS +quip/MS/KP +quipped//KPT +quipper//KP +quipping//KPN +quipster/SM/KPST +quire/MDSG/KR +quired/AI/KRT +quires/AI/KRS +Quirinal/M/KRNL +quiring/IA/KRN +quirk/SGMD/KK +quirkiness/SM/KKNS +quirky/PTR/KK +quirt/SDMG/KT +Quisling/M/KSLN +quisling/SM/KSLN +quit/DGS/KT +quitclaim/GDMS/KTKLM +quite/SADG/KT +Quito/M/KT +quittance/SM/KTNS +quitter/SM/KT +quitting//KTN +quiver/GDS/KF +quivering/Y/KFRN +quivery//KFR +Quixote/M/KKST +quixotic//KKSTK +quixotically//KKSTKL +Quixotism/M/KKSTSM +quiz/M/KS +quizzed//KST +quizzer/SM/KS +quizzes//KSS +quizzical/Y/KSKL +quizzing//KSN +quo/H/K +quoin/SGMD/KN +quoit/GSDM/KT +quondam//KNTM +quonset//KNST +Quonset//KNST +quorate/I/KRT +quorum/MS/KRM +quot/GDRB/KT +quota/MS/KT +quotability/S/KTBLT +quotation/SM/KTXN +quote/UGSD/KT +quoter/M/KT +quotidian/S/KTTN +quotient/SM/KTNT +qwerty//KWT +qwertys//KWTS +R/G/R +r/TGVJ/R +Ra/M/R +Rab/M/RB +Rabat/M/RBT +rabbet/GSMD/RBT +Rabbi/M/RB +rabbi/MS/RB +rabbinate/MS/RBNT +rabbinic//RBNK +rabbinical/Y/RBNKL +rabbit/MRDSG/RBT +rabbiter/M/RBT +rabble/GMRSD/RBL +rabbler/M/RBL +Rabelais/M/RBLS +Rabelaisian//RBLXN +Rabi/M/RB +rabid/YP/RBT +rabidness/SM/RBTNS +rabies//RBS +Rabin/M/RBN +rabis//RBS +raccoon/SM/RKN +race/MZGDRSJ/RS +racecourse/MS/RSKS +racegoers//RSKS +racehorse/SM/RSHS +raceme/MS/RSM +racer/M/RS +racetrack/SMR/RSTRK +raceway/SM/RSW +Rachael/M/RXL +Rachel/M/RXL +Rachele/M/RXL +Rachelle/M/RXL +Rachmaninoff/M/RXMNNF +racial/Y/RXL +racialism/MS/RXLSM +racialist/MS/RXLST +racily//RSL +Racine/M/RSN +raciness/MS/RSNS +racism/S/RSSM +racist/MS/RSST +rack/GDRMS/RK +racket/SMDG/RKT +racketeer/MDSJG/RKT +rackety//RKT +raconteur/SM/RKNT +racoon's//RKNS +racquetball/S/RKTBL +racquet's//RKTS +racy/RTP/RS +Rad/M/RT +rad/S/RT +radar/SM/RT +radarscope/MS/RTSKP +Radcliffe/M/RTKLF +radded//RTT +radder//RT +raddest//RTST +Raddie/M/RT +radding//RTN +Raddy/M/RT +radial/SY/RTL +radian/SM/RTN +radiance/SM/RTNS +radiant/YS/RTNT +radiate/XSDYVNG/RTT +radiation/M/RTXN +radiative/Y/RTTF +radiator/MS/RTT +radical/SPY/RTKL +radicalism/MS/RTKLSM +radicalization/S/RTKLSXN +radicalize/GSD/RTKLS +radicalness/M/RTKLNS +radices's//RTSSS +radii/M/RT +radio/SMDG/RT +radioactive/Y/RTKTF +radioactivity/MS/RTKTFT +radioastronomical//RTSTRNMKL +radioastronomy//RTSTRNM +radiocarbon/MS/RTKBN +radiochemical/Y/RTXMKL +radiochemistry/M/RTXMSTR +radiogalaxy/S/RTKLKS +radiogram/SM/RTKRM +radiographer/MS/RTKRF +radiographic//RTKRFK +radiography/MS/RTKRF +radioisotope/SM/RTSTP +radiologic//RTLKK +radiological/Y/RTLKKL +radiologist/MS/RTLKST +radiology/MS/RTLK +radioman/M/RTMN +radiomen//RTMN +radiometer/SM/RTMT +radiometric//RTMTRK +radiometry/MS/RTMTR +radionics//RTNKS +radionuclide/M/RTNKLT +radiopasteurization//RTPSTRSXN +radiophone/MS/RTFN +radiophysics//RTFSKS +radioscopy/SM/RTSKP +radiosonde/SM/RTSNT +radiosterilization//RTSTRLSXN +radiosterilized//RTSTRLST +radiotelegraph//RTTLKRF +radiotelegraphs//RTTLKRFS +radiotelegraphy/MS/RTTLKRF +radiotelephone/SM/RTTLFN +radiotherapist/SM/RT@RPST +radiotherapy/SM/RT@RP +radish/MS/RTX +radium/MS/RTM +radius/M/RTS +radix/SM/RTKS +radon/SM/RTN +Rae/M/R +Raeann/M/RN +RAF//RF +Raf/M/RF +Rafa/M/RF +Rafael/M/RFL +Rafaela/M/RFL +Rafaelia/M/RFL +Rafaelita/M/RFLT +Rafaellle/M/RFL +Rafaello/M/RFL +Rafe/M/RF +Raff/M/RF +Raffaello/M/RFL +Raffarty/M/RFT +Rafferty/M/RFT +raffia/SM/RF +raffish/PY/RFX +raffishness/SM/RFXNS +raffle/MSDG/RFL +Rafi/M/RF +raft/GZSMDR/RFT +rafter/DM/RFT +rag/GSMD/RK +raga/MS/RK +ragamuffin/MS/RKMFN +ragbag/SM/RKBK +rage/MS/RK +ragged/PRYT/RKT +raggedness/SM/RKTNS +raggedy/TR/RKT +ragging//RKN +raging/Y/RKN +raglan/MS/RKLN +Ragnar/M/RKN +Ragnarök//RKNK +ragout/SMDG/RKT +ragtag/MS/RKTK +ragtime/MS/RKTM +ragweed/MS/RKWT +ragwort/M/RKWT +rah/DG/R +Rahal/M/RHL +Rahel/M/RHL +rahs//RS +raid/MDRSGZ/RT +raider/M/RT +rail/CDGS/RL +railbird/S/RLBT +railer/SM/RL +railhead/SM/RLHT +railing/MS/RLN +raillery/MS/RLR +railroad/SZRDMGJ/RLRT +railroader/M/RLRT +railroading/M/RLRTN +rail's//RLS +railway/MS/RLW +railwaymen//RLWMN +raiment/SM/RMNT +Raimondo/M/RMNT +Raimund/M/RMNT +Raimundo/M/RMNT +rain/GSDM/RN +Raina/M/RN +rainbow/MS/RNB +raincloud/S/RNKLT +raincoat/SM/RNKT +raindrop/SM/RNTRP +Raine/MR/RN +Rainer/M/RN +rainfall/SM/RNFL +rainforest's//RNFRSTS +Rainier/M/RN +rainless//RNLS +rainmaker/SM/RNMK +rainmaking/MS/RNMKN +rainproof/GSD/RNPRF +rainstorm/SM/RNSTM +rainwater/MS/RNWT +rainy/RT/RN +raise/DSRGZ/RS +raiser/M/RS +raisin/MS/RSN +raising/M/RSN +raj/M/RK +rajah/M/RK +rajahs//RKS +Rajive/M/RKF +rake/MGDRS/RK +Rakel/M/RKL +raker/M/RK +rakish/PY/RKX +rakishness/MS/RKXNS +Raleigh/M/RL +Ralf/M/RLF +Ralina/M/RLN +rally/GSD/RL +Ralph/M/RLF +Ralston/M/RLSTN +Ram/M/RM +RAM/S/RM +ram/SM/RM +Rama/M/RM +Ramada/M/RMT +Ramadan/SM/RMTN +Ramakrishna/M/RMKRXN +Raman/M/RMN +Ramayana/M/RMYN +ramble/JRSDGZ/RMBL +rambler/M/RMBL +rambling/Y/RMBLN +Rambo/M/RMB +rambunctious/PY/RMBNKXS +rambunctiousness/S/RMBNKXSNS +ramekin/SM/RMKN +ramie/MS/RM +ramification/M/RMFKXN +ramify/XNGSD/RMF +Ramirez/M/RMRS +Ramiro/M/RMR +ramjet/SM/RMKT +rammed//RMT +ramming//RMN +Ramo/MS/RM +Ramon/M/RMN +Ramona/M/RMN +Ramonda/M/RMNT +ramp/GMDS/RMP +rampage/SDG/RMPK +rampancy/S/RMPNS +rampant/Y/RMPNT +rampart/SGMD/RMPT +ramrod/MS/RMRT +ramrodded//RMRTT +ramrodding//RMRTN +rams/S/RMS +Ramsay/M/RMS +Ramses/M/RMSS +Ramsey/M/RMS +ramshackle//RMXKL +ran/A/RN +Rana/M/RN +Rance/M/RNS +Rancell/M/RNSL +ranch/ZRSDMJG/RNX +rancher/M/RNX +rancho/SM/RNX +rancid/P/RNST +rancidity/MS/RNSTT +rancidness/SM/RNSTNS +rancor/SM/RNK +rancorous/Y/RNKRS +Rand/M/RNT +rand/MDGS/RNT +Randa/M/RNT +Randal/M/RNTL +Randall/M/RNTL +Randee/M/RNT +Randell/M/RNTL +Randene/M/RNTN +Randi/M/RNT +Randie/M/RNT +randiness/S/RNTNS +Randolf/M/RNTLF +Randolph/M/RNTLF +random/PYS/RNTM +randomization/SM/RNTMSXN +randomize/SRDG/RNTMS +randomness/SM/RNTMNS +Randy/M/RNT +randy/PRST/RNT +Ranee/M/RN +ranee/SM/RN +rang/GZDR/RNK +range/SM/RNK +ranged/C/RNKT +rangeland/S/RNKLNT +ranger/M/RNK +ranges/C/RNKS +ranginess/S/RNKNS +ranging/C/RNKN +Rangoon/M/RNKN +rangy/RPT/RNK +Rani/MR/RN +Rania/M/RN +Ranice/M/RNS +Ranier/M/RN +Ranique/M/RNK +rani's//RNS +rank/GZTYDRMPJS/RNK +ranked/U/RNKT +ranker/M/RNK +Rankin/M/RNKN +Rankine/M/RNKN +ranking/M/RNKN +rankle/SDG/RNKL +rankness/MS/RNKNS +Ranna/M/RN +ransack/GRDS/RNSK +ransacker/M/RNSK +Ransell/M/RNSL +Ransom/M/RNSM +ransom/ZGMRDS/RNSM +ransomer/M/RNSM +rant/GZDRJS/RNT +ranter/M/RNT +ranting/Y/RNTN +Raoul/M/RL +rap/MDRSZG/RP +rapacious/YP/RPSS +rapaciousness/MS/RPSSNS +rapacity/MS/RPST +rape/SM/RP +rapeseed/M/RPST +Raphael/M/RFL +Raphaela/M/RFL +rapid/YRPST/RPT +rapidity/MS/RPTT +rapidness/S/RPTNS +rapier/SM/RP +rapine/SM/RPN +rapist/MS/RPST +rapped//RPT +rappel/S/RPL +rappelled//RPLT +rappelling//RPLN +rapper/SM/RP +rapping/M/RPN +rapport/SM/RPT +rapporteur/SM/RPT +rapprochement/SM/RPRXMNT +rapscallion/MS/RPSKLN +rapt/YP/RPT +raptness/S/RPTNS +rapture/MGSD/RPTR +rapturous/YP/RPTRS +rapturousness/M/RPTRSNS +Rapunzel/M/RPNSL +Raquel/M/RKL +Raquela/M/RKL +rare/YTPGDRS/RR +rarebit/MS/RRBT +rarefaction/MS/RRFKXN +rarefy/GSD/RRF +rareness/MS/RRNS +rarity/SM/RRT +Rasalgethi/M/RSLK@ +Rasalhague/M/RSLHK +rascal/SMY/RSKL +rash/PZTYSR/RX +rasher/M/RX +rashness/S/RXNS +Rasia/M/RX +Rasla/M/RSL +Rasmussen/M/RSMSN +rasp/SGJMDR/RSP +raspberry/SM/RSPBR +rasper/M/RSP +rasping/Y/RSPN +Rasputin/M/RSPTN +raspy/RT/RSP +Rastaban/M/RSTBN +Rastafarian/M/RSTFRN +raster/MS/RST +Rastus/M/RSTS +rat/MDRSJZGB/RT +ratchet/MDSG/RXT +rate/KNGSD/RT +rateable//RTBL +rated/U/RTT +ratepayer/SM/RTPY +rater/M/RT +rate's//RTS +Ratfor/M/RTF +rather//R@ +Rather/M/R@ +rathskeller/SM/R@SKL +ratifier/M/RTF +ratify/ZSRDGXN/RTF +rating/M/RTN +ratio/MS/RX +ratiocinate/VNGSDX/RXSNT +ratiocination/M/RXSNXN +ration/DSMG/RXN +rational/YPS/RXNL +rationale/SM/RXNL +rationalism/SM/RXNLSM +rationalist/S/RXNLST +rationalistic//RXNLSTK +rationality/MS/RXNLT +rationalization/SM/RXNLSXN +rationalize/ZGSRD/RXNLS +rationalizer/M/RXNLS +rationalness/M/RXNLNS +Ratliff/M/RTLF +ratlike//RTLK +ratline/SM/RTLN +rattail//RTL +rattan/MS/RTN +ratted//RTT +ratter/MS/RT +ratting//RTN +rattle/RSDJGZ/RTL +rattlebrain/DMS/RTLBRN +rattlesnake/MS/RTLSNK +rattletrap/MS/RTLTRP +rattling/Y/RTLN +rattly/TR/RTL +rattrap/SM/RTRP +ratty/RT/RT +raucous/YP/RKS +raucousness/SM/RKSNS +Raul/M/RL +raunchily//RNXL +raunchiness/S/RNXNS +raunchy/RTP/RNX +ravage/GZRSD/RFK +ravager/M/RFK +rave/ZGDRSJ/RF +Ravel/M/RFL +ravel/UGDS/RFL +raveling/S/RFLN +raven/JGMRDS/RFN +Raven/M/RFN +ravenous/YP/RFNS +raver/M/RF +Ravi/M/RF +Ravid/M/RFT +ravine/SDGM/RFN +ravioli/SM/RFL +ravish/LSRDZG/RFX +ravisher/M/RFX +ravishing/Y/RFXN +ravishment/SM/RFXMNT +Raviv/M/RFF +raw/PSRYT/R +Rawalpindi/M/RWLPNT +rawboned//RBNT +rawhide/SDMG/RHT +Rawley/M/RL +Rawlings/M/RLNS +Rawlins/M/RLNS +Rawlinson/M/RLNSN +rawness/SM/RNS +Rawson/M/RSN +ray/GSMD/R +Ray/M/R +Rayburn/M/RBN +Raychel/M/RXL +Raye/M/RY +Rayleigh/M/RL +Raymond/M/RMNT +Raymondville/M/RMNTFL +Raymund/M/RMNT +Raymundo/M/RMNT +Rayna/M/RN +Raynard/M/RNT +Raynell/M/RNL +Rayner/M/RN +Raynor/M/RN +rayon/SM/RYN +Rayshell/M/RXL +Raytheon/M/R@N +raze/DRSG/RS +razer/M/RS +razor/MDGS/RS +razorback/SM/RSBK +razorblades//RSBLTS +razz/GDS/RS +razzmatazz/S/RSMTS +Rb//RB +RBI/S/RB +RC//RK +RCA//RK +rcpt//RKPT +RCS//RKS +rd//RT +RD//RT +Rd/M/RT +RDA//RT +Re/M/R +re/YM/R +Rea/M/R +reabbreviate//RBRFT +reach/GRB/RX +reachability//RXBLT +reachable/U/RXBL +reachably//RXBL +reached/U/RXT +reacher/M/RX +reacquisition//RKSXN +reactant/SM/RKTNT +reacted/U/RKTT +reaction//RKXN +reactionary/SM/RKXNR +reactivity//RKTFT +Read/GM/RT +read/JGZBR/RT +readability/MS/RTBLT +readable/P/RTBL +readably//RTBL +readdress/G/RTRS +Reade/M/RT +reader/M/RT +readership/MS/RTXP +readied//RTT +readies//RTS +readily//RTL +readiness/UM/RTNS +readinesses//RTNSS +reading/M/RTN +Reading/M/RTN +readopt/G/RTPT +readout/MS/RTT +reads/A/RTS +ready/TUPR/RT +readying//RTYN +Reagan/M/RKN +Reagen/M/RKN +real/RSTP/RL +realism/U/RLSM +realisms//RLSMS +realism's//RLSMS +realist/SM/RLST +realistic/U/RLSTK +realistically/U/RLSTKL +reality/USM/RLT +realizability/MS/RLSBLT +realizable/SMP/RLSBL +realizableness/M/RLSBLNS +realizably/S/RLSBL +realization/MS/RLSXN +realize/JRSDBZG/RLS +realized/U/RLST +realizer/M/RLS +realizes/U/RLSS +realizing/MY/RLSN +realm/M/RLM +realness/S/RLNS +realpolitik/SM/RLPLTK +Realtor/S/RLT +realtor's//RLTS +realty/SM/RLT +ream/MDRGZ/RM +reamer/M/RM +Reamonn/M/RMN +reanimate//RNMT +reap/SGZ/RP +reaper/M/RP +reappraise/G/RPRS +rear/DRMSG/R +rearguard/MS/RKT +rearmost//RMST +rearrange/L/RRNK +rearward/S/RWT +reason/UBDMG/RSN +reasonable/UP/RSNBL +reasonableness/SMU/RSNBLNS +reasonably/U/RSNBL +Reasoner/M/RSN +reasoner/SM/RSN +reasoning/MS/RSNN +reasonless//RSNLS +reasons//RSNS +reassess/GL/RSS +reassuringly/U/RSRNL +reattach/GSL/RTX +reawakening/M/RWKNN +Reba/M/RB +rebate/M/RBT +Rebbecca/M/RBK +Rebe/M/RB +Rebeca/M/RBK +Rebecca's//RBKS +Rebecka/M/RBK +Rebeka/M/RBK +Rebekah/M/RBK +Rebekkah/M/RBK +rebel/MS/RBL +rebeller//RBL +rebellion/SM/RBLN +rebellious/YP/RBLS +rebelliousness/MS/RBLSNS +rebid//RBT +rebidding//RBTN +rebind/G/RBNT +rebirth//RB@ +reboil/G/RBL +rebook//RBK +reboot/ZR/RBT +rebound/G/RBNT +rebroadcast/MG/RBRTKST +rebuke/RSDG/RBK +rebuking/Y/RBKN +rebus//RBS +rebuttal/SM/RBTL +rebutting//RBTN +rec//RK +recalcitrance/SM/RKLSTRNS +recalcitrant/S/RKLSTRNT +recalibrate/N/RKLBRT +recant/G/RKNT +recantation/S/RKNTXN +recap//RKP +recappable//RKPBL +recapping//RKPN +recast/G/RKST +recd//RKT +rec'd//RKT +recede//RST +receipt/SGDM/RSPT +receivable/S/RSFBL +receive/ZGRSDB/RSF +received/U/RSFT +receiver/M/RSF +receivership/SM/RSFXP +recency/M/RSNS +recension/M/RSNXN +recent/YPT/RSNT +recentness/SM/RSNTNS +receptacle/SM/RSPTKL +reception/MS/RSPXN +receptionist/MS/RSPXNST +receptive/YP/RSPTF +receptiveness/S/RSPTFNS +receptivity/S/RSPTFT +receptor/MS/RSPT +recess/SDMVG/RSS +recessional/S/RSXNL +recessionary//RSXNR +recessive/YPS/RSSF +recessiveness/M/RSSFNS +rechargeable//RXKBL +recheck/G/RXK +recherché//RXX +recherches//RXXS +recidivism/MS/RSTFSM +recidivist/MS/RSTFST +Recife/M/RSF +recipe/MS/RSP +recipiency//RSPNS +recipient/MS/RSPNT +reciprocal/SY/RSPRKL +reciprocate/NGXVDS/RSPRKT +reciprocation/M/RSPRKXN +reciprocity/MS/RSPRST +recital/MS/RSTL +recitalist/S/RSTLST +recitative/MS/RSTTF +recite/ZR/RST +reciter/M/RST +recked//RKT +recking//RKN +reckless/PY/RKLS +recklessness/S/RKLSNS +reckon/SGRDJ/RKN +reckoner/M/RKN +reckoning/M/RKNN +reclaim/B/RKLM +reclamation/SM/RKLMXN +recline/RSDZG/RKLN +recliner/M/RKLN +recluse/MVNS/RKLS +reclusion/M/RKLXN +recode/G/RKT +recognizability//RKKNSBLT +recognizable/U/RKKNSBL +recognizably//RKKNSBL +recognize/BZGSRD/RKKNS +recognized/U/RKKNST +recognizedly/S/RKKNSTL +recognizer/M/RKKNS +recognizing/UY/RKKNSN +recognizingly/S/RKKNSNL +recoilless//RKLS +recoinage//RKNK +recolor/GD/RKL +recombinant//RKMBNNT +recombine//RKMBN +recommended/U/RKMNTT +recompense/GDS/RKMPNS +recompute/B/RKMPT +reconcile/SRDGB/RKNSL +reconciled/U/RKNSLT +reconciler/M/RKNSL +recondite/YP/RKNTT +reconditeness/M/RKNTTNS +reconfigurability//RKNFKRBLT +reconfigure/R/RKNFKR +reconnaissance/MS/RKNSNS +reconnect/R/RKNKT +reconnoiter/GSD/RKNT +reconquer/G/RKNK +reconsecrate//RKNSKRT +reconstitute//RKNSTTT +reconstructed/U/RKNSTRKTT +Reconstruction/M/RKNSTRKXN +reconsult/G/RKNSLT +recontact/G/RKNTKT +recontaminate/N/RKNTMNT +recontribute//RKNTRBT +recook/G/RKK +recopy/G/RKP +record/ZGJ/RKT +recorded/AU/RKTT +records/A/RKTS +recourse//RKS +recover/B/RKF +recoverability//RKFRBLT +recoverable/U/RKFRBL +recovery/MS/RKFR +recreant/S/RKRNT +recreational//RKRXNL +recriminate/GNVXDS/RKRMNT +recrimination/M/RKRMNXN +recriminatory//RKRMNTR +recross/G/RKRS +recrudesce/GDS/RKRTS +recrudescence/MS/RKRTSNS +recrudescent//RKRTSNT +recruit/ZSGDRML/RKRT +recruiter/M/RKRT +recruitment/MS/RKRTMNT +recrystallize//RKRSTLS +rectal/Y/RKTL +rectangle/SM/RKTNKL +rectangular/Y/RKTNKL +recta's//RKTS +rectifiable//RKTFBL +rectification/M/RKTFKXN +rectifier/M/RKTF +rectify/DRSGXZN/RKTF +rectilinear/Y/RKTLN +rectitude/MS/RKTTT +recto/MS/RKT +rector/SM/RKT +rectory/MS/RKTR +rectum/SM/RKTM +recumbent/Y/RKMBNT +recuperate/VGNSDX/RKPRT +recuperation/M/RKPRXN +recur//RK +recurrence/MS/RKRNS +recurrent//RKRNT +recurse/NX/RKS +recursion/M/RKXN +recusant/M/RKSNT +recuse//RKS +recyclable/S/RSKLBL +recycle/BZ/RSKL +red/PYS/RT +redact/DGS/RTKT +redaction/SM/RTKXN +redactor/MS/RTKT +redbird/SM/RTBT +redbreast/SM/RTBRST +redbrick/M/RTBRK +redbud/M/RTBT +redcap/MS/RTKP +redcoat/SM/RTKT +redcurrant/M/RTKRNT +Redd/M/RT +redden/DGS/RTN +redder//RT +reddest//RTST +redding//RTN +reddish/P/RTX +redeclaration//RTKLRXN +redecorate//RTKRT +redeem/BRZ/RTM +redeemable/U/RTMBL +redeemed/U/RTMT +redeemer/M/RTM +Redeemer/M/RTM +redemption/RMS/RTMPXN +redemptioner/M/RTMPXN +redemptive//RTMPTF +redeposit/M/RTPST +redetermination//RTTMNXN +Redford/M/RTFT +Redgrave/M/RTKRF +redhead/DRMS/RTHT +Redhook/M/RTHK +redial/G/RTL +redirect/G/RTRKT +redirection//RTRKXN +redlining/S/RTLNN +Redmond/M/RTMNT +redneck/SMD/RTNK +redness/MS/RTNS +redo/G/RT +redolence/MS/RTLNS +redolent//RTLNT +Redondo/M/RTNT +redouble/S/RTBL +redoubtably//RTBTBL +redound/GDS/RTNT +redshift/S/RTXFT +redskin/SM/RTSKN +Redstone/M/RTSTN +reduce/RSDGZ/RTS +reduced/U/RTST +reducer/M/RTS +reducibility/M/RTSBLT +reducible//RTSBL +reducibly//RTSBL +reduct/V/RTKT +reduction/SM/RTKXN +reductionism/M/RTKXNSM +reductionist/S/RTKXNST +redundancy/SM/RTNTNS +redundant/Y/RTNTNT +redwood/SM/RTWT +redye//RTY +redyeing//RTYN +Ree/MDS/R +Reeba/M/RB +Reebok/M/RBK +Reece/M/RS +reecho/G/RX +reed/GMDR/RT +Reed/M/RT +reediness/SM/RTNS +reeding/M/RTN +Reedville/M/RTFL +reedy/PTR/RT +reef/GZSDRM/RF +reefer/M/RF +reek/GSR/RK +reeker/M/RK +reel/USDG/RL +reeler/M/RL +reel's//RLS +Reena/M/RN +reenforcement//RNFSMNT +reentrant//RNTRNT +Reese/M/RS +reestimate/M/RSTMT +Reeta/M/RT +Reeva/M/RF +reeve/G/RF +Reeves//RFS +reexamine//RKSMN +ref/ZS/RF +refection/SM/RFKXN +refectory/SM/RFKTR +refer/B/RF +referee/MSD/RFR +refereed/U/RFRT +refereeing//RFRN +reference/CGSRD/RFRNS +referenced/U/RFRNST +reference's//RFRNSS +referencing/U/RFRNSN +referendum/MS/RFRNTM +referent/SM/RFRNT +referential/YM/RFRNXL +referentiality//RFRNXLT +referral/SM/RFRL +referred//RFRT +referrer/S/RFR +referring//RFRN +reffed//RFT +reffing//RFN +refile//RFL +refinance//RFNNS +refine/LZ/RFN +refined/U/RFNT +refinement/MS/RFNMNT +refinish/G/RFNX +refit//RFT +reflect/SDGV/RFLKT +reflectance/M/RFLKTNS +reflected/U/RFLKTT +reflection/SM/RFLKXN +reflectional//RFLKXNL +reflective/YP/RFLKTF +reflectiveness/M/RFLKTFNS +reflectivity/M/RFLKTFT +reflector/MS/RFLKT +reflex/YV/RFLKS +reflexion/MS/RFLKSN +reflexive/PSY/RFLKSF +reflexiveness/M/RFLKSFNS +reflexivity/M/RFLKSFT +reflooring//RFLRN +refluent//RFLNT +reflux/G/RFLKS +refocus/G/RFKS +refold/G/RFLT +reforestation//RFRSTXN +reforge/G/RFK +reform/B/RFM +reformatory/SM/RFMTR +reformed/U/RFMT +reformer/M/RFM +reformism/M/RFMSM +reformist/S/RFMST +refract/DGVS/RFRKT +refractive/PY/RFRKTF +refractiveness/M/RFRKTFNS +refractometer/MS/RFRKTMT +refractoriness/M/RFRKTRNS +refractory/PS/RFRKTR +refrain/DGS/RFRN +refresh/LB/RFRX +refreshed/U/RFRXT +refreshing/Y/RFRXN +refreshment/MS/RFRXMNT +refrigerant/MS/RFRKRNT +refrigerate/XDSGN/RFRKRT +refrigerated/U/RFRKRTT +refrigeration/M/RFRKRXN +refrigerator/MS/RFRKRT +refrozen//RFRSN +refry/GS/RFR +refuge/SDGM/RFK +refugee/MS/RFK +Refugio/M/RFK +refulgence/SM/RFLKNS +refulgent//RFLKNT +refund/B/RFNT +refunder/M/RFNT +refurbish/L/RFBX +refurbishment/S/RFBXMNT +refusal/SM/RFSL +refuse/R/RFS +refuser/M/RFS +refutation/MS/RFTXN +refute/GZRSDB/RFT +refuter/M/RFT +reg//RK +Reg/MN/RK +regal/GYRD/RKL +regale/L/RKL +regalement/S/RKLMNT +regalia/M/RKL +Regan/M/RKN +regard/EGDS/RKT +regardless/PY/RKTLS +regather/G/RK@ +regatta/MS/RKT +Regen/M/RKN +regency/MS/RKNS +regeneracy/MS/RKNRS +regenerate/U/RKNRT +regenerately//RKNRTL +regenerateness/M/RKNRTNS +reggae/SM/RK +Reggi/MS/RK +Reggie/M/RK +Reggy/M/RK +regicide/SM/RKST +regime/MS/RKM +regimen/MS/RKMN +regiment/SDMG/RKMNT +regimental/S/RKMNTL +regimentation/MS/RKMNTXN +Regina/M/RKN +Reginae//RKN +Reginald/M/RKNLT +Reginauld/M/RKNLT +Regine/M/RKN +region/SM/RKN +regional/SY/RKNL +regionalism/MS/RKNLSM +Regis/M/RKS +register/UDSG/RKST +register's//RKSTS +registrable//RKSTRBL +registrant/SM/RKSTRNT +registrar/SM/RKSTR +registration/AM/RKSTRXN +registrations//RKSTRXNS +registry/MS/RKSTR +regnant//RKNNT +Regor/M/RK +regress/DSGV/RKRS +regression/MS/RKRXN +regressive/PY/RKRSF +regressiveness/M/RKRSFNS +regressors//RKRSS +regret/S/RKRT +regretful/PY/RKRTFL +regretfulness/M/RKRTFLNS +regrettable//RKRTBL +regrettably//RKRTBL +regretted//RKRTT +regretting//RKRTN +reground//RKRNT +regroup/G/RKRP +regrow/G/RKR +regular/YS/RKL +regularity/MS/RKLRT +regularization/MS/RKLRSXN +regularize/SDG/RKLRS +regulate/CSDXNG/RKLT +regulated/U/RKLTT +regulation/M/RKLXN +regulative//RKLTF +regulator/SM/RKLT +regulatory//RKLTR +Regulus/M/RKLS +regurgitate/XGNSD/RKKTT +regurgitation/M/RKKTXN +rehab/S/RHB +rehabbed//RHBT +rehabbing//RHBN +rehabilitate/SDXVGN/RHBLTT +rehabilitation/M/RHBLTXN +rehang/G/RHNK +rehear/GJ/RH +rehears/R/RHS +rehearsal/SM/RHSL +rehearse//RHS +rehearsed/U/RHST +rehearser/M/RHS +reheat/G/RHT +reheating/M/RHTN +Rehnquist//RNKST +rehydrate//RHTRT +Reich/M/RX +Reichenberg/M/RXNBK +Reichstags//RXSTKS +Reichstag's//RXSTKS +Reid/MR/RT +Reidar/M/RT +Reider/M/RT +reign/MDSG/RN +Reiko/M/RK +Reilly/M/RL +reimburse/GSDBL/RMBS +reimbursement/MS/RMBSMNT +rein/GDM/RN +Reina/M/RN +Reinald/M/RNLT +Reinaldo/MS/RNLT +reindeer/M/RNT +Reine/M/RN +reinforce/GSRDL/RNFS +reinforced/U/RNFST +reinforcement/MS/RNFSMNT +reinforcer/M/RNFS +Reinhard/M/RNHT +Reinhardt/M/RNHTT +Reinhold/M/RNHLT +Reinold/M/RNLT +reinstate/L/RNSTT +reinstatement/MS/RNSTTMNT +reinsurance//RNSRNS +Reinwald/M/RNWLT +reissue//RS +REIT//RT +reiterative/SP/RTRTF +reject/RDVGS/RKKT +rejecter/M/RKKT +rejecting/Y/RKKTN +rejection/SM/RKKXN +rejector/MS/RKKT +rejigger//RKK +rejoice/RSDJG/RKS +rejoicing/Y/RKSN +rejoinder/SM/RKNT +rejuvenate/NGSDX/RKFNT +rejuvenatory//RKFNTR +rel/V/RL +relapse//RLPS +relate/XVNGSZ/RLT +related/U/RLTT +relatedly//RLTTL +relatedness/MS/RLTTNS +relater/M/RLT +relation/M/RLXN +relational/Y/RLXNL +relationship/MS/RLXNXP +relative/SPY/RLTF +relativeness/M/RLTFNS +relativism/M/RLTFSM +relativist/MS/RLTFST +relativistic//RLTFSTK +relativistically//RLTFSTKL +relativity/MS/RLTFT +relator's//RLTS +relax/GZD/RLKS +relaxant/SM/RLKSNT +relaxation/MS/RLKSXN +relaxed/YP/RLKST +relaxedness/M/RLKSTNS +relaxing/Y/RLKSN +relay/GDM/RL +relearn/G/RLN +releasable/U/RLSBL +release/B/RLS +released/U/RLST +relent/SDG/RLNT +relenting/U/RLNTN +relentless/PY/RLNTLS +relentlessness/SM/RLNTLSNS +relevance/SM/RLFNS +relevancy/MS/RLFNS +relevant/Y/RLFNT +reliability/UMS/RLBLT +reliable/U/RLBL +reliables//RLBLS +reliably/U/RLBL +reliance/MS/RLNS +reliant/Y/RLNT +relic/MS/RLK +relicense/R/RLSNS +relict/C/RLKT +relict's//RLKTS +relief/M/RLF +relieve/RSDZG/RLF +relieved/U/RLFT +relievedly//RLFTL +reliever/M/RLF +religion/SM/RLKN +religionists//RLKNSTS +religiosity/M/RLKST +religious/PY/RLKS +religiousness/MS/RLKSNS +relink/G/RLNK +relinquish/GSDL/RLNKX +relinquishment/SM/RLNKXMNT +reliquary/MS/RLKR +relish/GSD/RLX +relive/GB/RLF +reload/GR/RLT +relocate/B/RLKT +reluctance/MS/RLKTNS +reluctant/Y/RLKTNT +rely/DG/RL +rem//RM +Rem/M/RM +REM/S/RM +remade/S/RMT +remain/GD/RMN +remainder/SGMD/RMNT +remake/M/RMK +remand/DGS/RMNT +remap//RMP +remapping//RMPN +remark/BG/RMK +remarkable/U/RMKBL +remarkableness/S/RMKBLNS +remarkably//RMKBL +remarked/U/RMKT +Remarque/M/RMK +rematch/G/RMX +Rembrandt/M/RMBRNTT +remeasure/D/RMSR +remediable/P/RMTBL +remediableness/M/RMTBLNS +remedy/SDMG/RMT +remember/GR/RMMB +remembered/U/RMMBRT +rememberer/M/RMMBR +remembrance/MRS/RMMBRNS +remembrancer/M/RMMBRNS +Remington/M/RMNTN +reminisce/GSD/RMNS +reminiscence/SM/RMNSNS +reminiscent/Y/RMNSNT +remiss/YP/RMS +remissness/MS/RMSNS +remit/S/RMT +remittance/MS/RMTNS +remitted//RMTT +remitting/U/RMTN +remnant/MS/RMNNT +remodel/G/RMTL +remolding//RMLTN +remonstrant/MS/RMNSTRNT +remonstrate/SDXVNG/RMNSTRT +remonstration/M/RMNSTRXN +remonstrative/Y/RMNSTRTF +remorse/SM/RMS +remorseful/PY/RMSFL +remorsefulness/M/RMSFLNS +remorseless/YP/RMSLS +remorselessness/MS/RMSLSNS +remote/RPTY/RMT +remoteness/MS/RMTNS +remoulds//RMLTS +removal/MS/RMFL +remunerate/VNGXSD/RMNRT +remunerated/U/RMNRTT +remuneration/M/RMNRXN +remunerative/YP/RMNRTF +remunerativeness/M/RMNRTFNS +Remus/M/RMS +Remy/M/RM +Rena/M/RN +Renado/M/RNT +Renae/M/RN +renaissance/S/RNSNS +Renaissance/SM/RNSNS +renal//RNL +Renaldo/M/RNLT +Renard/M/RNT +Renascence/SM/RNSNS +Renata/M/RNT +Renate/M/RNT +Renato/M/RNT +renaturation//RNTRXN +Renaud/M/RNT +Renault/MS/RNLT +rend/RGZS/RNT +render/GJRD/RNT +renderer/M/RNTR +rendering/M/RNTRN +rendezvous/DSMG/RNTSFS +rendition/GSDM/RNTXN +Rene/M/RN +Renee/M/RN +renegade/SDMG/RNKT +renege/GZRSD/RNK +reneger/M/RNK +Renell/M/RNL +Renelle/M/RNL +renew/BG/RN +renewal/MS/RNWL +renewer/M/RNW +Renie/M/RN +rennet/MS/RNT +Rennie/M/RN +rennin/SM/RNN +Reno/M/RN +Renoir/M/RN +renounce/LGRSD/RNNS +renouncement/MS/RNNSMNT +renouncer/M/RNNS +renovate/NGXSD/RNFT +renovation/M/RNFXN +renovator/SM/RNFT +renown/SGDM/RNN +Rensselaer/M/RNSL +rent/GZMDRS/RNT +rental/SM/RNTL +rentaller//RNTL +renter/M/RNT +renumber/G/RNMB +renumeration//RNMRXN +renunciate/VNX/RNNXT +renunciation/M/RNNXXN +Renville/M/RNFL +reoccupy/G/RKP +reopen/G/RPN +reorganized/U/RKNST +Rep/M/RP +rep/S/RP +repack/G/RPK +repair/BZGR/RP +repairable/U/RPRBL +repairer/M/RPR +repairman/M/RPMN +repairmen//RPMN +repairs/E/RPS +repaper//RPP +reparable//RPRBL +reparation/SM/RPRXN +repartee/MDS/RPT +reparteeing//RPTN +repartition/Z/RPTXN +repast/G/RPST +repatriate/SDXNG/RPTRT +repave//RPF +repeal/GR/RPL +repealer/M/RPL +repeat/RDJBZG/RPT +repeatability/M/RPTBLT +repeatable/U/RPTBL +repeatably//RPTBL +repeated/Y/RPTT +repeater/M/RPT +repel/S/RPL +repelled//RPLT +repellent/SY/RPLNT +repelling/Y/RPLN +repent/RDG/RPNT +repentance/SM/RPNTNS +repentant/SY/RPNTNT +repertoire/SM/RPTR +repertory/SM/RPTR +repetition//RPTXN +repetitious/YP/RPTXS +repetitiousness/S/RPTXSNS +repetitive/PY/RPTTF +repetitiveness/MS/RPTTFNS +repine/R/RPN +repiner/M/RPN +replace/RL/RPLS +replay/GM/RPL +replenish/LRSDG/RPLNX +replenishment/S/RPLNXMNT +replete/SDPXGN/RPLT +repleteness/MS/RPLTNS +repletion/M/RPLXN +replica/SM/RPLK +replicate/SDVG/RPLKT +replicator/S/RPLKT +replug//RPLK +reply/X/RPL +repopulate//RPPLT +reported/Y/RPTT +reportorial/Y/RPTRL +repose/M/RPS +reposeful//RPSFL +repository/MS/RPSTR +reprehend/GDS/RPRHNT +reprehensibility/MS/RPRHNSBLT +reprehensible/P/RPRHNSBL +reprehensibleness/M/RPRHNSBLNS +reprehensibly//RPRHNSBL +reprehension/MS/RPRHNXN +represent/GB/RPRSNT +representable/U/RPRSNTBL +representational/Y/RPRSNTXNL +Representative/S/RPRSNTTF +representative/SYMP/RPRSNTTF +representativeness/M/RPRSNTTFNS +representativity//RPRSNTTFT +represented/U/RPRSNTT +repress/V/RPRS +repression/SM/RPRXN +repressive/YP/RPRSF +repressiveness/M/RPRSFNS +reprieve/GDS/RPRF +reprimand/SGMD/RPRMNT +reprint/M/RPRNT +reprisal/MS/RPRSL +reproach/GRSDB/RPRX +reproacher/M/RPRX +reproachful/YP/RPRXFL +reproachfulness/M/RPRXFLNS +reproaching/Y/RPRXN +reprobate/N/RPRBT +reprocess/G/RPRSS +reproducibility/MS/RPRTSBLT +reproducible/S/RPRTSBL +reproducibly//RPRTSBL +reproductive/S/RPRTKTF +reproof/G/RPRF +reprove/R/RPRF +reproving/Y/RPRFN +reptile/SM/RPTL +reptilian/S/RPTLN +republic/M/RPBLK +Republican/S/RPBLKN +Republicanism/S/RPBLKNSM +republicanism/SM/RPBLKNSM +republish/G/RPBLX +repudiate/XGNSD/RPTT +repudiation/M/RPTXN +repudiator/S/RPTT +repugnance/MS/RPKNNS +repugnant/Y/RPKNNT +repulse/VNX/RPLS +repulsion/M/RPLXN +repulsive/PY/RPLSF +repulsiveness/MS/RPLSFNS +reputability/SM/RPTBLT +reputably/E/RPTBL +reputation/SM/RPTXN +repute/ESB/RPT +reputed/Y/RPTT +reputing//RPTN +request/G/RKST +requested/U/RKSTT +Requiem/MS/RKM +requiem/SM/RKM +require/LR/RKR +requirement/MS/RKRMNT +requisite/PNXS/RKST +requisiteness/M/RKSTNS +requisition/GDRM/RKSXN +requisitioner/M/RKSXN +requital/MS/RKTL +requite/RZ/RKT +requited/U/RKTT +requiter/M/RKT +reread/G/RRT +rerecord/G/RRKT +rerouteing//RRTN +rerunning//RRNN +res/C/RS +rescale//RSKL +rescind/SDRG/RSNT +rescission/SM/RSXN +rescue/GZRSD/RSK +reseal/BG/RSL +research/MB/RSX +reselect/G/RSLKT +resemblant//RSMBLNT +resemble/DSG/RSMBL +resend/G/RSNT +resent/DSLG/RSNT +resentful/PY/RSNTFL +resentfulness/SM/RSNTFLNS +resentment/MS/RSNTMNT +reserpine/MS/RSPN +reservation/MS/RSFXN +reserved/UYP/RSFT +reservedness/UM/RSFTNS +reservednesses//RSFTNSS +reservist/SM/RSFST +reservoir/MS/RSF +reset/RDG/RST +resettle/L/RSTL +reshipping//RXPN +reshow/G/RX +reshuffle/M/RXFL +reside/G/RST +residence/MS/RSTNS +residency/SM/RSTNS +resident/SM/RSTNT +residential/Y/RSTNXL +resider/M/RST +residua//RST +residual/YS/RSTL +residuary//RSTR +residue/SM/RST +residuum/M/RSTM +resignation/MS/RSKNXN +resigned/YP/RSN +resilience/MS/RSLNS +resiliency/S/RSLNS +resilient/Y/RSLNT +resin/D/RSN +resinlike//RSNLK +resinous//RSNS +resiny//RSN +resist/RDZVGS/RSST +resistance/SM/RSSTNS +Resistance/SM/RSSTNS +resistant/U/RSSTNT +resistantly//RSSTNTL +resistants//RSSTNTS +resisted/U/RSSTT +resistible//RSSTBL +resistibly//RSSTBL +resisting/U/RSSTN +resistive/PY/RSSTF +resistiveness/M/RSSTFNS +resistivity/M/RSSTFT +resistless//RSSTLS +resistor/MS/RSST +resize/G/RSS +resold//RSLT +resole/G/RSL +resoluble//RSLBL +resolute/PYTRV/RSLT +resoluteness/MS/RSLTNS +resolvability/M/RSLFBLT +resolvable/U/RSLFBL +resolved/U/RSLFT +resolvent//RSLFNT +resonance/SM/RSNNS +resonant/YS/RSNNT +resonate/DSG/RSNT +resonator/MS/RSNT +resorption/MS/RSPXN +resort/R/RST +resound/G/RSNT +resourceful/PY/RSSFL +resourcefulness/SM/RSSFLNS +resp//RSP +respect/BSDRMZGV/RSPKT +respectability/SM/RSPKTBLT +respectable/SP/RSPKTBL +respectably//RSPKTBL +respected/E/RSPKTT +respectful/EY/RSPKTFL +respectfulness/SM/RSPKTFLNS +respecting/E/RSPKTN +respective/PY/RSPKTF +respectiveness/M/RSPKTFNS +respects/E/RSPKTS +respect's/E/RSPKTS +respell/G/RSPL +respiration/MS/RSPRXN +respirator/SM/RSPRT +respiratory/M/RSPRTR +resplendence/MS/RSPLNTNS +resplendent/Y/RSPLNTNT +respond/SDRZG/RSPNT +respondent/MS/RSPNTNT +response/RSXMV/RSPNS +responser/M/RSPNS +responsibility/MS/RSPNSBLT +responsible/P/RSPNSBL +responsibleness/M/RSPNSBLNS +responsibly//RSPNSBL +responsive/YPU/RSPNSF +responsiveness/MSU/RSPNSFNS +respray/G/RSPR +rest/DRSGVM/RST +restart/B/RSTT +restate/L/RSTT +restaurant/SM/RSTRNT +restaurateur/SM/RSTRT +rested/U/RSTT +rester/M/RST +restful/YP/RSTFL +restfuller//RSTFL +restfullest//RSTFLST +restfulness/MS/RSTFLNS +restitution/SM/RSTTXN +restive/PY/RSTF +restiveness/SM/RSTFNS +restless/YP/RSTLS +restlessness/MS/RSTLSNS +restorability//RSTRBLT +Restoration/M/RSTRXN +restoration/MS/RSTRXN +restorative/PYS/RSTRTF +restore/Z/RSTR +restorer/M/RSTR +restrained/UY/RSTRNT +restraint/MS/RSTRNT +restrict/DVGS/RSTRKT +restricted/YU/RSTRKTT +restriction/SM/RSTRKXN +restrictive/U/RSTRKTF +restrictively//RSTRKTFL +restrictiveness/MS/RSTRKTFNS +restrictives//RSTRKTFS +restroom/SM/RSTRM +restructurability//RSTRKTRBLT +restructure//RSTRKTR +rests/U/RSTS +rest's/U/RSTS +restudy/M/RSTT +restyle//RSTL +resubstitute//RSBSTTT +result/SGMD/RSLT +resultant/YS/RSLTNT +resume/SDBG/RSM +resumption/MS/RSMPXN +resurface//RSFS +resurgence/MS/RSKNS +resurgent//RSKNT +resurrect/GSD/RSRKT +resurrection/SM/RSRKXN +resurvey/G/RSF +resuscitate/XSDVNG/RSSTT +resuscitation/M/RSSTXN +resuscitator/MS/RSSTT +Reta/M/RT +retail/Z/RTL +retain/LZGSRD/RTN +retainer/M/RTN +retake//RTK +retaliate/VNGXSD/RTLT +retaliation/M/RTLXN +retaliatory//RTLTR +retard/ZGRDS/RTT +retardant/SM/RTTNT +retardation/SM/RTTXN +retarder/M/RTT +retch/SDG/RX +retention/SM/RTNXN +retentive/YP/RTNTF +retentiveness/S/RTNTFNS +retentivity/M/RTNTFT +retest/G/RTST +Retha/M/R@ +rethought//R@T +reticence/S/RTSNS +reticent/Y/RTSNT +reticle/SM/RTKL +reticular//RTKL +reticulate/GNYXSD/RTKLT +reticulation/M/RTKLXN +reticule/MS/RTKL +reticulum/M/RTKLM +retina/SM/RTN +retinal/S/RTNL +retinue/MS/RTN +retire/L/RTR +retiredness/M/RTRTNS +retiree/MS/RTR +retirement/SM/RTRMNT +retiring/YP/RTRN +retort/GD/RTT +retract/DG/RTRKT +retractile//RTRKTL +retrench/L/RTRNX +retrenchment/MS/RTRNXMNT +retributed//RTRBTT +retribution/MS/RTRBXN +retributive//RTRBTF +retrieval/SM/RTRFL +retrieve/ZGDRSB/RTRF +retriever/M/RTRF +retro/SM/RTR +retroactive/Y/RTRKTF +retrofire/GMSD/RTRFR +retrofit/S/RTRFT +retrofitted//RTRFTT +retrofitting//RTRFTN +retroflection//RTRFLKXN +retroflex/D/RTRFLKS +retroflexion/M/RTRFLKSN +retrogradations//RTRKRTXNS +retrograde/GYDS/RTRKRT +retrogress/SDVG/RTRKRS +retrogression/MS/RTRKRXN +retrogressive/Y/RTRKRSF +retrorocket/MS/RTRRKT +retrospect/SVGMD/RTRSPKT +retrospection/MS/RTRSPKXN +retrospective/SY/RTRSPKTF +retrovirus/S/RTRFRS +retrovision//RTRFXN +retry/G/RTR +retsina/SM/RTSN +returnable/S/RTNBL +returned/U/RTNT +returnee/SM/RTN +retype//RTP +Reub/NM/RB +Reube/M/RB +Reuben/M/RBN +Reunion/M/RNN +reuse/B/RS +Reuters//RTS +Reuther/M/R@ +reutilization//RTLSXN +Reuven/M/RFN +Rev/M/RF +rev/ZM/RF +Reva/M/RF +revanchist//RFNXST +reveal/JBG/RFL +revealed/U/RFLT +revealing/U/RFLN +revealingly//RFLNL +reveille/MS/RFL +revel/SJRDGZ/RFL +revelation/MS/RFLXN +Revelation/MS/RFLXN +revelatory//RFLTR +revelry/MS/RFLR +revenge/MGSRD/RFNK +revenger/M/RFNK +revenue/ZR/RFN +revenuer/M/RFN +reverberant//RFBRNT +reverberate/XVNGSD/RFBRT +reverberation/M/RFBRXN +revere/GSD/RFR +Revere/M/RFR +reverence/SRDGM/RFRNS +reverencer/M/RFRNS +Reverend//RFRNT +reverend/SM/RFRNT +reverent/Y/RFRNT +reverential/Y/RFRNXL +reverie/SM/RFR +revers/M/RFS +reversal/MS/RFSL +reverse/Y/RFS +reverser/M/RFS +reversibility/M/RFSBLT +reversible/S/RFSBL +reversibly//RFSBL +reversion/R/RFXN +reversioner/M/RFXN +revert/RDVGS/RFT +reverter/M/RFT +revertible//RFTBL +revet/L/RFT +revetment/SM/RFTMNT +review/G/RF +revile/GZSDL/RFL +revilement/MS/RFLMNT +reviler/M/RFL +revise/BRZ/RFS +revised/U/RFST +revisionary//RFXNR +revisionism/SM/RFXNSM +revisionist/SM/RFXNST +revitalize/ZR/RFTLS +revival/SM/RFFL +revivalism/MS/RFFLSM +revivalist/MS/RFFLST +revive/RSDG/RFF +reviver/M/RFF +revivification/M/RFFFKXN +revivify/X/RFFF +Revkah/M/RFK +Revlon/M/RFLN +revocable//RFKBL +revoke/GZRSD/RFK +revolt/GRD/RFLT +revolter/M/RFLT +revolting/Y/RFLTN +revolution/SM/RFLXN +revolutionariness/M/RFLXNRNS +revolutionary/MSP/RFLXNR +revolutionist/MS/RFLXNST +revolutionize/GDSRZ/RFLXNS +revolutionizer/M/RFLXNS +revolve/BSRDZJG/RFLF +revolver/M/RFLF +revue/MS/RF +revulsion/MS/RFLXN +revved//RFFT +revving//RFFN +rewarded/U/RWTT +rewarding/Y/RWTN +rewarm/G/RWM +reweave//RWF +rewedding//RWTN +reweigh/G/RW +rewind/BGR/RWNT +rewire/G/RWR +rework/G/RWK +Rex/M/RKS +rexes//RKSS +Rey/M/R +Reyes//RYS +Reykjavik/M/RKKFK +Reyna/M/RN +Reynaldo/M/RNLT +Reynard/M/RNT +Reynold/SM/RNLT +rezone//RSN +Rf//RF +RF//RF +RFC//RFK +RFD//RFT +Rh/M/R +rhapsodic//RPSTK +rhapsodical//RPSTKL +rhapsodize/GSD/RPSTS +rhapsody/SM/RPST +Rhea/M/R +rhea/SM/R +Rheba/M/RB +Rhee/M/R +Rheims/M/RMS +Rheinholdt/M/RNHLTT +Rhenish//RNX +rhenium/MS/RNM +rheology/M/RLK +rheostat/MS/RSTT +rhesus/S/RSS +Rheta/M/RT +rhetoric/MS/RTRK +rhetorical/YP/RTRKL +rhetorician/MS/RTRXN +Rhett/M/RT +Rhetta/M/RT +rheum/MS/RM +rheumatic/S/RMTK +rheumatically//RMTKL +rheumatics/M/RMTKS +rheumatism/SM/RMTSM +rheumatoid//RMTT +rheumy/RT/RM +Rhiamon/M/RMN +Rhianna/M/RN +Rhiannon/M/RNN +Rhianon/M/RNN +Rhine/M/RN +Rhineland/RM/RNLNT +Rhinelander/M/RNLNT +rhinestone/SM/RNSTN +rhinitides//RNTTS +rhinitis/M/RNTS +rhino/MS/RN +rhinoceros/MS/RNSRS +rhinotracheitis//RNTRXTS +rhizome/MS/RSM +rho/MS/R +Rhoda/M/RT +Rhodes//RTS +Rhodesia/M/RTX +Rhodesian/S/RTXN +Rhodia/M/RT +Rhodie/M/RT +rhodium/MS/RTM +rhododendron/SM/RTTNTRN +rhodolite/M/RTLT +rhodonite/M/RTNT +Rhody/M/RT +rhombic//RMBK +rhomboid/SM/RMBT +rhomboidal//RMBTL +rhombus/SM/RMBS +Rhona/M/RN +Rhonda/M/RNT +Rhone//RN +rhubarb/MS/RBB +rhyme/DSRGZM/RM +rhymester/MS/RMST +Rhys/M/RS +rhythm/MS/R@M +rhythmic/S/R@MK +rhythmical/Y/R@MKL +rhythmics/M/R@MKS +RI//R +rial/MS/RL +Riane/M/RN +Riannon/M/RNN +Rianon/M/RNN +rib/MS/RB +ribald/S/RBLT +ribaldry/MS/RBLTR +ribbed//RBT +Ribbentrop/M/RBNTRP +ribber/S/RB +ribbing/M/RBN +ribbon/DMSG/RBN +ribcage//RBKK +riboflavin/MS/RBFLFN +ribonucleic//RBNKLK +ribosomal//RBSML +ribosome/MS/RBSM +Ric/M/RK +Rica/M/RK +Rican/SM/RKN +Ricard/M/RKT +Ricardo/M/RKT +Ricca/M/RK +Riccardo/M/RKT +rice/DRSMZG/RS +Rice/M/RS +ricer/M/RS +Rich/M/RX +rich/YNSRPT/RX +Richard/MS/RXT +Richardo/M/RXT +Richardson/M/RXTSN +Richart/M/RXT +Richelieu/M/RXL +richen/DG/RXN +Richey/M/RX +Richfield/M/RXFLT +Richie/M/RX +Richland/M/RXLNT +Richmond/M/RXMNT +Richmound/M/RXMNT +richness/MS/RXNS +Richter/M/RXT +Richthofen/M/RX@FN +Richy/M/RX +Rici/M/RS +rick/GSDM/RK +Rick/M/RK +Rickard/M/RKT +Rickenbacker/M/RKNBK +Rickenbaugh/M/RKNB +Rickert/M/RKT +rickets/M/RKTS +rickety/RT/RKT +Rickey/M/RK +Ricki/M/RK +Rickie/M/RK +Rickover/M/RKF +rickrack/MS/RKRK +rickshaw/SM/RKX +Ricky/M/RK +Rico/M/RK +ricochet/GSD/RKXT +Ricoriki/M/RKRK +ricotta/MS/RKT +rid/ZGRJSB/RT +riddance/SM/RTNS +ridden//RTN +ridding//RTN +riddle/GMRSD/RTL +Riddle/M/RTL +ride/CZSGR/RT +Ride/M/RT +rider/CM/RT +riderless//RTLS +ridership/S/RTXP +ridge/DSGM/RK +Ridgefield/M/RKFLT +ridgepole/SM/RKPL +Ridgway/M/RTKW +ridgy/RT/RK +ridicule/MGDRS/RTKL +ridiculer/M/RTKL +ridiculous/PY/RTKLS +ridiculousness/MS/RTKLSNS +riding/M/RTN +Riemann/M/RMN +Riesling/SM/RSLN +rife/RT/RF +riff/GSDM/RF +riffle/SDG/RFL +riffraff/SM/RFRF +rifle/GZMDSR/RFL +rifled/U/RFLT +rifleman/M/RFLMN +riflemen//RFLMN +rifler/M/RFL +rifling/M/RFLN +rift/GSMD/RFT +rig/MS/RK +Riga/M/RK +rigamarole's//RKMRLS +rigatoni/M/RKTN +Rigel/M/RKL +rigged//RKT +rigger/SM/RK +rigging/MS/RKN +Riggs/M/RKS +Right/S/RT +right/SGTPYRDN/RT +righteous/PYU/RTS +righteousness/MS/RTSNS +righteousnesses/U/RTSNSS +rightful/PY/RTFL +rightfulness/MS/RTFLNS +rightism/SM/RTSM +rightist/S/RTST +rightmost//RTMST +rightness/MS/RTNS +rights/M/RTS +rightsize/SDG/RTSS +rightward/S/RTWT +rigid/YP/RKT +rigidify/S/RKTF +rigidity/S/RKTT +rigidness/S/RKTNS +rigmarole/MS/RKMRL +Rigoberto/M/RKBT +Rigoletto/M/RKLT +rigor/MS/RK +rigorous/YP/RKRS +rigorousness/S/RKRSNS +Rik/M/RK +Riki/M/RK +Rikki/M/RK +rile/DSG/RL +Riley/M/RL +Rilke/M/RLK +rill/GSMD/RL +rim/GSMDR/RM +Rimbaud/M/RMBT +rime/MS/RM +rimer/M/RM +rimless//RMLS +rimmed//RMT +rimming//RMN +Rina/M/RN +Rinaldo/M/RNLT +rind/MDGS/RNT +Rinehart/M/RNHT +ring/GZJDRM/RN +Ring/M/RN +ringer/M/RN +ringing/Y/RNN +ringleader/MS/RNLT +ringlet/SM/RNLT +ringlike//RNLK +Ringling/M/RNLN +ringmaster/MS/RNMST +Ringo/M/RN +ringside/ZMRS/RNST +ringworm/SM/RNWM +rink/GDRMS/RNK +rinse/DSRG/RNS +Rio/MS/R +Riobard/M/RBT +Riordan/M/RTN +riot/SMDRGZJ/RT +rioter/M/RT +riotous/PY/RTS +riotousness/M/RTSNS +RIP//RP +Rip/M/RP +rip/NDRSXTG/RP +riparian/S/RPRN +ripcord/SM/RPKT +ripe/PSY/RP +ripen/RDG/RPN +ripened/U/RPNT +ripeness/UM/RPNS +ripenesses//RPNSS +riper/U/RP +ripest/U/RPST +Ripley/M/RPL +ripoff/S/RPF +riposte/SDMG/RPST +ripped//RPT +ripper/SM/RP +ripping//RPN +ripple/RSDGM/RPL +rippler/M/RPL +ripply/TR/RPL +ripsaw/GDMS/RPS +riptide/SM/RPTT +Risa/M/RS +RISC//RSK +rise/RSJZG/RS +risen//RSN +riser/M/RS +risibility/SM/RSBLT +risible/S/RSBL +rising/M/RSN +risk/GSDRM/RSK +risker/M/RSK +riskily//RSKL +riskiness/MS/RSKNS +risky/RTP/RSK +risotto/SM/RST +risqué//RSK +rissole/M/RSL +Rita/M/RT +Ritalin//RTLN +Ritchie/M/RX +rite/DSM/RT +Ritter/M/RT +ritual/MSY/RTL +ritualism/SM/RTLSM +ritualistic//RTLSTK +ritualistically//RTLSTKL +ritualized//RTLST +Ritz/M/RTS +ritzy/TR/RTS +riv/ZGNDR/RF +Riva/MS/RF +rival/SGDM/RFL +rivaled/U/RFLT +Rivalee/M/RFL +rivalry/MS/RFLR +rive/CSGRD/RF +river/CM/RF +Rivera/M/RFR +riverbank/SM/RFBNK +riverbed/S/RFBT +riverboat/S/RFBT +riverfront//RFFRNT +riverine//RFRN +Rivers//RFS +Riverside/M/RFST +riverside/S/RFST +Riverview/M/RFF +rivet/GZSRDM/RFT +riveter/M/RFT +riveting/Y/RFTN +Rivi/M/RF +Riviera/MS/RFR +Rivkah/M/RFK +rivulet/SM/RFLT +Rivy/M/RF +Riyadh/M/RYTH +riyal/SM/RYL +rm//RM +RMS//RMS +RN//RN +Rn/M/RN +RNA//RN +roach/GSDM/RX +Roach/M/RX +road/MIS/RT +roadbed/MS/RTBT +roadblock/SMDG/RTBLK +roadhouse/SM/RTHS +roadie/S/RT +roadkill/S/RTKL +roadrunner/MS/RTRN +roadshow/S/RTX +roadside/S/RTST +roadsigns//RTSNS +roadster/SM/RTST +roadsweepers//RTSWPS +roadway/SM/RTW +roadwork/SM/RTWK +roadworthy//RTW@ +roam/DRGZS/RM +roan/S/RN +Roana/M/RN +Roanna/M/RN +Roanne/M/RN +Roanoke/M/RNK +roar/DRSJGZ/R +roarer/M/RR +roaring/T/RRN +Roarke/M/RK +roast/SGJZRD/RST +roaster/M/RST +Rob/MZ/RB +rob/SDG/RB +Robb/M/RB +robbed//RBT +robber/SM/RB +Robbert/M/RBT +robbery/SM/RBR +Robbi/M/RB +Robbie/M/RB +Robbin/MS/RBN +robbing//RBN +Robby/M/RB +Robbyn/M/RBN +robe/ESDG/RB +Robena/M/RBN +Robenia/M/RBN +Robers/M/RBS +Roberson/M/RBSN +Robert/MS/RBT +Roberta/M/RBT +Roberto/M/RBT +Robertson/SM/RBTSN +robe's//RBS +Robeson/M/RBSN +Robespierre/M/RBSPR +Robin/M/RBN +robin/MS/RBN +Robina/M/RBN +Robinet/M/RBNT +Robinett/M/RBNT +Robinetta/M/RBNT +Robinette/M/RBNT +Robinia/M/RBN +Robinson/M/RBNSN +Robinsonville/M/RBNSNFL +Robles/M/RBLS +robot/MS/RBT +robotic/S/RBTK +robotism//RBTSM +robotize/GDS/RBTS +Robson/M/RBSN +Robt/M/RBT +robust/RYPT/RBST +robustness/SM/RBSTNS +Roby/M/RB +Robyn/M/RBN +Rocco/M/RK +Roch/M/RX +Rocha/M/RX +Rochambeau/M/RXMB +Roche/M/RX +Rochell/M/RXL +Rochella/M/RXL +Rochelle/M/RXL +Rochester/M/RXST +Rochette/M/RXT +rock/GZDRMS/RK +Rock/M/RK +rockabilly/MS/RKBL +rockabye//RKBY +Rockaway/MS/RKW +rockbound//RKBNT +Rockefeller/M/RKFL +rocker/M/RK +rocket/SMDG/RKT +rocketry/MS/RKTR +Rockey/M/RK +rockfall/S/RKFL +Rockford/M/RKFT +Rockie/M/RK +rockiness/MS/RKNS +Rockland/M/RKLNT +Rockne/M/RKN +Rockville/M/RKFL +Rockwell/M/RKWL +Rocky/SM/RK +rocky/SRTP/RK +rococo/MS/RKK +Rod/M/RT +rod/SGMD/RT +Roda/M/RT +Rodd/M/RT +rodded//RTT +Roddenberry/M/RTNBR +rodder//RT +Roddie/M/RT +rodding//RTN +Roddy/M/RT +rode/S/RT +rodent/MS/RTNT +rodeo/SMDG/RT +Roderic/M/RTRK +Roderich/M/RTRX +Roderick/M/RTRK +Roderigo/M/RTRK +Rodge/ZMR/RK +Rodger/M/RKR +Rodi/M/RT +Rodie/M/RT +Rodin/M/RTN +Rodina/M/RTN +Rodney/M/RTN +Rodolfo/M/RTLF +Rodolph/M/RTLF +Rodolphe/M/RTLF +Rodrick/M/RTRK +Rodrigo/M/RTRK +Rodriguez/M/RTRKS +Rodrique/M/RTRK +Rodriquez/M/RTRKS +roe/SM/R +roebuck/SM/RBK +roentgen/SM/RNTKN +Roentgen's//RNTKNS +ROFL//RFL +Rog/MRZ/RK +Rogelio/M/RKL +roger/GSD/RK +Roger/M/RK +Rogerio/M/RKR +Roget/M/RKT +rogue/GMDS/RK +rogued/K/RKT +roguery/MS/RKR +rogues/K/RKS +roguing/K/RKN +roguish/PY/RKX +roguishness/SM/RKXNS +Roi/SM/R +roil/SGD/RL +roister/SZGRD/RST +roisterer/M/RSTR +Rojas/M/RKS +Roland/M/RLNT +Rolando/M/RLNT +Roldan/M/RLTN +role/MS/RL +Roley/M/RL +Rolf/M/RLF +Rolfe/M/RLF +roll/UDSG/RL +Rolland/M/RLNT +rollback/SM/RLBK +rolled/A/RLT +roller/SM/RL +Rollerblade/S/RLBLT +rollerskating//RLSKTN +rollick/DGS/RLK +rollicking/Y/RLKN +Rollie/M/RL +Rollin/SM/RLN +rolling/S/RLN +Rollo/M/RL +rollover/S/RLF +Rolodex//RLTKS +Rolph/M/RLF +Rolvaag/M/RLFK +ROM//RM +Rom/SM/RM +Roma/M/RM +Romain/M/RMN +romaine/MS/RMN +roman/S/RMN +Roman/SM/RMN +romance/RSDZMG/RMNS +romancer/M/RMNS +Romanesque/S/RMNSK +Romania/M/RMN +Romanian/SM/RMNN +Romano/MS/RMN +Romanov/M/RMNF +Romans/M/RMNS +Romansh/M/RMNX +romantic/MS/RMNTK +romantically/U/RMNTKL +romanticism/MS/RMNTSSM +Romanticism/S/RMNTSSM +romanticist/S/RMNTSST +romanticize/SDG/RMNTSS +Romany/SM/RMN +Rome/SM/RM +Romeo/MS/RM +romeo/S/RM +Romero/M/RMR +Rommel/M/RML +Romney/M/RMN +Romola/M/RML +Romona/M/RMN +Romonda/M/RMNT +romp/GSZDR/RMP +romper/M/RMP +Romulus/M/RMLS +Romy/M/RM +Ron/M/RN +Rona/M/RN +Ronald/M/RNLT +Ronalda/M/RNLT +Ronda/M/RNT +rondo/SM/RNT +Ronica/M/RNK +Ronna/M/RN +Ronni/M/RN +Ronnica/M/RNK +Ronnie/M/RN +Ronny/M/RN +Ronstadt/M/RNSTTT +Rontgen//RNTKN +Roobbie/M/RB +rood/MS/RT +roof/DRMJGZS/RF +roofer/M/RF +roofgarden//RFKTN +roofing/M/RFN +roofless//RFLS +rooftop/S/RFTP +rook/GDMS/RK +rookery/MS/RKR +rookie/SRMT/RK +room/MDRGZS/RM +roomer/M/RM +roomette/SM/RMT +roomful/MS/RMFL +roominess/MS/RMNS +roommate/SM/RMT +roomy/TPSR/RM +Rooney/M/RN +Roosevelt/M/RSFLT +Rooseveltian//RSFLXN +roost/SGZRDM/RST +rooster/M/RST +Root/M/RT +root/MGDRZS/RT +rooted/P/RTT +rooter/M/RT +rootless/P/RTLS +rootlessness/M/RTLSNS +rootlet/SM/RTLT +rootstock/M/RTSTK +rope/DRSMZG/RP +roper/M/RP +roping/M/RPN +Roquefort/MS/RKFT +Roquemore/M/RKMR +Rora/M/RR +Rori/M/RR +Rorie/M/RR +Rorke/M/RK +Rorschach//RSXX +Rory/M/RR +Ros/N/RS +Rosa/M/RS +Rosabel/M/RSBL +Rosabella/M/RSBL +Rosabelle/M/RSBL +Rosaleen/M/RSLN +Rosales/M/RSLS +Rosalia/M/RSL +Rosalie/M/RSL +Rosalind/M/RSLNT +Rosalinda/M/RSLNT +Rosalinde/M/RSLNT +Rosaline/M/RSLN +Rosalyn/M/RSLN +Rosalynd/M/RSLNT +Rosamond/M/RSMNT +Rosamund/M/RSMNT +Rosana/M/RSN +Rosanna/M/RSN +Rosanne/M/RSN +Rosario/M/RSR +rosary/SM/RSR +Rosco/M/RSK +Roscoe/M/RSK +Rose/M/RS +rose/MGDS/RS +Roseann/M/RSN +Roseanna/M/RSN +Roseanne/M/RSN +roseate/Y/RST +Roseau//RS +rosebud/MS/RSBT +rosebush/SM/RSBX +Rosecrans/M/RSKRNS +Roseland/M/RSLNT +Roselia/M/RSL +Roselin/M/RSLN +Roseline/M/RSLN +Rosella/M/RSL +Roselle/M/RSL +Rosemaria/M/RSMR +Rosemarie/M/RSMR +Rosemary/M/RSMR +rosemary/MS/RSMR +Rosemonde/M/RSMNT +Rosen/M/RSN +Rosenberg/M/RSNBK +Rosenblum/M/RSNBLM +Rosendo/M/RSNT +Rosene/M/RSN +Rosenthal/M/RSN@L +Rosenzweig/M/RSNSWK +Rosetta/M/RST +Rosette/M/RST +rosette/SDMG/RST +rosewater//RSWT +rosewood/SM/RSWT +Roshelle/M/RXL +Rosicrucian/M/RSKRXN +Rosie/M/RS +rosily//RSL +rosin/SMDG/RSN +Rosina/M/RSN +rosiness/MS/RSNS +Rosita/M/RST +Roslyn/M/RSLN +Rosmunda/M/RSMNT +Ross//RS +Rossetti/M/RST +Rossi/M/RS +Rossie/M/RS +Rossini/M/RSN +Rossy/M/RS +Rostand/M/RSTNT +roster/DMGS/RST +Rostov/M/RSTF +rostra's//RSTRS +rostrum/SM/RSTRM +Roswell/M/RSWL +Rosy/M/RS +rosy/RTP/RS +rot/SDG/RT +rota/MS/RT +Rotarian/SM/RTRN +rotary/S/RTR +rotate/VGNXSD/RTT +rotated/U/RTTT +rotation/M/RTXN +rotational/Y/RTXNL +rotative/Y/RTTF +rotator/SM/RTT +rotatory//RTTR +ROTC//RTK +rote/MS/RT +rotgut/MS/RTKT +Roth/M/R@ +Rothschild/M/R@SXLT +rotisserie/MS/RTSR +rotogravure/SM/RTKRFR +rotor/MS/RT +rototill/RZ/RTTL +rotted//RTT +rotten/RYSTP/RTN +rottenness/S/RTNS +rotter/M/RT +Rotterdam/M/RTTM +rotting//RTN +rotund/SDYPG/RTNT +rotunda/SM/RTNT +rotundity/S/RTNTT +rotundness/S/RTNTNS +Rouault/M/RLT +roué/MS/R +rouge/GMDS/RK +rough/XPYRDNGT/RF +roughage/SM/RFK +roughen/DG/RFN +rougher/M/RF +roughhouse/GDSM/RFHS +roughish//RFX +roughneck/MDSG/RFNK +roughness/MS/RFNS +roughs//RFS +roughshod//RFXT +roulette/MGDS/RLT +round/YRDSGPZT/RNT +roundabout/PSM/RNTBT +rounded/P/RNTT +roundedness/M/RNTTNS +roundelay/SM/RNTL +roundels//RNTLS +rounder/M/RNT +roundhead/D/RNTHT +roundheaded/P/RNTHTT +roundheadedness/M/RNTHTTNS +roundhouse/SM/RNTHS +roundish//RNTX +roundness/MS/RNTNS +roundoff//RNTF +roundup/MS/RNTP +roundworm/MS/RNTWM +Rourke/M/RK +rouse/DSRG/RS +rouser/M/RS +Rousseau/M/RS +roust/SGD/RST +roustabout/SM/RSTBT +rout/GZJMDRS/RT +route/ASRDZGJ/RT +router/M/RT +route's//RTS +routine/SYM/RTN +routing/M/RTN +routinize/GSD/RTNS +Rouvin/M/RFN +rove/ZGJDRS/RF +rover/M/RF +Rover/M/RF +roving/M/RFN +Row/MN/R +row/SJZMGNDR/R +Rowan/M/RWN +rowboat/SM/RBT +rowdily//RTL +rowdiness/MS/RTNS +rowdy/PTSR/RT +rowdyism/MS/RTYSM +Rowe/M/RW +rowel/DMSG/RWL +rowen/M/RWN +Rowen/M/RWN +Rowena/M/RWN +rower/M/RW +Rowland/M/RLNT +Rowley/M/RL +Rowney/M/RN +Roxana/M/RKSN +Roxane/M/RKSN +Roxanna/M/RKSN +Roxanne/M/RKSN +Roxi/M/RKS +Roxie/M/RKS +Roxine/M/RKSN +Roxy/M/RKS +Roy/M/R +Royal/M/RYL +royal/SY/RYL +royalist/SM/RYLST +Royall/M/RYL +royalty/MS/RYLT +Royce/M/RS +Roz/M/RS +Rozalie/M/RSL +Rozalin/M/RSLN +Rozamond/M/RSMNT +Rozanna/M/RSN +Rozanne/M/RSN +Roze/M/RS +Rozele/M/RSL +Rozella/M/RSL +Rozelle/M/RSL +Rozina/M/RSN +RP//RP +rpm//RPM +RPM//RPM +rps//RPS +RR//R +Rriocard/M/RKT +rs//RS +r's//RS +R's//RS +RSFSR//RSFSR +RSI//RS +RSV//RSF +RSVP//RSFP +RSX//RSKS +rt//RT +rte//RT +Rte//RT +RTFM//RTFM +Ru/MH/R +rub/S/RB +Rubaiyat/M/RBYT +rubato/MS/RBT +rubbed//RBT +rubber/SDMG/RB +rubberize/GSD/RBRS +rubberneck/DRMGSZ/RBNK +rubbery/TR/RBR +rubbing/M/RBN +rubbish/DSMG/RBX +rubbishy//RBX +rubble/GMSD/RBL +rubdown/MS/RBTN +Rube/M/RB +rube/SM/RB +rubella/MS/RBL +Ruben/MS/RBN +Rubetta/M/RBT +Rubi/M/RB +Rubia/M/RB +Rubicon/SM/RBKN +rubicund//RBKNT +rubidium/SM/RBTM +Rubie/M/RB +Rubik/M/RBK +Rubin/M/RBN +Rubina/M/RBN +Rubinstein/M/RBNSTN +ruble/MS/RBL +rubout//RBT +rubric/MS/RBRK +Ruby/M/RB +ruby/MTGDSR/RB +Ruchbah/M/RXB +ruck/M/RK +rucksack/SM/RKSK +ruckus/SM/RKS +ruction/SM/RKXN +Rudd/M/RT +rudder/MS/RT +rudderless//RTLS +Ruddie/M/RT +ruddiness/MS/RTNS +Ruddy/M/RT +ruddy/PTGRSD/RT +rude/PYTR/RT +rudeness/MS/RTNS +Rudie/M/RT +Rudiger/M/RTK +rudiment/SM/RTMNT +rudimentariness/M/RTMNTRNS +rudimentary/P/RTMNTR +Rudolf/M/RTLF +Rudolfo/M/RTLF +Rudolph/M/RTLF +Rudy/M/RT +Rudyard/M/RTYT +rue/GDS/R +rueful/PY/RFL +ruefulness/S/RFLNS +Rufe/M/RF +ruff/GSYDM/RF +ruffian/GSMDY/RFN +ruffle/RSDG/RFL +ruffled/U/RFLT +ruffler/M/RFL +ruffly/TR/RFL +Rufus/M/RFS +rug/MS/RK +rugby/SM/RKB +Rugby's//RKBS +rugged/PYRT/RKT +ruggedness/S/RKTNS +Ruggiero/M/RKR +rugging//RKN +Ruhr/M/RR +ruin/MGSDR/RN +ruination/MS/RNXN +ruiner/M/RN +ruinous/YP/RNS +ruinousness/M/RNSNS +Ruiz/M/RS +rule/MZGJDRS/RL +rulebook/S/RLBK +ruled/U/RLT +ruler/GMD/RL +ruling/M/RLN +rum/XSMN/RM +Rumanian's//RMNNS +Rumania's//RMNS +rumba/GDMS/RMB +rumble/JRSDG/RMBL +rumbler/M/RMBL +rumbustious//RMBSXS +rumen/M/RMN +Rumford/M/RMFT +ruminant/YMS/RMNNT +ruminate/VNGXSD/RMNT +ruminative/Y/RMNTF +rummage/GRSD/RMK +rummager/M/RMK +Rummel/M/RML +rummer//RM +rummest//RMST +rummy/TRSM/RM +rumor/ZMRDSG/RM +rumored/U/RMRT +rumorer/M/RMR +rumormonger/SGMD/RMMNK +rump/GMYDS/RMP +Rumpelstiltskin/M/RMPLSTLTSKN +rumple/SDG/RMPL +rumply/TR/RMPL +rumpus/SM/RMPS +run/AS/RN +runabout/SM/RNBT +runaround/S/RNRNT +runaway/S/RNW +rundown/SM/RNTN +rune/MS/RN +rung/MS/RNK +Runge/M/RNK +runic//RNK +runlet/SM/RNLT +runnable//RNBL +runnel/SM/RNL +runner/MS/RN +running/S/RNN +runny/RT/RN +Runnymede/M/RNMT +runoff/MS/RNF +runt/MS/RNT +runtime//RNTM +runtiness/M/RNTNS +runty/RPT/RNT +runway/MS/RNW +Runyon/M/RNYN +rupee/MS/RP +Rupert/M/RPT +Ruperta/M/RPT +Ruperto/M/RPT +rupiah/M/RP +rupiahs//RPS +Ruppert/M/RPT +Ruprecht/M/RPRXT +rupture/GMSD/RPTR +rural/Y/RRL +rurality/M/RRLT +Rurik/M/RRK +ruse/MS/RS +rush/DSRGZ/RX +Rush/M/RX +Rushdie/M/RXT +rusher/M/RX +rushes/I/RXS +rushing/M/RXN +Rushmore/M/RXMR +rushy/RT/RX +rusk/MS/RSK +Ruskin/M/RSKN +Russ/S/RS +Russel/M/RSL +Russell/M/RSL +russet/MDS/RST +russetting//RSTN +Russia/M/RX +Russian/SM/RXN +Russo/M/RS +rust/MSDG/RST +Rustbelt/M/RSTBLT +rustic/S/RSTK +rustically//RSTKL +rusticate/GSD/RSTKT +rustication/M/RSTKXN +rusticity/S/RSTST +Rustie/M/RST +Rustin/M/RSTN +rustiness/MS/RSTNS +rustle/RSDGZ/RSTL +rustler/M/RSTL +rustproof/DGS/RSTPRF +Rusty/M/RST +rusty/XNRTP/RST +rut/MS/RT +rutabaga/SM/RTBK +Rutger/SM/RTK +Ruth/M/R@ +Ruthann/M/R@N +Ruthanne/M/R@N +Ruthe/M/R@ +ruthenium/MS/R@NM +Rutherford/M/R@FT +rutherfordium/SM/R@FTM +Ruthi/M/R@ +Ruthie/M/R@ +ruthless/YP/R@LS +ruthlessness/MS/R@LSNS +Ruthy/M/R@ +Rutland/M/RTLNT +Rutledge/M/RTLK +rutted//RTT +Rutter/M/RT +Ruttger/M/RTK +rutting//RTN +rutty/RT/RT +Ruy/M/R +RV//RF +RVs//RFS +Rwanda/SM/RWNT +Rwandan/S/RWNTN +Rwy/M/R +Rx/M/RKS +Ry/M/R +Ryan/M/RYN +Ryann/M/RYN +Rycca/M/RK +Rydberg/M/RTBK +Ryder/M/RT +rye/MS/RY +Ryley/M/RL +Ryon/M/RYN +Ryukyu/M/RYKY +Ryun/M/RYN +S//S +s/XJBG/S +SA//S +Saab/M/SB +Saar/M/S +Saba/M/SB +sabbath//SB@ +Sabbath/M/SB@ +Sabbaths//SB@S +sabbatical/S/SBTKL +saber/GSMD/SB +sabered/U/SBRT +Sabik/M/SBK +Sabin/M/SBN +Sabina/M/SBN +Sabine/M/SBN +sable/GMDS/SBL +sabot/MS/SBT +sabotage/DSMG/SBTK +saboteur/SM/SBT +Sabra/M/SBR +sabra/MS/SBR +Sabrina/M/SBRN +SAC//SK +sac/SM/SK +Sacajawea/M/SKKW +saccharides//SXRTS +saccharin/MS/SXRN +saccharine//SXRN +Sacco/M/SK +sacerdotal//SSTTL +Sacha/M/SX +sachem/MS/SXM +sachet/SM/SXT +Sachs/M/SXS +sack/GJDRMS/SK +sackcloth/M/SKKL@ +sackcloths//SKKL@S +sacker/M/SK +sackful/MS/SKFL +sacking/M/SKN +sacra/L/SKR +sacral//SKRL +sacrament/DMGS/SKRMNT +sacramental/S/SKRMNTL +Sacramento/M/SKRMNT +sacred/PY/SKRT +sacredness/S/SKRTNS +sacrifice/RSDZMG/SKRFS +sacrificer/M/SKRFS +sacrificial/Y/SKRFXL +sacrilege/MS/SKRLK +sacrilegious/Y/SKRLKS +sacristan/SM/SKRSTN +sacristy/MS/SKRST +sacroiliac/S/SKRLK +sacrosanct/P/SKRSNKT +sacrosanctness/MS/SKRSNKTNS +sacrum/M/SKRM +sad/PY/ST +Sada/M/ST +Sadat/M/STT +Saddam/M/STM +sadden/DSG/STN +sadder//ST +saddest//STST +saddle/UGDS/STL +saddlebag/SM/STLBK +saddler/M/STL +saddle's//STLS +Sadducee/M/STS +Sade/M/ST +Sadella/M/STL +sades//STS +Sadie/M/ST +sadism/MS/STSM +sadist/MS/STST +sadistic//STSTK +sadistically//STSTKL +sadness/SM/STNS +sadomasochism/MS/STMSXSM +sadomasochist/S/STMSXST +sadomasochistic//STMSXSTK +Sadr/M/STR +Sadye/M/STY +safari/GMDS/SFR +safe/URPTY/SF +safeguard/MDSG/SFKT +safekeeping/MS/SFKPN +safeness/MS/SFNS +safeness's/U/SFNSS +safes//SFS +safety/SDMG/SFT +safflower/SM/SFLW +saffron/MS/SFRN +sag/TSR/SK +saga/MS/SK +sagacious/YP/SKSS +sagaciousness/M/SKSSNS +sagacity/MS/SKST +Sagan/M/SKN +sage/MYPS/SK +sagebrush/SM/SKBRX +sagged//SKT +sagger//SK +sagging//SKN +saggy/RT/SK +Saginaw/M/SKN +Sagittarius/MS/SKTRS +sago/MS/SK +saguaro/SM/SKR +Sahara/M/SHR +Saharan/M/SHRN +Sahel//SHL +sahib/MS/SHB +said/U/ST +Saidee/M/ST +saids//STS +Saigon/M/SKN +sail/GJMDRS/SL +sailboard/DGS/SLBT +sailboat/SRMZG/SLBT +sailcloth/M/SLKL@ +sailcloths//SLKL@S +sailer/M/SL +sailfish/SM/SLFX +sailing/M/SLN +sailor/YMS/SL +sailplane/SDMG/SLPLN +saint/YDMGS/SNT +sainthood/MS/SN@T +saintlike//SNTLK +saintliness/MS/SNTLNS +saintly/RTP/SNTL +Saiph/M/SF +saith//S@ +saiths//S@S +Sakai/M/SK +sake/MRS/SK +saker/M/SK +Sakhalin/M/SKHLN +Sakharov/M/SKHRF +Saki/M/SK +saki's//SKS +Sal/MY/SL +salaam/GMDS/SLM +salable/U/SLBL +salacious/YP/SLSS +salaciousness/MS/SLSSNS +salacity/MS/SLST +salad/SM/SLT +Saladin/M/SLTN +Salado/M/SLT +Salaidh/M/SLTH +salamander/MS/SLMNT +salami/MS/SLM +salary/SDMG/SLR +Salas/M/SLS +Salazar/M/SLS +sale/ABMS/SL +saleability/M/SLBLT +Saleem/M/SLM +Salem/M/SLM +Salerno/M/SLN +salesclerk/SM/SLSKLK +salesgirl/SM/SLSKL +saleslady/S/SLSLT +salesman/M/SLSMN +salesmanship/SM/SLSMNXP +salesmen//SLSMN +salespeople/M/SLSPPL +salesperson/MS/SLSPSN +salesroom/M/SLSRM +saleswoman//SLSWMN +saleswomen//SLSWMN +salience/MS/SLNS +saliency//SLNS +salient/SY/SLNT +Salim/M/SLM +Salina/MS/SLN +saline/S/SLN +salinger//SLN +Salinger/M/SLN +salinity/MS/SLNT +Salisbury/M/SLSBR +Salish/M/SLX +saliva/MS/SLF +salivary//SLFR +salivate/XNGSD/SLFT +salivation/M/SLFXN +Salk/M/SLK +Salle/M/SL +Sallee/M/SL +Salli/M/SL +Sallie/M/SL +sallow/TGRDSP/SL +sallowness/MS/SLNS +Sallust/M/SLST +sally/GSDM/SL +Sally/M/SL +Sallyann/M/SLYN +Sallyanne/M/SLYN +Salmon/M/SLMN +salmon/SM/SLMN +salmonella/M/SLMNL +salmonellae//SLMNL +Saloma/M/SLM +Salome/M/SLM +Salomi/M/SLM +Salomo/M/SLM +Salomon/M/SLMN +Salomone/M/SLMN +salon/SM/SLN +Salonika/M/SLNK +saloon/MS/SLN +saloonkeeper//SLNKP +salsa/MS/SLS +salsify/M/SLSF +SALT//SLT +salt/GZTPMDRS/SLT +saltcellar/SM/SLTSL +salted/UC/SLTT +salter/M/SLT +saltine/MS/SLTN +saltiness/SM/SLTNS +saltness/M/SLTNS +Salton/M/SLTN +saltpeter/SM/SLTPT +salts/C/SLTS +saltshaker/S/SLTXK +saltwater//SLTWT +salty/RSPT/SLT +salubrious/YP/SLBRS +salubriousness/M/SLBRSNS +salubrity/M/SLBRT +salutariness/M/SLTRNS +salutary/P/SLTR +salutation/SM/SLTXN +salutatory/S/SLTTR +salute/RSDG/SLT +saluter/M/SLT +Salvador/M/SLFT +Salvadoran/S/SLFTRN +Salvadorian/S/SLFTRN +salvage/MGRSD/SLFK +salvageable//SLFKBL +salvager/M/SLFK +salvation/MS/SLFXN +Salvatore/M/SLFTR +salve/GZMDSR/SLF +salver/M/SLF +Salvidor/M/SLFT +salvo/GMDS/SLF +Salween/M/SLWN +Salyut/M/SLYT +Salz/M/SLS +SAM//SM +Sam/M/SM +Samantha/M/SMN@ +Samara/M/SMR +Samaria/M/SMR +Samaritan/MS/SMRTN +samarium/MS/SMRM +Samarkand/M/SMKNT +samba/GSDM/SMB +same/SP/SM +sameness/MS/SMNS +Sammie/M/SM +Sammy/M/SM +Samoa//SM +Samoan/S/SMN +Samoset/M/SMST +samovar/SM/SMF +Samoyed/M/SMYT +sampan/MS/SMPN +sample/RSDJGMZ/SMPL +sampler/M/SMPL +sampling/M/SMPLN +Sampson/M/SMPSN +Samson/M/SMSN +Samsonite/M/SMSNT +Samuel/SM/SML +Samuele/M/SML +Samuelson/M/SMLSN +samurai/M/SMR +San/M/SN +San'a//SN +Sana/M/SN +sanatorium/MS/SNTRM +Sanborn/M/SNBN +Sanchez/M/SNXS +Sancho/M/SNX +sanctification/M/SNKTFKXN +sanctifier/M/SNKTF +sanctify/RSDGNX/SNKTF +sanctimonious/PY/SNKTMNS +sanctimoniousness/MS/SNKTMNSNS +sanctimony/MS/SNKTMN +sanction/SMDG/SNKXN +sanctioned/U/SNKXNT +sanctity/SM/SNKTT +sanctuary/MS/SNKTR +sanctum/SM/SNKTM +Sand/MRZ/SNT +sand/SMDRGZ/SNT +sandal/MDGS/SNTL +sandalwood/SM/SNTLWT +sandbag/MS/SNTBK +sandbagged//SNTBKT +sandbagging//SNTBKN +sandbank/SM/SNTBNK +sandbar/S/SNTB +sandblast/GZSMRD/SNTBLST +sandblaster/M/SNTBLST +sandbox/MS/SNTBKS +Sandburg/M/SNTBK +sandcastle/S/SNTKSTL +Sande/M/SNT +sander/M/SNT +Sander/M/SNT +Sanderling/M/SNTLN +Sanderson/M/SNTSN +sandhill//SNTHL +sandhog/SM/SNTHK +Sandi/M/SNT +Sandia/M/SNT +Sandie/M/SNT +sandiness/S/SNTNS +Sandinista//SNTNST +sandlot/SM/SNTLT +sandlotter/S/SNTLT +sandman/M/SNTMN +sandmen//SNTMN +Sandor/M/SNT +Sandoval/M/SNTFL +sandpaper/DMGS/SNTPP +sandpile//SNTPL +sandpiper/MS/SNTPP +sandpit/M/SNTPT +Sandra/M/SNTR +Sandro/M/SNTR +sandstone/MS/SNTSTN +sandstorm/SM/SNTSTM +Sandusky/M/SNTSK +sandwich/SDMG/SNTWX +Sandy/M/SNT +sandy/PRT/SNT +Sandye/M/SNTY +sane/IRYTP/SN +saned//SNT +saneness/MS/SNNS +saneness's/I/SNNSS +sanes//SNS +Sanford/M/SNFT +Sanforized//SNFRST +Sang/RM/SNK +sang/S/SNK +Sanger/M/SNK +sangfroid/S/SNKFRT +sangria/SM/SNKR +sanguinary//SNKNR +sanguine/F/SNKN +sanguined//SNKNT +sanguinely//SNKNL +sanguineness/M/SNKNNS +sanguineous/F/SNKNS +sanguines//SNKNS +sanguining//SNKNN +Sanhedrin/M/SNHTRN +saning//SNN +sanitarian/S/SNTRN +sanitarium/SM/SNTRM +sanitary/S/SNTR +sanitate/NX/SNTT +sanitation/M/SNTXN +sanitize/RSDZG/SNTS +sanitizer/M/SNTS +sanity/SIM/SNT +sank//SNK +Sankara/M/SNKR +sans//SNS +sanserif//SNSRF +Sanskrit/M/SNSKRT +Sanskritic//SNSKRTK +Sanskritize/M/SNSKRTS +Sanson/M/SNSN +Sansone/M/SNSN +Santa/M/SNT +Santana/M/SNTN +Santayana/M/SNTYN +Santeria//SNTR +Santiago/M/SNXK +Santo/MS/SNT +sap/MS/SP +sapience/MS/SPNS +sapient//SPNT +sapless//SPLS +sapling/SM/SPLN +sapped//SPT +sapper/SM/SP +Sapphira/M/SFR +Sapphire/M/SFR +sapphire/MS/SFR +Sappho/M/SF +sappiness/SM/SPNS +sapping//SPN +Sapporo/M/SPR +sappy/RPT/SP +saprophyte/MS/SPRFT +saprophytic//SPRFTK +sapsucker/SM/SPSK +sapwood/SM/SPWT +Sara/M/SR +Saraann/M/SRN +Saracen/MS/SRSN +Saragossa/M/SRKS +Sarah/M/SR +Sarajane/M/SRKN +Sarajevo/M/SRKF +Saran/M/SRN +saran/SM/SRN +sarape's//SRPS +Sarasota/M/SRST +Saratoga/M/SRTK +Saratov/M/SRTF +Sarawak/M/SRWK +sarcasm/MS/SKSM +sarcastic//SKSTK +sarcastically//SKSTKL +sarcoma/MS/SKM +sarcophagi//SKFK +sarcophagus/M/SKFKS +sardine/SDMG/STN +Sardinia/M/STN +sardonic//STNK +sardonically//STNKL +Saree/M/SR +Sarena/M/SRN +Sarene/M/SRN +Sarette/M/SRT +Sargasso/M/SKS +Sarge/M/SK +sarge/SM/SK +Sargent/M/SKNT +Sargon/M/SKN +Sari/M/SR +sari/MS/SR +Sarina/M/SRN +Sarine/M/SRN +Sarita/M/SRT +Sarnoff/M/SNF +sarong/MS/SRNK +Saroyan/M/SRYN +sarsaparilla/MS/SSPRL +Sarto/M/ST +sartorial/Y/STRL +sartorius/M/STRS +Sartre/M/STR +Sascha/M/SSX +SASE//SS +sash/GMDS/SX +Sasha/M/SX +sashay/GDS/SX +Sashenka/M/SXNK +Sask/M/SSK +Saskatchewan/M/SSKXWN +Saskatoon/M/SSKTN +sass/GDSM/SS +sassafras/MS/SSFRS +Sassoon/M/SSN +sassy/TRS/SS +SAT//ST +sat/DG/ST +Sat/M/ST +Satan/M/STN +satanic//STNK +satanical/Y/STNKL +Satanism/M/STNSM +satanism/S/STNSM +Satanist/M/STNST +satanist/S/STNST +satchel/SM/SXL +sate/S/ST +sateen/MS/STN +satellite/GMSD/STLT +satiable/I/SXBL +satiate/GNXSD/SXT +satiation/M/SXXN +satiety/MS/STT +satin/MDSG/STN +satinwood/MS/STNWT +satiny//STN +satire/SM/STR +satiric//STRK +satirical/Y/STRKL +satirist/SM/STRST +satirize/DSG/STRS +satirizes/U/STRSS +satisfaction/ESM/STSFKXN +satisfactorily/U/STSFKTRL +satisfactoriness/MU/STSFKTRNS +satisfactory/UP/STSFKTR +satisfiability/U/STSFBLT +satisfiable/U/STSFBL +satisfied/UE/STSFT +satisfier/M/STSF +satisfies/E/STSFS +satisfy/GZDRS/STSF +satisfying/EU/STSFYN +satisfyingly//STSFYNL +satori/SM/STR +satrap/SM/STRP +saturate/XDRSNG/STRT +saturated/CUA/STRTT +saturater/M/STRT +saturates/A/STRTS +saturation/M/STRXN +Saturday/MS/STT +Saturn/M/STN +saturnalia//STNL +Saturnalia/M/STNL +saturnine/Y/STNN +Satyanarayanan/M/STYNRYNN +satyr/MS/STR +satyriases//STRSS +satyriasis/M/STRSS +satyric//STRK +sauce/DSRGZM/SS +saucepan/SM/SSPN +saucer/M/SS +saucily//SSL +sauciness/S/SSNS +saucy/TRP/SS +Saud/M/ST +Saudi/S/ST +Saudra/M/STR +sauerkraut/SM/SKRT +Saukville/M/SKFL +Saul/M/SL +Sault/M/SLT +sauna/DMSG/SN +Sauncho/M/SNX +Saunder/SM/SNT +Saunderson/M/SNTSN +Saundra/M/SNTR +saunter/DRSG/SNT +saurian/S/SRN +sauropod/SM/SRPT +sausage/MS/SSK +Saussure/M/SSR +sauté/DGS/ST +Sauternes/M/STNS +Sauveur/M/SF +savage/GTZYPRSD/SFK +Savage/M/SFK +savageness/SM/SFKNS +savagery/MS/SFKR +savanna/MS/SFN +Savannah/M/SFN +savant/SM/SFNT +save/ZGJDRSB/SF +saved/U/SFT +saveloy/M/SFL +saver/M/SF +Savina/M/SFN +Savior/M/SF +savior/SM/SF +Saviour/M/SF +Savonarola/M/SFNRL +savor/SMRDGZ/SF +savored/U/SFRT +savorer/M/SFR +savorier//SFR +savoriest//SFRST +savoriness/S/SFRNS +savoring/Y/SFRN +savoringly/S/SFRNL +savory/UMPS/SFR +Savoy/M/SF +savoy/SM/SF +Savoyard/M/SFYT +savvy/GTRSD/SFF +Saw/M/S +saw/SMDRG/S +sawbones/M/SBNS +sawbuck/SM/SBK +sawdust/MDSG/STST +sawer/M/SW +sawfly/SM/SFL +sawhorse/MS/SHS +sawmill/SM/SML +sawtooth//ST@ +Sawyer/M/SY +sawyer/MS/SY +Sawyere/M/SYR +Sax/M/SKS +sax/MS/SKS +Saxe/M/SKS +saxifrage/SM/SKSFRK +Saxon/SM/SKSN +Saxony/M/SKSN +saxophone/MS/SKSFN +saxophonist/SM/SKSFNST +Saxton/M/SKSTN +say/USG/S +Say/ZMR/S +Sayer/M/SY +sayer/SM/SY +sayest//SYST +saying/MS/SYN +Sayre/MS/SR +says/M/SS +Sb/M/SB +SBA//SB +SC//SK +Sc/M/SK +scab/SM/SKB +scabbard/SGDM/SKBT +scabbed//SKBT +scabbiness/SM/SKBNS +scabbing//SKBN +scabby/RTP/SKB +scabies/M/SKBS +scabrous/YP/SKBRS +scabrousness/M/SKBRSNS +scad/SM/SKT +scaffold/JGDMS/SKFLT +scaffolding/M/SKFLTN +Scala/M/SKL +scalability//SKLBLT +scalar/SM/SKL +scalawag/SM/SKLWK +scald/GJRDS/SKLT +scale/JGZMBDSR/SKL +scaled/AU/SKLT +scaleless//SKLLS +scalene//SKLN +scaler/M/SKL +scales/A/SKLS +scaliness/MS/SKLNS +scaling/A/SKLN +scallion/MS/SKLN +scallop/GSMDR/SKLP +scalloper/M/SKLP +scalloping/M/SKLPN +scalp/GZRDMS/SKLP +scalpel/SM/SKLPL +scalper/M/SKLP +scalping/M/SKLPN +scaly/TPR/SKL +scam/SM/SKM +scammed//SKMT +scamming//SKMN +scamp/RDMGZS/SKMP +scamper/GD/SKMP +scampi/M/SKMP +Scan//SKN +scan/AS/SKN +scandal/GMDS/SKNTL +scandalize/GDS/SKNTLS +scandalized/U/SKNTLST +scandalmonger/SM/SKNTLMNK +scandalous/YP/SKNTLS +scandalousness/M/SKNTLSNS +Scandinavia/M/SKNTNF +Scandinavian/S/SKNTNFN +scandium/MS/SKNTM +scanned/A/SKNT +scanner/SM/SKN +scanning/A/SKNN +scansion/SM/SKNXN +scant/CDRSG/SKNT +scantest//SKNTST +scantily//SKNTL +scantiness/MS/SKNTNS +scantly//SKNTL +scantness/MS/SKNTNS +scanty/TPRS/SKNT +scape/M/SKP +scapegoat/SGDM/SKPKT +scapegrace/MS/SKPKRS +scapula/M/SKPL +scapulae//SKPL +scapular/S/SKPL +scar/DRMSG/SK +scarab/SM/SKRB +Scaramouch/M/SKRMX +Scarborough/M/SKBR +scarce/RTYP/SKS +scarceness/SM/SKSNS +scarcity/MS/SKST +scare/S/SKR +scarecrow/MS/SKRKR +scaremonger/SGM/SKRMNK +scaremongering/M/SKRMNKRN +scarer/M/SKR +scarf/SDGM/SKF +scarface//SKFS +Scarface/M/SKFS +scarification/M/SKRFKXN +scarify/DRSNGX/SKRF +scarily//SKRL +scariness/S/SKRNS +scarlatina/MS/SKLTN +Scarlatti/M/SKLT +Scarlet/M/SKLT +scarlet/MDSG/SKLT +Scarlett/M/SKLT +scarp/SDMG/SKP +scarred//SKRT +scarring//SKRN +scarves/M/SKFS +scary/PTR/SKR +scat/S/SKT +scathe/DG/SK@ +scathed/U/SK@T +scathing/Y/SK@N +scatological//SKTLKKL +scatology/SM/SKTLK +scatted//SKTT +scatter/DRJZSG/SKT +scatterbrain/MDS/SKTBRN +scatterer/M/SKTR +scattergun//SKTKN +scattering/YM/SKTRN +scatting//SKTN +scavenge/GDRSZ/SKFNK +scavenger/M/SKFNK +SCCS//SKS +scenario/SM/SNR +scenarist/MS/SNRST +scene/GMDS/SN +scenery/SM/SNR +scenic/S/SNK +scenically//SNKL +scent/GDMS/SNT +scented/U/SNTT +scentless//SNTLS +scents/C/SNTS +scent's/C/SNTS +scepter/DMSG/SPT +scepters/U/SPTS +sceptically//SPTKL +sch//SX +Schaefer/M/SXF +Schaeffer/M/SXF +Schafer/M/SXF +Schaffner/M/SXFN +Schantz/M/SXNTS +Schapiro/M/SXPR +Scheat/M/SKT +Schedar/M/SKT +schedule/ADSRG/SKTL +scheduled/U/SKTLT +scheduler/MS/SKTL +schedule's//SKTLS +Scheherazade/M/SKHRST +Scheherezade/M/SKHRST +Schelling/M/SKLN +schema/M/SKM +schemata//SKMT +schematic/S/SKMTK +schematically//SKMTKL +scheme/JSRDGMZ/SKM +schemer/M/SKM +schemta//SKMT +Schenectady/M/SKNKTT +scherzo/MS/SKS +Schick/M/SXK +Schiller/M/SXL +schilling/SM/SXLN +schism/SM/SXSM +schismatic/S/SXSMTK +schist/SM/SXST +schizo/S/SXS +schizoid/S/SXST +schizomycetes//SXSMSTS +schizophrenia/SM/SXSFRN +schizophrenic/S/SXSFRNK +schizophrenically//SXSFRNKL +schlemiel/MS/SXLML +schlep/S/SXLP +schlepped//SXLPT +schlepping//SXLPN +Schlesinger/M/SXLSN +Schliemann/M/SXLMN +Schlitz/M/SXLTS +schlock/SM/SXLK +schlocky/TR/SXLK +Schloss/M/SXLS +schmaltz/MS/SXMLTS +schmaltzy/TR/SXMLTS +Schmidt/M/SXMTT +Schmitt/M/SXMT +schmo/M/SXM +schmoes//SXMS +schmooze/GSD/SXMS +schmuck/MS/SXMK +Schnabel/M/SXNBL +schnapps/M/SXNPS +schnauzer/MS/SXNS +Schneider/M/SXNT +schnitzel/MS/SXNTSL +schnook/SM/SXNK +schnoz/S/SXNS +schnozzle/MS/SXNSL +Schoenberg/M/SKNBK +Schofield/M/SKFLT +scholar/SYM/SKL +scholarship/MS/SKLXP +scholastic/S/SKLSTK +scholastically//SKLSTKL +school/ZGMRDJS/SKL +schoolbag/SM/SKLBK +schoolbook/SM/SKLBK +schoolboy/MS/SKLB +schoolchild/M/SKLXLT +schoolchildren//SKLXLTRN +schooldays//SKLTS +schooled/U/SKLT +schoolfellow/S/SKLFL +schoolfriend//SKLFRNT +schoolgirl/MS/SKLKL +schoolgirlish//SKLKLX +schoolhouse/MS/SKLHS +schooling/M/SKLN +schoolmarm/MS/SKLMM +schoolmarmish//SKLMMX +schoolmaster/SGDM/SKLMST +schoolmate/MS/SKLMT +schoolmistress/MS/SKLMSTRS +schoolroom/SM/SKLRM +schoolteacher/MS/SKLTX +schoolwork/SM/SKLWK +schoolyard/SM/SKLYT +schooner/SM/SKN +Schopenhauer/M/SKPNH +Schottky/M/SKTK +Schrieffer/M/SXRF +Schrödinger/M/SXRTN +Schroeder/M/SXRT +Schroedinger/M/SXRTN +Schubert/M/SKBT +Schultz/M/SKLTS +Schulz/M/SKLS +Schumacher/M/SKMX +Schuman/M/SKMN +Schumann/M/SKMN +schuss/SDMG/SKS +schussboomer/S/SKSBM +Schuster/M/SKST +Schuyler/M/SKL +Schuylkill/M/SKLKL +schwa/SM/SXW +Schwab/M/SXWB +Schwartz/M/SXWTS +Schwartzkopf/M/SXWTSKPF +Schwarzenegger/M/SXWSNK +Schweitzer/M/SXWTS +Schweppes/M/SXWPS +Schwinger/M/SXWN +Schwinn/M/SXWN +sci//S +sciatic/S/STK +sciatica/SM/STK +science/FMS/SNS +scientific/U/SNTFK +scientifically/U/SNTFKL +scientist/SM/SNTST +Scientology/M/SNTLK +scimitar/SM/SMT +scintilla/MS/SNTL +scintillate/GNDSX/SNTLT +scintillation/M/SNTLXN +scintillator/SM/SNTLT +scion/SM/SN +Scipio/M/SP +scissor/SGD/SS +scleroses//SKLRSS +sclerosis/M/SKLRSS +sclerotic/S/SKLRTK +scoff/RDGZS/SKF +scoffer/M/SKF +scofflaw/MS/SKFL +scold/GSJRD/SKLT +scolder/M/SKLT +scolioses//SKLSS +scoliosis/M/SKLSS +scollop's//SKLPS +sconce/SDGM/SKNS +scone/SM/SKN +scoop/SRDMG/SKP +scooper/M/SKP +scoot/SRDGZ/SKT +scooter/M/SKT +scope/DSGM/SKP +Scopes/M/SKPS +scops//SKPS +scorbutic//SKBTK +scorch/ZGRSD/SKX +scorcher/M/SKX +scorching/Y/SKXN +score/ZMDSRJG/SKR +scoreboard/MS/SKRBT +scorecard/MS/SKRKT +scored/M/SKRT +scorekeeper/SM/SKRKP +scoreless//SKRLS +scoreline//SKRLN +scorn/SGZMRD/SKN +scorner/M/SKN +scornful/PY/SKNFL +scornfulness/M/SKNFLNS +Scorpio/SM/SKP +scorpion/SM/SKPN +Scorpius/M/SKPS +Scorsese/M/SKSS +Scot/MS/SKT +scotch/MSDG/SKX +Scotch/S/SKX +Scotchgard/M/SKXKT +Scotchman/M/SKXMN +Scotchmen//SKXMN +scotchs//SKXS +Scotchwoman//SKXWMN +Scotchwomen//SKXWMN +Scotia/M/SKX +Scotian/M/SKXN +Scotland/M/SKTLNT +Scotsman/M/SKTSMN +Scotsmen//SKTSMN +Scotswoman//SKTSWMN +Scotswomen//SKTSWMN +Scott/M/SKT +Scotti/M/SKT +Scottie/SM/SKT +Scottish//SKTX +Scottsdale/M/SKTSTL +Scotty's//SKTS +scoundrel/YMS/SKNTRL +scour/SRDGZ/SK +scourer/M/SKR +scourge/MGRSD/SKK +scourger/M/SKK +scouring/M/SKRN +scout/SRDMJG/SKT +scouter/M/SKT +scouting/M/SKTN +scoutmaster/SM/SKTMST +Scout's//SKTS +scow/DMGS/SK +scowl/SRDG/SKL +scowler/M/SKL +scrabble/DRSZG/SKRBL +Scrabble/SM/SKRBL +scrabbler/M/SKRBL +scrag/SM/SKRK +scragged//SKRKT +scragging//SKRKN +scraggly/TR/SKRKL +scraggy/TR/SKRK +scram/S/SKRM +scramble/UDSRG/SKRMBL +scrambler/MS/SKRMBL +scrambler's/U/SKRMBLS +scrammed//SKRMT +scramming//SKRMN +Scranton/M/SKRNTN +scrap/SGZJRDM/SKRP +scrapbook/SM/SKRPBK +scrape/S/SKRP +scraper/M/SKRP +scrapheap/SM/SKRFP +scrapped//SKRPT +scrapper/SM/SKRP +scrapping//SKRPN +scrappy/RT/SKRP +scrapyard/S/SKRPYT +scratch/JDRSZG/SKRX +scratched/U/SKRXT +scratcher/M/SKRX +scratches/M/SKRXS +scratchily//SKRXL +scratchiness/S/SKRXNS +scratchy/TRP/SKRX +scrawl/GRDS/SKRL +scrawler/M/SKRL +scrawly/RT/SKRL +scrawniness/MS/SKRNNS +scrawny/TRP/SKRN +scream/ZGSRD/SKRM +screamer/M/SKRM +screaming/Y/SKRMN +scree/DSM/SKR +screech/GMDRS/SKRX +screecher/M/SKRX +screechy/TR/SKRX +screed/MS/SKRT +screen/RDMJSG/SKRN +screened/U/SKRNT +screening/M/SKRNN +screenplay/MS/SKRNPL +screenwriter/MS/SKRNRT +screw/GUSD/SKR +screwball/SM/SKRBL +screwdriver/SM/SKRTRF +screwer/M/SKRW +screwiness/S/SKRWNS +screw's//SKRS +screwup//SKRWP +screwworm/MS/SKRWM +screwy/RTP/SKR +Scriabin/M/SKRBN +scribal//SKRBL +scribble/JZDRSG/SKRBL +scribbler/M/SKRBL +scribe/CDRSGIK/SKRB +scriber/MKIC/SKRB +scribe's//SKRBS +Scribner/MS/SKRBN +scrim/SM/SKRM +scrimmage/RSDMG/SKRMK +scrimmager/M/SKRMK +scrimp/DGS/SKRMP +scrimshaw/GSDM/SKRMX +scrip/SM/SKRP +Scripps/M/SKRPS +script/FGMDS/SKRPT +scripted/U/SKRPTT +scriptural/Y/SKRPTRL +scripture/MS/SKRPTR +Scripture/MS/SKRPTR +scriptwriter/SM/SKRPTRT +scriptwriting/M/SKRPTRTN +scriven/ZR/SKRFN +scrivener/M/SKRFN +scrod/M/SKRT +scrofula/MS/SKRFL +scrofulous//SKRFLS +scroll/GMDSB/SKRL +scrollbar/SM/SKRLB +Scrooge/MS/SKRK +scrooge/SDMG/SKRK +scrota//SKRT +scrotal//SKRTL +scrotum/M/SKRTM +scrounge/ZGDRS/SKRNK +scroungy/TR/SKRNK +scrub/S/SKRB +scrubbed//SKRBT +scrubber/MS/SKRB +scrubbing//SKRBN +scrubby/TR/SKRB +scruff/SM/SKRF +scruffily//SKRFL +scruffiness/S/SKRFNS +scruffy/PRT/SKRF +Scruggs/M/SKRKS +scrum/MS/SKRM +scrummage/MG/SKRMK +scrumptious/Y/SKRMPXS +scrunch/DSG/SKRNX +scrunchy/S/SKRNX +scruple/SDMG/SKRPL +scrupulosity/SM/SKRPLST +scrupulous/UPY/SKRPLS +scrupulousness/US/SKRPLSNS +scrupulousness's//SKRPLSNSS +scrutable/I/SKRTBL +scrutinize/RSDGZ/SKRTNS +scrutinized/U/SKRTNST +scrutinizer/M/SKRTNS +scrutinizing/UY/SKRTNSN +scrutinizingly/S/SKRTNSNL +scrutiny/MS/SKRTN +SCSI//SKS +scuba/SDMG/SKB +Scud/M/SKT +scud/S/SKT +scudded//SKTT +scudding//SKTN +scuff/GSD/SKF +scuffle/SDG/SKFL +scull/SRDMGZ/SKL +sculler/M/SKL +scullery/MS/SKLR +Sculley/M/SKL +scullion/MS/SKLN +sculpt/SDG/SKLPT +sculptor/MS/SKLPT +sculptress/MS/SKLPTRS +sculptural/Y/SKLPTRL +sculpture/SDGM/SKLPTR +scum/MS/SKM +scumbag/S/SKMBK +scummed//SKMT +scumming//SKMN +scummy/TR/SKM +scupper/SDMG/SKP +scurf/MS/SKF +scurfy/TR/SKF +scurrility/MS/SKRLT +scurrilous/PY/SKRLS +scurrilousness/MS/SKRLSNS +scurry/GJSD/SKR +scurvily//SKFL +scurviness/M/SKFNS +scurvy/SRTP/SKF +scutcheon/SM/SKXN +scuttle/MGSD/SKTL +scuttlebutt/MS/SKTLBT +scuzzy/RT/SKS +Scylla/M/SL +scythe/SDGM/S@ +Scythia/M/S@ +SD//ST +SDI//ST +SE//S +Se/H/S +sea/MYS/S +seabed/S/SBT +seabird/S/SBT +seaboard/MS/SBT +Seaborg/M/SBK +seaborne//SBN +Seabrook/M/SBRK +seacoast/MS/SKST +seafare/JRZG/SFR +seafarer/M/SFR +seafood/MS/SFT +seafront/MS/SFRNT +Seagate/M/SKT +seagoing//SKN +Seagram/M/SKRM +seagull/S/SKL +seahorse/S/SHS +seal/MDRSGZ/SL +sealant/MS/SLNT +sealed/AU/SLT +sealer/M/SL +seals/UA/SLS +sealskin/SM/SLSKN +seam/MNDRGS/SM +seamail//SML +seaman/YM/SMN +seamanship/SM/SMNXP +seamer/M/SM +seaminess/M/SMNS +seamless/PY/SMLS +seamlessness/M/SMLSNS +seams/I/SMS +seamstress/MS/SMSTRS +Seamus/M/SMS +seamy/TRP/SM +Sean/M/SN +Seana/M/SN +séance/SM/SNS +seaplane/SM/SPLN +seaport/SM/SPT +seaquake/M/SKK +Seaquarium/M/SKRM +sear/DRSJGT/S +search/RSDAGZ/SX +searcher/AM/SX +searching/YS/SXN +searchlight/SM/SXLT +searing/Y/SRN +Sears/M/SS +seascape/SM/SSKP +seashell/MS/SXL +seashore/SM/SXR +seasick/P/SSK +seasickness/SM/SSKNS +seaside/SM/SST +season/JRDYMBZSG/SSN +seasonable/UP/SSNBL +seasonableness/M/SSNBLNS +seasonably/U/SSNBL +seasonal/Y/SSNL +seasonality//SSNLT +seasoned/U/SSNT +seasoner/M/SSN +seasoning/M/SSNN +seat/UDSG/ST +seatbelt//STBLT +seated/A/STT +seater/M/ST +seating/SM/STN +SEATO//ST +seat's//STS +Seattle/M/STL +seawall/S/SWL +seaward/S/SWT +seawater/S/SWT +seaway/MS/SW +seaweed/SM/SWT +seaworthiness/MU/SW@NS +seaworthinesses//SW@NSS +seaworthy/TRP/SW@ +sebaceous//SBSS +Sebastian/M/SBSXN +Sebastiano/M/SBSXN +Sebastien/M/SBSTN +seborrhea/SM/SBRH +SEC//SK +sec/S/SK +secant/SM/SKNT +secede/GRSD/SST +secession/MS/SSXN +secessionist/MS/SSXNST +seclude/GSD/SKLT +secluded/YP/SKLTT +secludedness/M/SKLTTNS +seclusion/SM/SKLXN +seclusive//SKLSF +Seconal//SKNL +second/RDYZGSL/SKNT +secondarily//SKNTRL +secondary/PS/SKNTR +seconder/M/SKNT +secondhand//SKNTHNT +secrecy/MS/SKRS +secret/TVGRDYS/SKRT +secretarial//SKRTRL +secretariat/MS/SKRTRT +secretary/SM/SKRTR +secretaryship/MS/SKRTRXP +secrete/XNS/SKRT +secretion/M/SKRXN +secretive/PY/SKRTF +secretiveness/S/SKRTFNS +secretory//SKRTR +sect/ISM/SKT +sectarian/S/SKTRN +sectarianism/MS/SKTRNSM +sectary/MS/SKTR +section/ASEM/SKXN +sectional/SY/SKXNL +sectionalism/MS/SKXNLSM +sectionalized//SKXNLST +sectioned//SKXNT +sectioning//SKXNN +sector/EMS/SKT +sectoral//SKTRL +sectored//SKTRT +sectoring//SKTRN +sects/E/SKTS +secular/SY/SKL +secularism/MS/SKLRSM +secularist/MS/SKLRST +secularity/M/SKLRT +secularization/MS/SKLRSXN +secularize/GSD/SKLRS +secularized/U/SKLRST +secure/PGTYRSDJ/SKR +secured/U/SKRT +securely/I/SKRL +security/MSI/SKRT +sec'y//SK +secy//SS +sedan/SM/STN +sedate/PXVNGTYRSD/STT +sedateness/SM/STTNS +sedation/M/STXN +sedative/S/STTF +sedentary//STNTR +Seder/SM/ST +sedge/SM/SK +Sedgwick/M/STKWK +sedgy/RT/SK +sediment/SGDM/STMNT +sedimentary//STMNTR +sedimentation/SM/STMNTXN +sedition/SM/STXN +seditious/PY/STXS +seditiousness/M/STXSNS +seduce/RSDGZ/STS +seducer/M/STS +seduction/MS/STKXN +seductive/YP/STKTF +seductiveness/MS/STKTFNS +seductress/SM/STKTRS +sedulous/Y/STLS +See/M/S +see/U/S +Seebeck/M/SBK +seed/ADSG/ST +seedbed/MS/STBT +seedcase/SM/STKS +seeded/U/STT +seeder/MS/ST +seediness/MS/STNS +seeding/S/STN +seedless//STLS +seedling/SM/STLN +seedpod/S/STPT +seed's//STS +seedy/TPR/ST +seeing/U/SN +seeings//SNS +seeing's//SNS +seek/GZSR/SK +seeker/M/SK +seeking/Y/SKN +Seeley/M/SL +seem/GJSYD/SM +seeming/Y/SMN +seemliness/US/SMLNS +seemliness's//SMLNSS +seemly/UTPR/SML +seen/U/SN +seep/GSD/SP +seepage/MS/SPK +seer/SM/S +seersucker/MS/SSK +sees//SS +seesaw/DMSG/SS +seethe/SDGJ/S@ +segment/SGDM/SKMNT +segmental/Y/SKMNTL +segmentation/SM/SKMNTXN +segmented/U/SKMNTT +Segovia/M/SKF +Segre/M/SKR +segregant//SKRKNT +segregate/XCNGSD/SKRKT +segregated/U/SKRKTT +segregation/CM/SKRKXN +segregationist/SM/SKRKXNST +segregative//SKRKTF +segue/DS/SK +segueing//SKN +Segundo/M/SKNT +Seidel/M/STL +seigneur/MS/SKN +seignior/SM/SKN +Seiko/M/SK +seine/GZMDSR/SN +Seine/M/SN +seiner/M/SN +Seinfeld/M/SNFLT +seismic//SSMK +seismically//SSMKL +seismograph/ZMR/SSMKRF +seismographer/M/SSMKRF +seismographic//SSMKRFK +seismographs//SSMKRFS +seismography/SM/SSMKRF +seismologic//SSMLKK +seismological//SSMLKKL +seismologist/MS/SSMLKST +seismology/SM/SSMLK +seismometer/S/SSMMT +seize/BJGZDSR/SS +seizer/M/SS +seizin/MS/SSN +seizing/M/SSN +seizor/MS/SS +seizure/MS/SSR +Seka/M/SK +Sela/M/SL +Selassie/M/SLS +Selby/M/SLB +seldom//SLTM +select/PDSVGB/SLKT +selected/UAC/SLKTT +selection/MS/SLKXN +selectional//SLKXNL +selective/YP/SLKTF +selectiveness/M/SLKTFNS +selectivity/MS/SLKTFT +selectman/M/SLKTMN +selectmen//SLKTMN +selectness/SM/SLKTNS +selector/SM/SLKT +Selectric/M/SLKTRK +selects/A/SLKTS +Selena/M/SLN +selenate/M/SLNT +Selene/M/SLN +selenite/M/SLNT +selenium/MS/SLNM +selenographer/SM/SLNKRF +selenography/MS/SLNKRF +Selestina/M/SLSTN +Seleucid/M/SLST +Seleucus/M/SLKS +self/GPDMS/SLF +selfish/PUY/SLFX +selfishness/SU/SLFXNS +selfless/YP/SLFLS +selflessness/MS/SLFLSNS +selfness/M/SLFNS +Selfridge/M/SLFRK +selfsame/P/SLFSM +selfsameness/M/SLFSMNS +Selia/M/SL +Selie/M/SL +Selig/M/SLK +Selim/M/SLM +Selina/M/SLN +Selinda/M/SLNT +Seline/M/SLN +Seljuk/M/SLKK +Selkirk/M/SLKK +sell/AZGSR/SL +Sella/M/SL +Selle/ZM/SL +seller/AM/SL +Sellers/M/SLS +sellout/MS/SLT +Selma/M/SLM +seltzer/S/SLTS +selvage/MGSD/SLFK +selves/M/SLFS +Selznick/M/SLSNK +semantic/S/SMNTK +semantical/Y/SMNTKL +semanticist/SM/SMNTSST +semantics/M/SMNTKS +semaphore/GMSD/SMFR +Semarang/M/SMRNK +semblance/ASME/SMBLNS +semen/SM/SMN +semester/SM/SMST +semi/SM/SM +semiannual/Y/SMNL +semiarid//SMRT +semiautomated//SMTMTT +semiautomatic/S/SMTMTK +semicircle/SM/SMSKL +semicircular//SMSKL +semicolon/MS/SMKLN +semiconductor/SM/SMKNTKT +semiconscious//SMKNSS +semidefinite//SMTFNT +semidetached//SMTTXT +semidrying/M/SMTRYN +semifinal/MS/SMFNL +semifinalist/MS/SMFNLST +semilogarithmic//SMLKR@MK +semimonthly/S/SMMN@L +seminal/Y/SMNL +seminar/SM/SMN +seminarian/MS/SMNRN +seminary/MS/SMNR +Seminole/SM/SMNL +semiofficial//SMFXL +semiotic/S/SMTK +semioticians//SMTXNS +semiotics/M/SMTKS +semipermanent/Y/SMPMNNT +semipermeable//SMPMBL +semiprecious//SMPRSS +semiprivate//SMPRFT +semiprofessional/YS/SMPRFXNL +semipublic//SMPBLK +semiquantitative/Y/SMKNTTTF +Semiramis/M/SMRMS +semiretired//SMRTRT +semisecret//SMSKRT +semiskilled//SMSKLT +semisolid/S/SMSLT +semistructured//SMSTRKTRT +semisweet//SMSWT +Semite/SM/SMT +Semitic/MS/SMTK +semitic/S/SMTK +semitone/SM/SMTN +semitrailer/SM/SMTRL +semitrance//SMTRNS +semitransparent//SMTRNSPRNT +semitropical//SMTRPKL +semivowel/MS/SMFWL +semiweekly/S/SMWKL +semiyearly//SMYL +semolina/SM/SMLN +sempiternal//SMPTNL +sempstress/SM/SMPSTRS +Semtex//SMTKS +sen//SN +Sen//SN +Sena/M/SN +senate/MS/SNT +Senate/MS/SNT +senator/MS/SNT +senatorial//SNTRL +send/SRGZ/SNT +Sendai/M/SNT +sender/M/SNT +sends/A/SNTS +Seneca/MS/SNK +Senegal/M/SNKL +Senegalese//SNKLS +senescence/SM/SNSNS +senescent//SNSNT +senile/SY/SNL +senility/MS/SNLT +senior/MS/SN +Senior/S/SN +seniority/SM/SNRT +senna/MS/SN +Sennacherib/M/SNXRB +Sennett/M/SNT +senor/MS/SN +Señora/M/SR +senora/S/SNR +senorita/S/SNRT +sens/DSG/SNS +sensate/YNX/SNST +sensately/I/SNSTL +sensation/M/SNSXN +sensational/Y/SNSXNL +sensationalism/MS/SNSXNLSM +sensationalist/S/SNSXNLST +sensationalize/GSD/SNSXNLS +sense/M/SNS +senseless/PY/SNSLS +senselessness/SM/SNSLSNS +sensibility/ISM/SNSBLT +sensible/PRST/SNSBL +sensibleness/MS/SNSBLNS +sensibly/I/SNSBL +sensitive/YIP/SNSTF +sensitiveness/MS/SNSTFNS +sensitiveness's/I/SNSTFNSS +sensitives//SNSTFS +sensitivity/ISM/SNSTFT +sensitization/CSM/SNSTSXN +sensitize/SDCG/SNSTS +sensitized/U/SNSTST +sensitizers//SNSTSS +sensor/MS/SNS +sensory//SNSR +sensual/YF/SNSL +sensualist/MS/SNSLST +sensuality/MS/SNSLT +sensuous/PY/SNSS +sensuousness/S/SNSSNS +Sensurround/M/SNSRNT +sent/UFEA/SNT +sentence/SDMG/SNTNS +sentential/Y/SNTNXL +sententious/Y/SNTNXS +sentience/ISM/SNTNS +sentient/YS/SNTNT +sentiment/MS/SNTMNT +sentimental/Y/SNTMNTL +sentimentalism/SM/SNTMNTLSM +sentimentalist/SM/SNTMNTLST +sentimentality/SM/SNTMNTLT +sentimentalization/SM/SNTMNTLSXN +sentimentalize/RSDZG/SNTMNTLS +sentimentalizes/U/SNTMNTLSS +sentinel/GDMS/SNTNL +sentry/SM/SNTR +Seoul/M/SL +sepal/SM/SPL +separability/MSI/SPRBLT +separable/PI/SPRBL +separableness/MI/SPRBLNS +separably/I/SPRBL +separate/YNGVDSXP/SPRT +separateness/MS/SPRTNS +separates/M/SPRTS +separation/M/SPRXN +separatism/SM/SPRTSM +separatist/SM/SPRTST +separator/SM/SPRT +Sephardi/M/SFT +Sephira/M/SFR +sepia/MS/SP +Sepoy/M/SP +sepses//SPSS +sepsis/M/SPSS +sept/M/SPT +Sept/M/SPT +septa/M/SPT +septate/N/SPTT +September/MS/SPTMB +septennial/Y/SPTNL +septet/MS/SPTT +septic/S/SPTK +septicemia/SM/SPTSM +septicemic//SPTSMK +septillion/M/SPTLN +septuagenarian/MS/SPTKNRN +Septuagint/MS/SPTKNT +septum/M/SPTM +sepulcher/MGSD/SPLX +sepulchers/UA/SPLXS +sepulchral/Y/SPLXRL +seq//SK +sequel/MS/SKL +sequence/DRSJZMG/SKNS +sequenced/A/SKNST +sequencer/M/SKNS +sequences/F/SKNSS +sequence's/F/SKNSS +sequent/F/SKNT +sequential/YF/SKNXL +sequentiality/FM/SKNXLT +sequentialize/DSG/SKNXLS +sequester/SDG/SKST +sequestrate/XGNDS/SKSTRT +sequestration/M/SKSTRXN +sequin/SDMG/SKN +Sequoia/M/SK +sequoia/MS/SK +Sequoya/M/SKY +Serafin/M/SRFN +seraglio/SM/SRKL +serape/S/SRP +seraph/M/SRF +seraphic//SRFK +seraphically//SRFKL +seraphim's//SRFMS +seraphs//SRFS +sera's//SRS +Serb/MS/SB +Serbia/M/SB +Serbian/S/SBN +Serbo/M/SB +sere/TGDRS/SR +Serena/M/SRN +serenade/MGDRS/SRNT +serenader/M/SRNT +serendipitous/Y/SRNTPTS +serendipity/MS/SRNTPT +serene/GTYRSDP/SRN +Serene/M/SRN +sereneness/SM/SRNNS +Serengeti/M/SRNKT +serenity/MS/SRNT +serf/MS/SF +serfdom/MS/SFTM +serge/DSGM/SK +Serge/M/SK +Sergeant/M/SKNT +sergeant/SM/SKNT +Sergei/M/SK +Sergent/M/SKNT +Sergio/M/SK +serial/MYS/SRL +serialization/MS/SRLSXN +serialize/GSD/SRLS +series/M/SRS +serif/SMD/SRF +serigraph/M/SRKRF +serigraphs//SRKRFS +serious/PY/SRS +seriousness/SM/SRSNS +sermon/SGDM/SMN +sermonize/GSD/SMNS +serological/Y/SRLKKL +serology/MS/SRLK +serons//SRNS +serous//SRS +Serpens/M/SPNS +serpent/GSDM/SPNT +serpentine/GYS/SPNTN +Serra/M/SR +Serrano/M/SRN +serrate/GNXSD/SRT +serration/M/SRXN +serried//SRT +serum/MS/SRM +servant/SDMG/SFNT +serve/AGCFDSR/SF +served/U/SFT +server/MCF/SF +servers//SFS +service/MGSRD/SFS +serviceability/SM/SFSBLT +serviceable/P/SFSBL +serviceableness/M/SFSBLNS +serviced/U/SFST +serviceman/M/SFSMN +servicemen//SFSMN +services/E/SFSS +service's/E/SFSS +servicewoman//SFSWMN +servicewomen//SFSWMN +serviette/MS/SFT +servile/U/SFL +servilely//SFLL +servileness/M/SFLNS +serviles//SFLS +servility/SM/SFLT +serving/SM/SFN +servitor/SM/SFT +servitude/MS/SFTT +servo/S/SF +servomechanism/MS/SFMXNSM +servomotor/MS/SFMT +sesame/MS/SSM +sesquicentennial/S/SSKSNTNL +sessile//SSL +session/SM/SXN +Set/M/ST +set/SIA/ST +setback/S/STBK +Seth/M/S@ +Seton/M/STN +set's//STS +setscrew/SM/STSKR +sett/BJGZSMR/ST +settable/A/STBL +settee/MS/ST +setter/M/ST +setting/AS/STN +setting's//STNS +settle/AUDSG/STL +settlement/ASM/STLMNT +settler/MS/STL +settling/S/STLN +setup/MS/STP +Seumas/M/SMS +Seurat/M/SRT +Seuss/M/SS +Sevastopol/M/SFSTPL +seven/SMH/SFN +sevenfold//SFNFLT +sevenpence//SFNPNS +seventeen/HMS/SFNTN +seventeenths//SFNTN@S +sevenths//SFN@S +seventieths//SFNT@S +seventy/MSH/SFNT +sever/SGTRD/SF +several/YS/SFRL +severalfold//SFRLFLT +severalty/M/SFRLT +severance/SM/SFRNS +severe/PY/SFR +severed/E/SFRT +severeness/SM/SFRNS +severing/E/SFRN +severity/MS/SFRT +Severn/M/SFN +severs/E/SFS +Severus/M/SFRS +Seville/M/SFL +sew/SAGD/S +sewage/MS/SWK +Seward/M/SWT +sewer/GSMD/SW +sewerage/SM/SWRK +sewing/SM/SWN +sewn//SN +sex/GMDS/SKS +sexagenarian/MS/SKSKNRN +sexily//SKSL +sexiness/MS/SKSNS +sexism/SM/SKSSM +sexist/SM/SKSST +sexless//SKSLS +sexologist/SM/SKSLKST +sexology/MS/SKSLK +sexpot/SM/SKSPT +Sextans/M/SKSTNS +sextant/SM/SKSTNT +sextet/SM/SKSTT +sextillion/M/SKSTLN +Sexton/M/SKSTN +sexton/MS/SKSTN +sextuple/MDG/SKSTPL +sextuplet/MS/SKSTPLT +sexual/Y/SKSL +sexuality/MS/SKSLT +sexualized//SKSLST +sexy/RTP/SKS +Seychelles//SXLS +Seyfert//SFT +Seymour/M/SM +sf//SF +SF//SF +Sgt//SKT +sh/DRS/X +shabbily//XBL +shabbiness/SM/XBNS +shabby/RTP/XB +shack/GMDS/XK +shackle/UGDS/XKL +shackler/M/XKL +shackle's//XKLS +Shackleton/M/XKLTN +shad/DRJGSM/XT +shade/SM/XT +shaded/U/XTT +shadeless//XTLS +shadily//XTL +shadiness/MS/XTNS +shading/M/XTN +shadow/GSDRM/XT +Shadow/M/XT +shadowbox/SDG/XTBKS +shadower/M/XTW +shadowiness/M/XTWNS +shadowy/TRP/XT +shady/TRP/XT +Shae/M/X +Shafer/M/XF +Shaffer/M/XF +shaft/SDMG/XFT +shafting/M/XFTN +shag/MS/XK +shagged//XKT +shagginess/SM/XKNS +shagging//XKN +shaggy/TPR/XK +shah/M/X +shahs//XS +Shaina/M/XN +Shaine/M/XN +shakable/U/XKBL +shakably/U/XKBL +shake/SRGZB/XK +shakeable//XKBL +shakedown/S/XKTN +shaken/U/XKN +shakeout/SM/XKT +shaker/M/XK +Shaker/S/XK +Shakespeare/M/XKSPR +Shakespearean/S/XKSPRN +Shakespearian//XKSPRN +shakeup/S/XKP +shakily//XKL +shakiness/S/XKNS +shaking/M/XKN +shaky/TPR/XK +shale/SM/XL +shall//XL +shallot/SM/XLT +shallow/STPGDRY/XL +shallowness/SM/XLNS +Shalna/M/XLN +Shalne/M/XLN +shalom//XLM +Shalom/M/XLM +shalt//XLT +sham/MDSG/XM +shaman/SM/XMN +shamanic//XMNK +shamble/DSG/XMBL +shambles/M/XMBLS +shame/SM/XM +shamefaced/Y/XMFST +shameful/YP/XMFL +shamefulness/S/XMFLNS +shameless/PY/XMLS +shamelessness/SM/XMLSNS +shammed//XMT +shammer//XM +shamming//XMN +shammy's//XMS +shampoo/DRSMZG/XMP +shampooer/M/XMP +shamrock/SM/XMRK +Shamus/M/XMS +Shana/M/XN +Shanan/M/XNN +Shanda/M/XNT +Shandee/M/XNT +Shandeigh/M/XNT +Shandie/M/XNT +Shandra/M/XNTR +shandy/M/XNT +Shandy/M/XNT +Shane/M/XN +Shanghai/GM/XNK +shanghai/SDG/XNK +Shanghaiing/M/XNKN +Shani/M/XN +Shanie/M/XN +shank/SMDG/XNK +Shanna/M/XN +Shannah/M/XN +Shannan/M/XNN +Shannen/M/XNN +Shannon/M/XNN +Shanon/M/XNN +shan't//XNT +Shanta/M/XNT +Shantee/M/XNT +shantis//XNTS +Shantung/M/XNTNK +shantung/MS/XNTNK +shanty/SM/XNT +shantytown/SM/XNTTN +shape/AGDSR/XP +shaped/U/XPT +shapeless/PY/XPLS +shapelessness/SM/XPLSNS +shapeliness/S/XPLNS +shapely/RPT/XPL +shaper/S/XP +shape's//XPS +Shapiro/M/XPR +Shara/M/XR +sharable/U/XRBL +Sharai/M/XR +shard/SM/XT +share/DSRGZMB/XR +shareable//XRBL +sharecrop/S/XRKRP +sharecropped//XRKRPT +sharecropper/MS/XRKRP +sharecropping//XRKRPN +shared/U/XRT +shareholder/MS/XRHLT +shareholding/S/XRHLTN +sharer/M/XR +shareware/S/XRWR +Shari/M/XR +Shari'a//XR +Sharia/M/XR +sharia/SM/XR +Sharity/M/XRT +shark/SGMD/XK +sharkskin/SM/XKSKN +Sharl/M/XL +Sharla/M/XL +Sharleen/M/XLN +Sharlene/M/XLN +Sharline/M/XLN +Sharon/M/XRN +Sharona/M/XRN +Sharp/M/XP +sharp/SGTZXPYRDN/XP +Sharpe/M/XP +sharpen/ASGD/XPN +sharpened/U/XPNT +sharpener/S/XPN +sharper/M/XP +sharpie/SM/XP +sharpness/MS/XPNS +sharpshoot/JRGZ/XPXT +sharpshooter/M/XPXT +sharpshooting/M/XPXTN +sharpy's//XPS +Sharron/M/XRN +Sharyl/M/XRL +Shasta/M/XST +shat//XT +shatter/DSG/XT +shattering/Y/XTRN +shatterproof//XTPRF +Shaughn/M/XN +Shaula/M/XL +Shaun/M/XN +Shauna/M/XN +shave/DSRJGZ/XF +shaved/U/XFT +shaver/M/XF +Shavian//XFN +shaving/M/XFN +Shavuot/M/XFT +shaw/M/X +Shaw/M/X +Shawano/M/XWN +shawl/SDMG/XL +Shawn/M/XN +Shawna/M/XN +Shawnee/SM/XN +Shay/M/X +shay/MS/X +Shayla/M/XL +Shaylah/M/XL +Shaylyn/M/XLN +Shaylynn/M/XLN +Shayna/M/XN +Shayne/M/XN +Shcharansky/M/XXRNSK +she/M/X +Shea/M/X +sheaf/MDGS/XF +shear/RDGZS/X +shearer/M/XR +sheath/GJMDRS/X@ +sheathe/UGSD/X@ +sheather/M/X@ +sheathing/M/X@N +sheaths//X@S +sheave/SDG/XF +sheaves/M/XFS +Sheba/M/XB +shebang/MS/XBNK +Shebeli/M/XBL +Sheboygan/M/XBKN +she'd//XT +shed/U/XT +shedding//XTN +Shedir/M/XT +sheds//XTS +shed's//XTS +Sheela/M/XL +Sheelagh/M/XL +Sheelah/M/XL +sheen/MDGS/XN +Sheena/M/XN +sheeny/TRSM/XN +sheep/M/XP +sheepdog/SM/XPTK +sheepfold/MS/XPFLT +sheepherder/MS/XFT +sheepish/YP/XPX +sheepishness/SM/XPXNS +sheepskin/SM/XPSKN +sheer/PGTYRDS/X +Sheeree/M/XR +sheerness/S/XNS +sheet/RDMJSG/XT +sheeting/M/XTN +sheetlike//XTLK +Sheetrock//XTRK +Sheff/M/XF +Sheffie/M/XF +Sheffield/RMZ/XFLT +Sheffielder/M/XFLT +Sheffy/M/XF +sheik/SM/XK +sheikdom/SM/XKTM +sheikh's//XKHS +Sheila/M/XL +Sheilah/M/XL +shekel/MS/XKL +Shel/MY/XL +Shela/M/XL +Shelagh/M/XL +Shelba/M/XLB +Shelbi/M/XLB +Shelby/M/XLB +Shelden/M/XLTN +Sheldon/M/XLTN +shelf/MDGS/XLF +Shelia/M/XL +she'll//XL +Shell/M/XL +shell/RDMGS/XL +shellac/S/XLK +shellacked//XLKT +shellacking/MS/XLKN +shelled/U/XLT +Shelley/M/XL +shellfire/SM/XLFR +shellfish/SM/XLFX +Shelli/M/XL +Shellie/M/XL +Shelly/M/XL +shelter/DRMGS/XLT +sheltered/U/XLTRT +shelterer/M/XLTR +Shelton/M/XLTN +shelve/JRSDG/XLF +shelver/M/XLF +shelves/M/XLFS +shelving/M/XLFN +Shem/M/XM +Shena/M/XN +Shenandoah/M/XNNT +shenanigan/SM/XNNKN +Shenyang/M/XNYNK +Sheol/M/XL +Shep/M/XP +Shepard/M/XPT +shepherd/DMSG/XFT +Shepherd/M/XFT +shepherdess/S/XFTS +Sheppard/M/XPT +Shepperd/M/XPT +Sher/M/X +Sheratan/M/XRTN +Sheraton/M/XRTN +sherbet/MS/XBT +sherd's//XTS +Sheree/M/XR +Sheri/M/XR +Sheridan/M/XRTN +Sherie/M/XR +sheriff/SM/XRF +Sherill/M/XRL +Sherilyn/M/XRLN +Sherline/M/XLN +sherlock/M/XLK +Sherlock/M/XLK +Sherlocke/M/XLK +Sherm/M/XM +Sherman/M/XMN +Shermie/M/XM +Shermy/M/XM +Sherpa/SM/XP +Sherri/M/XR +Sherrie/M/XR +Sherry/M/XR +sherry/MS/XR +Sherwin/M/XWN +Sherwood/M/XWT +Sherwynd/M/XNT +Sherye/M/XRY +Sheryl/M/XRL +Shetland/S/XTLNT +Shevardnadze/M/XFTNTS +shew/GSD/X +shewn//XN +shh//XH +shiatsu/S/XTS +shibboleth/M/XBL@ +shibboleths//XBL@S +shield/MDRSG/XLT +shielded/U/XLTT +shielder/M/XLT +Shields/M/XLTS +shift/RDGZS/XFT +shiftily//XFTL +shiftiness/SM/XFTNS +shiftless/PY/XFTLS +shiftlessness/S/XFTLSNS +shifty/TRP/XFT +Shi'ite//XT +Shiite/SM/XT +Shijiazhuang//XKSHNK +Shikoku/M/XKK +shill/DJSG/XL +shillelagh/M/XLL +shillelaghs//XLLS +shilling/M/XLN +Shillong/M/XLNK +Shiloh/M/XL +shim/SM/XM +shimmed//XMT +shimmer/DGS/XM +shimmery//XMR +shimming//XMN +shimmy/DSMG/XM +shin/SGZDRM/XN +Shina/M/XN +shinbone/SM/XNBN +shindig/MS/XNTK +shine/S/XN +shiner/M/XN +shingle/MDRSG/XNL +shingler/M/XNL +shinguard//XNT +shininess/MS/XNNS +shining/Y/XNN +shinned//XNT +shinning//XNN +shinny/GDSM/XN +shinsplints//XNSPLNTS +Shinto/MS/XNT +Shintoism/S/XNTSM +Shintoist/MS/XNTST +shiny/PRT/XN +ship/SLA/XP +shipboard/MS/XPBT +shipborne//XPBN +shipbuild/RGZJ/XPBLT +shipbuilder/M/XPBLT +shipload/SM/XPLT +shipman/M/XPMN +shipmate/SM/XPMT +shipmen//XPMN +shipment/AMS/XPMNT +shipowner/MS/XPN +shippable//XPBL +shipped/A/XPT +shipper/SM/XP +shipping/MS/XPN +ship's//XPS +shipshape//XPXP +shipwreck/GSMD/XPRK +shipwright/MS/XPRT +shipyard/MS/XPYT +Shir/M/X +Shiraz/M/XRS +shire/MS/XR +shirk/RDGZS/XK +shirker/M/XK +Shirl/M/XL +Shirlee/M/XL +Shirleen/M/XLN +Shirlene/M/XLN +Shirley/M/XL +Shirline/M/XLN +shirr/GJDS/XR +shirt/JDMSG/XT +shirtfront/S/XTFRNT +shirting/M/XTN +shirtless//XTLS +shirtmake/R/XTMK +shirtmaker/M/XTMK +shirtsleeve/MS/XTSLF +shirttail/S/XTL +shirtwaist/SM/XTWST +shit/S/XT +shitting//XTN +shitty/RT/XT +shiv/SZRM/XF +Shiva/M/XF +shiver/GDR/XF +shiverer/M/XFR +shivery//XFR +shivved//XFFT +shivving//XFFN +shlemiel's//XLMLS +Shmuel/M/XML +shoal/SRDMGT/XL +shoat/SM/XT +shock/SGZRD/XK +shocker/M/XK +shocking/Y/XKN +Shockley/M/XKL +shockproof//XKPRF +shod/U/XT +shoddily//XTL +shoddiness/SM/XTNS +shoddy/RSTP/XT +shoe/MS/X +shoehorn/GSMD/XHN +shoeing//XN +shoelace/MS/XLS +shoemake/RZ/XMK +shoemaker/M/XMK +shoer's//XS +shoeshine/MS/XXN +shoestring/MS/XSTRN +shoetree/MS/XTR +shogun/MS/XKN +shogunate/SM/XKNT +Shoji/M/XK +Sholom/M/XLM +shone//XN +shoo/DSG/X +shoofly//XFL +shook/SM/XK +shoot/SJRGZ/XT +shooter/M/XT +shootout/MS/XTT +shop/MS/XP +shopkeep/RGZ/XPKP +shopkeeper/M/XPKP +shoplift/SRDGZ/XPLFT +shoplifter/M/XPLFT +shoplifting/M/XPLFTN +shoppe/RSDGZJ/XP +shopped/M/XPT +shopper/M/XP +shopping/M/XPN +shoptalk/SM/XPTLK +shopworn//XPWN +shore/DSRGMJ/XR +shorebird/S/XRBT +shoreline/SM/XRLN +Shorewood/M/XRWT +shoring/M/XRN +Short/M/XT +short/SGTXYRDNP/XT +shortage/MS/XTK +shortbread/MS/XTBRT +shortcake/SM/XTKK +shortchange/DSG/XXNK +shortcoming/MS/XTKMN +shortcrust//XTKRST +shortcut/MS/XTKT +shortcutting//XTKTN +shorten/RDGJ/XTN +shortener/M/XTN +shortening/M/XTNN +shortfall/SM/XTFL +shorthand/DMS/X@NT +Shorthorn/M/X@N +shorthorn/MS/X@N +shortie's//XTS +shortish//XTX +shortlist/GD/XTLST +shortness/MS/XTNS +shortsighted/YP/XTSTT +shortsightedness/S/XTSTTNS +shortstop/MS/XTSTP +shortwave/SM/XTWF +shorty/SM/XT +Shoshana/M/XXN +Shoshanna/M/XXN +Shoshone/SM/XXN +Shostakovitch/M/XSTKFX +shot/MS/XT +shotgun/SM/XTKN +shotgunned//XTKNT +shotgunner//XTKN +shotgunning//XTKNN +shotted//XTT +shotting//XTN +should/TZR/XLT +shoulder/GMD/XLT +shouldn't//XLTNT +shout/SGZRDM/XT +shove/DSRG/XF +shovel/MDRSZG/XFL +shoveler/M/XFL +shovelful/MS/XFLFL +shover/M/XF +show/GDRZJS/X +showbiz//XBS +showbizzes//XBSS +showboat/SGDM/XBT +showcase/MGSD/XKS +showdown/MS/XTN +shower/GDM/XW +showery/TR/XWR +showgirl/SM/XKL +showily//XWL +showiness/MS/XWNS +showing/M/XWN +showman/M/XMN +showmanship/SM/XMNXP +showmen//XMN +shown//XN +showoff/S/XWF +showpiece/SM/XPS +showplace/SM/XPLS +showroom/MS/XRM +showy/RTP/X +shpt//XPT +shrank//XRNK +shrapnel/SM/XRPNL +shred/MS/XRT +shredded//XRTT +shredder/MS/XRT +shredding//XRTN +Shreveport/M/XRFPT +shrew/GSMD/XR +shrewd/RYTP/XRT +shrewdness/SM/XRTNS +shrewish/PY/XRWX +shrewishness/M/XRWXNS +shriek/SGDRMZ/XRK +shrieker/M/XRK +shrift/SM/XRFT +shrike/SM/XRK +shrill/DRTGPS/XRL +shrillness/MS/XRLNS +shrilly//XRL +shrimp/MDGS/XRMP +shrine/SDGM/XRN +shrink/SRBG/XRNK +shrinkage/SM/XRNKK +shrinker/M/XRNK +shrinking/U/XRNKN +shrive/RSDG/XRF +shrivel/GSD/XRFL +shriven//XRFN +Shropshire/M/XRPXR +shroud/GSMD/XRT +shrub/SM/XRB +shrubbed//XRBT +shrubbery/SM/XRBR +shrubbing//XRBN +shrubby/TR/XRB +shrug/S/XRK +shrugged//XRKT +shrugging//XRKN +shrunk/N/XRNK +shtick/S/XTK +Shu/M/X +shuck/SGMRD/XK +shucker/M/XK +shucks/S/XKS +shudder/DSG/XT +shuddery//XTR +shuffle/GDSRZ/XFL +shuffleboard/MS/XFLBT +shuffled/A/XFLT +shuffles/A/XFLS +shuffling/A/XFLN +Shulman/M/XLMN +shun/S/XN +shunned//XNT +shunning//XNN +shunt/GSRD/XNT +shunter/M/XNT +Shurlock/M/XLK +Shurlocke/M/XLK +Shurwood/M/XWT +shush/SDG/XX +shut/S/XT +shutdown/MS/XTTN +shuteye/SM/XTY +shutoff/M/XTF +shutout/SM/XTT +shutter/DMGS/XT +shutterbug/S/XTBK +shuttering/M/XTRN +shutting//XTN +shuttle/MGDS/XTL +shuttlecock/MDSG/XTLKK +shy/DRSGTZY/X +shyer//XY +shyest//XYST +Shylock/M/XLK +Shylockian/M/XLKN +shyness/SM/XNS +shyster/SM/XST +Si/M/S +Siam/M/XM +Siamese/M/XMS +Siana/M/XN +Sianna/M/XN +Sian's//XNS +Sib/M/SB +Sibbie/M/SB +Sibby/M/SB +Sibeal/M/SBL +Sibel/M/SBL +Sibelius/M/SBLS +Sibella/M/SBL +Sibelle/M/SBL +Siberia/M/SBR +Siberian/S/SBRN +sibilance/M/SBLNS +sibilancy/M/SBLNS +sibilant/SY/SBLNT +Sibilla/M/SBL +Sibley/M/SBL +sibling/SM/SBLN +Sibyl/M/SBL +sibyl/SM/SBL +Sibylla/M/SBL +Sibylle/M/SBL +sibylline//SBLN +sic/S/SK +Sicilian/S/SSLN +Siciliana/M/SSLN +Sicily/M/SSL +sick/GXTYNDRSP/SK +sickbay/M/SKB +sickbed/S/SKBT +sicken/JRDG/SKN +sickener/M/SKN +sickening/Y/SKNN +sicker/Y/SK +sickie/SM/SK +sickish/PY/SKX +sickle/SDGM/SKL +sickliness/M/SKLNS +sickly/TRSDPG/SKL +sickness/MS/SKNS +sicko/S/SK +sickout/S/SKT +sickroom/SM/SKRM +Sid/M/ST +side/ISRM/ST +sidearm/S/STM +sideband/MS/STBNT +sidebar/MS/STB +sideboard/SM/STBT +sideburns//STBNS +sidecar/MS/STK +sided/A/STT +sidedness//STTNS +sidekick/MS/STKK +sidelight/SM/STLT +sideline/MGDRS/STLN +sidelong//STLNK +sideman/M/STMN +sidemen//STMN +sidepiece/S/STPS +sider/FA/ST +sidereal//STRL +sides/A/STS +sidesaddle/MS/STSTL +sideshow/MS/STX +sidesplitting//STSPLTN +sidestep/S/STSTP +sidestepped//STSTPT +sidestepping//STSTPN +sidestroke/GMSD/STSTRK +sideswipe/GSDM/STSWP +sidetrack/SDG/STTRK +sidewalk/MS/STWLK +sidewall/MS/STWL +sidewards//STWTS +sideway/SM/STW +sidewinder/SM/STWNT +siding/SM/STN +sidle/DSG/STL +Sidnee/M/STN +Sidney/M/STN +Sidoney/M/STN +Sidonia/M/STN +Sidonnie/M/STN +SIDS//STS +siege/GMDS/SK +Siegel/M/SKL +Siegfried/M/SKFRT +Sieglinda/M/SKLNT +Siegmund/M/SKMNT +Siemens/M/SMNS +Siena/M/SN +sienna/SM/SN +Sierpinski/M/SPNSK +sierra/SM/SR +siesta/MS/SST +sieve/GZMDS/SF +Siffre/M/SFR +sift/GZJSDR/SFT +sifted/UA/SFTT +sifter/M/SFT +Sig/M/SK +Sigfrid/M/SKFRT +Sigfried/M/SKFRT +SIGGRAPH/M/SKRF +sigh/DRG/S +sigher/M/SK +sighs//SS +sight/ISM/ST +sighted/P/STT +sighter/M/ST +sighting/S/STN +sightless/Y/STLS +sightliness/UM/STLNS +sightly/TURP/STL +sightread//STRT +sightsee/RZ/STS +sightseeing/S/STSN +Sigismond/M/SKSMNT +Sigismondo/M/SKSMNT +Sigismund/M/SKSMNT +Sigismundo/M/SKSMNT +sigma/SM/SKM +sigmoid//SKMT +Sigmund/M/SKMNT +sign/GARDCS/SN +signal/A/SKNL +signaled//SKNLT +signaler/S/SKNL +signaling//SKNLN +signalization/S/SKNLSXN +signalize/GSD/SKNLS +signally//SKNL +signalman/M/SKNLMN +signalmen//SKNLMN +signals//SKNLS +signal's//SKNLS +signatory/SM/SKNTR +signature/MS/SKNTR +signboard/MS/SKNBT +signed/FU/SN +signer/SC/SKN +signet/SGMD/SKNT +significance/IMS/SKNFKNS +significant/YS/SKNFKNT +significantly/I/SKNFKNTL +signification/M/SKNFKXN +signify/DRSGNX/SKNF +signing/S/SKNN +Signor/M/SKN +signor/SFM/SKN +Signora/M/SKNR +signora/SM/SKNR +signore/M/SKNR +signori//SKNR +signories//SKNRS +signorina/SM/SKNRN +signorine//SKNRN +signpost/DMSG/SKNPST +sign's//SKNS +signs/F/SNS +Sigrid/M/SKRT +Sigurd/M/SKT +Sigvard/M/SKFT +Sihanouk/M/SHNK +Sikh/MS/SKH +Sikhism/MS/SKHSM +Sikhs//SKHS +Sikkim/M/SKM +Sikkimese//SKMS +Sikorsky/M/SKSK +silage/GMSD/SLK +Silas/M/SLS +Sile/M/SL +Sileas/M/SLS +siled//SLT +silence/MZGRSD/SLNS +silencer/M/SLNS +silent/TSPRY/SLNT +silentness/M/SLNTNS +Silesia/M/SLX +silhouette/GMSD/SLHT +silica/SM/SLK +silicate/SM/SLKT +siliceous//SLSS +silicide/M/SLST +silicon/MS/SLKN +silicone/SM/SLKN +silicoses//SLKSS +silicosis/M/SLKSS +silk/GXNDMS/SLK +silken/DG/SLKN +silkily//SLKL +silkiness/SM/SLKNS +silkscreen/SM/SLKSKRN +silkworm/MS/SLKWM +silky/RSPT/SLK +sill/MS/SL +silliness/SM/SLNS +silly/PRST/SL +silo/GSM/SL +silt/MDGS/SLT +siltation/M/SLTXN +siltstone/M/SLTSTN +silty/RT/SLT +Silurian/S/SLRN +Silva/M/SLF +Silvain/M/SLFN +Silvan/M/SLFN +Silvana/M/SLFN +Silvano/M/SLFN +Silvanus/M/SLFNS +silver/RDYMGS/SLF +silverer/M/SLFR +silverfish/MS/SLFFX +Silverman/M/SLFMN +silversmith/M/SLFSM@ +silversmiths//SLFSM@S +Silverstein/M/SLFSTN +silverware/SM/SLFWR +silvery/RTP/SLFR +Silvester/M/SLFST +Silvia/M/SLF +Silvie/M/SLF +Silvio/M/SLF +Sim/MS/SM +SIMD//SMT +Simenon/M/SMNN +Simeon/M/SMN +simian/S/SMN +similar/EY/SML +similarity/EMS/SMLRT +simile/SM/SML +similitude/SME/SMLTT +Simla/M/SML +simmer/GSD/SM +Simmonds/M/SMNTS +Simmons/M/SMNS +Simmonsville/M/SMNSFL +Simms/M/SMS +Simon/M/SMN +Simona/M/SMN +Simone/M/SMN +Simonette/M/SMNT +simonize/SDG/SMNS +Simonne/M/SMN +simony/MS/SMN +simpatico//SMPTK +simper/GDS/SMP +simple/RSDGTP/SMPL +simpleminded/YP/SMPLMNTT +simpleness/S/SMPLNS +simpleton/SM/SMPLTN +simplex/S/SMPLKS +simplicity/MS/SMPLST +simplified/U/SMPLFT +simplify/ZXRSDNG/SMPLF +simplistic//SMPLSTK +simplistically//SMPLSTKL +simply//SMPL +Simpson/M/SMPSN +Simula/M/SML +SIMULA/M/SML +simulacrum/M/SMLKRM +simulate/XENGSD/SMLT +simulation/ME/SMLXN +simulative//SMLTF +simulator/SEM/SMLT +simulcast/GSD/SMLKST +simultaneity/SM/SMLTNT +simultaneous/YP/SMLTNS +simultaneousness/M/SMLTNSNS +sin/MAGS/SN +Sinai/M/SN +Sinatra/M/SNTR +since//SNS +sincere/IY/SNSR +sincereness/M/SNSRNS +sincerer//SNSR +sincerest//SNSRST +sincerity/MIS/SNSRT +Sinclair/M/SNKL +Sinclare/M/SNKLR +Sindbad/M/SNTBT +Sindee/M/SNT +Sindhi/M/SNTH +sine/SM/SN +sinecure/MS/SNKR +sinecurist/M/SNKRST +sinew/SGMD/SN +sinewy//SN +sinful/YP/SNFL +sinfulness/SM/SNFLNS +sing/BGJZYDR/SN +Singapore/M/SNPR +Singaporean/S/SNPRN +Singborg/M/SNBK +singe/S/SN +singeing//SNN +singer/M/SN +Singer/M/SN +singing/Y/SNN +single/PSDG/SNL +singlehanded/Y/SNLHNTT +singleness/SM/SNLNS +singlet/SM/SNLT +Singleton/M/SNLTN +singleton/SM/SNLTN +singletree/SM/SNLTR +singsong/GSMD/SNSNK +singular/SY/SNL +singularity/SM/SNLRT +singularization/M/SNLRSXN +Sinhalese/M/SNHLS +sinister/YP/SNST +sinisterness/M/SNSTNS +sinistral/Y/SNSTRL +sink/GZSDRB/SNK +sinkable/U/SNKBL +sinker/M/SNK +sinkhole/SM/SNKHL +Sinkiang/M/SNKNK +sinking/M/SNKN +sinless/YP/SNLS +sinlessness/M/SNLSNS +sinned//SNT +sinner/MS/SN +sinning//SNN +sinter/DM/SNT +sinuosity/MS/SNST +sinuous/PY/SNS +sinuousities//SNSTS +sinuousness/M/SNSNS +sinus/MS/SNS +sinusitis/SM/SNSTS +sinusoid/MS/SNST +sinusoidal/Y/SNSTL +Siobhan/M/XBHN +Sioux/M/XKS +Siouxie/M/XKS +sip/S/SP +siphon/DMSG/SFN +siphons/U/SFNS +sipped//SPT +sipper/SM/SP +sipping//SPN +Sir/MS/S +sir/XGMNDS/S +sire/MS/SR +sired/C/SRT +siren/M/SRN +sires/C/SRS +siring/C/SRN +Sirius/M/SRS +sirloin/MS/SLN +sirocco/MS/SRK +sirred//SRT +sirring//SRN +sirup's//SRPS +sis/S/SS +sisal/MS/SSL +Sisely/M/SSL +Sisile/M/SSL +Sissie/M/SS +sissified//SSFT +Sissy/M/SS +sissy/TRSM/SS +sister/GDYMS/SST +sisterhood/MS/SSTHT +sisterliness/MS/SSTLNS +sisterly/P/SSTL +sister's/A/SSTS +Sistine//SSTN +Sisyphean//SSFN +Sisyphus/M/SSFS +sit/AG/ST +sitar/SM/ST +sitarist/SM/STRST +sitcom/SM/STKM +site/DSJM/ST +sits//STS +sitter/MS/ST +sitting/SM/STN +situ/S/ST +situate/GNSDX/STT +situation/M/STXN +situational/Y/STXNL +situationist//STXNST +situs/M/STS +Siusan/M/SSN +Siva/M/SF +Siward/M/SWT +six/MRSH/SKS +sixfold//SKSFLT +sixgun//SKSKN +sixpence/MS/SKSPNS +sixpenny//SKSPN +sixshooter//SKSXT +sixteen/HRSM/SKSTN +sixteenths//SKSTN@S +sixth/Y/SKS@ +sixths//SKS@S +sixtieths//SKST@S +sixty/SMH/SKST +sizable/P/SSBL +sizableness/M/SSBLNS +size/GJDRSBMZ/SS +sized/UA/SST +sizer/M/SS +sizes/A/SSS +sizing/M/SSN +sizzle/RSDG/SSL +sizzler/M/SSL +SJ//SK +Sjaelland/M/SKLNT +SK//SK +ska/S/SK +skat/JMDRGZ/SKT +skate/SM/SKT +skateboard/SJGZMDR/SKTBT +skater/M/SKT +skedaddle/GSD/SKTTL +skeet/RMS/SKT +skein/MDGS/SKN +skeletal/Y/SKLTL +skeleton/MS/SKLTN +Skell/M/SKL +Skelly/M/SKL +skeptic/SM/SKPTK +skeptical/Y/SKPTKL +skepticism/MS/SKPTSSM +sketch/MRSDZG/SKX +sketchbook/SM/SKXBK +sketcher/M/SKX +sketchily//SKXL +sketchiness/MS/SKXNS +sketchpad//SKXPT +sketchy/PRT/SKX +skew/DRSPGZ/SK +skewer/GDM/SKW +skewing/M/SKWN +skewness/M/SKNS +ski/MNJSG/SK +skid/S/SKT +skidded//SKTT +skidding//SKTN +skiff/GMDS/SKF +skiing/M/SKN +skilfully//SKLFL +skill/DMSG/SKL +skilled/U/SKLT +skillet/MS/SKLT +skillful/YUP/SKLFL +skillfulness/MU/SKLFLNS +skillfulnesses//SKLFLNSS +skilling/M/SKLN +skim/SM/SKM +skimmed//SKMT +skimmer/MS/SKM +skimming/SM/SKMN +skimp/GDS/SKMP +skimpily//SKMPL +skimpiness/MS/SKMPNS +skimpy/PRT/SKMP +skin/SM/SKN +skincare//SKNKR +skindive/G/SKNTF +skinflint/MS/SKNFLNT +skinhead/SM/SKNHT +skinless//SKNLS +skinned//SKNT +Skinner/M/SKN +skinner/SM/SKN +skinniness/MS/SKNNS +skinning//SKNN +skinny/TRSP/SKN +skintight//SKNTT +Skip/M/SKP +skip/S/SKP +Skipp/RM/SKP +skipped//SKPT +Skipper/M/SKP +skipper/SGDM/SKP +Skippie/M/SKP +skipping//SKPN +Skippy/M/SKP +Skipton/M/SKPTN +skirmish/RSDMZG/SKMX +skirmisher/M/SKMX +skirt/RDMGS/SKT +skirter/M/SKT +skirting/M/SKTN +skit/GSMD/SKT +skitter/SDG/SKT +skittish/YP/SKTX +skittishness/SM/SKTXNS +skittle/SM/SKTL +skivvy/GSDM/SKFF +skoal/SDG/SKL +Skopje/M/SKPK +skulduggery/MS/SKLTKR +skulk/SRDGZ/SKLK +skulker/M/SKLK +skull/SDM/SKL +skullcap/MS/SKLKP +skullduggery's//SKLTKRS +skunk/GMDS/SKNK +Sky/M/SK +sky/MDRSGZ/SK +skycap/MS/SKKP +skydiver/SM/SKTF +skydiving/MS/SKTFN +Skye/M/SKY +skyhook//SKHK +skyjack/ZSGRDJ/SKKK +skyjacker/M/SKKK +Skylab/M/SKLB +Skylar/M/SKL +skylark/SRDMG/SKLK +skylarker/M/SKLK +Skyler/M/SKL +skylight/MS/SKLT +skyline/MS/SKLN +skyrocket/GDMS/SKRKT +skyscrape/RZ/SKSKRP +skyscraper/M/SKSKRP +skyward/S/SKWT +skywave//SKWF +skyway/M/SKW +skywriter/MS/SKRT +skywriting/MS/SKRTN +slab/MS/SLB +slabbed//SLBT +slabbing//SLBN +slack/SPGTZXYRDN/SLK +slacken/DG/SLKN +slacker/M/SLK +slackness/MS/SLKNS +Slade/M/SLT +slag/MS/SLK +slagged//SLKT +slagging//SLKN +slain//SLN +slake/DSG/SLK +slaked/U/SLKT +slalom/SGMD/SLLM +slam/S/SLM +slammed//SLMT +slammer/S/SLM +slamming//SLMN +slander/MDRZSG/SLNT +slanderous/PY/SLNTRS +slanderousness/M/SLNTRSNS +slang/SMGD/SLNK +slangy/TR/SLNK +slant/SDG/SLNT +slanting/Y/SLNTN +slantwise//SLNTWS +slap/MS/SLP +slapdash/S/SLPTX +slaphappy/TR/SLFP +slapped//SLPT +slapper//SLP +slapping//SLPN +slapstick/MS/SLPSTK +slash/GZRSD/SLX +slashing/Y/SLXN +slat/MDRSGZ/SLT +slate/SM/SLT +slater/M/SLT +Slater/M/SLT +slather/SMDG/SL@ +slating/M/SLTN +slatted//SLTT +slattern/MYS/SLTN +slatting//SLTN +slaughter/SJMRDGZ/SLT +slaughterer/M/SLTR +slaughterhouse/SM/SLTHS +Slav/MS/SLF +slave/DSRGZM/SLF +slaveholder/SM/SLFHLT +slaver/GDM/SLF +slavery/SM/SLFR +Slavic/M/SLFK +slavish/YP/SLFX +slavishness/SM/SLFXNS +Slavonic/M/SLFNK +slaw/MS/SL +slay/RGZS/SL +sleaze/S/SLS +sleazily//SLSL +sleaziness/SM/SLSNS +sleazy/RTP/SLS +sled/SM/SLT +sledded//SLTT +sledder/S/SLT +sledding//SLTN +sledge/SDGM/SLK +sledgehammer/MDGS/SLKHM +sleek/PYRDGTS/SLK +sleekness/S/SLKNS +sleep/RMGZS/SLP +sleeper/M/SLP +sleepily//SLPL +sleepiness/SM/SLPNS +sleeping/M/SLPN +sleepless/YP/SLPLS +sleeplessness/SM/SLPLSNS +sleepover/S/SLPF +sleepwalk/JGRDZS/SLPWLK +sleepwalker/M/SLPWLK +sleepwear/M/SLPW +sleepy/PTR/SLP +sleepyhead/MS/SLPHT +sleet/DMSG/SLT +sleety/TR/SLT +sleeve/SDGM/SLF +sleeveless//SLFLS +sleeving/M/SLFN +sleigh/GMD/SL +sleighs//SLS +sleight/SM/SLT +sleken/DG/SLKN +slender/RYTP/SLNT +slenderize/DSG/SLNTRS +slenderness/MS/SLNTNS +slept//SLPT +Slesinger/M/SLSN +sleuth/GMD/SL@ +sleuths//SL@S +slew/DGS/SL +slice/DSRGZM/SLS +sliced/U/SLST +slicer/M/SLS +slick/PSYRDGTZ/SLK +slicker/M/SLK +slickness/MS/SLKNS +slid/GZDR/SLT +slide/S/SLT +slider/M/SLT +slight/DRYPSTG/SLT +slighter/M/SLT +slighting/Y/SLTN +slightness/S/SLTNS +slim/SPGYD/SLM +slime/SM/SLM +sliminess/S/SLMNS +slimline//SLMLN +slimmed//SLMT +slimmer/S/SLM +slimmest//SLMST +slimming/S/SLMN +slimness/S/SLMNS +slimy/PTR/SLM +sling/GMRS/SLN +slings/U/SLNS +slingshot/MS/SLNXT +slink/GS/SLNK +slinky/RT/SLNK +slip/SM/SLP +slipcase/MS/SLPKS +slipcover/GMDS/SLPKF +slipknot/SM/SLPKNT +slippage/SM/SLPK +slipped//SLPT +slipper/GSMD/SLP +slipperiness/S/SLPRNS +slippery/PRT/SLPR +slipping//SLPN +slipshod//SLPXT +slipstream/MDGS/SLPSTRM +slipway/SM/SLPW +slit/SM/SLT +slither/DSG/SL@ +slithery//SL@R +slitted//SLTT +slitter/S/SLT +slitting//SLTN +sliver/GSDM/SLF +slivery//SLFR +Sloan/M/SLN +Sloane/M/SLN +slob/MS/SLB +slobber/SDG/SLB +slobbery//SLBR +Slocum/M/SLKM +sloe/MS/SL +slog/S/SLK +slogan/MS/SLKN +sloganeer/MG/SLKN +slogged//SLKT +slogging//SLKN +sloop/SM/SLP +slop/DRSGZ/SLP +slope/S/SLP +sloped/U/SLPT +slopped//SLPT +sloppily//SLPL +sloppiness/SM/SLPNS +slopping//SLPN +sloppy/RTP/SLP +slosh/GSDM/SLX +slot/MS/SLT +sloth/GDM/SL@ +slothful/PY/SL@FL +slothfulness/MS/SL@FLNS +sloths//SL@S +slotted//SLTT +slotting//SLTN +slouch/DRSZG/SLX +sloucher/M/SLX +slouchy/RT/SLX +slough/GMD/SL +sloughs//SLS +Slovak/S/SLFK +Slovakia/M/SLFK +Slovakian/S/SLFKN +sloven/YMS/SLFN +Slovene/S/SLFN +Slovenia/M/SLFN +Slovenian/S/SLFNN +slovenliness/SM/SLFNLNS +slovenly/TRP/SLFNL +slow/PGTYDRS/SL +slowcoaches//SLKXS +slowdown/MS/SLTN +slowish//SLWX +slowness/MS/SLNS +slowpoke/MS/SLPK +SLR//SLR +sludge/SDGM/SLK +sludgy/TR/SLK +slue/MGDS/SL +slug/MS/SLK +sluggard/MS/SLKT +slugged//SLKT +slugger/SM/SLK +slugging//SLKN +sluggish/YP/SLKX +sluggishness/SM/SLKXNS +sluice/SDGM/SLS +slum/MS/SLM +slumber/MDRGS/SLMB +slumberer/M/SLMBR +slumberous//SLMBRS +slumlord/MS/SLMLT +slummed//SLMT +slummer//SLM +slumming//SLMN +slummy/TR/SLM +slump/DSG/SLMP +slung/U/SLNK +slunk//SLNK +slur/MS/SL +slurp/GSD/SLP +slurred//SLRT +slurried/M/SLRT +slurring//SLRN +slurry/MGDS/SLR +slurrying/M/SLRYN +slush/SDMG/SLX +slushiness/SM/SLXNS +slushy/RTP/SLX +slut/MS/SLT +sluttish//SLTX +slutty/TR/SLT +Sly/M/SL +sly/RTY/SL +slyness/MS/SLNS +Sm/M/SM +smack/SMRDGZ/SMK +smacker/M/SMK +Small/M/SML +small/SGTRDP/SML +smallholders//SMLHLTS +smallholding/MS/SMLHLTN +smallish//SMLX +smallness/S/SMLNS +smallpox/SM/SMLPKS +smalltalk//SMLTLK +smalltime//SMLTM +Smallwood/M/SMLWT +smarmy/RT/SMM +smart/YRDNSGTXP/SMT +smarten/GD/SMTN +smartness/S/SMTNS +smartypants//SMTPNTS +smash/GZRSD/SMX +smasher/M/SMX +smashing/Y/SMXN +smashup/S/SMXP +smattering/SM/SMTRN +smear/GRDS/SM +smearer/M/SMR +smeary/TR/SMR +smell/SBRDG/SML +smeller/M/SML +smelliness/MS/SMLNS +smelly/TRP/SML +smelt/SRDGZ/SMLT +smelter/M/SMLT +Smetana/M/SMTN +smidgen/MS/SMKN +smilax/MS/SMLKS +smile/GMDSR/SML +smiley/M/SML +smilies//SMLS +smiling/UY/SMLN +smirch/SDG/SMX +smirk/GSMD/SMK +Smirnoff/M/SMNF +smite/GSR/SMT +smiter/M/SMT +smith/DMG/SM@ +Smith/M/SM@ +smithereens//SM@RNS +Smithfield/M/SM@FLT +smiths//SM@S +Smithson/M/SM@SN +Smithsonian/M/SM@SNN +Smithtown/M/SM@TN +smithy/SM/SM@ +smitten//SMTN +Smitty/M/SMT +smock/SGMDJ/SMK +smocking/M/SMKN +smog/SM/SMK +smoggy/TR/SMK +smoke/GZMDSRBJ/SMK +smokehouse/MS/SMKHS +smokeless//SMKLS +smoker/M/SMK +smokescreen/S/SMKSKRN +smokestack/MS/SMKSTK +Smokey/M/SMK +smokiness/S/SMKNS +smoking/M/SMKN +smoky/RSPT/SMK +smolder/SGD/SMLT +smoldering/Y/SMLTRN +Smolensk/M/SMLNSK +Smollett/M/SMLT +smooch/SDG/SMX +smooth/TZGPRDNY/SM@ +smoothen/DG/SM@N +smoother/M/SM@ +smoothie/SM/SM@ +smoothness/MS/SM@NS +smooths//SM@S +smörgåsbord/SM/SMRKSBT +smote//SMT +smother/GSD/SM@ +SMSA/MS/SMS +SMTP//SMTP +Smucker/M/SMK +smudge/GSD/SMK +smudginess/M/SMKNS +smudgy/TRP/SMK +smug/YSP/SMK +smugged//SMKT +smugger//SMK +smuggest//SMKST +smugging//SMKN +smuggle/JZGSRD/SMKL +smuggler/M/SMKL +smugness/MS/SMKNS +smut/SM/SMT +Smuts/M/SMTS +smutted//SMTT +smuttiness/SM/SMTNS +smutting//SMTN +smutty/TRP/SMT +Smyrna/M/SMRN +Sn/M/SN +snack/SGMD/SNK +snaffle/GDSM/SNFL +snafu/DMSG/SNF +snag/MS/SNK +snagged//SNKT +snagging//SNKN +snail/GSDM/SNL +Snake//SNK +snake/DSGM/SNK +snakebird/M/SNKBT +snakebite/MS/SNKBT +snakelike//SNKLK +snakeroot/M/SNKRT +snaky/TR/SNK +snap/US/SNP +snapback/M/SNPBK +snapdragon/MS/SNPTRKN +snapped/U/SNPT +snapper/SM/SNP +snappily//SNPL +snappiness/SM/SNPNS +snapping/U/SNPN +snappish/PY/SNPX +snappishness/SM/SNPXNS +snappy/PTR/SNP +snapshot/MS/SNPXT +snapshotted//SNPXTT +snapshotting//SNPXTN +snare/DSRGM/SNR +snarer/M/SNR +snarf/JSGD/SNF +snarl/UGSD/SNL +snarler/M/SNL +snarling/Y/SNLN +snarly/RT/SNL +snatch/DRSZG/SNX +snatcher/M/SNX +snazzily//SNSL +snazzy/TR/SNS +Snead/M/SNT +sneak/RDGZS/SNK +sneaker/MD/SNK +sneakily//SNKL +sneakiness/SM/SNKNS +sneaking/Y/SNKN +sneaky/PRT/SNK +Sneed/M/SNT +sneer/GMRDJS/SN +sneerer/M/SNR +sneering/Y/SNRN +sneeze/SRDG/SNS +Snell/M/SNL +snick/MRZ/SNK +snicker/GMRD/SNK +snide/YTSRP/SNT +snideness/M/SNTNS +Snider/M/SNT +sniff/GZSRD/SNF +sniffer/M/SNF +sniffle/GDRS/SNFL +sniffler/M/SNFL +sniffles/M/SNFLS +snifter/MDSG/SNFT +snigger's//SNKS +snip/SGDRZ/SNP +snipe/SM/SNP +sniper/M/SNP +snipped//SNPT +snipper/SM/SNP +snippet/SM/SNPT +snipping//SNPN +snippy/RT/SNP +snit/SM/SNT +snitch/GDS/SNX +snivel/JSZGDR/SNFL +sniveler/M/SNFL +snob/MS/SNB +snobbery/SM/SNBR +snobbish/YP/SNBX +snobbishness/S/SNBXNS +snobby/RT/SNB +Snodgrass/M/SNTKRS +snood/SGDM/SNT +snook/SMRZ/SNK +snooker/GMD/SNK +snoop/SRDGZ/SNP +snooper/M/SNP +Snoopy/M/SNP +snoopy/RT/SNP +snoot/SDMG/SNT +snootily//SNTL +snootiness/MS/SNTNS +snooty/TRP/SNT +snooze/GSD/SNS +snore/DSRGZ/SNR +snorkel/ZGSRDM/SNKL +snort/GSZRD/SNT +snorter/M/SNT +snot/MS/SNT +snotted//SNTT +snottily//SNTL +snottiness/SM/SNTNS +snotting//SNTN +snotty/TRP/SNT +snout/SGDM/SNT +snow/GDMS/SN +Snow/M/SN +snowball/SDMG/SNBL +snowbank/SM/SNBNK +Snowbelt/SM/SNBLT +snowbird/SM/SNBT +snowblower/S/SNBLW +snowboard/GZDRJS/SNBT +snowbound//SNBNT +snowcapped//SNKPT +snowdrift/MS/SNTRFT +snowdrop/MS/SNTRP +snowfall/MS/SNFL +snowfield/MS/SNFLT +snowflake/MS/SNFLK +snowily//SNWL +snowiness/MS/SNWNS +snowman/M/SNMN +snowmen//SNMN +snowmobile/GMDRS/SNMBL +snowplough/M/SNPL +snowploughs//SNPLS +snowplow/SMGD/SNPL +snowshed//SNXT +snowshoe/MRS/SNX +snowshoeing//SNXN +snowshoer/M/SNX +snowstorm/MS/SNSTM +snowsuit/S/SNST +snowy/RTP/SN +snub/SP/SNB +snubbed//SNBT +snubber//SNB +snubbing//SNBN +snuff/GZSYRD/SNF +snuffbox/SM/SNFBKS +snuffer/M/SNF +snuffle/GDSR/SNFL +snuffler/M/SNFL +snuffly/RT/SNFL +snug/SYP/SNK +snugged//SNKT +snugger//SNK +snuggest//SNKST +snugging//SNKN +snuggle/GDS/SNKL +snuggly//SNKL +snugness/MS/SNKNS +Snyder/M/SNT +so//S +SO//S +soak/GDRSJ/SK +soaker/M/SK +soap/MDRGS/SP +soapbox/DSMG/SPBKS +soapiness/S/SPNS +soapstone/MS/SPSTN +soapsud/S/SPST +soapy/RPT/SP +soar/DRJSG/S +soarer/M/SR +soaring/Y/SRN +sob/SZR/SB +sobbed//SBT +sobbing/Y/SBN +sober/PGTYRD/SB +soberer/M/SBR +soberness/SM/SBNS +sobriety/SIM/SBRT +sobriquet/MS/SBRKT +Soc//SK +soc/S/SK +soccer/MS/SS +sociabilities//SXBLTS +sociability/IM/SXBLT +sociable/S/SXBL +sociably/IU/SXBL +social/SY/SXL +socialism/SM/SXLSM +socialist/SM/SXLST +socialistic//SXLSTK +socialite/SM/SXLT +sociality/M/SXLT +socialization/SM/SXLSXN +socialize/RSDG/SXLS +socialized/U/SXLST +socializer/M/SXLS +socially/U/SXL +societal/Y/SSTL +society/MS/SST +socio//SS +sociobiology/M/SSBLK +sociocultural/Y/SSKLTRL +sociodemographic//SSTMKRFK +socioeconomic/S/SSKNMK +socioeconomically//SSKNMKL +sociolinguistics/M/SSLNSTKS +sociological/MY/SSLKKL +sociologist/SM/SSLKST +sociology/SM/SSLK +sociometric//SSMTRK +sociometry/M/SSMTR +sociopath/M/SSP@ +sociopaths//SSP@S +sock/GDMS/SK +socket/SMDG/SKT +Socorro/M/SKR +Socrates/M/SKRTS +Socratic/S/SKRTK +sod/MS/ST +soda/SM/ST +sodded//STT +sodden/DYPSG/STN +soddenness/M/STNS +sodding//STN +Soddy/M/ST +sodium/MS/STM +Sodom/M/STM +sodomite/MS/STMT +sodomize/GDS/STMS +sodomy/SM/STM +soever//SF +sofa/SM/SF +Sofia/M/SF +Sofie/M/SF +soft/SPXTYNR/SFT +softball/MS/SFTBL +softbound//SFTBNT +soften/ZGRD/SFTN +softener/M/SFTN +softhearted//SF@TT +softie's//SFTS +softness/MS/SFTNS +software/MS/SFTWR +softwood/SM/SFTWT +softy/SM/SFT +soggily//SKL +sogginess/S/SKNS +soggy/RPT/SK +Soho/M/SH +soigné//SKN +soil/SGMD/SL +soiled/U/SLT +soirée/SM/S +sojourn/RDZGSM/SKN +sol/GSMDR/SL +Sol/MY/SL +solace/GMSRD/SLS +solacer/M/SLS +solar/S/SL +solaria//SLR +solarium/M/SLRM +sold/RU/SLT +solder/RDMSZG/SLT +soldier/MDYSG/SLT +soldiery/MS/SLTR +sole/YSP/SL +solecism/MS/SLSSM +soled/FA/SLT +solemn/PTRY/SLMN +solemness//SLMNS +solemnify/GSD/SLMNF +solemnity/MS/SLMNT +solemnization/SM/SLMNSXN +solemnize/GSD/SLMNS +solemnness/SM/SLMNS +solenoid/MS/SLNT +soler/F/SL +soles/IFA/SLS +solicit/SDG/SLST +solicitation/S/SLSTXN +solicited/U/SLSTT +solicitor/MS/SLST +solicitous/YP/SLSTS +solicitousness/S/SLSTSNS +solicitude/MS/SLSTT +solid/STYRP/SLT +solidarity/MS/SLTRT +solidi//SLT +solidification/M/SLTFKXN +solidify/NXSDG/SLTF +solidity/S/SLTT +solidness/SM/SLTNS +solidus/M/SLTS +soliloquies//SLLKS +soliloquize/DSG/SLLKS +soliloquy/M/SLLK +soling/NM/SLN +solipsism/MS/SLPSSM +solipsist/S/SLPSST +Solis/M/SLS +solitaire/SM/SLTR +solitary/SP/SLTR +solitude/SM/SLTT +Sollie/M/SL +Solly/M/SL +solo/DMSG/SL +soloist/SM/SLST +Solomon/SM/SLMN +Solon/M/SLN +Soloviev/M/SLFF +solstice/SM/SLSTS +solubility/IMS/SLBLT +soluble/SI/SLBL +solute/ENAXS/SLT +solute's//SLTS +solution/AME/SLXN +solvable/UI/SLFBL +solvating//SLFTN +solve/ABSRDZG/SLF +solved/EU/SLFT +solvency/IMS/SLFNS +solvent/IS/SLFNT +solvently//SLFNTL +solvent's//SLFNTS +solver/MEA/SLF +solves/E/SLFS +solving/E/SLFN +Solzhenitsyn/M/SLSHNTSN +soma/M/SM +Somali/MS/SML +Somalia/M/SML +Somalian/S/SMLN +somatic//SMTK +somber/PY/SMB +somberness/SM/SMBNS +sombre//SMBR +sombrero/SM/SMBRR +some/Z/SM +somebody/SM/SMBT +somebody'll//SMBTL +someday//SMT +somehow//SMH +someone/SM/SMN +someone'll//SMNL +someplace/M/SMPLS +somersault/DSGM/SMSLT +Somerset/M/SMST +somerset/S/SMST +somersetted//SMSTT +somersetting//SMSTN +Somerville/M/SMFL +something/S/SM@N +sometime/S/SMTM +someway/S/SMW +somewhat/S/SMHT +somewhere/S/SMHR +Somme/M/SM +sommelier/SM/SML +somnambulism/SM/SMNMBLSM +somnambulist/SM/SMNMBLST +somnolence/MS/SMNLNS +somnolent/Y/SMNLNT +Somoza/M/SMS +Son/M/SN +son/SMY/SN +sonar/SM/SN +sonata/MS/SNT +sonatina/SM/SNTN +Sondheim/M/SNTHM +Sondra/M/SNTR +Sonenberg/M/SNNBK +song/MS/SNK +songbag//SNKBK +songbird/SM/SNKBT +songbook/S/SNKBK +songfest/MS/SNKFST +songful/YP/SNKFL +songfulness/M/SNKFLNS +Songhai/M/SNK +Songhua/M/SNK +songster/MS/SNKST +songstress/SM/SNKSTRS +songwriter/SM/SNKRT +songwriting//SNKRTN +Sonia/M/SN +sonic/S/SNK +Sonja/M/SNK +sonnet/MDSG/SNT +Sonni/M/SN +Sonnie/M/SN +Sonnnie/M/SN +Sonny/M/SN +sonny/SM/SN +Sonoma/M/SNM +Sonora/M/SNR +sonority/S/SNRT +sonorous/PY/SNRS +sonorousness/SM/SNRSNS +Sontag/M/SNTK +sonuvabitch//SNFBX +Sony/M/SN +Sonya/M/SNY +soon/TR/SN +soonish//SNX +soot/MGDS/ST +sooth/GZTYSRDMJ/S@ +soothe//S@ +soother/M/S@ +soothing/YP/S@N +soothingness/M/S@NNS +sooths//S@S +soothsay/JGZR/S@S +soothsayer/M/S@SY +sooty/RT/ST +SOP//SP +sop/SM/SP +Sophey/M/SF +Sophi/M/SF +Sophia/SM/SF +Sophie/M/SF +sophism/SM/SFSM +sophist/RMS/SFST +sophister/M/SFST +sophistic/S/SFSTK +sophistical//SFSTKL +sophisticate/XNGDS/SFSTKT +sophisticated/U/SFSTKTT +sophisticatedly//SFSTKTTL +sophistication/MU/SFSTKXN +sophistry/SM/SFSTR +Sophoclean//SFKLN +Sophocles/M/SFKLS +sophomore/SM/SFMR +sophomoric//SFMRK +Sophronia/M/SFRN +soporific/SM/SPRFK +soporifically//SPRFKL +sopped//SPT +sopping/S/SPN +soppy/RT/SP +soprano/SM/SPRN +Sopwith/M/SPW@ +sorbet/SM/SBT +Sorbonne/M/SBN +sorcerer/MS/SSR +sorceress/S/SSRS +sorcery/MS/SSR +Sorcha/M/SX +sordid/PY/STT +sordidness/SM/STTNS +sore/PYTGDRS/SR +sorehead/SM/SRHT +soreness/S/SRNS +Sorensen/M/SRNSN +Sorenson/M/SRNSN +sorghum/MS/SKM +sorority/MS/SRRT +sorrel/SM/SRL +Sorrentine/M/SRNTN +sorrily//SRL +sorriness/SM/SRNS +sorrow/GRDMS/SR +sorrower/M/SRW +sorrowful/YP/SRFL +sorrowfulness/SM/SRFLNS +sorry/PTSR/SR +sort/FSAGD/ST +sorta//ST +sortable//STBL +sorted/U/STT +sorter/MS/ST +sortie/MSD/ST +sortieing//STN +sort's//STS +sos//SS +SOS//SS +Sosa/M/SS +Sosanna/M/SSN +sot/SM/ST +Soto/M/ST +sottish//STX +sou/SMH/S +soubriquet's//SBRKTS +soufflé/MS/SFL +sough/DG/S +soughs//SS +sought/U/ST +soul/MDS/SL +soulful/YP/SLFL +soulfulness/MS/SLFLNS +soulless/Y/SLS +sound/AUD/SNT +soundboard/MS/SNTBT +sounder/U/SNT +sounders//SNTS +sounder's//SNTS +soundest//SNTST +sounding/AY/SNTN +soundings//SNTNS +sounding's//SNTNS +soundless/Y/SNTLS +soundly/U/SNTL +soundness/UMS/SNTNS +soundproof/GSD/SNTPRF +soundproofing/M/SNTPRFN +sound's//SNTS +sounds/A/SNTS +soundtrack/MS/SNTTRK +soup/GMDS/SP +soupçon/SM/SPN +Souphanouvong/M/SFNFNK +soupy/RT/SP +sour/TYDRPSG/S +source/ASDMG/SS +sourceless//SSLS +sourdough//ST +sourdoughs//STS +sourish//SRX +sourness/MS/SNS +sourpuss/MS/SPS +sous/DSG/SS +Sousa/M/SS +sousaphone/SM/SSFN +souse//SS +South/M/S@ +south/RDMG/S@ +Southampton/M/S@MPTN +southbound//S@BNT +Southeast/MS/S@ST +southeast/RZMS/S@ST +southeaster/YM/S@ST +southeastern//S@STN +southeastward/S/S@STWT +souther/MY/S@ +southerly/S/S@L +southern/PZSYR/S@N +southerner/M/S@N +Southerner/MS/S@N +southernisms//S@NSMS +southernmost//S@NMST +Southey/M/S@ +Southfield/M/S@FLT +southing/M/S@N +southland/M/S@LNT +southpaw/MS/S@P +souths//S@S +Souths//S@S +southward/S/S@WT +Southwest/MS/S@WST +southwest/RMSZ/S@WST +southwester/YM/S@WST +southwestern//S@WSTN +southwestward/S/S@WSTWT +souvenir/SM/SFN +sou'wester//SWST +sovereign/YMS/SFRN +sovereignty/MS/SFRKNT +soviet/MS/SFT +Soviet/S/SFT +sow/ADGS/S +sowbelly/M/SBL +sowens/M/SWNS +sower/DS/SW +Soweto/M/SWT +sown/A/SN +sox's//SKSS +soy/MS/S +soybean/MS/SBN +Soyinka/M/SYNK +Soyuz/M/SYS +Sp/M/SP +spa/MS/SP +Spaatz/M/SPTS +space/DSRGZMJ/SPS +spacecraft/MS/SPSKRFT +spaceflight/S/SPSFLT +spaceman/M/SPSMN +spacemen//SPSMN +spaceport/SM/SPSPT +spacer/M/SPS +spaceship/MS/SPSXP +spacesuit/MS/SPSST +spacewalk/GSMD/SPSWLK +Spacewar/M/SPSW +spacewoman//SPSWMN +spacewomen//SPSWMN +spacey//SPS +spacial//SPXL +spacier//SPS +spaciest//SPSST +spaciness//SPSNS +spacing/M/SPSN +spacious/PY/SPSS +spaciousness/SM/SPSSNS +Spackle//SPKL +spade/DSRGM/SPT +spadeful/SM/SPTFL +spader/M/SPT +spadework/SM/SPTWK +spadices//SPTSS +spadix/M/SPTKS +Spafford/M/SPFT +spaghetti/SM/SPKT +Spahn/M/SPN +Spain/M/SPN +spake//SPK +Spalding/M/SPLTN +Spam/M/SPM +Span//SPN +span/MS/SPN +spandex/MS/SPNTKS +spandrels//SPNTRLS +spangle/GMDS/SPNKL +Spanglish/S/SPNKLX +Spaniard/SM/SPNT +spaniel/SM/SPNL +spanielled//SPNLT +spanielling//SPNLN +Spanish/M/SPNX +spank/SRDJG/SPNK +spanker/M/SPNK +spanking/M/SPNKN +spanned/U/SPNT +spanner/SM/SPN +spanning//SPNN +spar/DRMGTS/SP +SPARC/M/SPK +SPARCstation/M/SPKSTXN +spare/PSY/SPR +spareness/MS/SPRNS +sparer/M/SPR +spareribs//SPRRBS +sparing/UY/SPRN +spark/SGMRD/SPK +sparker/M/SPK +sparkle/DRSGZ/SPKL +sparkler/M/SPKL +Sparkman/M/SPKMN +Sparks//SPKS +sparky/RT/SPK +sparling/SM/SPLN +sparred//SPRT +sparrer//SPR +sparring/U/SPRN +sparrow/MS/SPR +spars/TR/SPS +sparse/YP/SPS +sparseness/S/SPSNS +sparsity/S/SPST +Sparta/M/SPT +Spartacus/M/SPTKS +spartan//SPTN +Spartan/S/SPTN +spasm/GSDM/SPSM +spasmodic//SPSMTK +spasmodically//SPSMTKL +spastic/S/SPSTK +spat/MS/SPT +spate/SM/SPT +spathe/MS/SP@ +spatial/Y/SPXL +spatiality/M/SPXLT +spatted//SPTT +spatter/DGS/SPT +spatterdock/M/SPTTK +spatting//SPTN +spatula/SM/SPTL +spavin/DMS/SPFN +spawn/MRDSG/SPN +spawner/M/SPN +spay/DGS/SP +SPCA//SPK +speak/RBGZJS/SPK +speakable/U/SPKBL +speakeasy/SM/SPKS +speaker/M/SPK +Speaker's//SPKS +speakership/M/SPKXP +speaking/U/SPKN +spear/MRDGS/SP +spearer/M/SPR +spearfish/SDMG/SPFX +spearhead/GSDM/SPHT +spearmint/MS/SPMNT +Spears//SPS +spec/SM/SPK +spec'd//SPKT +special/SRYP/SPXL +specialism/MS/SPXLSM +specialist/MS/SPXLST +specialization/SM/SPXLSXN +specialize/GZDSR/SPXLS +specialized/U/SPXLST +specializing/U/SPXLSN +specialty/MS/SPXLT +specie/MS/SPS +specif//SPSF +specifiability//SPSFBLT +specifiable//SPSFBL +specifiably//SPSFBL +specific/SP/SPSFK +specifically//SPSFKL +specification/SM/SPSFKXN +specificity/S/SPSFST +specified/U/SPSFT +specifier/SM/SPSF +specifies//SPSFS +specify/AD/SPSF +specifying//SPSFYN +specimen/SM/SPSMN +spec'ing//SPKN +specious/YP/SPSS +speciousness/SM/SPSSNS +speck/GMDS/SPK +speckle/GMDS/SPKL +spectacle/MSD/SPKTKL +spectacular/SY/SPKTKL +spectator/SM/SPKTT +specter/DMS/SPKT +specter's/A/SPKTS +spectra/M/SPKTR +spectral/YP/SPKTRL +spectralness/M/SPKTRLNS +spectrogram/MS/SPKTRKRM +spectrograph/M/SPKTRKRF +spectrographically//SPKTRKRFKL +spectrography/M/SPKTRKRF +spectrometer/MS/SPKTRMT +spectrometric//SPKTRMTRK +spectrometry/M/SPKTRMTR +spectrophotometer/SM/SPKTRFTMT +spectrophotometric//SPKTRFTMTRK +spectrophotometry/M/SPKTRFTMTR +spectroscope/SM/SPKTRSKP +spectroscopic//SPKTRSKPK +spectroscopically//SPKTRSKPKL +spectroscopy/SM/SPKTRSKP +spectrum/M/SPKTRM +specular/Y/SPKL +specularity//SPKLRT +speculate/VNGSDX/SPKLT +speculation/M/SPKLXN +speculative/Y/SPKLTF +speculator/SM/SPKLT +sped//SPT +speech/GMDS/SPX +speechless/YP/SPXLS +speechlessness/SM/SPXLSNS +speed/RMJGZS/SPT +speedboat/GSRM/SPTBT +speedboating/M/SPTBTN +speeder/M/SPT +speedily//SPTL +speediness/SM/SPTNS +speedometer/MS/SPTMT +speedster/SM/SPTST +speedup/MS/SPTP +speedway/SM/SPTW +speedwell/MS/SPTWL +speedy/PTR/SPT +speer/M/SP +speleological//SPLLKKL +speleologist/S/SPLLKST +speleology/MS/SPLLK +spell/RDSJGZ/SPL +spellbind/SRGZ/SPLBNT +spellbinder/M/SPLBNT +spellbound//SPLBNT +spelldown/MS/SPLTN +spelled/A/SPLT +speller/M/SPL +spelling/M/SPLN +spells/A/SPLS +spelunker/MS/SPLNK +spelunking/S/SPLNKN +Spence/RM/SPNS +Spencer/M/SPNS +Spencerian//SPNSRN +spend/SBJRGZ/SPNT +spender/M/SPNT +spendthrift/MS/SPNT@RFT +Spengler/M/SPNKL +Spenglerian//SPNKLRN +Spense/MR/SPNS +Spenser/M/SPNS +Spenserian//SPNSRN +spent/U/SPNT +sperm/SM/SPM +spermatophyte/M/SPMTFT +spermatozoa//SPMTS +spermatozoon/M/SPMTSN +spermicidal//SPMSTL +spermicide/MS/SPMST +Sperry/M/SPR +spew/DRGZJS/SP +spewer/M/SPW +SPF//SPF +sphagnum/SM/SFKNM +sphere/SDGM/SFR +spheric/S/SFRK +spherical/Y/SFRKL +spherics/M/SFRKS +spheroid/SM/SFRT +spheroidal/Y/SFRTL +spherule/MS/SFRL +sphincter/SM/SFNKT +Sphinx/M/SFNKS +sphinx/MS/SFNKS +spic/DGM/SPK +Spica/M/SPK +spice/SM/SPS +spicebush/M/SPSBX +spicily//SPSL +spiciness/SM/SPSNS +spicule/MS/SPKL +spicy/PTR/SPS +spider/SM/SPT +spiderweb/S/SPTWB +spiderwort/M/SPTWT +spidery/TR/SPTR +Spiegel/M/SPKL +spiel/GDMS/SPL +Spielberg/M/SPLBK +spier/M/SP +spiffy/TDRSG/SPF +spigot/MS/SPKT +spike/GMDSR/SPK +Spike/M/SPK +spiker/M/SPK +spikiness/SM/SPKNS +spiky/PTR/SPK +spill/RDSG/SPL +spillage/SM/SPLK +Spillane/M/SPLN +spillover/SM/SPLF +spillway/SM/SPLW +spin/S/SPN +spinach/MS/SPNX +spinal/YS/SPNL +spindle/JGMDRS/SPNTL +spindly/RT/SPNTL +spine/MS/SPN +spineless/YP/SPNLS +spinelessness/M/SPNLSNS +spinet/SM/SPNT +spininess/M/SPNNS +spinnability/M/SPNBLT +spinnaker/SM/SPNK +spinner/SM/SPN +spinneret/MS/SPNRT +spinning/SM/SPNN +Spinoza/M/SPNS +spinster/MS/SPNST +spinsterhood/SM/SPNSTHT +spinsterish//SPNSTRX +spiny/PRT/SPN +spiracle/SM/SPRKL +spiraea's//SPRS +spiral/YDSG/SPRL +spire/AIDSGF/SPR +spirea/MS/SPR +spire's//SPRS +spirit/GMDS/SPRT +spirited/PY/SPRTT +spiritedness/M/SPRTTNS +spiritless//SPRTLS +spirits/I/SPRTS +spiritual/SYP/SPRTL +spiritualism/SM/SPRTLSM +spiritualist/SM/SPRTLST +spiritualistic//SPRTLSTK +spirituality/SM/SPRTLT +spirituous//SPRTS +Spiro/M/SPR +spirochete/SM/SPRXT +spiry/TR/SPR +spit/SGD/SPT +spitball/SM/SPTBL +spite/CSDAG/SPT +spiteful/PY/SPTFL +spitefuller//SPTFL +spitefullest//SPTFLST +spitefulness/MS/SPTFLNS +spite's/A/SPTS +spitfire/SM/SPTFR +spitted//SPTT +spitting//SPTN +spittle/SM/SPTL +spittoon/SM/SPTN +Spitz/M/SPTS +splash/GZDRS/SPLX +splashdown/MS/SPLXTN +splasher/M/SPLX +splashily//SPLXL +splashiness/MS/SPLXNS +splashy/RTP/SPLX +splat/SM/SPLT +splatted//SPLTT +splatter/DSG/SPLT +splatting//SPLTN +splay/SDG/SPL +splayfeet//SPLFT +splayfoot/MD/SPLFT +spleen/SM/SPLN +splendid/YRPT/SPLNTT +splendidness/M/SPLNTTNS +splendor/SM/SPLNT +splendorous//SPLNTRS +splenetic/S/SPLNTK +splice/RSDGZJ/SPLS +splicer/M/SPLS +spline/MSD/SPLN +splint/SGZMDR/SPLNT +splinter/GMD/SPLNT +splintery//SPLNTR +split/SM/SPLT +splits/M/SPLTS +splittable//SPLTBL +splitter/MS/SPLT +splitting/S/SPLTN +splodge/SM/SPLK +splotch/MSDG/SPLX +splotchy/RT/SPLX +splurge/GMDS/SPLK +splutter/RDSG/SPLT +splutterer/M/SPLTR +Spock/M/SPK +spoil/CSZGDR/SPL +spoilables//SPLBLS +spoilage/SM/SPLK +spoiled/U/SPLT +spoiler/MC/SPL +spoilsport/SM/SPLSPT +Spokane/M/SPKN +spoke/DSG/SPK +spoken/U/SPKN +spokeshave/MS/SPKXF +spokesman/M/SPKSMN +spokesmen//SPKSMN +spokespeople//SPKSPPL +spokesperson/S/SPKSPSN +spokeswoman/M/SPKSWMN +spokeswomen//SPKSWMN +spoliation/MCS/SPLXN +sponge/GMZRSD/SPNK +spongecake//SPNKKK +sponger/M/SPNK +sponginess/S/SPNKNS +spongy/TRP/SPNK +sponsor/DGMS/SPNS +sponsorship/S/SPNSXP +spontaneity/SM/SPNTNT +spontaneous/PY/SPNTNS +spontaneousness/M/SPNTNSNS +spoof/SMDG/SPF +spook/SMDG/SPK +spookiness/MS/SPKNS +spooky/PRT/SPK +spool/SRDMGZ/SPL +spoon/GSMD/SPN +spoonbill/SM/SPNBL +spoonerism/SM/SPNRSM +spoonful/MS/SPNFL +spoor/GSMD/SP +sporadic/Y/SPRTK +sporadically//SPRTKL +spore/DSGM/SPR +sporran/MS/SPRN +sport/VGSRDM/SPT +sportiness/SM/SPTNS +sporting/Y/SPTN +sportive/PY/SPTF +sportiveness/M/SPTFNS +sportscast/RSGZM/SPTSKST +sportsman/MY/SPTSMN +sportsmanlike/U/SPTSMNLK +sportsmanship/MS/SPTSMNXP +sportsmen//SPTSMN +sportswear/M/SPTSW +sportswoman/M/SPTSWMN +sportswomen//SPTSWMN +sportswriter/S/SPTSRT +sporty/PRT/SPT +Sposato/M/SPST +spot/MSC/SPT +spotless/YP/SPTLS +spotlessness/MS/SPTLSNS +spotlight/GDMS/SPTLT +spotlit//SPTLT +spotted/U/SPTT +spotter/MS/SPT +spottily//SPTL +spottiness/SM/SPTNS +spotting/M/SPTN +spotty/RTP/SPT +spousal/MS/SPSL +spouse/GMSD/SPS +spout/SGRD/SPT +spouter/M/SPT +sprain/SGD/SPRN +sprang/S/SPRNK +sprat/SM/SPRT +sprawl/GSD/SPRL +spray/GZSRDM/SPR +sprayed/UA/SPRYT +sprayer/M/SPRY +sprays/A/SPRS +spread/RSJGZB/SPRT +spreadeagled//SPRTKLT +spreader/M/SPRT +spreadsheet/S/SPRTXT +spree/MDS/SPR +spreeing//SPRN +sprig/MS/SPRK +sprigged//SPRKT +sprigging//SPRKN +sprightliness/MS/SPRTLNS +sprightly/PRT/SPRTL +spring/SGZR/SPRN +springboard/MS/SPRNBT +springbok/MS/SPRNBK +springeing//SPRNN +springer/M/SPRN +Springfield/M/SPRNFLT +springily//SPRNL +springiness/SM/SPRNNS +springing/M/SPRNN +springlike//SPRNLK +Springsteen/M/SPRNSTN +springtime/MS/SPRNTM +springy/TRP/SPRN +sprinkle/DRSJZG/SPRNKL +sprinkler/DM/SPRNKL +sprinkling/M/SPRNKLN +Sprint/M/SPRNT +sprint/SGZMDR/SPRNT +sprite/SM/SPRT +spritz/GZDSR/SPRTS +sprocket/DMGS/SPRKT +sprocketed/U/SPRKTT +Sproul/M/SPRL +sprout/GSD/SPRT +spruce/GMTYRSDP/SPRS +spruceness/SM/SPRSNS +sprue/M/SPR +sprung/U/SPRNK +spry/TRY/SPR +spryness/S/SPRNS +SPSS//SPS +spud/MS/SPT +spudded//SPTT +spudding//SPTN +Spuds/M/SPTS +spume/DSGM/SPM +spumone's//SPMNS +spumoni/S/SPMN +spumy/TR/SPM +spun//SPN +spunk/GSMD/SPNK +spunky/SRT/SPNK +spur/MS/SP +spurge/MS/SPK +spurious/PY/SPRS +spuriousness/SM/SPRSNS +spurn/RDSG/SPN +spurred//SPRT +spurring//SPRN +spurt/SGD/SPT +sputa//SPT +Sputnik//SPTNK +sputnik/MS/SPTNK +sputter/DRGS/SPT +sputum/M/SPTM +spy/DRSGM/SP +spyglass/MS/SPKLS +sq//SK +sqq//SKK +sqrt//SKRT +squab/SM/SKB +squabbed//SKBT +squabber//SKB +squabbest//SKBST +squabbing//SKBN +squabble/ZGDRS/SKBL +squabbler/M/SKBL +squad/SM/SKT +squadded//SKTT +squadding//SKTN +squadron/MDGS/SKTRN +squalid/PRYT/SKLT +squalidness/SM/SKLTNS +squall/GMRDS/SKL +squaller/M/SKL +squally/RT/SKL +squalor/SM/SKL +squamous/Y/SKMS +squander/GSRD/SKNT +Squanto//SKNT +square/GMTYRSDP/SKR +squareness/SM/SKRNS +squarer/M/SKR +Squaresville/M/SKRSFL +squarish//SKRX +squash/GSRD/SKX +squashiness/M/SKXNS +squashy/RTP/SKX +squat/SPY/SKT +squatness/MS/SKTNS +squatted//SKTT +squatter/SMDG/SKT +squattest//SKTST +squatting//SKTN +squaw/SM/SK +squawk/GRDMZS/SKK +squawker/M/SKK +squeak/RDMGZS/SKK +squeaker/M/SKK +squeakily//SKKL +squeakiness/S/SKKNS +squeaky/RPT/SKK +squeal/MRDSGZ/SKL +squealer/M/SKL +squeamish/YP/SKMX +squeamishness/SM/SKMXNS +squeegee/DSM/SKK +squeegeeing//SKKN +squeeze/GZSRDB/SKS +squeezer/M/SKS +squelch/GDRS/SKLX +squelcher/M/SKLX +squelchy/RT/SKLX +squib/SM/SKB +Squibb/GM/SKB +squibbed//SKBT +squibbing//SKBN +Squibbing/M/SKBN +squid/SM/SKT +squidded//SKTT +squidding//SKTN +squiggle/MGDS/SKKL +squiggly/RT/SKKL +squint/GTSRD/SKNT +squinter/M/SKNT +squinting/Y/SKNTN +squire/SDGM/SKR +squirehood//SKRHT +squirm/SGD/SKM +squirmy/TR/SKM +squirrel/SGYDM/SKRL +squirt/GSRD/SKT +squirter/M/SKT +squish/GSD/SKX +squishy/RTP/SKX +Sr//SR +Srinagar/M/SRNK +SRO//SR +SS//S +S's//SS +s's/KI/SS +SSA//S +SSE//S +ssh//X +SSS//S +SST//ST +SSW//S +ST//ST +st/GBJ/ST +St/M/ST +Sta/M/ST +stab/YS/STB +stabbed//STBT +stabber/S/STB +stabbing/S/STBN +stability/ISM/STBLT +stabilizability//STBLSBLT +stabilization/CS/STBLSXN +stabilization's//STBLSXNS +stabilize/CGSD/STBLS +stabilizer/MS/STBLS +stable/RSDGMTP/STBL +stableman/M/STBLMN +stablemate//STBLMT +stablemen//STBLMN +stableness/UM/STBLNS +stabler/U/STBL +stables/F/STBLS +stable's/F/STBLS +stablest/U/STBLST +stabling/M/STBLN +stably/U/STBL +staccato/S/STKT +Stace/M/STS +Stacee/M/STS +Stacey/M/STS +Staci/M/STS +Stacia/M/STX +Stacie/M/STS +stack/USDG/STK +stackable//STKBL +stacker/M/STK +stack's//STKS +Stacy/M/STS +stadias//STTS +stadia's//STTS +stadium/MS/STTM +Stael/M/STL +Stafani/M/STFN +staff/ADSG/STF +Staffard/M/STFT +staffer/MS/STF +Stafford/M/STFT +Staffordshire/M/STFTXR +staffroom//STFRM +staff's//STFS +Staford/M/STFT +stag/DRMJSGZ/STK +stage/SM/STK +stagecoach/MS/STKKX +stagecraft/MS/STKKRFT +stagehand/MS/STKHNT +stager/M/STK +stagestruck//STKSTRK +stagflation/SM/STKFLXN +stagged//STKT +stagger/GSJDR/STK +staggerer/M/STKR +staggering/Y/STKRN +staggers/M/STKS +stagging//STKN +staginess/M/STKNS +staging/M/STKN +stagnancy/SM/STKNNS +stagnant/Y/STKNNT +stagnate/NGDSX/STKNT +stagnation/M/STKNXN +stagy/PTR/STK +Stahl/M/STL +staid/YRTP/STT +staidness/MS/STTNS +stain/SGRD/STN +stained/U/STNT +stainer/M/STN +stainless/YS/STNLS +stair/MS/ST +staircase/SM/STKS +stairway/SM/STW +stairwell/MS/STWL +stake/DSGM/STK +stakeholder/S/STKHLT +stakeout/SM/STKT +stalactite/SM/STLKTT +stalag/M/STLK +stalagmite/SM/STLKMT +stale/PGYTDSR/STL +stalemate/SDMG/STLMT +staleness/MS/STLNS +Staley/M/STL +Stalin/SM/STLN +Stalingrad/M/STLNRT +Stalinist//STLNST +stalk/MRDSGZJ/STLK +stalker/M/STLK +stall/DMSJG/STL +stalled/I/STLT +stallholders//STLHLTS +stallion/SM/STLN +Stallone/M/STLN +stalls/I/STLS +stalwart/PYS/STLWT +stalwartness/M/STLWTNS +stamen/MS/STMN +Stamford/M/STMFT +stamina/SM/STMN +staminate//STMNT +stammer/DRSZG/STM +stammerer/M/STMR +stammering/Y/STMRN +stamp/RDSGZJ/STMP +stamped/U/STMPT +stampede/MGDRS/STMPT +stampeder/M/STMPT +stamper/M/STMP +Stan/YMS/STN +stance/MIS/STNS +stanch/GDRST/STNX +stancher/M/STNX +stanchion/SGMD/STNXN +stand/SJGZR/STNT +standalone//STNTLN +standard/YMS/STNTT +standardization/AMS/STNTTSXN +standardize/GZDSR/STNTTS +standardized/U/STNTTST +standardizer/M/STNTTS +standardizes/A/STNTTSS +standby//STNTB +standbys//STNTBS +standee/MS/STNT +Standford/M/STNTFT +standing/M/STNTN +Standish/M/STNTX +standoff/SM/STNTF +standoffish//STNTFX +standout/MS/STNTT +standpipe/MS/STNTPP +standpoint/SM/STNTPNT +standstill/SM/STNTSTL +Stanfield/M/STNFLT +Stanford/M/STNFT +Stanislas/M/STNSLS +Stanislaus/M/STNSLS +Stanislavsky/M/STNSLFSK +Stanislaw/M/STNSL +stank/S/STNK +Stanleigh/M/STNL +Stanley/M/STNL +Stanly/M/STNL +stannic//STNK +stannous//STNS +Stanton/M/STNTN +Stanwood/M/STNWT +stanza/MS/STNS +staph/M/STF +staphs//STFS +staphylococcal//STFLKKL +staphylococci//STFLKS +staphylococcus/M/STFLKKS +staple/ZRSDGM/STPL +stapled/U/STPLT +stapler/M/STPL +Stapleton/M/STPLTN +star/DRMGZS/ST +Star/M/ST +starboard/SDMG/STBT +starch/MDSG/STX +starchily//STXL +starchiness/MS/STXNS +starchy/TRP/STX +stardom/MS/STTM +stardust/MS/STTST +stare/S/STR +starfish/SM/STFX +Stargate/M/STKT +stargaze/ZGDRS/STKS +staring/U/STRN +Stark/M/STK +stark/SPGTYRD/STK +Starkey/M/STK +starkness/MS/STKNS +Starla/M/STL +Starlene/M/STLN +starless//STLS +starlet/MS/STLT +starlight/MS/STLT +Starlin/M/STLN +starling/MS/STLN +starlit//STLT +Starr/M/STR +starred//STRT +starring//STRN +starry/TR/STR +starship//STXP +starstruck//STSTRK +start/ASGDR/STT +starter/MS/STT +startle/GDS/STTL +startling/PY/STTLN +startup/SM/STTP +starvation/MS/STFXN +starve/RSDG/STF +starveling/M/STFLN +starver/M/STF +stash/GSD/STX +stasis/M/STSS +stat/DRSGV/STT +state/IGASD/STT +statecraft/MS/STTKRFT +stated/U/STTT +statehood/MS/STTHT +statehouse/S/STTHS +Statehouse's//STTHSS +stateless/P/STTLS +statelessness/MS/STTLSNS +stateliness/MS/STTLNS +stately/PRT/STTL +statement/MSA/STTMNT +Staten/M/STTN +stater/M/STT +stateroom/SM/STTRM +states/K/STTS +state's/K/STTS +stateside//STTST +statesman/MY/STTSMN +statesmanlike//STTSMNLK +statesmanship/SM/STTSMNXP +statesmen//STTSMN +stateswoman//STTSWMN +stateswomen//STTSWMN +statewide//STTWT +static/S/STTK +statical/Y/STTKL +statics/M/STTKS +station/SZGMDR/STXN +stationarity//STXNRT +stationary/S/STXNR +stationer/M/STXN +stationery/MS/STXNR +stationmaster/M/STXNMST +statistic/MS/STTSTK +statistical/Y/STTSTKL +statistician/MS/STTSTXN +Statler/M/STTL +stator/SM/STT +statuary/SM/STTR +statue/MSD/STT +statuesque/YP/STTSK +statuette/MS/STTT +stature/MS/STTR +status/SM/STTS +statute/SM/STTT +statutorily//STTTRL +statutory/P/STTTR +Stauffer/M/STF +staunch/PDRSYTG/STNX +staunchness/S/STNXNS +stave/DGM/STF +Stavro/MS/STFR +stay/DRGZS/ST +stayer/M/STY +std//STT +STD//STT +stdio//STT +Ste/M/ST +stead/SGDM/STT +steadfast/PY/STTFST +steadfastness/MS/STTFSTNS +steadily/U/STTL +steadiness/US/STTNS +steadiness's//STTNSS +steading/M/STTN +steady/DRSUTGP/STT +steak/SM/STK +steakhouse/SM/STKHS +steal/SRHG/STL +stealer/M/STL +stealing/M/STLN +stealth/M/STL@ +stealthily//STL@L +stealthiness/MS/STL@NS +stealths//STL@S +stealthy/PTR/STL@ +steam/SGZRDMJ/STM +steamboat/MS/STMBT +steamer/MDG/STM +steamfitter/S/STMFT +steamfitting/S/STMFTN +steamily//STML +steaminess/SM/STMNS +steamroll/GZRDS/STMRL +steamroller/DMG/STMRL +steamship/SM/STMXP +steamy/RSTP/STM +Stearn/SM/STN +Stearne/M/STN +steed/SM/STT +steel/SDMGZ/STL +Steele/M/STL +steeliness/SM/STLNS +steelmaker/M/STLMK +steelwork/ZSMR/STLWK +steelworker/M/STLWK +steely/TPRS/STL +steelyard/MS/STLYT +Steen/M/STN +steep/SYRNDPGTX/STP +steepen/GD/STPN +steeper/M/STP +steeple/MS/STPL +steeplebush/M/STPLBX +steeplechase/GMSD/STPLXS +steeplejack/MS/STPLKK +steepness/S/STPNS +steer/SGBRDJ/ST +steerage/MS/STRK +steerer/M/STR +steersman/M/STSMN +steersmen//STSMN +steeves//STFS +Stefa/M/STF +Stefan/M/STFN +Stefania/M/STFN +Stefanie/M/STFN +Stefano/M/STFN +Steffane/M/STFN +Steffen/M/STFN +Steffi/M/STF +Steffie/M/STF +stegosauri//STKSR +stegosaurus/S/STKSRS +Stein/RM/STN +stein/SGZMRD/STN +Steinbeck/SM/STNBK +Steinberg/M/STNBK +Steinem/M/STNM +Steiner/M/STN +Steinmetz/M/STNMTS +Steinway/M/STNW +Stella/M/STL +stellar//STL +stellated//STLTT +stem/MS/STM +stemless//STMLS +stemmed/U/STMT +stemming//STMN +stemware/MS/STMWR +stench/GMDS/STNX +stencil/GDRMSZ/STNSL +stenciler/M/STNSL +stencillings//STNSLNS +Stendhal/M/STNTHL +Stendler/M/STNTL +Stengel/M/STNKL +steno/SM/STN +stenographer/SM/STNKRF +stenographic//STNKRFK +stenography/SM/STNKRF +stenotype/M/STNTP +stentorian//STNTRN +step/MIS/STP +stepbrother/MS/STPBR@ +stepchild/M/STPXLT +stepchildren//STPXLTRN +stepdaughter/MS/STPTT +stepfather/SM/STPF@ +Stepha/M/STF +Stephan/M/STFN +Stephana/M/STFN +Stephani/M/STFN +Stephanie/M/STFN +Stephannie/M/STFN +Stephanus/M/STFNS +Stephen/MS/STFN +Stephenie/M/STFN +Stephenson/M/STFNSN +Stephi/M/STF +Stephie/M/STF +Stephine/M/STFN +stepladder/SM/STPLT +stepmother/SM/STPM@ +stepparent/SM/STPRNT +steppe/RSDGMZ/STP +stepper/M/STP +steppingstone/S/STPNSTN +stepsister/SM/STPSST +stepson/SM/STPSN +stepwise//STPWS +stereo/GSDM/STR +stereographic//STRKRFK +stereography/M/STRKRF +stereophonic//STRFNK +stereoscope/MS/STRSKP +stereoscopic//STRSKPK +stereoscopically//STRSKPKL +stereoscopy/M/STRSKP +stereotype/GMZDRS/STRTP +stereotypic//STRTPK +stereotypical/Y/STRTPKL +sterile//STRL +sterility/SM/STRLT +sterilization/SM/STRLSXN +sterilize/RSDGZ/STRLS +sterilized/U/STRLST +sterilizes/A/STRLSS +Sterling/M/STLN +sterling/MPYS/STLN +sterlingness/M/STLNNS +Stern/M/STN +stern/SYRDPGT/STN +sternal//STNL +Sternberg/M/STNBK +Sterne/M/STN +sternness/S/STNS +Sterno//STN +sternum/SM/STNM +steroid/MS/STRT +steroidal//STRTL +stertorous//STTRS +Stesha/M/STX +stet/MS/STT +stethoscope/SM/ST@SKP +stetson/MS/STTSN +Stetson/SM/STTSN +stetted//STTT +stetting//STTN +Steuben/M/STBN +Stevana/M/STFN +Steve/M/STF +stevedore/GMSD/STFTR +Steven/MS/STFN +Stevena/M/STFN +Stevenson/M/STFNSN +Stevie/M/STF +Stevy/M/STF +stew/GDMS/ST +steward/DMSG/STWT +Steward/M/STWT +stewardess/SM/STWTS +stewardship/MS/STWTXP +Stewart/M/STWT +stick/MRDSGZ/STK +sticker/M/STK +stickily//STKL +stickiness/SM/STKNS +stickle/GZDR/STKL +stickleback/MS/STKLBK +stickler/M/STKL +stickpin/SM/STKPN +stickup/SM/STKP +sticky/GPTDRS/STK +Stieglitz/M/STKLTS +stiff/GTXPSYRND/STF +stiffen/JZRDG/STFN +stiffness/MS/STFNS +stifle/GJRSD/STFL +stifler/M/STFL +stifling/Y/STFLN +stigma/MS/STKM +stigmata//STKMT +stigmatic/S/STKMTK +stigmatization/C/STKMTSXN +stigmatizations//STKMTSXNS +stigmatization's//STKMTSXNS +stigmatize/DSG/STKMTS +stigmatized/U/STKMTST +stile/GMDS/STL +stiletto/MDSG/STLT +still/RDIGS/STL +stillbirth/M/STLB@ +stillbirths//STLB@S +stillborn/S/STLBN +stiller/MI/STL +stillest//STLST +Stillman/M/STLMN +Stillmann/M/STLMN +stillness/MS/STLNS +Stillwell/M/STLWL +stilt/GDMS/STLT +stilted/PY/STLTT +Stilton/MS/STLTN +Stimson/M/STMSN +stimulant/MS/STMLNT +stimulate/SDVGNX/STMLT +stimulated/U/STMLTT +stimulation/M/STMLXN +stimulative/S/STMLTF +stimulator/M/STMLT +stimulatory//STMLTR +stimuli/M/STML +stimulus/MS/STMLS +Stine/M/STN +sting/GZR/STN +stinger/M/STN +stingily//STNL +stinginess/MS/STNNS +stinging/Y/STNN +stingray/MS/STNR +stingy/RTP/STN +stink/GZRJS/STNK +stinkbug/S/STNKBK +stinker/M/STNK +stinking/Y/STNKN +stinkpot/M/STNKPT +Stinky/M/STNK +stinky/RT/STNK +stint/JGRDMS/STNT +stinter/M/STNT +stinting/U/STNTN +stipend/MS/STPNT +stipendiary//STPNTR +stipple/JDRSG/STPL +stippler/M/STPL +stipulate/XNGSD/STPLT +stipulation/M/STPLXN +stir/S/ST +Stirling/M/STLN +stirred/U/STRT +stirrer/SM/STR +stirring/YS/STRN +stirrup/SM/STRP +stitch/ASDG/STX +stitcher/M/STX +stitchery/S/STXR +stitching/MS/STXN +stitch's//STXS +stoat/SM/STT +stochastic//STXSTK +stochastically//STXSTKL +stochasticity//STXSTST +stock/SGAD/STK +stockade/SDMG/STKT +stockbreeder/SM/STKBRT +stockbroker/MS/STKBRK +stockbroking/S/STKBRKN +stocker/SM/STK +Stockhausen/M/STKHSN +stockholder/SM/STKHLT +Stockholm/M/STKHLM +stockily//STKL +stockiness/SM/STKNS +stockinet's//STKNTS +stockinette/S/STKNT +stocking/MDS/STKN +stockist/MS/STKST +stockpile/GRSD/STKPL +stockpiler/M/STKPL +stockpot/MS/STKPT +stockroom/MS/STKRM +stock's//STKS +stocktaking/MS/STKTKN +Stockton/M/STKTN +stocky/PRT/STK +stockyard/SM/STKYT +Stoddard/M/STTT +stodge/M/STK +stodgily//STKL +stodginess/S/STKNS +stodgy/TRP/STK +stogy/SM/STK +stoic/MS/STK +Stoic/MS/STK +stoical/Y/STKL +stoichiometric//STXMTRK +stoichiometry/M/STXMTR +stoicism/SM/STSSM +Stoicism/SM/STSSM +stoke/DSRGZ/STK +stoker/M/STK +stokes/M/STKS +Stokes/M/STKS +STOL//STL +stole/MDS/STL +stolen//STLN +stolid/PTYR/STLT +stolidity/S/STLTT +stolidness/S/STLTNS +stolon/SM/STLN +stomach/RSDMZG/STMX +stomachache/MS/STMXX +stomacher/M/STMX +stomachs//STMXS +stomp/DSG/STMP +stone/DSRGM/STN +Stone/M/STN +stonecutter/SM/STNKT +Stonehenge/M/STNHNK +stoneless//STNLS +stonemason/MS/STNMSN +stoner/M/STN +stonewall/GDS/STNWL +stoneware/MS/STNWR +stonewashed//STNWXT +stonework/SM/STNWK +stonewort/M/STNWT +stonily//STNL +stoniness/MS/STNNS +stony/TPR/STN +stood//STT +stooge/SDGM/STK +stool/SDMG/STL +stoop/SDG/STP +stop/US/STP +stopcock/MS/STPKK +stopgap/SM/STPKP +stoplight/SM/STPLT +stopover/MS/STPF +stoppable/U/STPBL +stoppage/MS/STPK +Stoppard/M/STPT +stopped/U/STPT +stopper/GMDS/STP +stopping/M/STPN +stopple/GDSM/STPL +stop's//STPS +stops/M/STPS +stopwatch/SM/STPWX +storage/SM/STRK +store/ADSRG/STR +storefront/SM/STRFRNT +storehouse/MS/STRHS +storekeep/ZR/STRKP +storekeeper/M/STRKP +storeroom/SM/STRRM +store's//STRS +stork/SM/STK +Storm/M/STM +storm/SRDMGZ/STM +stormbound//STMBNT +stormer/M/STM +Stormi/M/STM +Stormie/M/STM +stormily//STML +storminess/S/STMNS +stormtroopers//STMTRPS +Stormy/M/STM +stormy/PTR/STM +story/GSDM/STR +storyboard/MDSG/STRBT +storybook/MS/STRBK +storyline//STRLN +storyteller/SM/STRTL +storytelling/MS/STRTLN +Stouffer/M/STF +stoup/SM/STP +Stout/M/STT +stout/STYRNP/STT +stouten/DG/STTN +stouthearted//ST@TT +stoutness/MS/STTNS +stove/DSRGM/STF +stovepipe/SM/STFPP +stover/M/STF +stow/GDS/ST +stowage/SM/STWK +stowaway/MS/STWW +Stowe/M/STW +Strabo/M/STRB +straddle/ZDRSG/STRTL +straddler/M/STRTL +Stradivari/SM/STRTFR +Stradivarius/M/STRTFRS +strafe/GRSD/STRF +strafer/M/STRF +straggle/GDRSZ/STRKL +straggly/RT/STRKL +straight/RNDYSTXGP/STRT +straightaway/S/STRTW +straightedge/MS/STRTK +straighten/ZGDR/STRTN +straightener/M/STRTN +straightforward/SYP/STRTFWT +straightforwardness/MS/STRTFWTNS +straightjacket's//STRTKKTS +straightness/MS/STRTNS +straightway/S/STRTW +strain/ASGZDR/STRN +strained/UF/STRNT +strainer/MA/STRN +straining/F/STRNN +strains/F/STRNS +strait/XTPSMGYDNR/STRT +straiten/DG/STRTN +straitjacket/GDMS/STRTKKT +straitlaced//STRTLST +straitness/M/STRTNS +strand/SDRG/STRNT +stranded/P/STRNTT +strange/PYZTR/STRNK +strangeness/SM/STRNKNS +stranger/GMD/STRNK +strangle/JDRSZG/STRNKL +stranglehold/MS/STRNKLHLT +strangles/M/STRNKLS +strangulate/NGSDX/STRNKLT +strangulation/M/STRNKLXN +strap/US/STRP +strapless/S/STRPLS +strapped/U/STRPT +strapping/S/STRPN +strap's//STRPS +Strasbourg/M/STRSBK +strata/MS/STRT +stratagem/SM/STRTKM +strategic/S/STRTKK +strategical/Y/STRTKKL +strategics/M/STRTKKS +strategist/SM/STRTKST +strategy/SM/STRTK +Stratford/M/STRTFT +strati//STRT +stratification/M/STRTFKXN +stratified/U/STRTFT +stratify/NSDGX/STRTF +stratigraphic//STRTKRFK +stratigraphical//STRTKRFKL +stratigraphy/M/STRTKRF +stratosphere/SM/STRTSFR +stratospheric//STRTSFRK +stratospherically//STRTSFRKL +stratum/M/STRTM +stratus/M/STRTS +Strauss//STRS +Stravinsky/M/STRFNSK +straw/SMDG/STR +strawberry/SM/STRBR +strawflower/SM/STRFLW +stray/GSRDM/STR +strayer/M/STRY +streak/DRMSGZ/STRK +streaker/M/STRK +streaky/TR/STRK +stream/GZSMDR/STRM +streamed/U/STRMT +streamer/M/STRM +streaming/M/STRMN +streamline/SRDGM/STRMLN +street/SMZ/STRT +streetcar/MS/STRTK +streetlight/SM/STRTLT +streetwalker/MS/STRTWLK +streetwise//STRTWS +Streisand/M/STRSNT +strength/NMX/STRNK@ +strengthen/AGDS/STRNK@N +strengthener/MS/STRNK@N +strengths//STRNK@S +strenuous/PY/STRNS +strenuousness/SM/STRNSNS +strep/MS/STRP +streptococcal//STRPTKKL +streptococci//STRPTKS +streptococcus/M/STRPTKKS +streptomycin/SM/STRPTMSN +stress/DSMG/STRS +stressed/U/STRST +stressful/YP/STRSFL +stretch/BDRSZG/STRX +stretchability/M/STRXBLT +stretchable/U/STRXBL +stretcher/DMG/STRX +stretchy/TRP/STRX +strew/GDHS/STR +strewn//STRN +stria/M/STR +striae//STR +striate/DSXGN/STRT +striated/U/STRTT +striation/M/STRXN +stricken//STRKN +Strickland/M/STRKLNT +strict/AF/STRKT +stricter//STRKT +strictest//STRKTST +strictly//STRKTL +strictness/S/STRKTNS +stricture/SM/STRKTR +stridden//STRTN +stride/RSGM/STRT +stridency/S/STRTNS +strident/Y/STRTNT +strider/M/STRT +strife/SM/STRF +strike/RSGZJ/STRK +strikebreak/ZGR/STRKBRK +strikebreaker/M/STRKBRK +strikebreaking/M/STRKBRKN +strikeout/S/STRKT +striker/M/STRK +striking/Y/STRKN +Strindberg/M/STRNTBK +string/SAG/STRN +stringed//STRNT +stringency/S/STRNNS +stringent/Y/STRNNT +stringer/MS/STRN +stringiness/SM/STRNNS +stringing/M/STRNN +string's//STRNS +stringy/RTP/STRN +strip/GRDMS/STRP +stripe/SM/STRP +striper/M/STRP +stripling/M/STRPLN +stripped/U/STRPT +stripper/MS/STRP +stripping//STRPN +striptease/SRDGZM/STRPTS +stripteaser/M/STRPTS +stripy/RT/STRP +strive/JRSG/STRF +striven//STRFN +striver/M/STRF +strobe/SDGM/STRB +stroboscope/SM/STRBSKP +stroboscopic//STRBSKPK +strode//STRT +stroke/ZRSDGM/STRK +stroking/M/STRKN +stroll/GZSDR/STRL +stroller/M/STRL +Strom/M/STRM +Stromberg/M/STRMBK +Stromboli/M/STRMBL +Strong/M/STRNK +strong/YRT/STRNK +strongbow//STRNKB +strongbox/MS/STRNKBKS +Strongheart/M/STRNKT +stronghold/SM/STRNKLT +strongish//STRNKX +strongman/M/STRNKMN +strongmen//STRNKMN +strongroom/MS/STRNKRM +strontium/SM/STRNTM +strop/SM/STRP +strophe/MS/STRF +strophic//STRFK +stropped//STRPT +stropping//STRPN +strove//STRF +struck//STRK +structural/Y/STRKTRL +structuralism/M/STRKTRLSM +structuralist/SM/STRKTRLST +structure/SRDMG/STRKTR +structured/AU/STRKTRT +structureless//STRKTRLS +structures/A/STRKTRS +structuring/A/STRKTRN +strudel/MS/STRTL +struggle/GDRS/STRKL +struggler/M/STRKL +strum/S/STRM +strummed//STRMT +strumming//STRMN +strumpet/GSDM/STRMPT +strung/UA/STRNK +strut/S/STRT +strutted//STRTT +strutter/M/STRT +strutting//STRTN +strychnine/MS/STRXNN +Stu/M/ST +Stuart/MS/STT +stub/MS/STB +stubbed/M/STBT +stubbing//STBN +stubble/SM/STBL +Stubblefield/MS/STBLFLT +stubbly/RT/STBL +stubborn/SGTYRDP/STBN +stubbornness/SM/STBNS +stubby/SRT/STB +stucco/GDM/STK +stuccoes//STKS +stuck/U/STK +stud/MS/STT +studbook/SM/STTBK +studded//STTT +studding/SM/STTN +Studebaker/M/STTBK +student/SM/STTNT +studentship/MS/STTNTXP +studied/PY/STTT +studiedness/M/STTTNS +studier/SM/STT +studio/MS/STT +studious/PY/STTS +studiousness/SM/STTSNS +study/AGDS/STT +stuff/JGSRD/STF +stuffily//STFL +stuffiness/SM/STFNS +stuffing/M/STFN +stuffy/TRP/STF +stultify/NXGSD/STLTF +stumble/GZDSR/STMBL +stumbling/Y/STMBLN +stump/RDMSG/STMP +stumpage/M/STMPK +stumper/M/STMP +stumpy/RT/STMP +stun/S/STN +stung//STNK +stunk//STNK +stunned//STNT +stunner/M/STN +stunning/Y/STNN +stunt/GSDM/STNT +stunted/P/STNTT +stupefaction/SM/STPFKXN +stupefy/DSG/STPF +stupendous/PY/STPNTS +stupendousness/M/STPNTSNS +stupid/PTYRS/STPT +stupidity/SM/STPTT +stupidness/M/STPTNS +stupor/MS/STP +sturdily//STTL +sturdiness/SM/STTNS +sturdy/SRPT/STT +sturgeon/SM/STKN +Sturm/M/STM +stutter/DRSZG/STT +Stuttgart/M/STTKT +Stuyvesant/M/STFSNT +sty/DSGM/ST +Stygian//STKN +style/GZMDSR/STL +styled/A/STLT +styles/A/STLS +styli//STL +styling/A/STLN +stylish/PY/STLX +stylishness/S/STLXNS +stylist/MS/STLST +stylistic/S/STLSTK +stylistically//STLSTKL +stylites//STLTS +stylization/MS/STLSXN +stylize/DSG/STLS +stylos//STLS +stylus/SM/STLS +stymie/SD/STM +stymieing//STMN +stymy's//STMS +styptic/S/STPTK +styrene/MS/STRN +Styrofoam/S/STRFM +Styx/M/STKS +suable//SBL +Suarez/M/SRS +suasion/EMS/SXN +suave/PRYT/SF +suaveness/S/SFNS +suavity/SM/SFT +sub/MS/SB +subaltern/SM/SBLTN +subarctic/S/SBKTK +subareas//SBRS +Subaru/M/SBR +subassembly/M/SBSMBL +subatomic/S/SBTMK +subbasement/SM/SBSMNT +subbed//SBT +subbing//SBN +subbranch/S/SBRNX +subcaste/M/SBKST +subcategorizing//SBKTKRSN +subcategory/SM/SBKTKR +subchain//SBXN +subclass/MS/SBKLS +subclassifications//SBKLSFKXNS +subclauses//SBKLSS +subcommand/S/SBKMNT +subcommittee/SM/SBKMT +subcompact/S/SBKMPKT +subcomponent/MS/SBKMPNNT +subcomputation/MS/SBKMPTXN +subconcept//SBKNSPT +subconscious/PSY/SBKNSS +subconsciousness/SM/SBKNSSNS +subconstituent//SBKNSTTNT +subcontinent/MS/SBKNTNNT +subcontinental//SBKNTNNTL +subcontract/SMDG/SBKNTRKT +subcontractor/SM/SBKNTRKT +subcultural//SBKLTRL +subculture/GMDS/SBKLTR +subcutaneous/Y/SBKTNS +subdirectory/S/SBTRKTR +subdistrict/M/SBTSTRKT +subdivide/SRDG/SBTFT +subdivision/SM/SBTFXN +subdue/GRSD/SBT +subdued/Y/SBTT +subduer/M/SBT +subexpression/MS/SBKSPRXN +subfamily/SM/SBFML +subfield/MS/SBFLT +subfile/SM/SBFL +subfreezing//SBFRSN +subgoal/SM/SBKL +subgraph//SBKRF +subgraphs//SBKRFS +subgroup/SGM/SBKRP +subharmonic/S/SBHMNK +subhead/MGJS/SBHT +subheading/M/SBHTN +subhuman/S/SBHMN +subindex/M/SBNTKS +subinterval/MS/SBNTFL +subj//SBK +subject/GVDMS/SBKKT +subjection/SM/SBKKXN +subjective/PSY/SBKKTF +subjectiveness/M/SBKKTFNS +subjectivist/S/SBKKTFST +subjectivity/SM/SBKKTFT +subjoin/DSG/SBKN +subjugate/NGXSD/SBKKT +subjugation/M/SBKKXN +subjunctive/S/SBKNKTF +sublayer//SBLY +sublease/DSMG/SBLS +sublet/S/SBLT +subletting//SBLTN +sublimate/GNSDX/SBLMT +sublimation/M/SBLMXN +sublime/GRSDTYP/SBLM +sublimeness/M/SBLMNS +sublimer/M/SBLM +subliminal/Y/SBLMNL +sublimity/SM/SBLMT +sublist/SM/SBLST +subliterary//SBLTRR +sublunary//SBLNR +submachine//SBMXN +submarginal//SBMKNL +submarine/MZGSRD/SBMRN +submariner/M/SBMRN +submerge/DSG/SBMK +submergence/SM/SBMKNS +submerse/XNGDS/SBMS +submersible/S/SBMSBL +submersion/M/SBMXN +submicroscopic//SBMKRSKPK +submission/SAM/SBMXN +submissive/PY/SBMSF +submissiveness/MS/SBMSFNS +submit/SA/SBMT +submittable//SBMTBL +submittal//SBMTL +submitted/A/SBMTT +submitter/S/SBMT +submitting/A/SBMTN +submode/S/SBMT +submodule/MS/SBMTL +subnational//SBNXNL +subnet/SM/SBNT +subnetwork/SM/SBNTWK +subnormal/SY/SBNML +suboptimal//SBPTML +suborbital//SBBTL +suborder/MS/SBT +subordinate/YVNGXPSD/SBTNT +subordinately/I/SBTNTL +subordinates/I/SBTNTS +subordination/IMS/SBTNXN +subordinator//SBTNT +suborn/GSD/SBN +subornation/SM/SBNXN +subpage//SBPK +subparagraph/M/SBPRKRF +subpart/MS/SBPT +subplot/MS/SBPLT +subpoena/GSDM/SBPN +subpopulation/MS/SBPPLXN +subproblem/SM/SBPRBLM +subprocess/SM/SBPRSS +subprofessional/S/SBPRFXNL +subprogram/SM/SBPRKRM +subproject//SBPRKKT +subproof/SM/SBPRF +subquestion/MS/SBKSXN +subrange/SM/SBRNK +subregion/MS/SBRKN +subregional/Y/SBRKNL +subrogation/M/SBRKXN +subroutine/SM/SBRTN +subsample/MS/SBSMPL +subschema/MS/SBSKM +subscribe/ASDG/SBSKRB +subscriber/SM/SBSKRB +subscript/SGD/SBSKRPT +subscripted/U/SBSKRPTT +subscription/MS/SBSKRPXN +subsection/SM/SBSKXN +subsegment/SM/SBSKMNT +subsentence//SBSNTNS +subsequence/MS/SBSKNS +subsequent/SYP/SBSKNT +subservience/SM/SBSFNS +subservient/SY/SBSFNT +subset/MS/SBST +subside/SDG/SBST +subsidence/MS/SBSTNS +subsidiarity//SBSTRT +subsidiary/MS/SBSTR +subsidization/MS/SBSTSXN +subsidize/ZRSDG/SBSTS +subsidized/U/SBSTST +subsidizer/M/SBSTS +subsidy/MS/SBST +subsist/SGD/SBSST +subsistence/MS/SBSSTNS +subsistent//SBSSTNT +subsocietal//SBSSTL +subsoil/DRMSG/SBSL +subsonic//SBSNK +subspace/MS/SBSPS +subspecies/M/SBSPSS +substance/MS/SBSTNS +substandard//SBSTNTT +substantial/PYS/SBSTNXL +substantially/IU/SBSTNXL +substantialness/M/SBSTNXLNS +substantiate/VGNSDX/SBSTNXT +substantiated/U/SBSTNXTT +substantiation/MFS/SBSTNXXN +substantive/PSYM/SBSTNTF +substantiveness/M/SBSTNTFNS +substantivity//SBSTNTFT +substation/MS/SBSTXN +substerilization//SBSTRLSXN +substitutability//SBSTTTBLT +substitute/NGVBXDRS/SBSTTT +substituted/U/SBSTTTT +substitution/M/SBSTTXN +substitutionary//SBSTTXNR +substitutive/Y/SBSTTTF +substrata//SBSTRT +substrate/MS/SBSTRT +substratum/M/SBSTRTM +substring/S/SBSTRN +substructure/SM/SBSTRKTR +subsume/SDG/SBSM +subsurface/S/SBSFS +subsystem/MS/SBSSTM +subtable/S/SBTBL +subtask/SM/SBTSK +subteen/SM/SBTN +subtenancy/MS/SBTNNS +subtenant/SM/SBTNNT +subtend/DS/SBTNT +subterfuge/SM/SBTFK +subterranean/SY/SBTRNN +subtest//SBTST +subtext/SM/SBTKST +subtitle/DSMG/SBTTL +subtle/RPT/SBTL +subtleness/M/SBTLNS +subtlety/MS/SBTLT +subtly/U/SBTL +subtopic/SM/SBTPK +subtotal/GSDM/SBTTL +subtract/SRDZVG/SBTRKT +subtracter/M/SBTRKT +subtraction/MS/SBTRKXN +subtrahend/SM/SBTRHNT +subtree/SM/SBTR +subtropic/S/SBTRPK +subtropical//SBTRPKL +subtype/MS/SBTP +subunit/SM/SBNT +suburb/MS/SBB +suburban/S/SBBN +suburbanite/MS/SBBNT +suburbanization/MS/SBBNSXN +suburbanized//SBBNST +suburbanizing//SBBNSN +suburbia/SM/SBB +subvention/MS/SBFNXN +subversion/SM/SBFXN +subversive/SPY/SBFSF +subversiveness/MS/SBFSFNS +subvert/SGDR/SBFT +subverter/M/SBFT +subway/MDGS/SBW +subzero//SBSR +succeed/GDRS/SST +succeeder/M/SST +success/MSV/SSS +successful/UY/SSSFL +successfulness/M/SSSFLNS +succession/SM/SSXN +successive/YP/SSSF +successiveness/M/SSSFNS +successor/MS/SSS +successorship//SSSXP +succinct/RYPT/SSNKT +succinctness/SM/SSNKTNS +succor/SGZRDM/SK +succored/U/SKRT +succorer/M/SKR +succotash/SM/SKTX +succubus/M/SKBS +succulence/SM/SKLNS +succulency/MS/SKLNS +succulent/S/SKLNT +succumb/SDG/SKM +such//SX +suchlike//SXLK +suck/GZSDRB/SK +sucker/DMG/SK +suckle/SDJG/SKL +suckling/M/SKLN +Sucre/M/SKR +sucrose/MS/SKRS +suction/SMGD/SKXN +sud/S/ST +Sudan/M/STN +Sudanese/M/STNS +Sudanic/M/STNK +sudden/YPS/STN +suddenness/SM/STNS +Sudetenland/M/STTNLNT +suds/DSRG/STS +sudsy/TR/STS +Sue/M/S +sue/ZGDRS/S +sued/DG/ST +suede/SM/ST +Suellen/M/SLN +suer/M/S +suet/MS/ST +Suetonius/M/STNS +suety//ST +Suez/M/SS +suffer/SJRDGZ/SF +sufferance/SM/SFRNS +sufferer/M/SFR +suffering/M/SFRN +suffice/GRSD/SFS +sufficiency/SIM/SFSNS +sufficient/IY/SFSNT +suffix/GMRSD/SFKS +suffixation/S/SFKSXN +suffixed/U/SFKST +suffocate/XSDVGN/SFKT +suffocating/Y/SFKTN +Suffolk/M/SFLK +suffragan/S/SFRKN +suffrage/MS/SFRK +suffragette/MS/SFRKT +suffragist/SM/SFRKST +suffuse/VNGSDX/SFS +suffusion/M/SFXN +Sufi/M/SF +Sufism/M/SFSM +sugar/SJGMD/SK +sugarcane/S/SKKN +sugarcoat/GDS/SKKT +sugarless//SKLS +sugarplum/MS/SKPLM +sugary/TR/SKR +suggest/DRZGVS/SKST +suggester/M/SKST +suggestibility/SM/SKSTBLT +suggestible//SKSTBL +suggestion/MS/SKSXN +suggestive/PY/SKSTF +suggestiveness/MS/SKSTFNS +sugillate//SKLT +Suharto/M/SHT +Sui/M/S +suicidal/Y/SSTL +suicide/GSDM/SST +suit/MDGZBJS/ST +suitability/SU/STBLT +suitable/P/STBL +suitableness/S/STBLNS +suitably/U/STBL +suitcase/MS/STKS +suite/SM/ST +suited/U/STT +suiting/M/STN +suitor/SM/ST +Sukarno/M/SKN +Sukey/M/SK +Suki/M/SK +sukiyaki/SM/SKYK +Sukkot/S/SKT +Sukkoth's//SK@S +Sula/M/SL +Sulawesi/M/SLWS +Suleiman/M/SLMN +sulfa/S/SLF +sulfaquinoxaline//SLFKNKSLN +sulfate/MSDG/SLFT +sulfide/S/SLFT +sulfite/M/SLFT +sulfonamide/SM/SLFNMT +sulfur/DMSG/SLF +sulfuric//SLFRK +sulfurous/YP/SLFRS +sulfurousness/M/SLFRSNS +sulk/GDS/SLK +sulkily//SLKL +sulkiness/S/SLKNS +sulky/RSPT/SLK +Sulla/M/SL +sullen/TYRP/SLN +sullenness/MS/SLNS +sullied/U/SLT +Sullivan/M/SLFN +sully/GSD/SL +Sully/M/SL +sulphate/SM/SLFT +sulphide/MS/SLFT +sulphuric//SLFRK +sultan/SM/SLTN +sultana/SM/SLTN +sultanate/MS/SLTNT +sultrily//SLTRL +sultriness/SM/SLTRNS +sultry/PRT/SLTR +Sulzberger/M/SLSBK +sum/MRS/SM +sumac/SM/SMK +sumach's//SMXS +Sumatra/M/SMTR +Sumatran/S/SMTRN +sumer/F/SM +Sumeria/M/SMR +Sumerian/M/SMRN +summability/M/SMBLT +summable//SMBL +summand/MS/SMNT +summarily//SMRL +summarization/MS/SMRSXN +summarize/GSRDZ/SMRS +summarized/U/SMRST +summarizer/M/SMRS +summary/MS/SMR +summation/FMS/SMXN +summed//SMT +summer/SGDM/SM +Summer/SM/SM +Summerdale/M/SMTL +summerhouse/MS/SMHS +summertime/MS/SMTM +summery/TR/SMR +summing//SMN +summit/GMDS/SMT +summitry/MS/SMTR +summon/JSRDGZ/SMN +summoner/M/SMN +summons/MSDG/SMNS +Sumner/M/SMN +sumo/SM/SM +sump/SM/SMP +sumptuous/PY/SMPTS +sumptuousness/SM/SMPTSNS +Sumter/M/SMT +Sun//SN +sun/MS/SN +sunbaked//SNBKT +sunbath/ZRSDG/SNB@ +sunbathe//SNB@ +sunbather/M/SNB@ +sunbathing/M/SNB@N +sunbaths//SNB@S +sunbeam/MS/SNBM +Sunbelt/M/SNBLT +sunblock/S/SNBLK +sunbonnet/MS/SNBNT +sunburn/GSMD/SNBN +sunburst/MS/SNBST +suncream//SNKRM +sundae/MS/SNT +Sundanese/M/SNTNS +Sundas//SNTS +Sunday/MS/SNT +sunder/SDG/SNT +sundial/MS/SNTL +sundown/MRDSZG/SNTN +sundowner/M/SNTN +sundris//SNTRS +sundry/S/SNTR +sunfish/SM/SNFX +sunflower/MS/SNFLW +Sung/M/SNK +sung/U/SNK +sunglass/MS/SNKLS +sunk/SN/SNK +sunlamp/S/SNLMP +sunless//SNLS +sunlight/MS/SNLT +sunlit//SNLT +sunned//SNT +Sunni/MS/SN +sunniness/SM/SNNS +sunning//SNN +Sunnite/SM/SNT +Sunny/M/SN +sunny/RSTP/SN +Sunnyvale/M/SNFL +sunrise/GMS/SNRS +sunroof/S/SNRF +sunscreen/S/SNSKRN +sunset/MS/SNST +sunsetting//SNSTN +sunshade/MS/SNXT +Sunshine/M/SNXN +sunshine/MS/SNXN +sunshiny//SNXN +sunspot/SM/SNSPT +sunstroke/MS/SNSTRK +suntan/SM/SNTN +suntanned//SNTNT +suntanning//SNTNN +sunup/MS/SNP +sup/RSZ/SP +super/DG/SP +superabundance/MS/SPRBNTNS +superabundant//SPRBNTNT +superannuate/GNXSD/SPRNT +superannuation/M/SPRNXN +superb/YRPT/SPB +superbness/M/SPBNS +supercargo/M/SPKK +supercargoes//SPKKS +supercharge/SRDZG/SPXK +supercharger/M/SPXK +supercilious/PY/SPSLS +superciliousness/SM/SPSLSNS +supercity/S/SPST +superclass/M/SPKLS +supercomputer/MS/SPKMPT +supercomputing//SPKMPTN +superconcept//SPKNSPT +superconducting//SPKNTKTN +superconductivity/SM/SPKNTKTFT +superconductor/SM/SPKNTKT +supercooled//SPKLT +supercooling//SPKLN +supercritical//SPKRTKL +superdense//SPTNS +superego/SM/SPRK +supererogation/MS/SPRRKXN +supererogatory//SPRRKTR +superficial/SPY/SPFXL +superficiality/S/SPFXLT +superfine//SPFN +superfix/M/SPFKS +superfluity/MS/SPFLT +superfluous/YP/SPFLS +superfluousness/S/SPFLSNS +superheat/D/SPHT +superhero/SM/SPHR +superheroes//SPHRS +superhighway/MS/SPHW +superhuman/YP/SPHMN +superhumanness/M/SPHMNS +superimpose/SDG/SPRMPS +superimposition/MS/SPRMPSXN +superintend/GSD/SPRNTNT +superintendence/S/SPRNTNTNS +superintendency/SM/SPRNTNTNS +superintendent/SM/SPRNTNTNT +Superior/M/SPR +superior/SMY/SPR +superiority/MS/SPRRT +superlative/PYS/SPLTF +superlativeness/M/SPLTFNS +superlunary//SPLNR +supermachine//SPMXN +superman/M/SPMN +Superman/M/SPMN +supermarket/SM/SPMKT +supermen//SPMN +supermodel//SPMTL +supermom/S/SPMM +supernal//SPNL +supernatant//SPNTNT +supernatural/SPY/SPNTRL +supernaturalism/M/SPNTRLSM +supernaturalness/M/SPNTRLNS +supernormal/Y/SPNML +supernova/MS/SPNF +supernovae//SPNF +supernumerary/S/SPNMRR +superordinate//SPRTNT +superpose/BSDG/SPPS +superposition/MS/SPPSXN +superpower/MS/SPPW +superpredicate//SPPRTKT +supersaturate/XNGDS/SPSTRT +supersaturation/M/SPSTRXN +superscribe/GSD/SPSKRB +superscript/DGS/SPSKRPT +superscription/SM/SPSKRPXN +supersede/SRDG/SPST +superseder/M/SPST +supersensitive/P/SPSNSTF +supersensitiveness/M/SPSNSTFNS +superset/MS/SPST +supersonic/S/SPSNK +supersonically//SPSNKL +supersonics/M/SPSNKS +superstar/SM/SPST +superstition/SM/SPSTXN +superstitious/YP/SPSTXS +superstore/S/SPSTR +superstructural//SPSTRKTRL +superstructure/SM/SPSTRKTR +supertanker/SM/SPTNK +supertitle/MSDG/SPTTL +superuser/MS/SPRS +supervene/GSD/SPFN +supervention/S/SPFNXN +supervise/SDGNX/SPFS +supervised/U/SPFST +supervision/M/SPFXN +supervisor/SM/SPFS +supervisory//SPFSR +superwoman/M/SPWMN +superwomen//SPWMN +supine/PSY/SPN +supineness/M/SPNNS +supp/YDRGZ/SP +supper/DMG/SP +suppl/RDGT/SPL +supplant/SGRD/SPLNT +supplanter/M/SPLNT +supple/SPLY/SPL +supplement/SMDRG/SPLMNT +supplemental/S/SPLMNTL +supplementary/S/SPLMNTR +supplementation/S/SPLMNTXN +supplementer/M/SPLMNT +suppleness/SM/SPLNS +suppliant/S/SPLNT +supplicant/MS/SPLKNT +supplicate/NGXSD/SPLKT +supplication/M/SPLKXN +supplier/AM/SPL +supply/MAZGSRD/SPL +support/ZGVSBDR/SPT +supportability/M/SPTBLT +supportable/UI/SPTBL +supported/U/SPTT +supporter/M/SPT +supporting/Y/SPTN +supportive/Y/SPTF +suppose/SRDBJG/SPS +supposed/Y/SPST +supposition/MS/SPSXN +suppository/MS/SPSTR +suppress/VGSD/SPRS +suppressant/S/SPRSNT +suppressed/U/SPRST +suppressible/I/SPRSBL +suppression/SM/SPRXN +suppressive/P/SPRSF +suppressor/S/SPRS +suppurate/NGXSD/SPRT +suppuration/M/SPRXN +supra//SPR +supranational//SPRNXNL +supranationalism/M/SPRNXNLSM +suprasegmental//SPRSKMNTL +supremacist/SM/SPRMSST +supremacy/SM/SPRMS +supremal//SPRML +supreme/PSRTY/SPRM +supremeness/M/SPRMNS +supremo/M/SPRM +supt//SPT +Supt/M/SPT +Surabaya/M/SRBY +Surat/M/SRT +surcease/DSMG/SSS +surcharge/MGSD/SXK +surcingle/MGSD/SSNL +surd/M/ST +sure/PU/SR +sured/I/SRT +surefire//SRFR +surefooted//SRFTT +surely//SRL +sureness/MS/SRNS +sureness's/U/SRNSS +surer/I/SR +surest//SRST +surety/SM/SRT +surf/SJDRGMZ/SF +surface/GSRDPZM/SFS +surfaced/UA/SFST +surfacer/AMS/SFS +surfaces/A/SFSS +surfacing/A/SFSN +surfactant/SM/SFKTNT +surfboard/MDSG/SFBT +surfeit/SDRMG/SFT +surfer/M/SF +surfing/M/SFN +surge/GYMDS/SK +surged/A/SKT +surgeon/MS/SKN +surgery/MS/SKR +surges/A/SKS +surgical/Y/SKKL +Suriname//SRNM +Surinamese//SRNMS +Surinam's//SRNMS +surliness/SM/SLNS +surly/TPR/SL +surmise/SRDG/SMS +surmiser/M/SMS +surmount/DBSG/SMNT +surmountable/IU/SMNTBL +surname/GSDM/SNM +surpass/GDS/SPS +surpassed/U/SPST +surpassing/Y/SPSN +surplice/SM/SPLS +surplus/MS/SPLS +surplussed//SPLST +surplussing//SPLSN +surprise/MGDRSJ/SPRS +surprised/U/SPRST +surpriser/M/SPRS +surprising/YU/SPRSN +surreal/S/SRL +surrealism/MS/SRLSM +surrealist/S/SRLST +surrealistic//SRLSTK +surrealistically//SRLSTKL +surreality//SRLT +surrender/DRSG/SRNT +surrenderer/M/SRNTR +surreptitious/PY/SRPTXS +surreptitiousness/S/SRPTXSNS +surrey/SM/SR +surrogacy/S/SRKS +surrogate/SDMNG/SRKT +surrogation/M/SRKXN +surround/JGSD/SRNT +surrounding/M/SRNTN +surtax/SDGM/STKS +surveillance/SM/SFLNS +surveillant//SFLNT +survey/JDSG/SF +surveyed/A/SFYT +surveying/M/SFYN +surveyor/MS/SFY +surveys/A/SFS +survivability/M/SFFBLT +survivable/U/SFFBL +survival/MS/SFFL +survivalist/S/SFFLST +survive/SRDBG/SFF +survivor/MS/SFF +survivorship/M/SFFXP +Surya/M/SRY +Sus//SS +Susan/M/SSN +Susana/M/SSN +Susanetta/M/SSNT +Susann/M/SSN +Susanna/M/SSN +Susannah/M/SSN +Susanne/M/SSN +susceptibilities//SSPTBLTS +susceptibility/IM/SSPTBLT +susceptible/I/SSPTBL +Susette/M/SST +sushi/SM/SX +Susi/M/SS +Susie/M/SS +suspect/GSDR/SSPKT +suspected/U/SSPKTT +suspecter/M/SSPKT +suspecting/U/SSPKTN +suspend/DRZGS/SSPNT +suspended/UA/SSPNTT +suspender/M/SSPNT +suspense/MXNVS/SSPNS +suspenseful//SSPNSFL +suspension/AM/SSPNXN +suspensive/Y/SSPNSF +suspensor/M/SSPNS +suspicion/GSMD/SSPSN +suspicious/YP/SSPSS +suspiciousness/M/SSPSSNS +Susquehanna/M/SSKHN +Sussex/M/SSKS +sustain/DRGLBS/SSTN +sustainability//SSTNBLT +sustainable/U/SSTNBL +sustainer/M/SSTN +sustainment/M/SSTNMNT +sustenance/MS/SSTNNS +Susy/M/SS +Sutherlan/M/S@LN +Sutherland/M/S@LNT +sutler/MS/STL +Sutton/M/STN +suture/GMSD/STR +SUV//SF +Suva/M/SF +Suwanee/M/SWN +Suzann/M/SSN +Suzanna/M/SSN +Suzanne/M/SSN +suzerain/SM/SSRN +suzerainty/MS/SSRNT +Suzette/M/SST +Suzhou/M/SSH +Suzi/M/SS +Suzie/M/SS +Suzuki/M/SSK +Suzy/M/SS +Svalbard/M/SFLBT +svelte/RPTY/SFLT +Sven/M/SFN +Svend/M/SFNT +Svengali//SFNKL +Sverdlovsk/M/SFTLFSK +Svetlana/M/SFTLN +SW//S +swab/MS/SWB +swabbed//SWBT +swabbing//SWBN +swabby/S/SWB +Swabian/SM/SWBN +swaddle/SDG/SWTL +swag/GMS/SWK +swagged//SWKT +swagger/GSDR/SWK +swagging//SWKN +Swahili/MS/SWHL +swain/SM/SWN +SWAK//SWK +swallow/GDRS/SWL +swallower/M/SWLW +swallowtail/SM/SWLTL +swam//SWM +swami/SM/SWM +swamp/SRDMG/SWMP +swamper/M/SWMP +swampland/MS/SWMPLNT +swampy/RPT/SWMP +swan/MS/SWN +Swanee/M/SWN +swank/RDSGT/SWNK +swankily//SWNKL +swankiness/MS/SWNKNS +swanky/PTRS/SWNK +swanlike//SWNLK +swanned//SWNT +swanning//SWNN +Swansea/M/SWNS +Swanson/M/SWNSN +swap/S/SWP +swappable/U/SWPBL +swapped//SWPT +swapper/SM/SWP +swapping//SWPN +sward/MSGD/SWT +swarm/GSRDM/SWM +swarmer/M/SWM +swart/P/SWT +swarthiness/M/SW@NS +Swarthmore/M/SW@MR +swarthy/RTP/SW@ +Swartz/M/SWTS +swash/GSRD/SWX +swashbuckler/SM/SWXBKL +swashbuckling/S/SWXBKLN +swastika/SM/SWSTK +SWAT//SWT +swat/S/SWT +swatch/MS/SWX +swath/SRDMGJ/SW@ +swathe//SW@ +swather/M/SW@ +swaths//SW@S +swatted//SWTT +swatter/MDSG/SWT +swatting//SWTN +sway/DRGS/SW +swayback/SD/SWBK +swayer/M/SWY +Swazi/SM/SWS +Swaziland/M/SWSLNT +swear/SGZR/SW +swearer/M/SWR +swearword/SM/SWWT +sweat/SGZRM/SWT +sweatband/MS/SWTBNT +sweater/M/SWT +sweatily//SWTL +sweatiness/M/SWTNS +sweatpants//SWTPNTS +sweatshirt/S/SWTXT +sweatshop/MS/SWTXP +sweaty/TRP/SWT +Swed/MN/SWT +swede/SM/SWT +Swede/SM/SWT +Sweden/M/SWTN +Swedenborg/M/SWTNBK +Swedish//SWTX +Sweeney/SM/SWN +sweep/SBRJGZ/SWP +sweeper/M/SWP +sweeping/PY/SWPN +sweepingness/M/SWPNNS +sweeps/M/SWPS +sweepstakes//SWPSTKS +sweepstake's//SWPSTKS +Sweet/M/SWT +sweet/TXSYRNPG/SWT +sweetbread/SM/SWTBRT +sweetbrier/SM/SWTBR +sweetcorn//SWTKN +sweeten/ZDRGJ/SWTN +sweetened/U/SWTNT +sweetener/M/SWTN +sweetening/M/SWTNN +sweetheart/MS/SW@T +sweetie/MS/SWT +sweeting/M/SWTN +sweetish/Y/SWTX +sweetmeat/MS/SWTMT +sweetness/MS/SWTNS +sweetshop//SWTXP +swell/SJRDGT/SWL +swellhead/DS/SWLHT +swelling/M/SWLN +swelter/DJGS/SWLT +sweltering/Y/SWLTRN +Swen/M/SWN +Swenson/M/SWNSN +swept//SWPT +sweptback//SWPTBK +swerve/GSD/SWF +swerving/U/SWFN +swift/GTYRDPS/SWFT +Swift/M/SWFT +swifter/M/SWFT +swiftness/MS/SWFTNS +swig/SM/SWK +swigged//SWKT +swigging//SWKN +swill/SDG/SWL +swim/S/SWM +swimmer/MS/SWM +swimming/MYS/SWMN +swimsuit/MS/SWMST +Swinburne/M/SWNBN +swindle/GZRSD/SWNTL +swindler/M/SWNTL +swine/SM/SWN +swineherd/MS/SWNHT +swing/SGRZJB/SWN +swingeing//SWNN +swinger/M/SWN +swinging/Y/SWNN +swingy/R/SWN +swinish/PY/SWNX +swinishness/M/SWNXNS +Swink/M/SWNK +swipe/DSG/SWP +swirl/SGRD/SWL +swirling/Y/SWLN +swirly/TR/SWL +swish/GSRD/SWX +swishy/R/SWX +swiss//SWS +Swiss/S/SWS +switch/GBZMRSDJ/SWX +switchback/GDMS/SWXBK +switchblade/SM/SWXBLT +switchboard/MS/SWXBT +switcher/M/SWX +switchgear//SWXK +switchman/M/SWXMN +switchmen/M/SWXMN +switchover/M/SWXF +Switz/MR/SWTS +Switzer/M/SWTS +Switzerland/M/SWTSLNT +swivel/GMDS/SWFL +swizzle/RDGM/SWSL +swob's//SWBS +swollen//SWLN +swoon/GSRD/SWN +swooning/Y/SWNN +swoop/RDSG/SWP +swoosh/GSD/SWX +swop's//SWPS +sword/DMSG/SWT +swordfish/SM/SWTFX +swordplay/RMS/SWTPL +swordplayer/M/SWTPLY +swordsman/M/SWTSMN +swordsmanship/SM/SWTSMNXP +swordsmen//SWTSMN +swordtail/M/SWTTL +swore//SWR +sworn//SWN +swot/S/SWT +swum//SWM +swung//SWNK +sybarite/MS/SBRT +sybaritic//SBRTK +Sybil/M/SBL +Sybila/M/SBL +Sybilla/M/SBL +Sybille/M/SBL +Sybyl/M/SBL +sycamore/SM/SKMR +sycophancy/S/SKFNS +sycophant/SYM/SKFNT +sycophantic//SKFNTK +sycophantically//SKFNTKL +Syd/M/ST +Sydel/M/STL +Sydelle/M/STL +Sydney/M/STN +Sykes/M/SKS +Sylas/M/SLS +syllabic/S/SLBK +syllabicate/GNDSX/SLBKT +syllabication/M/SLBKXN +syllabicity//SLBST +syllabification/M/SLBFKXN +syllabify/GSDXN/SLBF +syllabi's//SLBS +syllable/SDMG/SLBL +syllabub/M/SLBB +syllabus/MS/SLBS +syllabusss//SLBS +syllogism/MS/SLKSM +syllogistic//SLKSTK +Sylow/M/SL +sylph/M/SLF +sylphic//SLFK +sylphlike//SLFLK +sylphs//SLFS +Sylvan/M/SLFN +sylvan/S/SLFN +Sylvania/M/SLFN +Sylvester/M/SLFST +Sylvia/M/SLF +Sylvie/M/SLF +Syman/M/SMN +symbiont/M/SMBNT +symbioses//SMBSS +symbiosis/M/SMBSS +symbiotic//SMBTK +symbol/GMDS/SMBL +symbolic/SM/SMBLK +symbolical/Y/SMBLKL +symbolics/M/SMBLKS +symbolism/MS/SMBLSM +symbolist/MS/SMBLST +symbolization/MAS/SMBLSXN +symbolize/GZRSD/SMBLS +symbolized/U/SMBLST +symbolizes/A/SMBLSS +Symington/M/SMNTN +symmetric//SMTRK +symmetrical/PY/SMTRKL +symmetrically/U/SMTRKL +symmetricalness/M/SMTRKLNS +symmetrization/M/SMTRSXN +symmetrizing//SMTRSN +symmetry/MS/SMTR +Symon/M/SMN +sympathetic/S/SMP@TK +sympathetically/U/SMP@TKL +sympathize/SRDJGZ/SMP@S +sympathized/U/SMP@ST +sympathizer/M/SMP@S +sympathizing/MYUS/SMP@SN +sympathy/MS/SMP@ +symphonic//SMFNK +symphonists//SMFNSTS +symphony/MS/SMFN +symposium/MS/SMPSM +symptom/MS/SMPTM +symptomatic//SMPTMTK +symptomatically//SMPTMTKL +symptomatology/M/SMPTMTLK +syn//SN +synagogal//SNKKL +synagogue/SM/SNKK +synapse/SDGM/SNPS +synaptic//SNPTK +sync/SGD/SNK +synchronism/M/SNXRNSM +synchronization/SA/SNXRNSXN +synchronization's//SNXRNSXNS +synchronize/AGCDS/SNXRNS +synchronized/U/SNXRNST +synchronizer/MS/SNXRNS +synchronous/YP/SNXRNS +synchronousness/M/SNXRNSNS +synchrony//SNXRN +synchrotron/M/SNXRTRN +syncopate/VNGXSD/SNKPT +syncopation/M/SNKPXN +syncope/MS/SNKP +syndic/SM/SNTK +syndicalist//SNTKLST +syndicate/XSDGNM/SNTKT +syndrome/SM/SNTRM +synergism/SM/SNKSM +synergistic//SNKSTK +synergy/MS/SNK +synfuel/S/SNFL +Synge/M/SNK +synod/SM/SNT +synonym/SM/SNNM +synonymic//SNNMK +synonymous/Y/SNNMS +synonymy/MS/SNNM +synopses//SNPSS +synopsis/M/SNPSS +synopsized//SNPSST +synopsizes//SNPSSS +synopsizing//SNPSSN +synoptic/S/SNPTK +syntactic/SY/SNTKTK +syntactical/Y/SNTKTKL +syntactics/M/SNTKTKS +syntax/MS/SNTKS +syntheses//SN@SS +synthesis/M/SN@SS +synthesize/GZSRD/SN@SS +synthesized/U/SN@SST +synthesizer/M/SN@SS +synthesizes/A/SN@SSS +synthetic/S/SN@TK +synthetically//SN@TKL +syphilis/MS/SFLS +syphilitic/S/SFLTK +syphilized//SFLST +syphilizing//SFLSN +Syracuse/M/SRKS +Syria/M/SR +Syriac/M/SRK +Syrian/SM/SRN +syringe/GMSD/SRN +syrup/DMSG/SRP +syrupy//SRP +sys//SS +system/MS/SSTM +systematic/SP/SSTMTK +systematical/Y/SSTMTKL +systematics/M/SSTMTKS +systematization/SM/SSTMTSXN +systematize/ZDRSG/SSTMTS +systematized/U/SSTMTST +systematizer/M/SSTMTS +systematizing/U/SSTMTSN +systemic/S/SSTMK +systemically//SSTMKL +systemization/SM/SSTMSXN +systole/MS/SSTL +systolic//SSTLK +Szilard/M/SSLT +Szymborska/M/SSMBSK +T/G/T +t/XTJBG/T +TA//T +Ta/M/T +Tab/MR/TB +tab/SM/TB +Tabasco/MS/TBSK +Tabatha/M/TB@ +Tabb/M/TB +Tabbatha/M/TB@ +tabbed//TBT +Tabbi/M/TB +Tabbie/M/TB +tabbing//TBN +Tabbitha/M/TB@ +tabbouleh//TBL +tabboulehs//TBLS +tabby/GSD/TB +Tabby/M/TB +Taber/M/TB +Tabernacle/S/TBNKL +tabernacle/SDGM/TBNKL +Tabina/M/TBN +Tabitha/M/TB@ +tabla/MS/TBL +table/GMSD/TBL +tableau/M/TBL +tableaux//TBLKS +tablecloth/M/TBLKL@ +tablecloths//TBLKL@S +tableland/SM/TBLLNT +tablespoon/SM/TBLSPN +tablespoonful/MS/TBLSPNFL +tablet/MDGS/TBLT +tabletop/MS/TBLTP +tableware/SM/TBLWR +tabling/M/TBLN +tabloid/MS/TBLT +taboo/GSMD/TB +Tabor/M/TB +tabor/MDGS/TB +Tabriz/SM/TBRS +tabula//TBL +tabular/Y/TBL +tabulate/XNGDS/TBLT +tabulation/M/TBLXN +tabulator/MS/TBLT +tachometer/SM/TXMT +tachometry//TXMTR +tachycardia/MS/TXKT +tachyon/SM/TXYN +tacit/YP/TST +tacitness/MS/TSTNS +taciturn/Y/TSTN +taciturnity/MS/TSTNT +Tacitus/M/TSTS +tack/GZRDMS/TK +tacker/M/TK +tackiness/MS/TKNS +tackle/RSDMZG/TKL +tackler/M/TKL +tackling/M/TKLN +tacky/RSTP/TK +taco/MS/TK +Tacoma/M/TKM +tact/FSM/TKT +tactful/YP/TKTFL +tactfulness/S/TKTFLNS +tactic/SM/TKTK +tactical/Y/TKTKL +tactician/MS/TKTXN +tactile/Y/TKTL +tactility/S/TKTLT +tactless/PY/TKTLS +tactlessness/SM/TKTLSNS +tactual/Y/TKTL +Tad/M/TT +tad/SM/TT +Tadd/M/TT +Taddeo/M/TT +Taddeusz/M/TTSS +Tadeas/M/TTS +Tadeo/M/TT +Tades//TTS +Tadio/M/TT +tadpole/MS/TTPL +Tadzhikistan's//TTSHKSTNS +Tadzhikstan/M/TTSHKSTN +Taegu/M/TK +Taejon/M/TKN +taffeta/MS/TFT +taffrail/SM/TFRL +Taffy/M/TF +taffy/SM/TF +Taft/M/TFT +tag/SM/TK +Tagalog/SM/TKLK +tagged/U/TKT +tagger/S/TK +tagging//TKN +Tagore/M/TKR +Tagus/M/TKS +Tahiti/M/THT +Tahitian/S/THXN +Tahoe/M/TH +Taichung/M/TXNK +taiga/MS/TK +tail/CMRDGAS/TL +tailback/MS/TLBK +tailcoat/S/TLKT +tailer/AM/TL +tailgate/MGRSD/TLKT +tailgater/M/TLKT +tailing/MS/TLN +tailless/P/TLS +taillessness/M/TLSNS +taillight/MS/TLT +tailor/DMJSGB/TL +Tailor/M/TL +tailpipe/SM/TLPP +tailspin/MS/TLSPN +tailwind/SM/TLWNT +Tainan/M/TNN +Taine/M/TN +taint/DGS/TNT +tainted/U/TNTT +Taipei/M/TP +Tait/M/TT +Taite/M/TT +Taiwan/M/TWN +Taiwanese//TWNS +Taiyuan/M/TYN +Tajikistan//TKKSTN +take/RSHZGJ/TK +takeaway/S/TKW +taken/A/TKN +takeoff/SM/TKF +takeout/S/TKT +takeover/SM/TKF +taker/M/TK +takes/IA/TKS +taking/IA/TKN +Taklamakan/M/TKLMKN +Talbert/M/TLBT +Talbot/M/TLBT +talc/SM/TLK +talcked//TLKT +talcking//TLKN +talcum/S/TLKM +tale/RSMN/TL +talebearer/SM/TLBR +talent/SMD/TLNT +talented/M/TLNTT +talentless//TLNTLS +taler/M/TL +tali//TL +Talia/M/TL +Taliesin/M/TLSN +talion/M/TLN +talisman/SM/TLSMN +talismanic//TLSMNK +talk/GZSRD/TLK +talkative/YP/TLKTF +talkativeness/MS/TLKTFNS +talker/M/TLK +talkie/M/TLK +talky/RST/TLK +tall/TPR/TL +Talladega/M/TLTK +Tallahassee/M/TLHS +Tallahatchie/M/TLHX +Tallahoosa/M/TLHS +tallboy/MS/TLB +Tallchief/M/TLXF +Talley/M/TL +Talleyrand/M/TLRNT +Tallia/M/TL +Tallie/M/TL +Tallinn/M/TLN +tallish//TLX +tallness/MS/TLNS +Tallou/M/TL +tallow/DMSG/TL +tallowy//TL +Tallulah/M/TLL +tally/GRSDZ/TL +Tally/M/TL +tallyho/DMSG/TLH +Talmud/MS/TLMT +Talmudic//TLMTK +Talmudist/MS/TLMTST +talon/SMD/TLN +talus/MS/TLS +Talya/M/TLY +Talyah/M/TLY +Tam/M/TM +tam/MDRSTZGB/TM +tamable/M/TMBL +tamale/SM/TML +Tamar/M/TM +Tamara/M/TMR +tamarack/SM/TMRK +Tamarah/M/TMR +tamarind/MS/TMRNT +Tamarra/M/TMR +Tamas//TMS +tambourine/MS/TMBRN +tame/SYP/TM +tamed/U/TMT +Tameka/M/TMK +tameness/S/TMNS +Tamera/M/TMR +Tamerlane/M/TMLN +Tami/M/TM +Tamika/M/TMK +Tamiko/M/TMK +Tamil/MS/TML +Tamma/M/TM +Tammany/M/TMN +Tammara/M/TMR +Tammi/M/TM +Tammie/M/TM +Tammy/M/TM +tamp/SGZRD/TMP +Tampa/M/TMP +Tampax/M/TMPKS +tamper/ZGRD/TMP +tampered/U/TMPRT +tamperer/M/TMPR +tampon/DMSG/TMPN +Tamqrah/M/TMKR +Tamra/M/TMR +Tan/M/TN +tan/MS/TN +Tana/M/TN +tanager/MS/TNK +Tanaka/M/TNK +Tananarive/M/TNNRF +tanbark/SM/TNBK +Tancred/M/TNKRT +tandem/SM/TNTM +Tandi/M/TNT +Tandie/M/TNT +tandoori/S/TNTR +Tandy/M/TNT +Taney/M/TN +T'ang//TNK +tang/GSYDM/TNK +Tanganyika/M/TNKNYK +tangelo/SM/TNKL +tangency/M/TNKNS +tangent/SM/TNKNT +tangential/Y/TNKNXL +tangerine/MS/TNKRN +tangibility/MIS/TNKBLT +tangible/IPS/TNKBL +tangibleness/SM/TNKBLNS +tangibleness's/I/TNKBLNSS +tangibly/I/TNKBL +Tangier/M/TNK +tangle/UDSG/TNKL +tangle's//TNKLS +tango/MDSG/TNK +Tangshan/M/TNKXN +tangy/RST/TNK +Tanhya/M/TNHY +Tani/M/TN +Tania/M/TN +Tanisha/M/TNX +Tanitansy/M/TNTNS +tank/GZSRDM/TNK +tankard/MS/TNKT +tanker/M/TNK +tankful/MS/TNKFL +Tann/RM/TN +tanned/U/TNT +Tannenbaum/M/TNNBM +Tanner/M/TN +tanner/SM/TN +tannery/MS/TNR +tannest//TNST +Tanney/M/TN +Tannhäuser/M/TNHS +Tannie/M/TN +tannin/SM/TNN +tanning/SM/TNN +Tanny/M/TN +Tansy/M/TNS +tansy/SM/TNS +tantalization/SM/TNTLSXN +tantalize/GZSRD/TNTLS +tantalized/U/TNTLST +tantalizing/YP/TNTLSN +tantalizingly/S/TNTLSNL +tantalizingness/S/TNTLSNNS +tantalum/MS/TNTLM +Tantalus/M/TNTLS +tantamount//TNTMNT +tantra/S/TNTR +tantrum/SM/TNTRM +Tanya/M/TNY +Tanzania/M/TNSN +Tanzanian/S/TNSNN +Tao/M/T +tao/S/T +taoism//TSM +Taoism/MS/TSM +Taoist/MS/TST +taoist/S/TST +tap/MSDRJZG/TP +Tapdance/M/TPTNS +tape/SM/TP +taped/U/TPT +tapeline/S/TPLN +taper/GRD/TP +taperer/M/TPR +tapestry/GMSD/TPSTR +tapeworm/MS/TPWM +tapioca/MS/TPK +tapir/MS/TP +tapped/U/TPT +tapper/MS/TP +tappet/MS/TPT +tapping/M/TPN +taproom/MS/TPRM +taproot/SM/TPRT +taps/M/TPS +tar/GSMD/T +Tara/M/TR +Tarah/M/TR +tarantella/MS/TRNTL +tarantula/MS/TRNTL +Tarawa/M/TRW +Tarazed/M/TRST +Tarbell/M/TBL +tardily//TTL +tardiness/S/TTNS +tardy/TPRS/TT +tare/MS/TR +target/GSMD/TKT +tariff/DMSG/TRF +Tarim/M/TRM +Tarkington/M/TKNTN +tarmac/S/TMK +tarmacked//TMKT +tarmacking//TMKN +tarn/MS/TN +tarnish/GDS/TNX +tarnished/U/TNXT +taro/MS/TR +tarot/MS/TRT +tarp/MS/TP +tarpapered//TPPRT +tarpaulin/MS/TPLN +tarpon/MS/TPN +Tarra/M/TR +tarragon/SM/TRKN +Tarrah/M/TR +Tarrance/M/TRNS +tarred/M/TRT +tarring/M/TRN +tarry/TGRSD/TR +Tarrytown/M/TRTN +tarsal/S/TSL +tarsi//TS +tarsus/M/TSS +tart/PMYRDGTS/TT +tartan/MS/TTN +tartar/SM/TT +tartaric//TTRK +Tartar's//TTS +Tartary/M/TTR +tartness/MS/TTNS +Tartuffe/M/TTF +Taryn/M/TRN +Tarzan/M/TSN +Tasha/M/TX +Tashkent/M/TXKNT +Tasia/M/TX +task/GSDM/TSK +taskmaster/SM/TSKMST +taskmistress/MS/TSKMSTRS +Tasmania/M/TSMN +Tasmanian/S/TSMNN +Tass/M/TS +tassel/MDGS/TSL +tassellings//TSLNS +taste/GZMJSRD/TST +tasted/EU/TSTT +tasteful/PEY/TSTFL +tastefulness/SME/TSTFLNS +tasteless/YP/TSTLS +tastelessness/SM/TSTLSNS +taster/M/TST +tastes/E/TSTS +taste's/E/TSTS +tastily//TSTL +tastiness/MS/TSTNS +tasting/E/TSTN +tasty/RTP/TST +tat/SRZ/TT +tatami/MS/TTM +Tatar/SM/TT +Tate/M/TT +tater/M/TT +Tatiana/M/TXN +Tatiania/M/TXN +tatted//TTT +tatter/GDS/TT +tatterdemalion/SM/TTTMLN +tattered/M/TTRT +tatting/SM/TTN +tattle/RSDZG/TTL +tattler/M/TTL +tattletale/SM/TTLTL +tattoo/ZRDMGS/TT +tattooer/M/TT +tattooist/MS/TTST +tatty/R/TT +Tatum/M/TTM +tau/SM/T +taught/AU/TT +taunt/ZGRDS/TNT +taunter/M/TNT +taunting/Y/TNTN +taupe/SM/TP +Taurus/SM/TRS +taut/PGTXYRDNS/TT +tauten/GD/TTN +tautness/S/TTNS +tautological/Y/TTLKKL +tautologous//TTLKS +tautology/SM/TTLK +tavern/RMS/TFN +taverner/M/TFN +tawdrily//TTRL +tawdriness/SM/TTRNS +tawdry/SRTP/TTR +Tawney/M/TN +tawny/RSMPT/TN +Tawnya/M/TNY +Tawsha/M/TX +tax/ZGJMDRSB/TKS +taxable/S/TKSBL +taxably//TKSBL +taxation/MS/TKSXN +taxed/U/TKST +taxi/MDGS/TKS +taxicab/MS/TKSKB +taxidermist/SM/TKSTMST +taxidermy/MS/TKSTM +taximeter/SM/TKSMT +taxing/Y/TKSN +taxiway/MS/TKSW +taxonomic//TKSNMK +taxonomically//TKSNMKL +taxonomist/SM/TKSNMST +taxonomy/SM/TKSNM +taxpayer/MS/TKSPY +taxpaying/M/TKSPYN +Taylor/SM/TL +Tb//TB +TB//TB +TBA//TB +Tbilisi/M/TBLS +tbs//TBS +tbsp//TBSP +Tc/M/TK +Tchaikovsky/M/XKFSK +TCP//TKP +TD//TT +TDD//TT +Te//T +tea/MDGS/T +teabag/S/TBK +teacake/MS/TKK +teacart/M/TKT +teach/AGS/TX +teachable/P/TXBL +teacher/MS/TX +teaching/SM/TXN +teacloth//TKL@ +teacup/MS/TKP +teacupful/MS/TKPFL +Teador/M/TT +teahouse/SM/THS +teak/SM/TK +teakettle/SM/TKTL +teakwood/M/TKWT +teal/MS/TL +tealeaves//TLFS +team/MRDGS/TM +teammate/MS/TMT +teamster/MS/TMST +teamwork/SM/TMWK +teapot/MS/TPT +tear/RDMSG/T +tearaway//TRW +teardrop/MS/TTRP +tearer/M/TR +tearful/YP/TFL +tearfulness/M/TFLNS +teargas/S/TKS +teargassed//TKST +teargassing//TKSN +tearjerker/S/TKK +tearoom/MS/TRM +teary/RT/TR +teas/SRDGZ/TS +Teasdale/M/TSTL +tease/KS/TS +teasel/DGSM/TSL +teaser/M/TS +teashop/SM/TXP +teasing/Y/TSN +teaspoon/MS/TSPN +teaspoonful/MS/TSPNFL +teat/MDS/TT +teatime/MS/TTM +tech/D/TX +technetium/SM/TXNTM +technical/YSP/TXNKL +technicality/MS/TXNKLT +technicalness/M/TXNKLNS +technician/MS/TXNXN +Technicolor/MS/TXNKL +Technion/M/TXNN +technique/SM/TXNK +technocracy/MS/TXNKRS +technocrat/S/TXNKRT +technocratic//TXNKRTK +technological/Y/TXNLKKL +technologist/MS/TXNLKST +technology/MS/TXNLK +technophobia//TXNFB +technophobic//TXNFBK +techs//TXS +tectonic/S/TKTNK +tectonically//TKTNKL +tectonics/M/TKTNKS +Tecumseh/M/TKMS +Ted/M/TT +Tedd/M/TT +Tedda/M/TT +Teddi/M/TT +Teddie/M/TT +Teddy/M/TT +teddy/SM/TT +Tedi/M/TT +Tedie/M/TT +tedious/YP/TTS +tediousness/SM/TTSNS +tedium/MS/TTM +Tedman/M/TTMN +Tedmund/M/TTMNT +Tedra/M/TTR +tee/DRSMH/T +teeing//TN +teem/GSD/TM +teeming/PY/TMN +teemingness/M/TMNNS +teen/SR/TN +Teena/M/TN +teenage/RZ/TNK +teenager/M/TNK +teeny/RT/TN +teenybopper/SM/TNBP +teepee's//TPS +teeshirt/S/TXT +teeter/GDS/TT +teeth/RSDJMG/T@ +teethe//T@ +teether/M/T@ +teething/M/T@N +teethmarks//T@MKS +teetotal/SRDGZ/TTTL +teetotaler/M/TTTL +teetotalism/MS/TTTLSM +TEFL//TFL +Teflon/MS/TFLN +Tegucigalpa/M/TKSKLP +Teheran's//THRNS +Tehran//TRN +TEirtza/M/TTS +tektite/SM/TKTT +Tektronix/M/TKTRNKS +tel/SY/TL +telecast/SRGZ/TLKST +telecommunicate/NX/TLKMNKT +telecommunication/M/TLKMNKXN +telecommute/SRDZGJ/TLKMT +telecoms//TLKMS +teleconference/GMJSD/TLKNFRNS +Teledyne/M/TLTN +Telefunken/M/TLFNKN +telegenic//TLKNK +telegram/MS/TLKRM +telegrammed//TLKRMT +telegramming//TLKRMN +telegraph/MRDGZ/TLKRF +telegraphic//TLKRFK +telegraphically//TLKRFKL +telegraphist/MS/TLKRFST +telegraphs//TLKRFS +telegraphy/MS/TLKRF +telekineses//TLKNSS +telekinesis/M/TLKNSS +telekinetic//TLKNTK +Telemachus/M/TLMXS +Telemann/M/TLMN +telemarketer/S/TLMKT +telemarketing/S/TLMKTN +telemeter/DMSG/TLMT +telemetric//TLMTRK +telemetry/MS/TLMTR +teleological/Y/TLLKKL +teleology/M/TLLK +telepathic//TLP@K +telepathically//TLP@KL +telepathy/SM/TLP@ +telephone/SRDGMZ/TLFN +telephonic//TLFNK +telephonist/SM/TLFNST +telephony/MS/TLFN +telephoto/S/TLFT +telephotography/MS/TLFTKRF +teleprinter/MS/TLPRNT +teleprocessing/S/TLPRSSN +teleprompter//TLPRMPT +TelePrompter/M/TLPRMPT +TelePrompTer/S/TLPRMPT +telescope/GSDM/TLSKP +telescopic//TLSKPK +telescopically//TLSKPKL +teletext/S/TLTKST +telethon/MS/TL@N +teletype/SM/TLTP +Teletype/SM/TLTP +teletypewriter/SM/TLTPRT +televangelism/S/TLFNKLSM +televangelist/S/TLFNKLST +televise/SDXNG/TLFS +television/M/TLFXN +televisor/MS/TLFS +televisual//TLFSL +telex/GSDM/TLKS +Telex/M/TLKS +tell/AGS/TL +Tell/MR/TL +Teller/M/TL +teller/SDMG/TL +telling/YS/TLN +telltale/MS/TLTL +tellurium/SM/TLRM +telly/SM/TL +Telnet/M/TLNT +TELNET/M/TLNT +telnet/S/TLNT +telomeric//TLMRK +Telugu/M/TLK +temblor/SM/TMBL +temerity/MS/TMRT +Temp/M/TMP +temp/SGZTMRD/TMP +Tempe/M/TMP +temper/GRDM/TMP +tempera/SLM/TMPR +temperament/SM/TMPRMNT +temperamental/Y/TMPRMNTL +temperance/IMS/TMPRNS +temperate/SDGPY/TMPRT +temperately/I/TMPRTL +temperateness/SM/TMPRTNS +temperateness's/I/TMPRTNSS +temperature/MS/TMPRTR +tempered/UE/TMPRT +tempering/E/TMPRN +tempers/E/TMPS +temper's/E/TMPS +tempest/DMSG/TMPST +tempestuous/PY/TMPSTS +tempestuousness/SM/TMPSTSNS +template/FS/TMPLT +template's//TMPLTS +Temple/M/TMPL +temple/SDM/TMPL +Templeman/M/TMPLMN +Templeton/M/TMPLTN +tempo/MS/TMP +tempoes//TMPS +temporal/YS/TMPRL +temporarily//TMPRRL +temporariness/FM/TMPRRNS +temporarinesses//TMPRRNSS +temporary/SFP/TMPRR +temporize/GJZRSD/TMPRS +temporizer/M/TMPRS +temporizing/YM/TMPRSN +temporizings/U/TMPRSNS +tempt/FS/TMPT +temptation/MS/TMPTXN +tempted//TMPTT +tempter/S/TMPT +tempting/YS/TMPTN +temptress/MS/TMPTRS +tempura/SM/TMPR +ten/MHB/TN +tenabilities//TNBLTS +tenability/UM/TNBLT +tenable/P/TNBL +tenableness/M/TNBLNS +tenably//TNBL +tenacious/YP/TNSS +tenaciousness/S/TNSSNS +tenacity/S/TNST +tenancy/MS/TNNS +tenant/MDSG/TNNT +tenanted/U/TNNTT +tenantry/MS/TNNTR +tench/M/TNX +tend/ISFRDG/TNT +tended/UE/TNTT +tendency/MS/TNTNS +tendentious/PY/TNTNXS +tendentiousness/SM/TNTNXSNS +tender/FS/TNT +tendered//TNTRT +tenderer//TNTR +tenderest//TNTRST +tenderfoot/MS/TNTFT +tenderhearted/YP/TNTHTT +tenderheartedness/MS/TNTHTTNS +tendering//TNTRN +tenderize/SRDGZ/TNTRS +tenderizer/M/TNTRS +tenderloin/SM/TNTLN +tenderly//TNTL +tenderness/SM/TNTNS +tending/E/TNTN +tendinitis/S/TNTNTS +tendon/MS/TNTN +tendril/SM/TNTRL +tends/E/TNTS +tenebrous//TNBRS +tenement/MS/TNMNT +tenet/SM/TNT +Tenex/M/TNKS +TENEX/M/TNKS +tenfold/S/TNFLT +Tenn/M/TN +Tenneco/M/TNK +tenner//TN +Tennessean/S/TNSN +Tennessee/M/TNS +Tenney/M/TN +tennis/SM/TNS +Tennyson/M/TNSN +Tenochtitlan/M/TNXTTLN +tenon/GSMD/TNN +tenor/MS/TN +tenpin/SM/TNPN +tens/SRDVGT/TNS +tense/IPYTNVR/TNS +tenseness/SM/TNSNS +tenseness's/I/TNSNSS +tensile//TNSL +tension/GMRDS/TNXN +tensional/I/TNXNL +tensionless//TNXNLS +tensions/E/TNXNS +tension's/I/TNXNS +tensity/IMS/TNST +tensor/MS/TNS +tensorial//TNSRL +tenspot//TNSPT +tent/FSIM/TNT +tentacle/MSD/TNTKL +tentative/SPY/TNTTF +tentativeness/S/TNTTFNS +tented/UF/TNTT +tenter/M/TNT +tenterhook/MS/TNTHK +tenth/SY/TN@ +tenths//TN@S +tenting/F/TNTN +tenuity/S/TNT +tenuous/YP/TNS +tenuousness/SM/TNSNS +tenure/SDM/TNR +Teodoor/M/TT +Teodor/M/TT +Teodora/M/TTR +Teodorico/M/TTRK +Teodoro/M/TTR +tepee/MS/TP +tepid/YP/TPT +tepidity/S/TPTT +tepidness/S/TPTNS +tequila/SM/TKL +Tera/M/TR +teratogenic//TRTKNK +teratology/MS/TRTLK +terbium/SM/TBM +tercel/M/TSL +tercentenary/S/TSNTNR +tercentennial/S/TSNTNL +Terence/M/TRNS +Terencio/M/TRNS +Teresa/M/TRS +Terese/M/TRS +Tereshkova/M/TRXKF +Teresina/M/TRSN +Teresita/M/TRST +Teressa/M/TRS +Teri/M/TR +Teriann/M/TRN +Terkel/M/TKL +term/MYRDGS/TM +termagant/SM/TMKNT +termcap//TMKP +termer/M/TM +terminable/CPI/TMNBL +terminableness/IMC/TMNBLNS +terminal/SYM/TMNL +terminate/CXNV/TMNT +terminated/U/TMNTT +terminates//TMNTS +terminating//TMNTN +termination/MC/TMNXN +terminative/YC/TMNTF +terminator/SM/TMNT +termini//TMN +terminological/Y/TMNLKKL +terminology/MS/TMNLK +terminus/M/TMNS +termite/SM/TMT +tern/GIDS/TN +ternary/S/TNR +tern's//TNS +Terpsichore/M/TPSXR +terpsichorean//TPSXRN +terr/S/TR +Terra/M/TR +terrace/MGSD/TRS +terracing/M/TRSN +terracotta//TRKT +terrain/MS/TRN +terramycin//TRMSN +Terran/M/TRN +Terrance/M/TRNS +terrapin/MS/TRPN +terrarium/MS/TRRM +terrazzo/SM/TRS +Terre/M/TR +Terrel/M/TRL +Terrell/M/TRL +Terrence/M/TRNS +terrestrial/YMS/TRSTRL +Terri/M/TR +terrible/P/TRBL +terribleness/SM/TRBLNS +terribly//TRBL +Terrie/M/TR +terrier/M/TR +terrific/Y/TRFK +terrifically//TRFKL +terrify/GDS/TRF +terrifying/Y/TRFYN +Terrijo/M/TRK +Terrill/M/TRL +terrine/M/TRN +Territorial/SM/TRTRL +territorial/SY/TRTRL +territoriality/M/TRTRLT +territory/SM/TRTR +Territory's//TRTRS +terror/MS/TR +terrorism/MS/TRRSM +terrorist/MS/TRRST +terroristic//TRRSTK +terrorize/RSDZG/TRRS +terrorized/U/TRRST +terrorizer/M/TRRS +Terry/M/TR +terry/ZMRS/TR +terrycloth//TRKL@ +Terrye/M/TRY +terse/RTYP/TS +terseness/SM/TSNS +Tersina/M/TSN +tertian//TXN +Tertiary//TXR +tertiary/S/TXR +Terza/M/TS +TESL//TSL +Tesla/M/TSL +TESOL//TSL +Tess/M/TS +Tessa/M/TS +tessellate/XDSNG/TSLT +tessellation/M/TSLXN +tesseral//TSRL +Tessi/M/TS +Tessie/M/TS +Tessy/M/TS +test/RDBFZGSC/TST +testability/M/TSTBLT +testable/U/TSTBL +testament/SM/TSTMNT +testamentary//TSTMNTR +testate/IS/TSTT +testator/MS/TSTT +testatrices//TSTTRSS +testatrix//TSTTRKS +testbed/S/TSTBT +testcard//TSTKT +tested/AKU/TSTT +tester/MFCKS/TST +testes/M/TSTS +testicle/SM/TSTKL +testicular//TSTKL +testifier/M/TSTF +testify/GZDRS/TSTF +testily//TSTL +testimonial/SM/TSTMNL +testimony/SM/TSTMN +testiness/S/TSTNS +testing/S/TSTN +testis/M/TSTS +testosterone/SM/TSTSTRN +tests/AK/TSTS +test's/AKF/TSTS +testy/RTP/TST +tetanus/MS/TTNS +tetchy/TR/TX +tether/DMSG/T@ +tethered/U/T@RT +Tethys/M/T@S +Tetons//TTNS +tetra/MS/TTR +tetrachloride/M/TTRXLRT +tetracycline/SM/TTRSKLN +tetrafluoride//TTRFLRT +tetragonal/Y/TTRKNL +tetrahalides//TTRHLTS +tetrahedral/Y/TTRHTRL +tetrahedron/SM/TTRHTRN +tetrameron//TTRMRN +tetrameter/SM/TTRMT +tetrasodium//TTRSTM +tetravalent//TTRFLNT +Teuton/SM/TTN +Teutonic//TTNK +Tex/M/TKS +TeX/M/TKS +Texaco/M/TKSK +Texan/S/TKSN +Texas/MS/TKSS +text/FSM/TKST +textbook/SM/TKSTBK +textile/SM/TKSTL +Textron/M/TKSTRN +textual/FY/TKSTL +textural/Y/TKSTRL +texture/MGSD/TKSTR +textured/U/TKSTRT +th/GNJX/@ +Th/M/@ +Thacher/M/@X +Thackeray/M/@KR +Thad/M/@T +Thaddeus/M/@TS +Thaddus/M/@TS +Thadeus/M/@TS +Thai/S/@ +Thailand/M/@LNT +Thain/M/@N +Thaine/M/@N +thalami//@LM +thalamus/M/@LMS +Thales/M/@LS +Thalia/M/@L +thalidomide/MS/@LTMT +thallium/SM/@LM +thallophyte/M/@LFT +Thames//@MS +than//@N +Thane/M/@N +thane/SM/@N +Thanh/M/@NH +thank/SRDG/@NK +thanker/M/@NK +thankful/YP/@NKFL +thankfuller//@NKFL +thankfullest//@NKFLST +thankfulness/SM/@NKFLNS +thankless/PY/@NKLS +thanklessness/SM/@NKLSNS +thanksgiving/MS/@NKSKFN +Thanksgiving/S/@NKSKFN +Thant/M/@NT +Thar/M/@ +that/MS/@T +thatch/JMDRSZG/@X +Thatch/MR/@X +Thatcher/M/@X +thatching/M/@XN +that'd//@TT +that'll//@TL +thaumaturge/M/@MTK +thaw/DGS/@ +Thaxter/M/@KST +Thayer/M/@Y +Thayne/M/@N +THC//@K +the//@ +Thea/M/@ +Theadora/M/@TR +theater/SM/@T +theatergoer/MS/@TK +theatergoing/MS/@TKN +theatric/S/@TRK +theatrical/YS/@TRKL +theatricality/SM/@TRKLT +theatrics/M/@TRKS +Thebault/M/@BLT +Thebes//@BS +Theda/M/@T +Thedric/M/@TRK +Thedrick/M/@TRK +thee/DS/@ +theeing//@N +theft/MS/@FT +Theiler/M/@L +their/MS/@ +theism/SM/@SM +theist/SM/@ST +theistic//@STK +Thekla/M/@KL +Thelma/M/@LM +them/GD/@M +themas//@MS +thematic/U/@MTK +thematically//@MTKL +thematics//@MTKS +theme/MS/@M +Themistocles/M/@MSTKLS +themselves//@MSLFS +thence//@NS +thenceforth//@NSF@ +thenceforward/S/@NSFWT +Theo/M/@ +Theobald/M/@BLT +theocracy/SM/@KRS +theocratic//@KRTK +Theocritus/M/@KRTS +theodolite/MS/@TLT +Theodor/M/@T +Theodora/M/@TR +Theodore/M/@TR +Theodoric/M/@TRK +Theodosia/M/@TX +Theodosian//@TXN +Theodosius/M/@TSS +theologian/SM/@LKN +theological/Y/@LKKL +theologists//@LKSTS +theology/MS/@LK +theorem/MS/@RM +theoretic/S/@RTK +theoretical/Y/@RTKL +theoretician/MS/@RTXN +theoretics/M/@RTKS +theorist/SM/@RST +theorization/SM/@RSXN +theorize/ZGDRS/@RS +theory/MS/@R +theosophic//@SFK +theosophical//@SFKL +theosophist/MS/@SFST +Theosophy//@SF +theosophy/SM/@SF +therapeutic/S/@RPTK +therapeutically//@RPTKL +therapeutics/M/@RPTKS +therapist/MS/@RPST +therapy/MS/@RP +Theravada/M/@RFT +there/MS/@R +thereabout/S/@RBT +thereafter//@RFT +thereat//@RT +thereby//@RB +there'd//@RT +therefor//@RF +therefore//@RFR +therefrom//@RFRM +therein//@RN +there'll//@RL +thereof//@RF +thereon//@RN +Theresa/M/@RS +Therese/M/@RS +Theresina/M/@RSN +Theresita/M/@RST +Theressa/M/@RS +thereto//@RT +theretofore//@RTFR +thereunder//@RNT +thereunto//@RNT +thereupon//@RPN +therewith//@RW@ +Therine/M/@RN +therm/MS/@M +thermal/YS/@ML +thermionic/S/@MNK +thermionics/M/@MNKS +thermistor/MS/@MST +thermo/S/@M +thermocouple/MS/@MKPL +thermodynamic/S/@MTNMK +thermodynamical/Y/@MTNMKL +thermodynamics/M/@MTNMKS +thermoelastic//@MLSTK +thermoelectric//@MLKTRK +thermoformed//@MFMT +thermoforming//@MFMN +thermogravimetric//@MKRFMTRK +thermoluminescence/M/@MLMNSNS +thermometer/MS/@MMT +thermometric//@MMTRK +thermometry/M/@MMTR +thermonuclear//@MNKL +thermopile/M/@MPL +thermoplastic/S/@MPLSTK +thermopower//@MPW +thermos/S/@MS +Thermos/SM/@MS +thermosetting//@MSTN +thermostable//@MSTBL +thermostat/SM/@MSTT +thermostatic/S/@MSTTK +thermostatically//@MSTTKL +thermostatics/M/@MSTTKS +thermostatted//@MSTTT +thermostatting//@MSTTN +Theron/M/@RN +thesauri//@SR +thesaurus/MS/@SRS +these/S/@S +Theseus/M/@SS +thesis/M/@SS +thespian/S/@SPN +Thespian/S/@SPN +Thespis/M/@SPS +Thessalonian//@SLNN +Thessaloníki/M/@SLNK +Thessaly/M/@SL +theta/MS/@T +thew/SM/@ +they//@ +they'd//@T +they'll//@L +they're//@R +they've//@F +Thia/M/@ +thiamine/MS/@MN +Thibaud/M/@BT +Thibaut/M/@BT +thick/TXPSRNY/@K +thicken/RDJZG/@KN +thickener/M/@KN +thickening/M/@KNN +thicket/SMD/@KT +thickheaded/M/@KHTT +thickish//@KX +thickness/MS/@KNS +thickset/S/@KST +thief/M/@F +Thiensville/M/@NSFL +Thieu/M/@ +thieve/SDJG/@F +thievery/MS/@FR +thievish/P/@FX +thievishness/M/@FXNS +thigh/DM/@ +thighbone/SM/@BN +thighs//@S +thimble/DSMG/@MBL +thimbleful/MS/@MBLFL +Thimbu/M/@MB +Thimphu//@MF +thin/STPYR/@N +thine//@N +thing/MP/@N +thingamabob/MS/@NMBB +thingamajig/SM/@NMKK +think/AGRS/@NK +thinkable/U/@NKBL +thinkableness/M/@NKBLNS +thinkably/U/@NKBL +thinker/MS/@NK +thinking/SMYP/@NKN +thinkingly/U/@NKNL +thinned//@NT +thinner/MS/@N +thinness/MS/@NS +thinnest//@NST +thinning//@NN +thinnish//@NX +thiocyanate/M/@SYNT +thiouracil/M/@RSL +third/DYGS/@T +thirst/GSMDR/@ST +thirster/M/@ST +thirstily//@STL +thirstiness/S/@STNS +thirsty/TPR/@ST +thirteen/MHS/@TN +thirteenths//@TN@S +thirtieths//@T@S +thirty/HMS/@T +this//@S +this'll//@SL +thistle/SM/@STL +thistledown/MS/@STLTN +thither//@@ +tho//@ +thole/GMSD/@L +Thom/M/@M +Thoma/SM/@M +Thomasa/M/@MS +Thomasin/M/@MSN +Thomasina/M/@MSN +Thomasine/M/@MSN +Thomism/M/@MSM +Thomistic//@MSTK +Thompson/M/@MPSN +Thomson/M/@MSN +thong/SMD/@NK +Thor/M/@ +thoracic//@RSK +thorax/MS/@RKS +Thorazine//@RSN +Thoreau/M/@R +thoriate/D/@RT +Thorin/M/@RN +thorium/MS/@RM +Thorn/M/@N +thorn/SMDG/@N +Thornburg/M/@NBK +Thorndike/M/@NTK +Thornie/M/@N +thorniness/S/@NNS +Thornton/M/@NTN +Thorny/M/@N +thorny/PTR/@N +thorough/PTYR/@R +thoroughbred/S/@RBRT +thoroughfare/MS/@RFR +thoroughgoing//@RKN +thoroughness/SM/@RNS +Thorpe/M/@P +Thorstein/M/@STN +Thorsten/M/@STN +Thorvald/M/@FLT +those//@S +Thoth/M/@@ +thou/DSG/@ +though//@ +thought/MS/@T +thoughtful/U/@TFL +thoughtfully//@TFL +thoughtfulness/S/@TFLNS +thoughtless/YP/@TLS +thoughtlessness/MS/@TLSNS +thousand/SHM/@SNT +thousandfold//@SNTFLT +thousandths//@SNT@S +Thrace/M/@RS +Thracian/M/@RXN +thrall/GSMD/@RL +thralldom/S/@RLTM +thrash/DSRZGJ/@RX +thrasher/M/@RX +thrashing/M/@RXN +thread/MZDRGS/@RT +threadbare/P/@RTBR +threader/M/@RT +threading/A/@RTN +threadlike//@RTLK +thready/RT/@RT +threat/MDNSXG/@RT +threaten/GJRD/@RTN +threatener/M/@RTN +threatening/Y/@RTNN +three/MS/@R +threefold//@RFLT +threepence/M/@RPNS +threepenny//@RPN +threescore/S/@RSKR +threesome/SM/@RSM +threnody/SM/@RNT +thresh/DSRZG/@RX +thresher/M/@RX +threshold/MDGS/@RXLT +threw//@R +thrice//@RS +thrift/SM/@RFT +thriftily//@RFTL +thriftiness/S/@RFTNS +thriftless//@RFTLS +thrifty/PTR/@RFT +thrill/ZMGDRS/@RL +thriller/M/@RL +thrilling/Y/@RLN +thrive/RSDJG/@RF +thriver/M/@RF +thriving/Y/@RFN +throat/MDSG/@RT +throatily//@RTL +throatiness/MS/@RTNS +throaty/PRT/@RT +throb/S/@RB +throbbed//@RBT +throbbing//@RBN +throe/SDM/@R +throeing//@RN +thrombi//@RMB +thromboses//@RMBSS +thrombosis/M/@RMBSS +thrombotic//@RMBTK +thrombus/M/@RMBS +throne/CGSD/@RN +Throneberry/M/@RNBR +throne's//@RNS +throng/GDSM/@RNK +throttle/DRSZMG/@RTL +throttler/M/@RTL +through/Y/@R +throughout//@RKT +throughput/SM/@RPT +throughway's//@RWS +throw/SZGR/@R +throwaway/SM/@RWW +throwback/MS/@RBK +thrower/M/@RW +thrown//@RN +throwout//@RWT +thrum/S/@RM +thrummed//@RMT +thrumming//@RMN +thrush/MS/@RX +thrust/ZGSR/@RST +thruster/M/@RST +Thruway/MS/@RW +thruway/SM/@RW +Thu//@ +Thucydides/M/@STTS +thud/MS/@T +thudded//@TT +thudding//@TN +thug/MS/@K +thuggee/M/@K +thuggery/SM/@KR +thuggish//@KX +Thule/M/@L +thulium/SM/@LM +thumb/SMDG/@M +thumbnail/MS/@MBNL +thumbscrew/SM/@MBSKR +thumbtack/GMDS/@MBTK +thump/RDMSG/@MP +thunder/ZGJDRMS/@NT +thunderbolt/MS/@NTBLT +thunderclap/SM/@NTKLP +thundercloud/SM/@NTKLT +thunderer/M/@NTR +thunderhead/SM/@NTHT +thundering/Y/@NTRN +thunderous/Y/@NTRS +thundershower/MS/@NTXW +thunderstorm/MS/@NTSTM +thunderstruck//@NTSTRK +thundery//@NTR +thunk//@NK +Thur/MS/@ +Thurber/M/@B +Thurman/M/@MN +Thursday/SM/@ST +Thurstan/M/@STN +Thurston/M/@STN +thus/Y/@S +thwack/DRSZG/@WK +thwacker/M/@WK +thwart/GSDRY/@WT +thwarter/M/@WT +thy//@ +thyme/SM/@M +thymine/MS/@MN +thymus/SM/@MS +thyratron/M/@RTRN +thyristor/MS/@RST +thyroglobulin//@RKLBLN +thyroid/S/@RT +thyroidal//@RTL +thyronine//@RNN +thyrotoxic//@RTKSK +thyrotrophic//@RTRFK +thyrotrophin//@RTRFN +thyrotropic//@RTRPK +thyrotropin/M/@RTRPN +thyroxine/M/@RKSN +thyself//@SLF +Ti/M/T +ti/MDRZ/T +Tia/M/X +Tianjin//XNKN +tiara/MS/XR +Tiber/M/TB +Tiberius/M/TBRS +Tibet/M/TBT +Tibetan/S/TBTN +tibia/M/TB +tibiae//TB +tibial//TBL +Tibold/M/TBLT +Tiburon/M/TBRN +tic/MS/TK +tick/GZJRDMS/TK +ticker/M/TK +ticket/SGMD/TKT +ticking/M/TKN +tickle/RSDZG/TKL +tickler/M/TKL +ticklish/PY/TKLX +ticklishness/MS/TKLXNS +ticktacktoe/S/TKTKT +ticktock/SMDG/TKTK +Ticonderoga/M/TKNTRK +tidal/Y/TTL +tidbit/MS/TTBT +tiddlywinks/M/TTLWNKS +tide/GJDS/TT +tideland/MS/TTLNT +tidewater/SM/TTWT +tideway/SM/TTW +tidily/U/TTL +tidiness/USM/TTNS +tidy/UGDSRPT/TT +tidying/M/TTYN +tie/AUDS/T +tieback/MS/TBK +Tiebold/M/TBLT +Tiebout/M/TBT +tiebreaker/SM/TBRK +Tieck/M/TK +Tiena/M/TN +Tienanmen/M/TNNMN +Tientsin's//TNTSNS +tier/DGM/T +Tierney/M/TN +Tiertza/M/TTS +tiff/GDMS/TF +Tiff/M/TF +Tiffani/M/TFN +Tiffanie/M/TFN +tiffany/M/TFN +Tiffany/M/TFN +Tiffi/M/TF +Tiffie/M/TF +Tiffy/M/TF +tiger/SM/TK +tigerish//TKRX +tight/STXPRNY/TT +tighten/JZGDR/TTN +tightener/M/TTN +tightfisted//TTFSTT +tightness/MS/TTNS +tightrope/SM/TTRP +tightwad/MS/TTWT +tigress/SM/TKRS +Tigris/M/TKRS +Tijuana/M/TKN +tike's//TKS +Tilda/M/TLT +tilde/MS/TLT +Tildi/M/TLT +Tildie/M/TLT +Tildy/M/TLT +tile/DRSJMZG/TL +tiled/UE/TLT +Tiler/M/TL +tiles/U/TLS +tiling/M/TLN +till/EGSZDR/TL +tillable//TLBL +tillage/SM/TLK +tiller/GDM/TL +tiller's/E/TLS +Tillich/M/TLX +Tillie/M/TL +Tillman/M/TLMN +Tilly/M/TL +tilt/RDSGZ/TLT +tilth/M/TL@ +Tim/MS/TM +timber/DMSG/TMB +timbering/M/TMBRN +timberland/SM/TMBLNT +timberline/S/TMBLN +timbre/MS/TMBR +timbrel/SM/TMBRL +Timbuktu/M/TMBKT +time/DRSJMYZG/TM +timebase//TMBS +timekeeper/MS/TMKP +timekeeping/SM/TMKPN +timeless/PY/TMLS +timelessness/S/TMLSNS +timeliness/SMU/TMLNS +timely/UTRP/TML +timeout/S/TMT +timepiece/MS/TMPS +timer/M/TM +timescale/S/TMSKL +timeserver/MS/TMSF +timeserving/S/TMSFN +timeshare/SDG/TMXR +timespan//TMSPN +timestamped//TMSTMPT +timestamps//TMSTMPS +timetable/GMSD/TMTBL +timeworn//TMWN +Timex/M/TMKS +timezone/S/TMSN +Timi/M/TM +timid/RYTP/TMT +timidity/SM/TMTT +timidness/MS/TMTNS +timing/M/TMN +Timmi/M/TM +Timmie/M/TM +Timmy/M/TM +Timofei/M/TMF +Timon/M/TMN +timorous/YP/TMRS +timorousness/MS/TMRSNS +Timoteo/M/TMT +Timothea/M/TM@ +Timothee/M/TM@ +Timotheus/M/TM@S +Timothy/M/TM@ +timothy/MS/TM@ +timpani//TMPN +timpanist/S/TMPNST +Timur/M/TM +tin/MDGS/TN +Tina/M/TN +tincture/SDMG/TNKTR +tinder/MS/TNT +tinderbox/MS/TNTBKS +Tine/M/TN +tine/SM/TN +tinfoil/MS/TNFL +ting/GYDM/TN +Ting/M/TN +tinge/S/TN +tingeing//TNN +tingle/SDG/TNL +tingling/Y/TNLN +tingly/TR/TNL +tinily//TNL +tininess/MS/TNNS +tinker/SRDMZG/TNK +Tinkertoy//TNKT +tinkle/SDG/TNKL +tinkling/M/TNKLN +tinkly//TNKL +tinned//TNT +tinner/M/TN +tinnily//TNL +tinniness/SM/TNNS +tinning/M/TNN +tinnitus/MS/TNTS +tinny/RSTP/TN +tinplate/S/TNPLT +tinsel/GMDYS/TNSL +Tinseltown/M/TNSLTN +tinsmith/M/TNSM@ +tinsmiths//TNSM@S +tint/SGMRDB/TNT +tinter/M/TNT +tintinnabulation/MS/TNTNBLXN +Tintoretto/M/TNTRT +tintype/SM/TNTP +tinware/MS/TNWR +tiny/RPT/TN +Tioga/M/XK +tip/MS/TP +Tiphani/M/TFN +Tiphanie/M/TFN +Tiphany/M/TFN +tipi's//TPS +tipoff//TPF +Tippecanoe/M/TPKN +tipped//TPT +tipper/MS/TP +Tipperary/M/TPRR +tippet/MS/TPT +tipping//TPN +tipple/ZGRSD/TPL +tippler/M/TPL +tippy/R/TP +tipsily//TPSL +tipsiness/SM/TPSNS +tipster/SM/TPST +tipsy/TPR/TPS +tiptoe/SD/TPT +tiptoeing//TPTN +tiptop/S/TPTP +tirade/SM/TRT +Tirana's//TRNS +Tirane//TRN +tire/MGDSJ/TR +tired/AYP/TRT +tireder//TRT +tiredest//TRTST +tiredness/S/TRTNS +tireless/PY/TRLS +tirelessness/SM/TRLSNS +tires/A/TRS +Tiresias/M/TRXS +tiresome/PY/TRSM +tiresomeness/S/TRSMNS +tiring/AU/TRN +Tirol/M/TRL +Tirolean/S/TRLN +tiro's//TRS +Tirrell/M/TRL +tis//TS +Tish/M/TX +Tisha/M/TX +tissue/MGSD/TS +tit/MRZS/TT +titan/SM/TTN +Titan/SM/TTN +titanate/M/TTNT +Titania/M/TTN +titanic//TTNK +Titanic/M/TTNK +titanically//TTNKL +titanium/SM/TTNM +titbit's//TTBTS +titer/M/TT +tithe/SRDGZM/T@ +tither/M/T@ +tithing/M/T@N +Titian/M/TXN +titian/S/TXN +Titicaca/M/TTKK +titillate/XSDVNG/TTLT +titillating/Y/TTLTN +titillation/M/TTLXN +titivate/NGDSX/TTFT +titivation/M/TTFXN +title/GMSRD/TTL +titled/AU/TTLT +titleholder/SM/TTLHLT +titling/A/TTLN +titmice//TTMS +titmouse/M/TTMS +Tito/SM/TT +titrate/SDGN/TTRT +titration/M/TTRXN +titted//TTT +titter/GDS/TT +titting//TTN +tittle/SDMG/TTL +titular/SY/TTL +Titus/M/TTS +tizzy/SM/TS +TKO//TK +Tl/M/TL +Tlaloc/M/TLLK +TLC//TLK +Tlingit/M/TLNT +TM//TM +Tm/M/TM +tn//TN +TN//TN +tnpk//TNPK +TNT//TNT +to/D/T +toad/SM/TT +toadstool/SM/TTSTL +toady/GSDM/TT +toadyism/M/TTYSM +toast/SZGRDM/TST +toaster/M/TST +toastmaster/MS/TSTMST +toastmistress/S/TSTMSTRS +toasty/TRS/TST +tobacco/SM/TBK +tobacconist/SM/TBKNST +tobaggon/SM/TBKN +Tobago/M/TBK +Tobe/M/TB +Tobey/M/TB +Tobi/M/TB +Tobiah/M/TB +Tobias/M/TBS +Tobie/M/TB +Tobin/M/TBN +Tobit/M/TBT +toboggan/MRDSZG/TBKN +Toby/M/TB +Tobye/M/TBY +Tocantins/M/TKNTNS +toccata/M/TKT +Tocqueville//TKFL +tocsin/MS/TKSN +Tod/M/TT +today/SM/TT +today'll//TTL +Todd/M/TT +Toddie/M/TT +toddle/ZGSRD/TTL +toddler/M/TTL +Toddy/M/TT +toddy/SM/TT +toe/MS/T +toecap/SM/TKP +toeclip/S/TKLP +TOEFL//TFL +toehold/MS/THLT +toeing//TN +toenail/DMGS/TNL +toffee/SM/TF +tofu/S/TF +tog/SMG/TK +toga/SMD/TK +toge//TK +together/P/TK@ +togetherness/MS/TK@NS +togged//TKT +togging//TKN +toggle/SDMG/TKL +Togo/M/TK +Togolese/M/TKLS +Toiboid/M/TBT +toil/SGZMRD/TL +toilet/GMDS/TLT +toiletry/MS/TLTR +toilette/SM/TLT +toilsome/PY/TLSM +toilsomeness/M/TLSMNS +Toinette/M/TNT +Tojo/M/TK +tokamak//TKMK +Tokay/M/TK +toke/GDS/TK +token/SMDG/TKN +tokenism/SM/TKNSM +tokenized//TKNST +Tokugawa/M/TKKW +Tokyo/M/TKY +Tokyoite/MS/TKYT +Toland/M/TLNT +told/AU/TLT +tole/MGDS/TL +Toledo/SM/TLT +tolerability/IM/TLRBLT +tolerable/I/TLRBL +tolerably/I/TLRBL +tolerance/SIM/TLRNS +tolerant/IY/TLRNT +tolerate/XVNGSD/TLRT +toleration/M/TLRXN +Tolkien//TLKN +toll/DGS/TL +tollbooth/M/TLB@ +tollbooths//TLB@S +Tolley/M/TL +tollgate/MS/TLKT +tollhouse/M/TLHS +tollway/S/TLW +Tolstoy/M/TLST +toluene/MS/TLN +Tolyatti/M/TLYT +Tom/M/TM +tom/SM/TM +Toma/SM/TM +tomahawk/SGMD/TMHK +Tomasina/M/TMSN +Tomasine/M/TMSN +Tomaso/M/TMS +tomato/M/TMT +tomatoes//TMTS +tomb/GSDM/TM +Tombaugh/M/TMB +Tombigbee/M/TMBKB +tomblike//TMBLK +tombola/M/TMBL +tomboy/MS/TMB +tomboyish//TMBYX +tombstone/MS/TMBSTN +tomcat/SM/TMKT +tomcatted//TMKTT +tomcatting//TMKTN +Tome/M/TM +tome/SM/TM +tomfool/M/TMFL +tomfoolery/MS/TMFLR +Tomi/M/TM +Tomkin/M/TMKN +Tomlin/M/TMLN +tommed//TMT +Tommi/M/TM +Tommie/M/TM +tomming//TMN +tommy/M/TM +Tommy/M/TM +tomographic//TMKRFK +tomography/MS/TMKRF +tomorrow/MS/TMR +Tompkins/M/TMPKNS +Tomsk/M/TMSK +tomtit/SM/TMTT +ton/SKM/TN +tonal/Y/TNL +tonality/MS/TNLT +tone/ISRDZG/TN +tonearm/S/TNM +toneless/YP/TNLS +tonelessness/M/TNLSNS +toner/IM/TN +tone's//TNS +tong/GRDS/TNK +Tonga/M/TNK +Tongan/SM/TNKN +tongue/SDMG/TNK +tongueless//TNKLS +tonguing/M/TNKN +Toni/M/TN +Tonia/M/TN +tonic/SM/TNK +Tonie/M/TN +tonight/MS/TNT +Tonio/M/TN +tonk/MS/TNK +tonnage/SM/TNK +tonne/MS/TN +Tonnie/M/TN +tonsil/SM/TNSL +tonsillectomy/MS/TNSLKTM +tonsillitis/SM/TNSLTS +tonsorial//TNSRL +tonsure/SDGM/TNSR +Tonto/M/TNT +Tony/M/TN +tony/RT/TN +Tonya/M/TNY +Tonye/M/TNY +too/H/T +toodle//TTL +took/A/TK +tool/AGDS/TL +toolbox/SM/TLBKS +tooler/SM/TL +tooling/M/TLN +toolkit/SM/TLKT +toolmake/ZRG/TLMK +toolmaker/M/TLMK +toolmaking/M/TLMKN +tool's//TLS +toolsmith//TLSM@ +Toomey/M/TM +toot/GRDZS/TT +tooter/M/TT +tooth/DMG/T@ +toothache/SM/T@X +toothbrush/MSG/T@BRX +toothily//T@L +toothless//T@LS +toothmarks//T@MKS +toothpaste/SM/T@PST +toothpick/MS/T@PK +tooths//T@S +toothsome//T@SM +toothy/TR/T@ +tootle/SRDG/TTL +toots/M/TTS +tootsie//TTS +Tootsie/M/TTS +tootsy/MS/TTS +top/SMDRG/TP +topaz/MS/TPS +topcoat/MS/TPKT +topdressing/S/TPTRSN +Topeka/M/TPK +toper/M/TP +topflight//TPFLT +topgallant/M/TPKLNT +topiary/S/TPR +topic/MS/TPK +topical/Y/TPKL +topicality/MS/TPKLT +topknot/MS/TPKNT +topless//TPLS +topmast/MS/TPMST +topmost//TPMST +topnotch/R/TPNX +topocentric//TPSNTRK +topographer/SM/TPKRF +topographic//TPKRFK +topographical/Y/TPKRFKL +topography/MS/TPKRF +topological/Y/TPLKKL +topologist/MS/TPLKST +topology/MS/TPLK +topped//TPT +topper/MS/TP +topping/MS/TPN +topple/GSD/TPL +topsail/MS/TPSL +topside/SRM/TPST +topsoil/GDMS/TPSL +topspin/MS/TPSPN +Topsy/M/TPS +toque/MS/TK +tor/SLM/T +Torah/M/TR +Torahs//TRS +torch/SDMG/TX +torchbearer/SM/TXBR +torchlight/S/TXLT +Tore/M/TR +tore/S/TR +toreador/SM/TRT +Torey/M/TR +tori/M/TR +Tori/M/TR +Torie/M/TR +Torin/M/TRN +torment/GSD/TMNT +tormenting/Y/TMNTN +tormentor/MS/TMNT +torn//TN +tornado/M/TNT +tornadoes//TNTS +toroid/MS/TRT +toroidal/Y/TRTL +Toronto/M/TRNT +torpedo/GMD/TPT +torpedoes//TPTS +torpid/SY/TPT +torpidity/S/TPTT +torpor/MS/TP +torque/MZGSRD/TK +Torquemada/M/TKMT +Torr/XM/TR +Torrance/M/TRNS +Torre/MS/TR +torrence//TRNS +Torrence/M/TRNS +Torrens/M/TRNS +torrent/MS/TRNT +torrential//TRNXL +Torrey/M/TR +Torricelli/M/TRSL +torrid/RYTP/TRT +torridity/SM/TRTT +torridness/SM/TRTNS +Torrie/M/TR +Torrin/M/TRN +Torry/M/TR +tors/S/TS +torsion/IAM/TXN +torsional/Y/TXNL +torsions//TXNS +torsi's//TSS +torso/SM/TS +tort/ASFE/TT +torte/MS/TT +tortellini/MS/TTLN +torten//TTN +tortilla/MS/TTL +tortoise/SM/TTS +tortoiseshell/SM/TTSXL +Tortola/M/TTL +tortoni/MS/TTN +tort's//TTS +Tortuga/M/TTK +tortuous/PY/TTS +tortuousness/MS/TTSNS +torture/ZGSRD/TTR +torturous//TTRS +torus/MS/TRS +Tory/SM/TR +Tosca/M/TSK +Toscanini/M/TSKNN +Toshiba/M/TXB +toss/SRDGZ/TS +tossup/MS/TSP +tot/MDRSG/TT +total/ZGSRDYM/TTL +totaler/M/TTL +totalistic//TTLSTK +totalitarian/S/TTLTRN +totalitarianism/SM/TTLTRNSM +totality/MS/TTLT +totalizator/S/TTLST +totalizing//TTLSN +tote/S/TT +totem/MS/TTM +totemic//TTMK +toter/M/TT +toting/M/TTN +Toto/M/TT +totted//TTT +totter/ZGRDS/TT +totterer/M/TTR +tottering/Y/TTRN +totting//TTN +toucan/MS/TKN +touch/ASDG/TX +touchable/U/TXBL +touchdown/SM/TXTN +touché//TX +touched/U/TXT +toucher/M/TX +touchily//TXL +touchiness/SM/TXNS +touching/SY/TXN +touchline/M/TXLN +touchscreen//TXSKRN +touchstone/SM/TXSTN +touchy/TPR/TX +tough/TXGRDNYP/TF +toughen/DRZG/TFN +toughener/M/TFN +toughness/SM/TFNS +toughs//TFS +Toulouse/M/TLS +toupee/SM/TP +tour/GZSRDM/T +toured/CF/TRT +tourer/M/TR +touring/F/TRN +tourism/SM/TRSM +tourist/SM/TRST +touristic//TRSTK +touristy//TRST +tourmaline/SM/TMLN +tournament/MS/TNMNT +tourney/GDMS/TN +tourniquet/MS/TNKT +tours/CF/TS +tour's/CF/TS +tousle/GSD/TSL +tout/SGRD/TT +touter/M/TT +Tova/M/TF +Tove/M/TF +tow/DRSZG/T +toward/YU/TWT +towardliness/M/TWTLNS +towardly/P/TWTL +towards//TWTS +towboat/MS/TBT +towel/GJDMS/TWL +towelette/S/TWLT +toweling/M/TWLN +tower/GMD/TW +towering/Y/TWRN +towhead/MSD/THT +towhee/SM/TH +towline/MS/TLN +Town/M/TN +town/SRM/TN +towner/M/TN +Townes//TNS +Towney/M/TN +townhouse/S/TNHS +Townie/M/TN +townie/S/TN +Townley/M/TNL +Townsend/M/TNSNT +townsfolk//TNSFLK +township/MS/TNXP +townsman/M/TNSMN +townsmen//TNSMN +townspeople/M/TNSPPL +townswoman/M/TNSWMN +townswomen//TNSWMN +Towny/M/TN +towpath/M/TP@ +towpaths//TP@S +towrope/MS/TRP +Towsley/M/TSL +toxemia/MS/TKSM +toxic/S/TKSK +toxicity/MS/TKSST +toxicological//TKSKLKKL +toxicologist/SM/TKSKLKST +toxicology/MS/TKSKLK +toxin/MS/TKSN +toy/MDRSG/T +toyer/M/TY +toymaker//TMK +Toynbee/M/TNB +Toyoda/M/TYT +Toyota/M/TYT +toyshop//TXP +tr//TR +trace/ASDG/TRS +Trace/M/TRS +traceability/M/TRSBLT +traceable/P/TRSBL +traceableness/M/TRSBLNS +traceback/MS/TRSBK +traced/U/TRST +Tracee/M/TRS +traceless/Y/TRSLS +tracepoint/SM/TRSPNT +tracer/MS/TRS +tracery/MDS/TRSR +trace's//TRSS +Tracey/M/TRS +trachea/M/TRX +tracheae//TRX +tracheal/M/TRXL +tracheotomy/SM/TRXTM +Traci/M/TRS +Tracie/M/TRS +tracing/SM/TRSN +track/SZGMRD/TRK +trackage//TRKK +trackball/S/TRKBL +trackbed//TRKBT +tracked/U/TRKT +tracker/M/TRK +trackless//TRKLS +tracksuit/SM/TRKST +tract/ABS/TRKT +tractability/SI/TRKTBLT +tractable/I/TRKTBL +tractably/I/TRKTBL +Tractarians//TRKTRNS +traction/KSCEMAF/TRKXN +tractive/KFE/TRKTF +tractor/FKMASC/TRKT +tract's//TRKTS +tracts/CEFK/TRKTS +Tracy/M/TRS +trade/SRDGZM/TRT +trademark/GSMD/TRTMK +trader/M/TRT +tradesman/M/TRTSMN +tradesmen//TRTSMN +tradespeople//TRTSPPL +tradespersons//TRTSPSNS +tradeswoman/M/TRTSWMN +tradeswomen//TRTSWMN +tradition/SM/TRTXN +traditional/U/TRTXNL +traditionalism/MS/TRTXNLSM +traditionalist/MS/TRTXNLST +traditionalistic//TRTXNLSTK +traditionalized//TRTXNLST +traditionally//TRTXNL +traduce/DRSGZ/TRTS +Trafalgar/M/TRFLK +traffic/SM/TRFK +trafficked//TRFKT +trafficker/MS/TRFK +trafficking/S/TRFKN +tragedian/SM/TRKTN +tragedienne/MS/TRKTN +tragedy/MS/TRKT +tragic/S/TRKK +tragically//TRKKL +tragicomedy/SM/TRKKMT +tragicomic//TRKKMK +trail/SZGJRD/TRL +trailblazer/MS/TRLBLS +trailblazing/S/TRLBLSN +trailer/GDM/TRL +trails/F/TRLS +trailside//TRLST +train/ASDG/TRN +trainable//TRNBL +trained/U/TRNT +trainee/MS/TRN +traineeships//TRNXPS +trainer/MS/TRN +training/SM/TRNN +trainman/M/TRNMN +trainmen//TRNMN +trainspotter/S/TRNSPT +traipse/DSG/TRPS +trait/MS/TRT +traitor/SM/TRT +traitorous/Y/TRTRS +Trajan/M/TRKN +trajectory/MS/TRKKTR +tram/MS/TRM +trammed//TRMT +trammel/GSD/TRML +trammeled/U/TRMLT +tramming//TRMN +tramp/RDSZG/TRMP +trample/DGRSZ/TRMPL +trampler/M/TRMPL +trampoline/GMSD/TRMPLN +tramway/M/TRMW +Tran/M/TRN +trance/MGSD/TRNS +tranche/SM/TRNX +tranquil/PTRY/TRNKL +tranquility/S/TRNKLT +tranquilize/JGZDSR/TRNKLS +tranquilized/U/TRNKLST +tranquilizer/M/TRNKLS +tranquilizes/A/TRNKLSS +tranquilizing/YM/TRNKLSN +tranquillize/GRSDZ/TRNKLS +tranquillizer/M/TRNKLS +tranquilness/M/TRNKLNS +trans/I/TRNS +transact/GSD/TRNSKT +transaction/MS/TRNSKXN +transactional//TRNSKXNL +transactor/SM/TRNSKT +transalpine//TRNSLPN +transaminase//TRNSMNS +transatlantic//TRNSTLNTK +Transcaucasia/M/TRNSKKX +transceiver/SM/TRNSF +transcend/SDG/TRNSNT +transcendence/MS/TRNSNTNS +transcendent/Y/TRNSNTNT +transcendental/YS/TRNSNTNTL +transcendentalism/SM/TRNSNTNTLSM +transcendentalist/SM/TRNSNTNTLST +transconductance//TRNSKNTKTNS +transcontinental//TRNSKNTNNTL +transcribe/DSRGZ/TRNSKRB +transcriber/M/TRNSKRB +transcript/SM/TRNSKRPT +transcription/SM/TRNSKRPXN +transcultural//TRNSKLTRL +transducer/SM/TRNSTS +transduction/M/TRNSTKXN +transect/DSG/TRNSKT +transept/SM/TRNSPT +transfer/BSMD/TRNSF +transferability/M/TRNSFRBLT +transferal/MS/TRNSFRL +transferee/M/TRNSFR +transference/SM/TRNSFRNS +transferor/MS/TRNSFR +transferral/SM/TRNSFRL +transferred//TRNSFRT +transferrer/SM/TRNSFR +transferring//TRNSFRN +transfiguration/SM/TRNSFKRXN +transfigure/SDG/TRNSFKR +transfinite/Y/TRNSFNT +transfix/SDG/TRNSFKS +transform/DRZBSG/TRNSFM +transformation/MS/TRNSFMXN +transformational//TRNSFMXNL +transformed/U/TRNSFMT +transformer/M/TRNSFM +transfuse/XSDGNB/TRNSFS +transfusion/M/TRNSFXN +transgress/VGSD/TRNSKRS +transgression/SM/TRNSKRXN +transgressor/S/TRNSKRS +transience/SM/TRNSNS +transiency/S/TRNSNS +transient/YS/TRNSNT +transistor/SM/TRNSST +transistorize/GDS/TRNSSTRS +transit/SGVMD/TRNST +Transite/M/TRNST +transition/MDGS/TRNSXN +transitional/Y/TRNSXNL +transitive/PIY/TRNSTF +transitiveness/IM/TRNSTFNS +transitivenesses//TRNSTFNSS +transitivity/MS/TRNSTFT +transitoriness/M/TRNSTRNS +transitory/P/TRNSTR +transl//TRNSL +translatability/M/TRNSLTBLT +translatable/U/TRNSLTBL +translate/VGNXSDB/TRNSLT +translated/AU/TRNSLTT +translation/M/TRNSLXN +translational//TRNSLXNL +translator/SM/TRNSLT +transliterate/XNGSD/TRNSLTRT +translucence/SM/TRNSLSNS +translucency/MS/TRNSLSNS +translucent/Y/TRNSLSNT +transmigrate/XNGSD/TRNSMKRT +transmissible//TRNSMSBL +transmission/MSA/TRNSMXN +transmissive//TRNSMSF +transmit/AS/TRNSMT +transmittable//TRNSMTBL +transmittal/SM/TRNSMTL +transmittance/MS/TRNSMTNS +transmitted/A/TRNSMTT +transmitter/SM/TRNSMT +transmitting/A/TRNSMTN +transmogrification/M/TRNSMKRFKXN +transmogrify/GXDSN/TRNSMKRF +transmutation/SM/TRNSMTXN +transmute/GBSD/TRNSMT +transnational/S/TRNSNXNL +transoceanic//TRNSSNK +transom/SM/TRNSM +transonic//TRNSNK +transpacific//TRNSPSFK +transparency/MS/TRNSPRNS +transparent/YP/TRNSPRNT +transparentness/M/TRNSPRNTNS +transpiration/SM/TRNSPRXN +transpire/GSD/TRNSPR +transplant/GRDBS/TRNSPLNT +transplantation/S/TRNSPLNTXN +transpolar//TRNSPL +transponder/MS/TRNSPNT +transport/BGZSDR/TRNSPT +transportability//TRNSPTBLT +transportable/U/TRNSPTBL +transportation/SM/TRNSPTXN +transpose/BGSD/TRNSPS +transposed/U/TRNSPST +transposition/SM/TRNSPSXN +Transputer/M/TRNSPT +transsexual/SM/TRNSKSL +transsexualism/MS/TRNSKSLSM +transship/LS/TRNXP +transshipment/SM/TRNXPMNT +transshipped//TRNXPT +transshipping//TRNXPN +transubstantiation/MS/TRNSBSTNXXN +Transvaal/M/TRNSFL +transversal/YM/TRNSFSL +transverse/GYDS/TRNSFS +transvestism/SM/TRNSFSTSM +transvestite/SM/TRNSFSTT +transvestitism//TRNSFSTTSM +Transylvania/M/TRNSLFN +trap/MS/TRP +trapdoor/S/TRPT +trapeze/DSGM/TRPS +trapezium/MS/TRPSM +trapezoid/MS/TRPST +trapezoidal//TRPSTL +trappable/U/TRPBL +trapped//TRPT +trapper/SM/TRP +trapping/S/TRPN +Trappist/MS/TRPST +trapshooting/SM/TRPXTN +trash/SRDMG/TRX +trashcan/SM/TRXKN +trashiness/SM/TRXNS +trashy/TRP/TRX +Trastevere/M/TRSTFR +trauma/MS/TRM +traumatic//TRMTK +traumatically//TRMTKL +traumatize/SDG/TRMTS +travail/SMDG/TRFL +travel/SDRGZJ/TRFL +traveled/U/TRFLT +traveler/M/TRFL +travelog's//TRFLKS +travelogue/S/TRFLK +Traver/MS/TRF +traversal/SM/TRFSL +traverse/GBDRS/TRFS +traverser/M/TRFS +travertine/M/TRFTN +travesty/SDGM/TRFST +Travis/M/TRFS +Travus/M/TRFS +trawl/RDMSZG/TRL +trawler/M/TRL +tray/SM/TR +treacherous/PY/TRXRS +treacherousness/SM/TRXRSNS +treachery/SM/TRXR +treacle/DSGM/TRKL +treacly//TRKL +tread/SAGD/TRT +treader/M/TRT +treadle/GDSM/TRTL +treadmill/MS/TRTML +Treadwell/M/TRTWL +treas//TRS +treason/BMS/TRSN +treasonous//TRSNS +treasure/DRSZMG/TRSR +treasurer/M/TRSR +treasurership//TRSRXP +treasury/SM/TRSR +Treasury/SM/TRSR +treat/SAGDR/TRT +treatable//TRTBL +treated/U/TRTT +treater/S/TRT +treatise/MS/TRTS +treatment/MS/TRTMNT +treat's//TRTS +treaty/MS/TRT +treble/SDG/TRBL +Treblinka/M/TRBLNK +tree/MDS/TR +treeing//TRN +treeless//TRLS +treelike//TRLK +treetop/SM/TRTP +trefoil/SM/TRFL +Trefor/M/TRF +trek/MS/TRK +trekked//TRKT +trekker/MS/TRK +Trekkie/M/TRK +trekking//TRKN +trellis/GDSM/TRLS +Tremain/M/TRMN +Tremaine/M/TRMN +trematode/SM/TRMTT +Tremayne/M/TRMN +tremble/JDRSG/TRMBL +trembler/M/TRMBL +trembles/M/TRMBLS +trembly//TRMBL +tremendous/YP/TRMNTS +tremendousness/M/TRMNTSNS +tremolo/MS/TRML +tremor/MS/TRM +tremulous/YP/TRMLS +tremulousness/SM/TRMLSNS +trench/GASD/TRNX +trenchancy/MS/TRNXNS +trenchant/Y/TRNXNT +trencher/SM/TRNX +trencherman/M/TRNXMN +trenchermen//TRNXMN +trench's//TRNXS +trend/SDMG/TRNT +trendily//TRNTL +trendiness/S/TRNTNS +trendy/PTRS/TRNT +Trenna/M/TRN +Trent/M/TRNT +Trenton/M/TRNTN +trepanned//TRPNT +trepidation/MS/TRPTXN +Tresa/M/TRS +Trescha/M/TRSX +trespass/ZRSDG/TRSPS +trespasser/M/TRSPS +tress/MSDG/TRS +Tressa/M/TRS +tressed/E/TRST +tresses/E/TRSS +tressing/E/TRSN +trestle/MS/TRSTL +Trev/RM/TRF +Trevar/M/TRF +Trevelyan/M/TRFLYN +Trever/M/TRF +Trevino/M/TRFN +Trevor/M/TRF +Trey/M/TR +trey/MS/TR +triable/P/TRBL +triableness/M/TRBLNS +triad/MS/TRT +triadic//TRTK +triage/SDMG/TRK +trial/ASM/TRL +trialization//TRLSXN +trialled//TRLT +trialling//TRLN +triamcinolone//TRMSNLN +triangle/SM/TRNKL +triangulable//TRNKLBL +triangular/Y/TRNKL +triangularization/S/TRNKLRSXN +triangulate/YGNXSD/TRNKLT +triangulation/M/TRNKLXN +Triangulum/M/TRNKLM +Trianon/M/TRNN +Triassic//TRSK +triathlon/S/TR@LN +triatomic//TRTMK +tribal/Y/TRBL +tribalism/MS/TRBLSM +tribe/MS/TRB +tribesman/M/TRBSMN +tribesmen//TRBSMN +tribeswoman//TRBSWMN +tribeswomen//TRBSWMN +tribulate/NX/TRBLT +tribulation/M/TRBLXN +tribunal/MS/TRBNL +tribune/SM/TRBN +tributary/MS/TRBTR +tribute/EGSF/TRBT +tribute's//TRBTS +trice/GSDM/TRS +tricentennial/S/TRSNTNL +triceps/SM/TRSPS +triceratops/M/TRSRTPS +trichina/M/TRXN +trichinae//TRXN +trichinoses//TRXNSS +trichinosis/M/TRXNSS +trichloroacetic//TRXLRSTK +trichloroethane//TRXLR@N +trichotomy/M/TRXTM +trichromatic//TRXRMTK +Tricia/M/TRX +trick/GMSRD/TRK +trickery/MS/TRKR +trickily//TRKL +trickiness/SM/TRKNS +trickle/DSG/TRKL +trickster/MS/TRKST +tricky/RPT/TRK +tricolor/SMD/TRKL +tricycle/SDMG/TRSKL +trident/SM/TRTNT +tridiagonal//TRTKNL +tried/UA/TRT +triennial/SY/TRNL +trier/AS/TR +trier's//TRS +tries/A/TRS +Trieste/M/TRST +triffid/S/TRFT +trifle/MZGJSRD/TRFL +trifler/M/TRFL +trifluoride/M/TRFLRT +trifocals//TRFKLS +trig/S/TRK +trigged//TRKT +trigger/GSDM/TRK +triggest//TRKST +trigging//TRKN +triglyceride/MS/TRKLSRT +trigonal/Y/TRKNL +trigonometric//TRKNMTRK +trigonometrical//TRKNMTRKL +trigonometry/MS/TRKNMTR +trigram/S/TRKRM +trihedral//TRHTRL +trike/GMSD/TRK +trilateral/S/TRLTRL +trilby/SM/TRLB +trilingual//TRLNL +trill/RDMGS/TRL +trillion/SMH/TRLN +trillionth/M/TRLN@ +trillionths//TRLN@S +trillium/SM/TRLM +trilobite/MS/TRLBT +trilogy/MS/TRLK +trim/PSYR/TRM +trimaran/MS/TRMRN +Trimble/M/TRMBL +trimer/M/TRM +trimester/MS/TRMST +trimmed/U/TRMT +trimmer/MS/TRM +trimmest//TRMST +trimming/MS/TRMN +trimness/S/TRMNS +trimodal//TRMTL +trimonthly//TRMN@L +Trimurti/M/TRMT +Trina/M/TRN +Trinidad/M/TRNTT +trinitarian/S/TRNTRN +trinitrotoluene/SM/TRNTRTLN +trinity/MS/TRNT +Trinity/MS/TRNT +trinket/MRDSG/TRNKT +trinketer/M/TRNKT +trio/SM/TR +triode/MS/TRT +trioxide/M/TRKST +Trip/M/TRP +trip/SMY/TRP +tripartite/N/TRPTT +tripartition/M/TRPTXN +tripe/MS/TRP +triphenylarsine//TRFNLSN +triphenylphosphine//TRFNLFSFN +triphenylstibine//TRFNLSTBN +triphosphopyridine//TRFSFPRTN +triple/GSD/TRPL +triplet/SM/TRPLT +triplex/S/TRPLKS +triplicate/SDG/TRPLKT +triplication/M/TRPLKXN +triply/GDSN/TRPL +tripod/MS/TRPT +tripodal//TRPTL +tripoli/M/TRPL +Tripoli/M/TRPL +tripolyphosphate//TRPLFSFT +tripos/SM/TRPS +Tripp/M/TRP +Trippe/M/TRP +tripped//TRPT +tripper/MS/TRP +tripping/Y/TRPN +triptych/M/TRPTX +triptychs//TRPTXS +tripwire/MS/TRPWR +trireme/SM/TRRM +Tris//TRS +trisect/GSD/TRSKT +trisection/S/TRSKXN +trisector//TRSKT +Trish/M/TRX +Trisha/M/TRX +trisodium//TRSTM +Trista/M/TRST +Tristam/M/TRSTM +Tristan/M/TRSTN +tristate//TRSTT +trisyllable/M/TRSLBL +trite/SRPTY/TRT +tritely/F/TRTL +triteness/SF/TRTNS +tritium/MS/TRTM +triton/M/TRTN +Triton/M/TRTN +triumph/GMD/TRMF +triumphal//TRMFL +triumphalism//TRMFLSM +triumphant/Y/TRMFNT +triumphs//TRMFS +triumvir/MS/TRMF +triumvirate/MS/TRMFRT +triune//TRN +trivalent//TRFLNT +trivet/SM/TRFT +trivia//TRF +trivial/Y/TRFL +triviality/MS/TRFLT +trivialization/MS/TRFLSXN +trivialize/DSG/TRFLS +trivium/M/TRFM +Trix/M/TRKS +Trixi/M/TRKS +Trixie/M/TRKS +Trixy/M/TRKS +Trobriand/M/TRBRNT +trochaic/S/TRXK +trochee/SM/TRX +trod/AU/TRT +trodden/UA/TRTN +trodes//TRTS +troff/MR/TRF +troglodyte/MS/TRKLTT +troika/SM/TRK +Trojan/MS/TRKN +troll/DMSG/TRL +trolled/F/TRLT +trolley/SGMD/TRL +trolleybus/S/TRLBS +trolling/F/TRLN +trollish//TRLX +trollop/GSMD/TRLP +Trollope/M/TRLP +trolly's//TRLS +trombone/MS/TRMBN +trombonist/SM/TRMBNST +tromp/DSG/TRMP +Trondheim/M/TRNTHM +troop/SRDMZG/TRP +trooper/M/TRP +troopship/SM/TRPXP +trope/SM/TRP +Tropez/M/TRPS +trophic//TRFK +trophy/MGDS/TRF +tropic/MS/TRPK +tropical/SY/TRPKL +tropism/SM/TRPSM +tropocollagen//TRPKLKN +troposphere/MS/TRPSFR +tropospheric//TRPSFRK +trot/S/TRT +troth/GDM/TR@ +troths//TR@S +Trotsky/M/TRTSK +trotted//TRTT +trotter/SM/TRT +trotting//TRTN +troubadour/SM/TRBT +trouble/GDRSM/TRBL +troubled/U/TRBLT +troublemaker/MS/TRBLMK +troubler/M/TRBL +troubleshoot/SRDZG/TRBLXT +troubleshooter/M/TRBLXT +troubleshot//TRBLXT +troublesome/YP/TRBLSM +troublesomeness/M/TRBLSMNS +trough/M/TR +troughs//TRS +trounce/GZDRS/TRNS +trouncer/M/TRNS +troupe/MZGSRD/TRP +trouper/M/TRP +trouser/DMGS/TRS +trousseau/M/TRS +trousseaux//TRSKS +trout/SM/TRT +Troutman/M/TRTMN +trove/SM/TRF +trow/SGD/TR +trowel/SMDRGZ/TRWL +troweler/M/TRWL +Troy/M/TR +troy/S/TR +Troyes//TRYS +Trstram/M/TRSTRM +truancy/MS/TRNS +truant/SMDG/TRNT +truce/SDGM/TRS +truck/SZGMRDJ/TRK +Truckee/M/TRK +trucker/M/TRK +trucking/M/TRKN +truckle/GDS/TRKL +truckload/MS/TRKLT +truculence/SM/TRKLNS +truculent/Y/TRKLNT +Truda/M/TRT +Trude/M/TRT +Trudeau/M/TRT +Trudey/M/TRT +trudge/SRDG/TRK +Trudi/M/TRT +Trudie/M/TRT +Trudy/M/TRT +true/DRSPTG/TR +truelove/MS/TRLF +Trueman/M/TRMN +trueness/M/TRNS +truer/U/TR +truest/U/TRST +truffle/MS/TRFL +truism/SM/TRSM +Trujillo/M/TRKL +Trula/M/TRL +truly/U/TRL +Trumaine/M/TRMN +Truman/M/TRMN +Trumann/M/TRMN +Trumbull/M/TRMBL +trump/DMSG/TRMP +Trump/M/TRMP +trumpery/SM/TRMPR +trumpet/MDRZGS/TRMPT +trumpeter/M/TRMPT +truncate/NGDSX/TRNKT +truncation/M/TRNKXN +truncheon/MDSG/TRNXN +trundle/GZDSR/TRNTL +trundler/M/TRNTL +trunk/GSMD/TRNK +trunnion/SM/TRNN +truss/SRDG/TRS +trusser/M/TRS +trussing/M/TRSN +trust/RDMSG/TRST +trusted/EU/TRSTT +trustee/MDS/TRST +trusteeing//TRSTN +trusteeship/SM/TRSTXP +truster/M/TRST +trustful/EY/TRSTFL +trustfulness/SM/TRSTFLNS +trustiness/M/TRSTNS +trusting/Y/TRSTN +trusts/E/TRSTS +trustworthier//TRSTW@ +trustworthiest//TRSTW@ST +trustworthiness/MS/TRSTW@NS +trustworthy/UP/TRSTW@ +trusty/PTMSR/TRST +Truth//TR@ +truth/UM/TR@ +truthful/UYP/TR@FL +truthfulness/US/TR@FLNS +truths/U/TR@S +TRW//TR +try/JGDRSZ/TR +trying/Y/TRYN +tryout/MS/TRYT +trypsin/M/TRPSN +tryst/GDMS/TRST +ts//TS +T's//TS +tsarevich//TSRFX +tsarina's//TSRNS +tsarism/M/TSRSM +tsarist//TSRST +tsetse/S/TSTS +Tsimshian/M/TSMXN +Tsiolkovsky/M/TXLKFSK +Tsitsihar/M/TSTSH +tsp//TSP +tsunami/MS/TSNM +Tsunematsu/M/TSNMTS +Tswana/M/TSWN +TTL//TL +tty/M/T +ttys//TS +Tuamotu/M/TMT +Tuareg/M/TRK +tub/JMDRSZG/TB +tuba/SM/TB +tubae//TB +tubal//TBL +tubbed//TBT +tubbing//TBN +tubby/TR/TB +tube/SM/TB +tubeless//TBLS +tuber/M/TB +tubercle/MS/TBKL +tubercular/S/TBKL +tuberculin/MS/TBKLN +tuberculoses//TBKLSS +tuberculosis/M/TBKLSS +tuberculous//TBKLS +tuberose/SM/TBRS +tuberous//TBRS +tubing/M/TBN +Tubman/M/TBMN +tubular/Y/TBL +tubule/SM/TBL +tuck/GZSRD/TK +Tuck/RM/TK +tucker/GDM/TK +Tucker/M/TK +Tuckie/M/TK +Tucky/M/TK +Tucson/M/TKSN +Tucuman/M/TKMN +Tudor/MS/TT +Tue/S/T +Tuesday/SM/TST +tuft/GZSMRD/TFT +tufter/M/TFT +tufting/M/TFTN +tug/S/TK +tugboat/MS/TKBT +tugged//TKT +tugging//TKN +tuition/ISM/TXN +Tulane/M/TLN +tularemia/S/TLRM +tulip/SM/TLP +Tull/M/TL +tulle/SM/TL +Tulley/M/TL +Tully/M/TL +Tulsa/M/TLS +tum//TM +tumble/ZGRSDJ/TMBL +tumbledown//TMBLTN +tumbler/M/TMBL +tumbleweed/MS/TMBLWT +tumbrel/SM/TMBRL +tumescence/S/TMSNS +tumescent//TMSNT +tumid/Y/TMT +tumidity/MS/TMTT +tummy/SM/TM +tumor/MDS/TM +tumorous//TMRS +Tums/M/TMS +tumult/SGMD/TMLT +tumultuous/PY/TMLTS +tumultuousness/M/TMLTSNS +tumulus/M/TMLS +tun/DRJZGBS/TN +tuna/SM/TN +tunable/P/TNBL +tunableness/M/TNBLNS +tundra/SM/TNTR +tune/CSDG/TN +tuneful/YP/TNFL +tunefulness/MS/TNFLNS +tuneless/Y/TNLS +tuner/M/TN +tune's//TNS +tuneup/S/TNP +tung//TNK +tungstate/M/TNKSTT +tungsten/SM/TNKSTN +Tungus/M/TNKS +Tunguska/M/TNKSK +tunic/MS/TNK +tuning/A/TNN +tuning's//TNNS +Tunis/M/TNS +Tunisia/M/TNX +Tunisian/S/TNXN +tunned//TNT +tunnel/MRDSJGZ/TNL +tunneler/M/TNL +tunning//TNN +tunny/SM/TN +tupelo/M/TPL +Tupi/M/TP +tuple/SM/TPL +tuppence/M/TPNS +Tupperware//TPWR +Tupungato/M/TPNKT +turban/SDM/TBN +turbid//TBT +turbidity/SM/TBTT +turbinate/SD/TBNT +turbine/SM/TBN +turbo/SM/TB +turbocharged//TBXKT +turbocharger/SM/TBXK +turbofan/MS/TBFN +turbojet/MS/TBKT +turboprop/MS/TBPRP +turbot/MS/TBT +turbulence/SM/TBLNS +turbulent/Y/TBLNT +turd/MS/TT +tureen/MS/TRN +turf/DGSM/TF +turfy/RT/TF +Turgenev/M/TKNF +turgid/PY/TKT +turgidity/SM/TKTT +turgidness/M/TKTNS +Turin/M/TRN +Turing/M/TRN +turk/S/TK +Turk/SM/TK +Turkestan/M/TKSTN +Turkey/M/TK +turkey/SM/TK +Turkic/SM/TKK +Turkish//TKX +Turkmenistan/M/TKMNSTN +turmeric/MS/TMRK +turmoil/SDMG/TML +turn/AZGRDBS/TN +turnabout/SM/TNBT +turnaround/MS/TNRNT +turnbuckle/SM/TNBKL +turncoat/SM/TNKT +turned/U/TNT +turner/M/TN +Turner/M/TN +turning/MS/TNN +turnip/SMDG/TNP +turnkey/MS/TNK +turnoff/MS/TNF +turnout/MS/TNT +turnover/SM/TNF +turnpike/MS/TNPK +turnround/MS/TNRNT +turnstile/SM/TNSTL +turnstone/M/TNSTN +turntable/SM/TNTBL +turpentine/GMSD/TPNTN +Turpin/M/TPN +turpitude/SM/TPTT +turquoise/SM/TKS +turret/SMD/TRT +turtle/SDMG/TTL +turtleback/MS/TTLBK +turtledove/MS/TTLTF +turtleneck/SDM/TTLNK +turves's//TFSS +turvy//TF +Tuscaloosa/M/TSKLS +Tuscan//TSKN +Tuscany/M/TSKN +Tuscarora/M/TSKRR +Tuscon/M/TSKN +tush/SDG/TX +tusk/GZRDMS/TSK +Tuskegee/M/TSKK +tusker/M/TSK +tussle/GSD/TSL +tussock/MS/TSK +tussocky//TSK +Tussuad/M/TST +Tut/M/TT +tut/S/TT +Tutankhamen/M/TTNKHMN +tutelage/MS/TTLK +tutelary/S/TTLR +tutor/MDGS/TT +tutored/U/TTRT +tutorial/MS/TTRL +tutorship/S/TTXP +Tutsi//TTS +tutted//TTT +tutti/S/TT +tutting//TTN +Tuttle/M/TTL +tutu/SM/TT +Tuvalu//TFL +tux/S/TKS +tuxedo/SDM/TKST +TV/M/TF +TVA//TF +TVs//TFS +TWA/M/TW +twaddle/GZMRSD/TWTL +twaddler/M/TWTL +Twain/M/TWN +twain/S/TWN +twang/MDSG/TWNK +twangy/TR/TWNK +twas//TWS +tweak/SGRD/TWK +twee/DP/TW +Tweed/M/TWT +tweed/SM/TWT +tweediness/M/TWTNS +Tweedledee/M/TWTLT +Tweedledum/M/TWTLTM +tweedy/PTR/TWT +tween//TWN +tweet/ZSGRD/TWT +tweeter/M/TWT +tweeze/ZGRD/TWS +tweezer/M/TWS +twelfth//TWLF@ +twelfths//TWLF@S +twelve/MS/TWLF +twelvemonth/M/TWLFMN@ +twelvemonths//TWLFMN@S +twentieths//TWNT@S +twenty/MSH/TWNT +twerp/MS/TWP +twice/R/TWS +twiddle/GRSD/TWTL +twiddler/M/TWTL +twiddly/RT/TWTL +twig/SM/TWK +twigged//TWKT +twigging//TWKN +twiggy/RT/TWK +Twila/M/TWL +twilight/MS/TWLT +twilit//TWLT +twill/SGD/TWL +twin/RDMGZS/TWN +twine/SM/TWN +twiner/M/TWN +twinge/SDMG/TWN +Twinkie//TWNK +twinkle/RSDG/TWNKL +twinkler/M/TWNKL +twinkling/M/TWNKLN +twinkly//TWNKL +twinned//TWNT +twinning//TWNN +twirl/SZGRD/TWL +twirler/M/TWL +twirling/Y/TWLN +twirly/TR/TWL +twist/SZGRD/TWST +twisted/U/TWSTT +twister/M/TWST +twists/U/TWSTS +twisty//TWST +twit/S/TWT +twitch/GRSD/TWX +twitchy/TR/TWX +twitted//TWTT +twitter/SGRD/TWT +twitterer/M/TWTR +twittery//TWTR +twitting//TWTN +twixt//TWKST +two/MS/TW +twofer/MS/TWF +twofold/S/TWFLT +twopence/SM/TWPNS +twopenny/S/TWPN +twosome/MS/TWSM +twp//TP +Twp//TP +TWX//TKS +Twyla/M/TL +TX//TKS +Ty/M/T +Tybalt/M/TBLT +Tybi/M/TB +Tybie/M/TB +tycoon/MS/TKN +Tye/M/TY +tyeing//TYN +tying/UA/TYN +tyke/SM/TK +Tylenol/M/TLNL +Tyler/M/TL +Tymon/M/TMN +Tymothy/M/TM@ +tympani//TMPN +tympanist/SM/TMPNST +tympanum/SM/TMPNM +Tynan/M/TNN +Tyndale/M/TNTL +Tyndall/M/TNTL +Tyne/M/TN +type/MGDRSJ/TP +typeahead//TPHT +typecast/SG/TPKST +typed/AU/TPT +typedef/S/TPTF +typeface/MS/TPFS +typeless//TPLS +types/A/TPS +typescript/SM/TPSKRPT +typeset/S/TPST +typesetter/MS/TPST +typesetting/SM/TPSTN +typewrite/SRJZG/TPRT +typewriter/M/TPRT +typewriting/M/TPRTN +typewritten//TPRTN +typewrote//TPRT +typhoid/SM/TFT +Typhon/M/TFN +typhoon/SM/TFN +typhus/SM/TFS +typical/U/TPKL +typicality/MS/TPKLT +typically//TPKL +typicalness/M/TPKLNS +typification/M/TPFKXN +typify/SDNXG/TPF +typing/A/TPN +typist/MS/TPST +typo/MS/TP +typographer/SM/TPKRF +typographic//TPKRFK +typographical/Y/TPKRFKL +typography/MS/TPKRF +typological/Y/TPLKKL +typology/MS/TPLK +tyrannic//TRNK +tyrannical/PY/TRNKL +tyrannicalness/M/TRNKLNS +tyrannicide/M/TRNST +tyrannize/ZGJRSD/TRNS +tyrannizer/M/TRNS +tyrannizing/YM/TRNSN +tyrannosaur/MS/TRNS +tyrannosaurus/S/TRNSRS +tyrannous//TRNS +tyranny/MS/TRN +tyrant/MS/TRNT +Tyree/M/TR +tyreo//TR +tyro/SM/TR +Tyrolean/S/TRLN +Tyrol's//TRLS +Tyrone/M/TRN +tyrosine/M/TRSN +Tyrus/M/TRS +Tyson/M/TSN +tzarina's//TSRNS +tzar's//TSS +Tzeltal/M/TSLTL +u//* +U//* +UAR//* +UART//*T +UAW//* +Ubangi/M/*BNK +ubiquitous/YP/*BKTS +ubiquity/S/*BKT +Ucayali/M/*KYL +Uccello/M/*SL +UCLA/M/*KL +Udale/M/*TL +Udall/M/*TL +udder/SM/*T +Udell/M/*TL +Ufa/M/*F +UFO/S/*F +ufologist/S/*FLKST +ufology/MS/*FLK +Uganda/M/*KNT +Ugandan/S/*KNTN +ugh//* +ughs//*S +uglification//*KLFKXN +ugliness/MS/*KLNS +uglis//*KLS +ugly/PTGSRD/*KL +Ugo/M/*K +uh//* +UHF//*F +Uighur//*K +Ujungpandang/M/*KNKPNTNK +UK//*K +ukase/SM/*KS +Ukraine/M/*KRN +Ukrainian/S/*KRNN +ukulele/SM/*KLL +UL//*L +Ula/M/*L +Ulberto/M/*LBT +ulcer/MDGS/*LS +ulcerate/NGVXDS/*LSRT +ulceration/M/*LSRXN +ulcerous//*LSRS +Ulick/M/*LK +Ulises/M/*LSS +Ulla/M/*L +Ullman/M/*LMN +ulna/M/*LN +ulnae//*LN +ulnar//*LN +Ulric/M/*LRK +Ulrica/M/*LRK +Ulrich/M/*LRX +Ulrick/M/*LRK +Ulrika/M/*LRK +Ulrikaumeko/M/*LRKMK +Ulrike/M/*LRK +Ulster/M/*LST +ulster/MS/*LST +ult//*LT +ulterior/Y/*LTR +ultimas//*LTMS +ultimate/DSYPG/*LTMT +ultimateness/M/*LTMTNS +ultimatum/MS/*LTMTM +ultimo//*LTM +ultra/S/*LTR +ultracentrifugally//*LTRSNTRFKL +ultracentrifugation//*LTRSNTRFKXN +ultracentrifuge/M/*LTRSNTRFK +ultraconservative/S/*LTRKNSFTF +ultrafast//*LTRFST +ultrahigh//*LTRH +ultralight/S/*LTRLT +ultramarine/SM/*LTRMRN +ultramodern//*LTRMTN +ultramontane//*LTRMNTN +ultrashort//*LTRXT +ultrasonic/S/*LTRSNK +ultrasonically//*LTRSNKL +ultrasonics/M/*LTRSNKS +ultrasound/SM/*LTRSNT +ultrastructure/M/*LTRSTRKTR +Ultrasuede//*LTRST +ultraviolet/SM/*LTRFLT +Ultrix/M/*LTRKS +ULTRIX/M/*LTRKS +ululate/DSXGN/*LLT +ululation/M/*LLXN +Ulyanovsk/M/*LYNFSK +Ulysses/M/*LSS +um//*M +umbel/MS/*MBL +umber/GMDS/*MB +Umberto/M/*MBT +umbilical/S/*MBLKL +umbilici//*MBLS +umbilicus/M/*MBLKS +umbra/MS/*MBR +umbrage/MGSD/*MBRK +umbrageous//*MBRKS +umbrella/GDMS/*MBRL +Umbriel/M/*MBRL +Umeko/M/*MK +umiak/MS/*MK +umlaut/GMDS/*MLT +ump/MDSG/*MP +umpire/MGSD/*MPR +umpteen/H/*MPTN +UN//*N +Una/M/*N +unabated/Y/*NBTT +unabridged/S/*NBRKT +unacceptability//*NSPTBLT +unacceptable//*NSPTBL +unaccepted//*NSPTT +unaccommodating//*NKMTTN +unaccountability//*NKNTBLT +unaccustomed/Y/*NKSTMT +unadapted//*NTPTT +unadulterated/Y/*NTLTRTT +unadventurous//*NTFNTRS +unalienability//*NLNBLT +unalterable/P/*NLTRBL +unalterableness/M/*NLTRBLNS +unalterably//*NLTRBL +unambiguity//*NMBKT +unambiguous//*NMBKS +unambitious//*NMBXS +unamused//*NMST +unanimity/SM/*NNMT +unanimous/Y/*NNMS +unanticipated/Y/*NNTSPTT +unapologetic//*NPLKTK +unapologizing/M/*NPLKSN +unappeasable//*NPSBL +unappeasably//*NPSBL +unappreciative//*NPRXTF +unary//*NR +unassailable/P/*NSLBL +unassailableness/M/*NSLBLNS +unassertive//*NSTF +unassuming/PY/*NSMN +unassumingness/M/*NSMNNS +unauthorized/PY/*N@RST +unavailing/PY/*NFLN +unaware/SPY/*NWR +unbalanced/P/*NBLNST +unbar//*NB +unbarring//*NBRN +unbecoming/P/*NBKMN +unbeknown//*NBKNN +unbelieving/Y/*NBLFN +unbiased/P/*NBST +unbid//*NBT +unbind/G/*NBNT +unblessed//*NBLST +unblinking/Y/*NBLNKN +unbodied//*NBTT +unbolt/G/*NBLT +unbreakability//*NBRKBLT +unbred//*NBRT +unbroken//*NBRKN +unbuckle//*NBKL +unbudging/Y/*NBKNK +unburnt//*NBNT +uncap//*NKP +uncapping//*NKPN +uncatalogued//*NKTLKT +uncauterized/MS/*NKTRST +unceasing/Y/*NSSN +uncelebrated//*NSLBRTT +uncertain/P/*NSTN +unchallengeable//*NXLNKBL +unchanging/PY/*NXNKN +unchangingness/M/*NXNKNNS +uncharacteristic//*NXRKTRSTK +uncharismatic//*NXRSMTK +unchastity//*NXSTT +unchristian//*NXRSXN +uncial/S/*NXL +uncivilized/Y/*NSFLST +unclassified//*NKLSFT +uncle/MSD/*NKL +unclouded/Y/*NKLTT +uncodable//*NKTBL +uncollected//*NKLKTT +uncolored/PY/*NKLRT +uncoloredness/M/*NKLRTNS +uncombable//*NKMBBL +uncommunicative//*NKMNKTF +uncompetitive//*NKMPTTF +uncomplicated//*NKMPLKTT +uncomprehending/Y/*NKMPRHNTN +uncompromisable//*NKMPRMSBL +unconcern/M/*NKNSN +unconcerned/P/*NKNSNT +unconfirmed//*NKNFMT +unconfused//*NKNFST +unconscionable/P/*NKNSNBL +unconscionableness/M/*NKNSNBLNS +unconscionably//*NKNSNBL +unconstitutional//*NKNSTTXNL +unconsumed//*NKNSMT +uncontentious//*NKNTNXS +uncontrollability//*NKNTRLBLT +unconvertible//*NKNFTBL +uncool//*NKL +uncooperative//*NKPRTF +uncork/G/*NKK +uncouple/G/*NKPL +uncouth/YP/*NK@ +uncouthness/M/*NK@NS +uncreate/V/*NKRT +uncritical//*NKRTKL +uncross/GB/*NKRS +uncrowded//*NKRTT +unction/IM/*NKXN +unctions//*NKXNS +unctuous/PY/*NKTS +unctuousness/MS/*NKTSNS +uncustomary//*NKSTMR +uncut//*NKT +undated/I/*NTTT +undaunted/Y/*NTNTT +undeceive//*NTSF +undecided/S/*NTSTT +undedicated//*NTTKTT +undefinability//*NTFNBLT +undefined/P/*NTFNT +undefinedness/M/*NTFNTNS +undelete//*NTLT +undeliverability//*NTLFRBLT +undeniable/P/*NTNBL +undeniableness/M/*NTNBLNS +undeniably//*NTNBL +undependable//*NTPNTBL +under/Y/*NT +underachieve/SRDGZ/*NTRXF +underachiever/M/*NTRXF +underact/GDS/*NTRKT +underadjusting//*NTRTKSTN +underage/S/*NTRK +underarm/DGS/*NTRM +underbedding//*NTBTN +underbelly/MS/*NTBL +underbid/S/*NTBT +underbidding//*NTBTN +underbracing//*NTBRSN +underbrush/MSDG/*NTBRX +undercarriage/MS/*NTKRK +undercharge/GSD/*NTXK +underclass/S/*NTKLS +underclassman//*NTKLSMN +underclassmen//*NTKLSMN +underclothes//*NTKL@S +underclothing/MS/*NTKL@N +undercoat/JMDGS/*NTKT +undercoating/M/*NTKTN +underconsumption/M/*NTKNSMPXN +undercooked//*NTKKT +undercount/S/*NTKNT +undercover//*NTKF +undercurrent/SM/*NTKRNT +undercut/S/*NTKT +undercutting//*NTKTN +underdeveloped//*NTTFLPT +underdevelopment/MS/*NTTFLPMNT +underdog/MS/*NTTK +underdone//*NTTN +undereducated//*NTRTKTT +underemphasis//*NTRMFSS +underemployed//*NTRMPLYT +underemployment/SM/*NTRMPLMNT +underenumerated//*NTRNMRTT +underenumeration//*NTRNMRXN +underestimate/NGXSD/*NTRSTMT +underexploited//*NTRKSPLTT +underexpose/SDG/*NTRKSPS +underexposure/SM/*NTRKSPSR +underfed//*NTFT +underfeed/SG/*NTFT +underfloor//*NTFL +underflow/GDMS/*NTFL +underfoot//*NTFT +underfund/DG/*NTFNT +underfur/MS/*NTF +undergarment/SM/*NTKMNT +undergirding//*NTKTN +undergo/G/*NTK +undergoes//*NTKS +undergone//*NTKN +undergrad/MS/*NTKRT +undergraduate/MS/*NTKRTT +underground/RMS/*NTKRNT +undergrowth/M/*NTKR@ +undergrowths//*NTKR@S +underhand/D/*NTHNT +underhanded/YP/*NTHNTT +underhandedness/MS/*NTHNTTNS +underheat//*NTHT +underinvestment//*NTRNFSTMNT +underlaid//*NTLT +underlain/S/*NTLN +underlay/GS/*NTL +underlie//*NTL +underline/GSDJ/*NTLN +underling/MS/*NTLN +underlip/SM/*NTLP +underloaded//*NTLTT +underly/GS/*NTL +undermanned//*NTMNT +undermentioned//*NTMNXNT +undermine/SDG/*NTMN +undermost//*NTMST +underneath//*NTN@ +underneaths//*NTN@S +undernourished//*NTNRXT +undernourishment/SM/*NTNRXMNT +underpaid//*NTPT +underpants//*NTPNTS +underpart/MS/*NTPT +underpass/SM/*NTPS +underpay/GSL/*NTP +underpayment/SM/*NTPMNT +underperformed//*NTPFMT +underpin/S/*NTPN +underpinned//*NTPNT +underpinning/MS/*NTPNN +underplay/SGD/*NTPL +underpopulated//*NTPPLTT +underpopulation/M/*NTPPLXN +underpowered//*NTPWRT +underpricing//*NTPRSN +underprivileged//*NTPRFLKT +underproduction/MS/*NTPRTKXN +underrate/GSD/*NTRT +underregistration/M/*NTRKSTRXN +underreported//*NTRPTT +underreporting//*NTRPTN +underrepresentation/M/*NTRPRSNTXN +underrepresented//*NTRPRSNTT +underscore/SDG/*NTSKR +undersea/S/*NTS +undersealed//*NTSLT +undersecretary/SM/*NTSKRTR +undersell/SG/*NTSL +undersexed//*NTSKST +undershirt/SM/*NTXT +undershoot/SG/*NTXT +undershorts//*NTXTS +undershot//*NTXT +underside/SM/*NTST +undersign/SGD/*NTSN +undersigned/M/*NTSN +undersized//*NTSST +undersizes//*NTSSS +undersizing//*NTSSN +underskirt/MS/*NTSKT +undersold//*NTSLT +underspecification//*NTSPSFKXN +underspecified//*NTSPSFT +underspend/G/*NTSPNT +understaffed//*NTSTFT +understand/RGSJB/*NTSTNT +understandability/M/*NTSTNTBLT +understandably//*NTSTNTBL +understanding/YM/*NTSTNTN +understate/GSDL/*NTSTT +understatement/MS/*NTSTTMNT +understocked//*NTSTKT +understood//*NTSTT +understrength//*NTSTRNK@ +understructure/SM/*NTSTRKTR +understudy/GMSD/*NTSTT +undertake/SRGZJ/*NTTK +undertaken//*NTTKN +undertaker/M/*NTTK +undertaking/M/*NTTKN +underthings//*NT@NS +undertone/SM/*NTTN +undertook//*NTTK +undertow/MS/*NTT +underused//*NTRST +underusing//*NTRSN +underutilization/M/*NTRTLSXN +underutilized//*NTRTLST +undervaluation/S/*NTFLXN +undervalue/SDG/*NTFL +underwater/S/*NTWT +underway//*NTW +underwear/M/*NTW +underweight/S/*NTWT +underwent//*NTWNT +underwhelm/DGS/*NTHLM +underwood/M/*NTWT +Underwood/M/*NTWT +underworld/MS/*NTWLT +underwrite/GZSR/*NTRT +underwriter/M/*NTRT +underwritten//*NTRTN +underwrote//*NTRT +undeserving//*NTSFN +undesigned//*NTSN +undeviating/Y/*NTFTN +undialyzed/SM/*NTLST +undiplomatic//*NTPLMTK +undiscerning//*NTSNN +undiscriminating//*NTSKRMNTN +undo/GJ/*NT +undoubted/Y/*NTBTT +undramatic//*NTRMTK +undramatized/SM/*NTRMTST +undress/G/*NTRS +undrinkability//*NTRNKBLT +undrinkable//*NTRNKBL +undroppable//*NTRPBL +undue//*NT +undulant//*NTLNT +undulate/XDSNG/*NTLT +undulation/M/*NTLXN +unearth/YG/*N@ +unearthliness/S/*N@LNS +unearthly/P/*N@L +unease//*NS +uneconomic//*NKNMK +uneducated//*NTKTT +unemployed/S/*NMPLYT +unencroachable//*NNKRXBL +unending/Y/*NNTN +unendurable/P/*NNTRBL +unenergized/MS/*NNKST +unenforced//*NNFST +unenterprising//*NNTPRSN +UNESCO//*NSK +unethical//*N@KL +uneulogized/SM/*NLKST +unexacting//*NKSKTN +unexceptionably//*NKSSPXNBL +unexcited//*NKSSTT +unexpectedness/MS/*NKSPKTTNS +unfading/Y/*NFTN +unfailing/P/*NFLN +unfailingness/M/*NFLNNS +unfamiliar//*NFML +unfashionable//*NFXNBL +unfathomably//*NF@MBL +unfavored//*NFFRT +unfeeling//*NFLN +unfeigned/Y/*NFN +unfelt//*NFLT +unfeminine//*NFMNN +unfertile//*NFTL +unfetchable//*NFXBL +unflagging//*NFLKN +unflappability/S/*NFLPBLT +unflappable//*NFLPBL +unflappably//*NFLPBL +unflinching/Y/*NFLNXN +unfold/LG/*NFLT +unfoldment/M/*NFLTMNT +unforced//*NFST +unforgeable//*NFKBL +unfossilized/MS/*NFSLST +unfraternizing/SM/*NFRTNSN +unfrozen//*NFRSN +unfulfillable//*NFLFLBL +unfunny//*NFN +unfussy//*NFS +ungainliness/MS/*NKNLNS +ungainly/PRT/*NKNL +Ungava/M/*NKF +ungenerous//*NKNRS +ungentle//*NKNTL +unglamorous//*NKLMRS +ungrammaticality//*NKRMTKLT +ungrudging//*NKRKNK +unguent/MS/*NKNT +ungulate/MS/*NKLT +unharmonious//*NHMNS +unharness/G/*NHNS +unhistorical//*NHSTRKL +unholy/TP/*NHL +unhook/DG/*NHK +unhydrolyzed/SM/*NHTRLST +unhygienic//*NHKNK +Unibus/M/*NBS +unicameral//*NKMRL +UNICEF//*NSF +unicellular//*NSLL +Unicode/M/*NKT +unicorn/SM/*NKN +unicycle/MGSD/*NSKL +unicyclist/MS/*NSKLST +unideal//*NTL +unidimensional//*NTMNXNL +unidiomatic//*NTMTK +unidirectional/Y/*NTRKXNL +unidirectionality//*NTRKXNLT +unidolized/MS/*NTLST +unifiable//*NFBL +unification/MA/*NFKXN +unifier/MS/*NF +unifilar//*NFL +uniform/TGSRDYMP/*NFM +uniformity/MS/*NFMT +uniformness/M/*NFMNS +unify/AXDSNG/*NF +unilateral/Y/*NLTRL +unilateralism/M/*NLTRLSM +unilateralist//*NLTRLST +unimodal//*NMTL +unimpeachably//*NMPXBL +unimportance//*NMPTNS +unimportant//*NMPTNT +unimpressive//*NMPRSF +unindustrialized/MS/*NNTSTRLST +uninhibited/YP/*NNHBTT +uninominal//*NNMNL +uninsured//*NNSRT +unintellectual//*NNTLKTL +unintended//*NNTNTT +uninteresting//*NNTRSTN +uninterrupted/YP/*NNTRPTT +uninterruptedness/M/*NNTRPTTNS +unintuitive//*NNTTF +uninviting//*NNFTN +union/AEMS/*NN +Union/MS/*NN +unionism/SM/*NNSM +unionist/SM/*NNST +Unionist/SM/*NNST +unionize//*NNS +UniPlus/M/*NPLS +unipolar//*NPL +uniprocessor/SM/*NPRSS +unique/TYSRP/*NK +uniqueness/S/*NKNS +Uniroyal/M/*NRYL +unisex/S/*NSKS +UniSoft/M/*NSFT +unison/MS/*NSN +Unisys/M/*NSS +unit/VGRD/*NT +unitarian/MS/*NTRN +Unitarian/MS/*NTRN +unitarianism/M/*NTRNSM +Unitarianism/SM/*NTRNSM +unitary//*NTR +unite/AEDSG/*NT +united/Y/*NTT +uniter/M/*NT +unitize/GDS/*NTS +unity/SEM/*NT +univ//*NF +Univac/M/*NFK +univalent/S/*NFLNT +univalve/MS/*NFLF +univariate//*NFRT +universal/YSP/*NFSL +universalism/M/*NFSLSM +universalistic//*NFSLSTK +universality/SM/*NFSLT +universalize/DSRZG/*NFSLS +universalizer/M/*NFSLS +universe/MS/*NFS +university/MS/*NFST +Unix/M/*NKS +UNIX/M/*NKS +unjam//*NKM +unkempt//*NKMPT +unkind/TP/*NKNT +unkink//*NKNK +unknightly//*NKNTL +unknowable/S/*NKNWBL +unknowing//*NKNWN +unlabored//*NLBRT +unlace/G/*NLS +unlearn/G/*NLN +unlikeable//*NLKBL +unlikeliness/S/*NLKLNS +unlimber/G/*NLMB +unlimited//*NLMTT +unlit//*NLT +unliterary//*NLTRR +unloose/G/*NLS +unlucky/TP/*NLK +unmagnetized/MS/*NMKNTST +unmanageably//*NMNKBL +unmannered/Y/*NMNRT +unmask/G/*NMSK +unmeaning//*NMNN +unmeasured//*NMSRT +unmeetable//*NMTBL +unmelodious//*NMLTS +unmemorable//*NMMRBL +unmemorialized/MS/*NMMRLST +unmentionable/S/*NMNXNBL +unmerciful//*NMSFL +unmeritorious//*NMRTRS +unmethodical//*NM@TKL +unmineralized/MS/*NMNRLST +unmissable//*NMSBL +unmistakably//*NMSTKBL +unmitigated/YP/*NMTKTT +unmnemonic//*NMNMNK +unmobilized/SM/*NMBLST +unmoral//*NMRL +unmount/B/*NMNT +unmovable//*NMFBL +unmoving//*NMFN +unnaturalness/M/*NTRLNS +unnavigable//*NFKBL +unnerving/Y/*NFN +unobliging//*NBLKN +unoffensive//*NFNSF +unofficial//*NFXL +unorganized/YP/*NKNST +unorthodox//*N@TKS +unpack/G/*NPK +unpaintable//*NPNTBL +unpalatability//*NPLTBLT +unpalatable//*NPLTBL +unpartizan//*NPTSN +unpatronizing//*NPTRNSN +unpeople//*NPPL +unperceptive//*NPSPTF +unperson//*NPSN +unperturbed/Y/*NPTBT +unphysical//*NFSKL +unpick/G/*NPK +unpicturesque//*NPKTRSK +unpinning//*NPNN +unpleasing//*NPLSN +unploughed//*NPLKT +unpolarized/SM/*NPLRST +unpopular//*NPPL +unpractical//*NPRKTKL +unprecedented/Y/*NPRSTNTT +unpredictable/S/*NPRTKTBL +unpreemphasized//*NPRMFSST +unpremeditated//*NPRMTTTT +unpretentiousness/M/*NPRTNXSNS +unprincipled/P/*NPRNSPLT +unproblematic//*NPRBLMTK +unproductive//*NPRTKTF +unpropitious//*NPRPXS +unprovable//*NPRFBL +unproven//*NPRFN +unprovocative//*NPRFKTF +unpunctual//*NPNKTL +unquestionable//*NKSXNBL +unraisable//*NRSBL +unravellings//*NRFLNS +unread/B/*NRT +unreadability//*NRTBLT +unreal//*NRL +unrealizable//*NRLSBL +unreasoning/Y/*NRSNN +unreceptive//*NRSPTF +unrecordable//*NRKTBL +unreflective//*NRFLKTF +unrelenting/Y/*NRLNTN +unremitting/Y/*NRMTN +unrepeatability//*NRPTBLT +unrepeated//*NRPTT +unrepentant//*NRPNTNT +unreported//*NRPTT +unrepresentative//*NRPRSNTTF +unreproducible//*NRPRTSBL +unrest/G/*NRST +unrestrained/P/*NRSTRNT +unrewarding//*NRWTN +unriddle//*NRTL +unripe/P/*NRP +unromantic//*NRMNTK +unruliness/SM/*NRLNS +unruly/PTR/*NRL +unsaleable//*NSLBL +unsanitary//*NSNTR +unsavored/YP/*NSFRT +unsavoriness/M/*NSFRNS +unseal/GB/*NSL +unsearchable//*NSXBL +unseasonal//*NSSNL +unseeing/Y/*NSN +unseen/S/*NSN +unselfconscious/P/*NSLFKNSS +unselfconsciousness/M/*NSLFKNSSNS +unselfishness/M/*NSLFXNS +unsellable//*NSLBL +unsentimental//*NSNTMNTL +unset//*NST +unsettled/P/*NSTLT +unsettledness/M/*NSTLTNS +unsettling/Y/*NSTLN +unshapely//*NXPL +unshaven//*NXFN +unshorn//*NXN +unsighted//*NSTT +unsightliness/S/*NSTLNS +unskilful//*NSKLFL +unsociability//*NSXBLT +unsociable/P/*NSXBL +unsocial//*NSXL +unsound/PT/*NSNT +unspeakably//*NSPKBL +unspecific//*NSPSFK +unspectacular//*NSPKTKL +unspoilt//*NSPLT +unspoke//*NSPK +unsporting//*NSPTN +unstable/P/*NSTBL +unstigmatized/SM/*NSTKMTST +unstilted//*NSTLTT +unstinting/Y/*NSTNTN +unstopping//*NSTPN +unstrapping//*NSTRPN +unstudied//*NSTTT +unstuffy//*NSTF +unsubdued//*NSBTT +unsubstantial//*NSBSTNXL +unsubtle//*NSBTL +unsuitable//*NSTBL +unsuspecting/Y/*NSSPKTN +unswerving/Y/*NSWFN +unsymmetrical//*NSMTRKL +unsympathetic//*NSMP@TK +unsystematic//*NSSTMTK +unsystematized/Y/*NSSTMTST +untactful//*NTKTFL +untalented//*NTLNTT +untaxing//*NTKSN +unteach/B/*NTX +untellable//*NTLBL +untenable//*NTNBL +unthinking//*N@NKN +until/G/*NTL +untiring/Y/*NTRN +unto//*NT +untouchable/MS/*NTXBL +untoward/P/*NTWT +untowardness/M/*NTWTNS +untraceable//*NTRSBL +untrue//*NTR +untruthfulness/M/*NTR@FLNS +untwist/G/*NTWST +Unukalhai/M/*NKLH +unusualness/M/*NSLNS +unutterable//*NTRBL +unutterably//*NTRBL +unvocalized/MS/*NFKLST +unvulcanized/SM/*NFLKNST +unwaivering//*NWFRN +unwarrantable//*NWRNTBL +unwarrantably//*NWRNTBL +unwashed/PS/*NWXT +unwearable//*NWRBL +unwearied/Y/*NWRT +unwed//*NWT +unwedge//*NWK +unwelcome//*NWLKM +unwell/M/*NWL +unwieldiness/MS/*NWLTNS +unwieldy/TPR/*NWLT +unwind/B/*NWNT +unwomanly//*NWMNL +unworkable/S/*NWKBL +unworried//*NWRT +unwrap//*NRP +unwrapping//*NRPN +unyielding/Y/*NYLTN +unyoke//*NYK +unzip//*NSP +up//*P +Upanishads//*PNXTS +uparrow//*PR +upbeat/SM/*PBT +upbraid/GDRS/*PBRT +upbring/JG/*PBRN +upbringing/M/*PBRNN +UPC//*PK +upchuck/SDG/*PXK +upcome/G/*PKM +upcountry/S/*PKNTR +updatability//*PTTBLT +update/RSDG/*PTT +updater/M/*PTT +Updike/M/*PTK +updraft/SM/*PTRFT +upend/SDG/*PNT +upfield//*PFLT +upfront//*PFRNT +upgrade/DSJG/*PKRT +upgradeable//*PKRTBL +upheaval/MS/*FFL +upheld//*FLT +uphill/S/*FL +uphold/RSGZ/*FLT +upholder/M/*FLT +upholster/ADGS/*FLST +upholsterer/SM/*FLSTR +upholstery/MS/*FLSTR +UPI//*P +upkeep/SM/*PKP +upland/MRS/*PLNT +uplander/M/*PLNT +uplift/SJDRG/*PLFT +uplifter/M/*PLFT +upload/GSD/*PLT +upmarket//*PMKT +upon//*PN +upped//*PT +upper/S/*P +uppercase/GSD/*PKS +upperclassman/M/*PKLSMN +upperclassmen//*PKLSMN +uppercut/S/*PKT +uppercutting//*PKTN +uppermost//*PMST +upping//*PN +uppish//*PX +uppity//*PT +upraise/GDS/*PRS +uprated//*PRTT +uprating//*PRTN +uprear/DSG/*PR +upright/DYGSP/*PRT +uprightness/S/*PRTNS +uprise/RGJ/*PRS +uprising/M/*PRSN +upriver/S/*PRF +uproar/MS/*PR +uproarious/PY/*PRRS +uproariousness/M/*PRRSNS +uproot/DRGS/*PRT +uprooter/M/*PRT +ups//*PS +UPS//*PS +upscale/GDS/*PSKL +upset/S/*PST +upsetting/MS/*PSTN +upshot/SM/*PXT +upside/MS/*PST +upsilon/MS/*PSLN +upslope//*PSLP +upstage/DSRG/*PSTK +upstairs//*PSTS +upstanding/P/*PSTNTN +upstandingness/M/*PSTNTNNS +upstart/MDGS/*PSTT +upstate/SR/*PSTT +upstream/DSG/*PSTRM +upstroke/MS/*PSTRK +upsurge/DSG/*PSK +upswing/GMS/*PSWN +upswung//*PSWNK +uptake/SM/*PTK +upthrust/GMS/*P@RST +uptight//*PTT +uptime//*PTM +Upton/M/*PTN +uptown/RS/*PTN +uptrend/M/*PTRNT +upturn/GDS/*PTN +upward/SYP/*PWT +upwardness/M/*PWTNS +upwelling//*PWLN +upwind/S/*PWNT +Ur/M/* +uracil/MS/*RSL +Ural/MS/*RL +Urania/M/*RN +uranium/MS/*RNM +Uranus/M/*RNS +uranyl/M/*RNL +Urbain/M/*BN +Urban/M/*BN +urban/RT/*BN +Urbana/M/*BN +urbane/Y/*BN +urbanism/M/*BNSM +urbanite/SM/*BNT +urbanity/SM/*BNT +urbanization/MS/*BNSXN +urbanize/DSG/*BNS +Urbano/M/*BN +urbanologist/S/*BNLKST +urbanology/S/*BNLK +Urbanus/M/*BNS +urchin/SM/*XN +Urdu/M/*T +urea/SM/*R +uremia/MS/*RM +uremic//*RMK +ureter/MS/*RT +urethane/MS/*R@N +urethra/M/*R@R +urethrae//*R@R +urethral//*R@RL +urethritis/M/*R@RTS +Urey/M/*R +urge/GDRSJ/*K +urgency/SM/*KNS +urgent/Y/*KNT +urger/M/*K +Uri/SM/*R +Uriah/M/*R +uric//*RK +Uriel/M/*RL +urinal/MS/*RNL +urinalyses//*RNLSS +urinalysis/M/*RNLSS +urinary/MS/*RNR +urinate/XDSNG/*RNT +urination/M/*RNXN +urine/MS/*RN +URL//*L +urn/MDGS/*N +urning/M/*NN +urogenital//*RKNTL +urological//*RLKKL +urologist/S/*RLKST +urology/MS/*RLK +Urquhart/M/*KHT +Ursa/M/*S +Ursala/M/*SL +ursine//*SN +Ursola/M/*SL +Urson/M/*SN +Ursula/M/*SL +Ursulina/M/*SLN +Ursuline/M/*SLN +urticaria/MS/*TKR +Uruguay/M/*RK +Uruguayan/S/*RKYN +Urumqi//*RMK +US//*S +us/DRSBZG/*S +USA//*S +usability/S/*SBLT +usable/U/*SBL +usably/U/*SBL +USAF//*SF +usage/SM/*SK +USART//*ST +USC/M/*SK +USCG//*SKK +USDA//*ST +use/ESDAG/*S +used/U/*ST +useful/YP/*SFL +usefulness/SM/*SFLNS +useless/PY/*SLS +uselessness/MS/*SLSNS +Usenet/M/*SNT +Usenix/M/*SNKS +user/M/*S +USG/M/*SK +usher/SGMD/*X +usherette/SM/*XRT +USIA//*X +USMC//*SMK +USN//*SN +USO//*S +USP//*SP +USPS//*SPS +USS//*S +USSR//*SR +Ustinov/M/*STNF +usu//*S +usual/UPY/*SL +usuals//*SLS +usurer/SM/*SR +usurious/PY/*SRS +usuriousness/M/*SRSNS +usurp/RDZSG/*SP +usurpation/MS/*SPXN +usurper/M/*SP +usury/SM/*SR +UT//*T +Uta/M/*T +Utah/M/*T +Utahan/SM/*THN +Ute/M/*T +utensil/SM/*TNSL +uteri//*TR +uterine//*TRN +uterus/M/*TRS +Utica/M/*TK +utile/I/*TL +utilitarian/S/*TLTRN +utilitarianism/MS/*TLTRNSM +utility/MS/*TLT +utilization/MS/*TLSXN +utilization's/A/*TLSXNS +utilize/GZDRS/*TLS +utilizer/M/*TLS +utilizes/A/*TLSS +utmost/S/*TMST +Utopia/MS/*TP +utopia/S/*TP +Utopian/S/*TPN +utopianism/M/*TPNSM +utopian's//*TPNS +Utrecht/M/*TRXT +Utrillo/M/*TRL +utter/TRDYGS/*T +utterance/MS/*TRNS +uttered/U/*TRT +utterer/M/*TR +uttermost/S/*TMST +uucp/M/*KP +UV//*F +uvula/MS/*FL +uvular/S/*FL +uxorious//*KSRS +Uzbek/M/*SBK +Uzbekistan//*SBKSTN +Uzi/M/*S +V//W +v/ASV/W +VA//W +Va/M/W +vacancy/MS/WKNS +vacant/PY/WKNT +vacantness/M/WKNTNS +vacate/NGXSD/WKT +vacation/MRDZG/WKXN +vacationist/SM/WKXNST +vacationland//WKXNLNT +vaccinate/NGSDX/WSNT +vaccination/M/WSNXN +vaccine/SM/WSN +vaccinia/M/WSN +vaccinial//WSNL +Vachel/M/WXL +vacillate/XNGSD/WSLT +vacillating/Y/WSLTN +vacillation/M/WSLXN +vacillator/SM/WSLT +Vaclav/M/WKLF +vacua's//WKS +vacuity/MS/WKT +vacuo//WK +vacuolate/SDGN/WKLT +vacuolated/U/WKLTT +vacuole/SM/WKL +vacuolization/SM/WKLSXN +vacuous/PY/WKS +vacuousness/MS/WKSNS +vacuum/GSMD/WKM +Vader/M/WT +Vaduz/M/WTS +vagabond/DMSG/WKBNT +vagabondage/MS/WKBNTK +vagarious//WKRS +vagary/MS/WKR +vagina/M/WKN +vaginae//WKN +vaginal/Y/WKNL +vagrancy/MS/WKRNS +vagrant/SMY/WKRNT +vague/TYSRDP/WK +vagueing//WKN +vagueness/MS/WKNS +Vail/M/WL +vain/TYRP/WN +vainglorious/YP/WNLRS +vaingloriousness/M/WNLRSNS +vainglory/MS/WNLR +val//WL +Val/MY/WL +valance/SDMG/WLNS +Valaree/M/WLR +Valaria/M/WLR +Valarie/M/WLR +Valdemar/M/WLTM +Valdez/M/WLTS +Vale/M/WL +vale/SM/WL +Valeda/M/WLT +valediction/MS/WLTKXN +valedictorian/MS/WLTKTRN +valedictory/MS/WLTKTR +valence/SM/WLNS +Valencia/MS/WLNX +valency/MS/WLNS +Valene/M/WLN +Valenka/M/WLNK +Valentia/M/WLNX +Valentijn/M/WLNTKN +Valentin/M/WLNTN +Valentina/M/WLNTN +Valentine/M/WLNTN +valentine/SM/WLNTN +Valentino/M/WLNTN +Valenzuela/M/WLNSL +Valera/M/WLR +Valeria/M/WLR +Valerian/M/WLRN +Valerie/M/WLR +Valéry/M/WLR +Valerye/M/WLRY +valet/GDMS/WLT +valetudinarian/MS/WLTTNRN +valetudinarianism/MS/WLTTNRNSM +Valhalla/M/WLHL +valiance/S/WLNS +valiant/SPY/WLNT +valiantness/M/WLNTNS +valid/PIY/WLT +Valida/M/WLT +validate/INGSDX/WLTT +validated/AU/WLTTT +validates/A/WLTTS +validation/AMI/WLTXN +validity/IMS/WLTT +validness/MI/WLTNS +validnesses//WLTNSS +Valina/M/WLN +valise/MS/WLS +Valium/S/WLM +Valkyrie/SM/WLKR +Valle/M/WL +Vallejo//WLK +Valletta/M/WLT +valley/SM/WL +Valli/M/WL +Vallie/M/WL +Vally/M/WL +Valma/M/WLM +Valois/M/WLS +valor/MS/WL +valorous/Y/WLRS +Valparaiso/M/WLPRS +Valry/M/WLR +valuable/IP/WLBL +valuableness/IM/WLBLNS +valuables//WLBLS +valuably/I/WLBL +valuate/NGXSD/WLT +valuation/CSAM/WLXN +valuator/SM/WLT +value/CGASD/WL +valued/U/WLT +valueless/P/WLLS +valuelessness/M/WLLSNS +valuer/SM/WL +value's//WLS +values/E/WLS +valve/GMSD/WLF +valveless//WLFLS +valvular//WLFL +vamoose/GSD/WMS +vamp/ADSG/WMP +vamper//WMP +vampire/MGSD/WMPR +vamp's//WMPS +Van/M/WN +van/SMD/WN +vanadium/MS/WNTM +Vance/M/WNS +Vancouver/M/WNKF +Vanda/M/WNT +vandal/MS/WNTL +Vandal/MS/WNTL +vandalism/MS/WNTLSM +vandalize/GSD/WNTLS +Vandenberg/M/WNTNBK +Vanderbilt/M/WNTBLT +Vanderburgh/M/WNTB +Vanderpoel/M/WNTPL +Vandyke/SM/WNTK +vane/MS/WN +Vanessa/M/WNS +Vang/M/WNK +vanguard/MS/WNKT +Vania/M/WN +vanilla/MS/WNL +vanish/GRSDJ/WNX +vanisher/M/WNX +vanishing/Y/WNXN +vanity/SM/WNT +Vanna/M/WN +vanned//WNT +Vanni/M/WN +Vannie/M/WN +vanning//WNN +Vanny/M/WN +vanquish/RSDGZ/WNKX +vanquisher/M/WNKX +vantage/MS/WNTK +Vanuatu//WNT +Vanya/M/WNY +Vanzetti/M/WNST +vapid/PY/WPT +vapidity/MS/WPTT +vapidness/SM/WPTNS +vapor/MRDJGZS/WP +vaporer/M/WPR +vaporing/MY/WPRN +vaporisation//WPRSXN +vaporise/DSG/WPRS +vaporization/AMS/WPRSXN +vaporize/DRSZG/WPRS +vaporizer/M/WPRS +vaporous//WPRS +vapory//WPR +vaquero/SM/WKR +VAR//W +var/S/W +Varanasi/M/WRNS +Varese/M/WRS +Vargas/M/WKS +variability/IMS/WRBLT +variable/PMS/WRBL +variableness/IM/WRBLNS +variables/I/WRBLS +variably/I/WRBL +Varian/M/WRN +variance/I/WRNS +variances//WRNSS +variance's//WRNSS +variant/ISY/WRNT +variate/MGNSDX/WRT +variation/M/WRXN +variational//WRXNL +varicolored/MS/WRKLRT +varicose/S/WRKS +varied/U/WRT +variedly//WRTL +variegate/NGXSD/WRKT +variegation/M/WRKXN +varier/M/WR +varietal/S/WRTL +variety/MS/WRT +various/PY/WRS +varistor/M/WRST +Varityping/M/WRTPN +varlet/MS/WLT +varmint/SM/WMNT +varnish/ZGMDRS/WNX +varnished/U/WNXT +varnisher/M/WNX +varsity/MS/WST +vary/SRDJG/WR +varying/UY/WRYN +vascular//WSKL +vase/SM/WS +vasectomy/SM/WSKTM +Vaseline/DSMG/WSLN +Vasili/MS/WSL +Vasily/M/WSL +vasomotor//WSMT +Vasquez/M/WSKS +vassal/GSMD/WSL +vassalage/MS/WSLK +Vassar/M/WS +Vassili/M/WSL +Vassily/M/WSL +vast/PTSYR/WST +vastness/MS/WSTNS +VAT//WT +vat/SM/WT +Vatican/M/WTKN +vatted//WTT +vatting//WTN +vaudeville/SM/WTFL +vaudevillian/SM/WTFLN +Vaudois//WTS +Vaughan/M/WKN +Vaughn/M/WN +vault/ZSRDMGJ/WLT +vaulter/M/WLT +vaulting/M/WLTN +vaunt/GRDS/WNT +vaunter/M/WNT +Vax/M/WKS +VAX/M/WKS +VAXes//WKSS +Vazquez/M/WSKS +vb//WB +VCR//WKR +VD//WT +VDT//WTT +VDU//WT +veal/MRDGS/WL +vealed/A/WLT +vealer/MA/WL +veals/A/WLS +Veblen/M/WBLN +vector/SGDM/WKT +vectorial//WKTRL +vectorization//WKTRSXN +vectorized//WKTRST +vectorizing//WKTRSN +vector's/F/WKTS +Veda/MS/WT +Vedanta/M/WTNT +veejay/S/WK +veep/S/WP +veer/DSG/W +veering/Y/WRN +veg/M/WK +Vega/SM/WK +vegan/SM/WKN +Vegemite/M/WKMT +veges//WKS +vegetable/MS/WKTBL +vegetarian/SM/WKTRN +vegetarianism/MS/WKTRNSM +vegetate/DSNGVX/WKTT +vegetation/M/WKTXN +vegetative/PY/WKTTF +vegged//WKT +veggie/S/WK +vegging//WKN +vehemence/MS/WHMNS +vehemency/S/WHMNS +vehement/Y/WHMNT +vehicle/SM/WHKL +vehicular//WHKL +veil/UGSD/WL +veiling/MU/WLN +veil's//WLS +vein/GSRDM/WN +veining/M/WNN +vela/M/WL +Vela/M/WL +velar/S/WL +velarize/SDG/WLRS +Velásquez/M/WLSKS +Velázquez//WLSKS +Velcro/SM/WLKR +veld/SM/WLT +veldt's//WLTTS +Velez/M/WLS +Vella/M/WL +vellum/MS/WLM +Velma/M/WLM +velocipede/SM/WLSPT +velocity/SM/WLST +velor/S/WL +velour's//WLS +velum/M/WLM +Velveeta/M/WLFT +velvet/GSMD/WLFT +Velvet/M/WLFT +velveteen/MS/WLFTN +velvety/RT/WLFT +venal/Y/WNL +venality/MS/WNLT +venation/SM/WNXN +vend/DSG/WNT +vender's/K/WNTS +vendetta/MS/WNTT +vendible/S/WNTBL +vendor/MS/WNT +veneer/GSRDM/WN +veneerer/M/WNR +veneering/M/WNRN +venerability/S/WNRBLT +venerable/P/WNRBL +venerate/XNGSD/WNRT +veneration/M/WNRXN +venereal//WNRL +venetian//WNXN +Venetian/SM/WNXN +Venezuela/M/WNSL +Venezuelan/S/WNSLN +vengeance/MS/WNKNS +vengeful/APY/WNKFL +vengefulness/AM/WNKFLNS +venial/YP/WNL +venialness/M/WNLNS +Venice/M/WNS +venireman/M/WNRMN +veniremen//WNRMN +venison/SM/WNSN +Venita/M/WNT +Venn/M/WN +venom/SGDM/WNM +venomous/YP/WNMS +venomousness/M/WNMSNS +venous/Y/WNS +vent/ISGFD/WNT +venter/M/WNT +ventilate/XSDVGN/WNTLT +ventilated/U/WNTLTT +ventilation/M/WNTLXN +ventilator/MS/WNTLT +ventral/YS/WNTRL +ventricle/MS/WNTRKL +ventricular//WNTRKL +ventriloquies//WNTRLKS +ventriloquism/MS/WNTRLKSM +ventriloquist/MS/WNTRLKST +ventriloquy//WNTRLK +vent's/F/WNTS +Ventura/M/WNTR +venture/RSDJZG/WNTR +venturesome/YP/WNTRSM +venturesomeness/SM/WNTRSMNS +venturi/S/WNTR +venturous/YP/WNTRS +venturousness/MS/WNTRSNS +venue/MAS/WN +Venus/S/WNS +Venusian/S/WNXN +Vera/M/WR +veracious/YP/WRSS +veraciousness/M/WRSSNS +veracities//WRSTS +veracity/IM/WRST +Veracruz/M/WRKRS +Veradis//WRTS +veranda/SDM/WRNT +verandahed//WRNTHT +verb/KSM/WB +verbal/SY/WBL +verbalization/MS/WBLSXN +verbalize/ZGRSD/WBLS +verbalized/U/WBLST +verbalizer/M/WBLS +verballed//WBLT +verballing//WBLN +verbatim//WBTM +verbena/MS/WBN +verbiage/SM/WBK +verbose/YP/WBS +verbosity/SM/WBST +verboten//WBTN +verdant/Y/WTNT +Verde/M/WT +Verderer/M/WTR +Verdi/M/WT +verdict/SM/WTKT +verdigris/GSDM/WTKRS +verdure/SDM/WTR +Vere/M/WR +Verena/M/WRN +Verene/M/WRN +verge/FGSD/WK +Verge/M/WK +verger/SM/WK +verge's//WKS +Vergil's//WKLS +veridical/Y/WRTKL +Veriee/M/WR +verifiability/M/WRFBLT +verifiable/U/WRFBL +verifiableness/M/WRFBLNS +verification/S/WRFKXN +verified/U/WRFT +verifier/MS/WRF +verify/GASD/WRF +Verile/M/WRL +verily//WRL +Verina/M/WRN +Verine/M/WRN +verisimilitude/SM/WRSMLTT +veritable/P/WRTBL +veritableness/M/WRTBLNS +veritably//WRTBL +verity/MS/WRT +Verla/M/WL +Verlag/M/WLK +Verlaine/M/WLN +Vermeer/M/WM +vermicelli/MS/WMSL +vermiculite/MS/WMKLT +vermiform//WMFM +vermilion/MS/WMLN +vermin/M/WMN +verminous//WMNS +Vermont/ZRM/WMNT +Vermonter/M/WMNT +vermouth/M/WM@ +vermouths//WM@S +Vern/NM/WN +Verna/M/WN +vernacular/YS/WNKL +vernal/Y/WNL +Verne/M/WN +Vernen/M/WNN +Verney/M/WN +Vernice/M/WNS +vernier/SM/WN +Vernon/M/WNN +Vernor/M/WN +Verona/M/WRN +Veronese/M/WRNS +Veronica/M/WRNK +veronica/SM/WRNK +Veronika/M/WRNK +Veronike/M/WRNK +Veronique/M/WRNK +verruca/MS/WRK +verrucae//WRK +versa//WS +Versailles/M/WSLS +Versatec/M/WSTK +versatile/YP/WSTL +versatileness/M/WSTLNS +versatility/SM/WSTLT +verse/XSRDAGNF/WS +versed/UI/WST +verse's//WSS +verses/I/WSS +versicle/M/WSKL +versification/M/WSFKXN +versifier/M/WSF +versify/GDRSZXN/WSF +versing/I/WSN +version/MFISA/WXN +verso/SM/WS +versus//WSS +vertebra/M/WTBR +vertebrae//WTBR +vertebral/Y/WTBRL +vertebrate/IMS/WTBRT +vertebration/M/WTBRXN +vertex/SM/WTKS +vertical/YPS/WTKL +vertices's//WTSSS +vertiginous//WTKNS +vertigo/M/WTK +vertigoes//WTKS +verve/SM/WF +very/RT/WR +Vesalius/M/WSLS +vesicle/SM/WSKL +vesicular/Y/WSKL +vesiculate/GSD/WSKLT +Vespasian/M/WSPXN +vesper/SM/WSP +Vespucci/M/WSPS +vessel/MS/WSL +vest/DIGSL/WST +Vesta/M/WST +vestal/YS/WSTL +vestibular//WSTBL +vestibule/SDM/WSTBL +vestige/SM/WSTK +vestigial/Y/WSTKL +vesting/SM/WSTN +vestment/ISM/WSTMNT +vestry/MS/WSTR +vestryman/M/WSTRMN +vestrymen//WSTRMN +vest's//WSTS +vesture/SDMG/WSTR +Vesuvius/M/WSFS +vet/SMR/WT +vetch/SM/WX +veter/M/WT +veteran/SM/WTRN +veterinarian/MS/WTRNRN +veterinary/S/WTRNR +veto/DMG/WT +vetoes//WTS +vetted//WTT +vetting/A/WTN +Vevay/M/WF +vex/GFSD/WKS +vexation/SM/WKSXN +vexatious/PY/WKSXS +vexatiousness/M/WKSXSNS +vexed/Y/WKST +VF//WF +VFW//WF +VG//WK +VGA//WK +vhf//WHF +VHF//WHF +VHS//WHS +VI//W +Vi/M/W +vi/MDR/W +via//W +viability/SM/WBLT +viable/I/WBL +viably//WBL +viaduct/MS/WTKT +Viagra/M/WKR +vial/MDGS/WL +viand/SM/WNT +vibe/S/WB +vibraharp/MS/WBRHP +vibrancy/MS/WBRNS +vibrant/YS/WBRNT +vibraphone/MS/WBRFN +vibraphonist/SM/WBRFNST +vibrate/XNGSD/WBRT +vibration/M/WBRXN +vibrational/Y/WBRXNL +vibrato/MS/WBRT +vibrator/SM/WBRT +vibratory//WBRTR +vibrio/M/WBR +vibrionic//WBRNK +viburnum/SM/WBNM +Vic/M/WK +vicar/SM/WK +vicarage/SM/WKRK +vicarious/YP/WKRS +vicariousness/MS/WKRSNS +vice/CMS/WS +viced//WST +vicegerent/MS/WSKRNT +vicennial//WSNL +Vicente/M/WSNT +viceregal//WSRKL +viceroy/SM/WSR +Vichy/M/WX +vichyssoise/MS/WXSS +vicing//WSN +vicinity/MS/WSNT +vicious/YP/WSS +viciousness/S/WSSNS +vicissitude/MS/WSSTT +Vick/ZM/WK +Vickers/M/WKS +Vicki/M/WK +Vickie/M/WK +Vicksburg/M/WKSBK +Vicky/M/WK +victim/SM/WKTM +victimization/SM/WKTMSXN +victimize/SRDZG/WKTMS +victimized/U/WKTMST +victimizer/M/WKTMS +Victoir/M/WKT +Victor/M/WKT +victor/SM/WKT +Victoria/M/WKTR +Victorian/S/WKTRN +Victorianism/S/WKTRNSM +victorious/YP/WKTRS +victoriousness/M/WKTRSNS +victory/MS/WKTR +Victrola/SM/WKTRL +victual/ZGSDR/WKTL +victualer/M/WKTL +vicuña/S/WK +Vida/M/WT +Vidal/M/WTL +videlicet//WTLST +video/GSMD/WT +videocassette/S/WTKST +videoconferencing//WTKNFRNSN +videodisc/S/WTTSK +videodisk/SM/WTTSK +videophone/SM/WTFN +videotape/SDGM/WTTP +Vidovic/M/WTFK +Vidovik/M/WTFK +vie/S/W +Vienna/M/WN +Viennese/M/WNS +Vientiane/M/WNXN +vier/M/W +Viet/M/WT +Vietcong/M/WTKNK +Vietminh/M/WTMNH +Vietnam/M/WTNM +Vietnamese/M/WTNMS +view/MBGZJSRD/W +viewed/A/WWT +viewer/AS/WW +viewer's//WWS +viewfinder/MS/WFNT +viewgraph/SM/WKRF +viewing/M/WWN +viewless/Y/WLS +viewpoint/SM/WPNT +views/A/WS +vigesimal//WKSML +vigil/SM/WKL +vigilance/MS/WKLNS +vigilant/Y/WKLNT +vigilante/SM/WKLNT +vigilantism/MS/WKLNTSM +vigilantist//WKLNTST +vignette/MGDRS/WKNT +vignetter/M/WKNT +vignetting/M/WKNTN +vignettist/MS/WKNTST +vigor/MS/WK +vigorous/YP/WKRS +vigorousness/M/WKRSNS +vii//W +viii//W +Vijayawada/M/WKYWT +Viki/M/WK +Viking/MS/WKN +viking/S/WKN +Vikki/M/WK +Vikky/M/WK +Vikram/M/WKRM +Vila//WL +vile/AR/WL +vilely//WLL +vileness/MS/WLNS +vilest//WLST +Vilhelmina/M/WLHLMN +vilification/M/WLFKXN +vilifier/M/WLF +vilify/GNXRSD/WLF +Villa/M/WL +villa/MS/WL +village/RSMZ/WLK +villager/M/WLK +villain/SM/WLN +villainous/YP/WLNS +villainousness/M/WLNSNS +villainy/MS/WLN +Villarreal/M/WLRL +ville//WL +villein/MS/WLN +villeinage/SM/WLNK +villi//WL +Villon/M/WLN +villus/M/WLS +Vilma/M/WLM +Vilnius/M/WLNS +Vilyui/M/WLY +vim/MS/WM +Vin/M/WN +Vina/M/WN +vinaigrette/MS/WNKRT +Vince/M/WNS +Vincent/MS/WNSNT +Vincenty/M/WNSNT +Vincenz/M/WNSNS +Vinci/M/WNS +vincible/I/WNSBL +Vindemiatrix/M/WNTMTRKS +vindicate/XSDVGN/WNTKT +vindication/M/WNTKXN +vindicator/SM/WNTKT +vindictive/PY/WNTKTF +vindictiveness/MS/WNTKTFNS +vine/MGDS/WN +vinegar/DMSG/WNK +vinegary//WNKR +vineyard/SM/WNYT +Vinita/M/WNT +Vinni/M/WN +Vinnie/M/WN +Vinny/M/WN +vino/MS/WN +vinous//WNS +Vinson/M/WNSN +vintage/MRSDG/WNTK +vintager/M/WNTK +vintner/MS/WNTN +vinyl/SM/WNL +viol/MSB/WL +Viola/M/WL +viola/SM/WL +violable/I/WLBL +Violante/M/WLNT +violate/VNGXSD/WLT +violator/MS/WLT +Viole/M/WL +violence/SM/WLNS +violent/Y/WLNT +Violet/M/WLT +violet/SM/WLT +Violetta/M/WLT +Violette/M/WLT +violin/MS/WLN +violinist/SM/WLNST +violist/MS/WLST +violoncellist/S/WLNSLST +violoncello/MS/WLNSL +VIP/S/WP +viper/MS/WP +viperous//WPRS +virago/M/WRK +viragoes//WRKS +viral/Y/WRL +vireo/SM/WR +Virge/M/WK +Virgie/M/WK +Virgil/M/WKL +Virgilio/M/WKL +virgin/SM/WKN +Virgina/M/WKN +virginal/YS/WKNL +Virginia/M/WKN +Virginian/S/WKNN +Virginie/M/WKN +virginity/SM/WKNT +Virgo/MS/WK +virgule/MS/WKL +virile//WRL +virility/MS/WRLT +virologist/S/WRLKST +virology/SM/WRLK +virtual/Y/WTL +virtue/SM/WT +virtuosity/MS/WTST +virtuoso/MS/WTS +virtuosoes//WTSS +virtuous/PY/WTS +virtuousness/SM/WTSNS +virulence/SM/WRLNS +virulent/Y/WRLNT +virus/MS/WRS +vis/MDSGV/WS +Visa/M/WS +visa/SGMD/WS +visage/MSD/WSK +Visakhapatnam's//WSKHPTNMS +Visayans//WSYNS +viscera//WSR +visceral/Y/WSRL +viscid/Y/WST +viscoelastic//WSKLSTK +viscoelasticity//WSKLSTST +viscometer/SM/WSKMT +viscose/MS/WSKS +viscosity/MS/WSKST +viscount/MS/WSKNT +viscountcy/MS/WSKNTS +viscountess/SM/WSKNTS +viscous/PY/WSKS +viscousness/M/WSKSNS +viscus/M/WSKS +vise/CAXNGSD/WS +viselike//WSLK +vise's//WSS +Vishnu/M/WXN +visibility/ISM/WSBLT +visible/PI/WSBL +visibly/I/WSBL +Visigoth/M/WSK@ +Visigoths//WSK@S +vision/KMDGS/WXN +visionariness/M/WXNRNS +visionary/PS/WXNR +vision's/A/WXNS +visit/GASD/WST +visitable/U/WSTBL +visitant/SM/WSTNT +visitation/SM/WSTXN +visited/U/WSTT +visitor/MS/WST +visor/SMDG/WS +VISTA//WST +vista/GSDM/WST +Vistula/M/WSTL +visual/SY/WSL +visualization/AMS/WSLSXN +visualize/SRDZG/WSLS +visualized/U/WSLST +visualizer/M/WSLS +visualizes/A/WSLSS +vita/M/WT +Vita/M/WT +vitae//WT +vital/SY/WTL +vitality/MS/WTLT +vitalization/AMS/WTLSXN +vitalize/ASDGC/WTLS +vitamin/SM/WTMN +Vite/M/WT +Vitia/M/WX +vitiate/XGNSD/WXT +vitiation/M/WXXN +viticulture/SM/WTKLTR +viticulturist/S/WTKLTRST +Vitim/M/WTM +Vito/M/WT +Vitoria/M/WTR +vitreous/YSP/WTRS +vitrifaction/S/WTRFKXN +vitrification/M/WTRFKXN +vitrify/XDSNG/WTRF +vitrine/SM/WTRN +vitriol/MDSG/WTRL +vitriolic//WTRLK +vitro//WTR +vittles//WTLS +Vittoria/M/WTR +Vittorio/M/WTR +vituperate/SDXVGN/WTPRT +vituperation/M/WTPRXN +vituperative/Y/WTPRTF +Vitus/M/WTS +Viv/M/WF +viva/DGS/WF +Viva/M/WF +vivace/S/WFS +vivacious/YP/WFSS +vivaciousness/MS/WFSSNS +vivacity/SM/WFST +Vivaldi//WFLT +vivaria//WFR +vivarium/MS/WFRM +vivaxes//WFKSS +vive/Z/WF +Vivekananda/M/WFKNNT +Vivi/MN/WF +Vivia/M/WF +Vivian/M/WFN +Viviana/M/WFN +Vivianna/M/WFN +Vivianne/M/WFN +vivid/PTYR/WFT +vividness/SM/WFTNS +Vivie/M/WF +Vivien/M/WFN +Viviene/M/WFN +Vivienne/M/WFN +vivifier//WFF +vivify/NGASD/WFF +viviparous//WFPRS +vivisect/DGS/WFSKT +vivisection/MS/WFSKXN +vivisectional//WFSKXNL +vivisectionist/SM/WFSKXNST +Viviyan/M/WFYN +vivo//WF +Vivyan/M/WFYN +Vivyanne/M/WFYN +vixen/SM/WKSN +vixenish/Y/WKSNX +viz//WS +vizier/MS/WS +vizor's//WSS +VJ//WK +Vlad/M/WLT +Vladamir/M/WLTM +Vladimir/M/WLTM +Vladivostok/M/WLTFSTK +VLF//WLF +VLSI//WLS +VMS/M/WMS +VOA//W +vocab/S/WKB +vocable/SM/WKBL +vocabularian//WKBLRN +vocabularianism//WKBLRNSM +vocabulary/MS/WKBLR +vocal/SY/WKL +vocalic/S/WKLK +vocalise's//WKLSS +vocalism/M/WKLSM +vocalist/MS/WKLST +vocalization/SM/WKLSXN +vocalize/ZGDRS/WKLS +vocalized/U/WKLST +vocalizer/M/WKLS +vocation/AKMISF/WKXN +vocational/Y/WKXNL +vocative/KYS/WKTF +vociferate/NGXSD/WSFRT +vociferation/M/WSFRXN +vociferous/YP/WSFRS +vociferousness/MS/WSFRSNS +vocoded//WKTT +vocoder//WKT +vodka/MS/WTK +voe/S/W +Vogel/M/WKL +vogue/GMSRD/WK +vogueing//WKN +voguish//WKX +voice/IMGDS/WS +voiceband//WSBNT +voiced/CU/WST +voiceless/YP/WSLS +voicelessness/SM/WSLSNS +voicer/S/WS +voices/C/WSS +voicing/C/WSN +void/C/WT +voidable//WTBL +voided//WTT +voider/M/WT +voiding//WTN +voidness/M/WTNS +voids//WTS +voilà//WL +voile/MS/WL +vol/GSD/WL +Vol/M/WL +volar//WL +volatile/PS/WLTL +volatileness/M/WLTLNS +volatility/MS/WLTLT +volatilization/MS/WLTLSXN +volatilize/SDG/WLTLS +volcanic/S/WLKNK +volcanically//WLKNKL +volcanism/M/WLKNSM +volcano/M/WLKN +volcanoes//WLKNS +vole/MS/WL +Volga/M/WLK +Volgograd/M/WLKKRT +volition/MS/WLXN +volitional/Y/WLXNL +volitionality//WLXNLT +Volkswagen/SM/WLKSWKN +volley/SMRDG/WL +volleyball/MS/WLBL +volleyer/M/WLY +Volstead/M/WLSTT +volt/AMS/WLT +Volta/M/WLT +voltage/SM/WLTK +voltaic//WLTK +Voltaire/M/WLTR +Volterra/M/WLTR +voltmeter/MS/WLTMT +volubility/S/WLBLT +voluble/P/WLBL +volubly//WLBL +volume/SDGM/WLM +volumetric//WLMTRK +volumetrically//WLMTRKL +voluminous/PY/WLMNS +voluminousness/MS/WLMNSNS +voluntarily/I/WLNTRL +voluntariness/MI/WLNTRNS +voluntarism/MS/WLNTRSM +voluntary/PS/WLNTR +volunteer/DMSG/WLNT +voluptuary/SM/WLPTR +voluptuous/YP/WLPTS +voluptuousness/S/WLPTSNS +volute/S/WLT +Volvo/M/WLF +vomit/GRDS/WMT +Von/M/WN +Vonda/M/WNT +Vonnegut/M/WNKT +Vonni/M/WN +Vonnie/M/WN +Vonny/M/WN +voodoo/GDMS/WT +voodooism/S/WTSM +voracious/YP/WRSS +voraciousness/MS/WRSSNS +voracity/MS/WRST +Voronezh/M/WRNSH +Vorster/M/WST +vortex/SM/WTKS +vortices's//WTSSS +vorticity/M/WTST +votary/MS/WTR +vote/CSDG/WT +voter/SM/WT +vote's//WTS +votive/YP/WTF +vouch/SRDGZ/WX +voucher/GMD/WX +vouchsafe/SDG/WXSF +vow/SMDRG/W +vowel/MS/WWL +vowelled//WWLT +vowelling//WWLN +vower/M/WW +voyage/GMZJSRD/WYK +voyager/M/WYK +voyageur/SM/WYK +voyeur/MS/WY +voyeurism/MS/WYRSM +voyeuristic//WYRSTK +VP//WP +vs//WS +V's//WS +VT//WT +Vt/M/WT +VTOL//WTL +Vulcan/M/WLKN +vulcanization/SM/WLKNSXN +vulcanize/SDG/WLKNS +vulcanized/U/WLKNST +Vulg/M/WLK +vulgar/TSYR/WLK +vulgarian/MS/WLKRN +vulgarism/MS/WLKRSM +vulgarity/MS/WLKRT +vulgarization/S/WLKRSXN +vulgarize/GZSRD/WLKRS +Vulgate/SM/WLKT +vulnerability/SI/WLNRBLT +vulnerable/IP/WLNRBL +vulnerably/I/WLNRBL +vulpine//WLPN +vulture/SM/WLTR +vulturelike//WLTRLK +vulturous//WLTRS +vulva/M/WLF +vulvae//WLF +vying//WYN +Vyky/M/WK +W/T +w/XTJGV +WA//W +Waals//WLS +Wabash/M/WBX +WAC//WK +Wac/S/WK +Wacke/M/WK +wackes//WKS +wackiness/MS/WKNS +wacko/MS/WK +wacky/RTP/WK +Waco/M/WK +wad/MDRZGS/WT +wadded//WTT +wadding/SM/WTN +waddle/GRSD/WTL +Wade/M/WT +wade/S/WT +wader/M/WT +wadi/SM/WT +Wadsworth/M/WTSW@ +wafer/GSMD/WF +waffle/GMZRSD/WFL +Wafs//WFS +waft/SGRD/WFT +wafter/M/WFT +wag/DRZGS/WK +wage/SM/WK +waged/U/WKT +wager/GZMRD/WK +wagged//WKT +waggery/MS/WKR +wagging//WKN +waggish/YP/WKX +waggishness/SM/WKXNS +waggle/SDG/WKL +waggly//WKL +Wagner/M/WKN +Wagnerian//WKNRN +wagon/SGZMRD/WKN +wagoner/M/WKN +wagtail/SM/WKTL +Wahl/M/WL +waif/SGDM/WF +Waikiki/M/WKK +wail/SGZRD/WL +wailer/M/WL +wain/GSDM/WN +Wain/M/WN +wainscot/SGJD/WNSKT +Wainwright/M/WNRT +wainwright/SM/WNRT +waist/GSRDM/WST +waistband/MS/WSTBNT +waistcoat/GDMS/WSTKT +waister/M/WST +waistline/MS/WSTLN +wait/GSZJRD/WT +Wait/MR/WT +Waite/M/WT +waiter/DMG/WT +Waiter/M/WT +waitpeople//WTPPL +waitperson/S/WTPSN +waitress/GMSD/WTRS +waive/SRDGZ/WF +waiver/MB/WF +Wake/M/WK +wake/MGDRSJ/WK +Wakefield/M/WKFLT +wakeful/PY/WKFL +wakefulness/MS/WKFLNS +waken/SMRDG/WKN +waker/M/WK +wakeup//WKP +Waksman/M/WKSMN +Walbridge/M/WLBRK +Walcott/M/WLKT +Wald/MN/WLT +Waldemar/M/WLTM +Walden/M/WLTN +Waldensian//WLTNXN +Waldheim/M/WLTHM +Waldo/M/WLT +Waldon/M/WLTN +Waldorf/M/WLTF +wale/DRSMG/WL +Wales//WLS +Walesa/M/WLS +Walford/M/WLFT +Walgreen/M/WLKRN +waling/M/WLN +walk/GZSBJRD/WLK +walkabout/M/WLKBT +walkaway/SM/WLKW +walker/M/WLK +Walker/M/WLK +walkie//WLK +Walkman/S/WLKMN +walkout/SM/WLKT +walkover/SM/WLKF +walkway/MS/WLKW +wall/SGMRD/WL +Wall/SMR/WL +wallaby/MS/WLB +Wallace/M/WLS +Wallache/M/WLX +wallah/M/WL +Wallas/M/WLS +wallboard/MS/WLBT +Wallenstein/M/WLNSTN +Waller/M/WL +wallet/SM/WLT +walleye/MSD/WLY +wallflower/MS/WLFLW +Wallie/M/WL +Wallis//WLS +Walliw/M/WL +Walloon/SM/WLN +wallop/RDSJG/WLP +walloper/M/WLP +walloping/M/WLPN +wallow/RDSG/WL +wallower/M/WLW +wallpaper/DMGS/WLPP +Wally/M/WL +wally/S/WL +walnut/SM/WLNT +Walpole/M/WLPL +Walpurgisnacht//WLPKSNXT +walrus/SM/WLRS +Walsh/M/WLX +Walt/ZMR/WLT +Walter/M/WLT +Walther/M/WL@ +Walton/M/WLTN +waltz/MRSDGZ/WLTS +waltzer/M/WLTS +Walworth/M/WLW@ +Waly/M/WL +wampum/SM/WMPM +wan/PGSDY/WN +Wanamaker/M/WNMK +wand/MRSZ/WNT +Wanda/M/WNT +wander/JZGRD/WNT +wanderer/M/WNTR +wanderlust/SM/WNTLST +Wandie/M/WNT +Wandis/M/WNTS +wane/S/WN +Waneta/M/WNT +Wang/M/WNK +wangle/RSDGZ/WNKL +wangler/M/WNKL +Wanids/M/WNTS +Wankel/M/WNKL +wanna//WN +wannabe/S/WNB +wanned//WNT +wanner//WN +wanness/S/WNS +wannest//WNST +wanning//WNN +Wansee/M/WNS +Wansley/M/WNSL +want/GRDSJ/WNT +wanted/U/WNTT +wanter/M/WNT +wanton/PGSRDY/WNTN +wantonness/S/WNTNS +wapiti/MS/WPT +war/GSMD/W +warble/GZRSD/WBL +warbler/M/WBL +warbonnet/S/WBNT +ward/AGMRDS/WT +Ward/MN/WT +Warde/M/WT +warden/DMGS/WTN +Warden/M/WTN +warder/DMGS/WT +wardrobe/MDSG/WTRB +wardroom/MS/WTRM +wards/I/WTS +wardship/M/WTXP +Ware/MG/WR +ware/MS/WR +warehouse/MGSRD/WRHS +warehouseman/M/WRHSMN +warfare/SM/WFR +Warfield/M/WFLT +warhead/MS/WHT +Warhol/M/WHL +warhorse/SM/WHS +warily/U/WRL +wariness/MS/WRNS +warinesses/U/WRNSS +Waring/M/WRN +warless//WLS +warlike//WLK +warlock/SM/WLK +warlord/MS/WLT +warm/YRDHPGZTS/WM +warmblooded//WMBLTT +warmed/A/WMT +warmer/M/WM +warmhearted/PY/WMHTT +warmheartedness/SM/WMHTTNS +warmish//WMX +warmness/MS/WMNS +warmonger/JGSM/WMNK +warmongering/M/WMNKRN +warms/A/WMS +warmth/M/WM@ +warmths//WM@S +warn/GRDJS/WN +warned/U/WNT +warner/M/WN +Warner/M/WN +warning/YM/WNN +Warnock/M/WNK +warp/MRDGS/WP +warpaint//WPNT +warpath/M/WP@ +warpaths//WP@S +warper/M/WP +warplane/MS/WPLN +warrant/GSMDR/WRNT +warranted/U/WRNTT +warranter/M/WRNT +warranty/SDGM/WRNT +warred/M/WRT +Warren/M/WRN +warren/SZRM/WRN +warrener/M/WRN +warring/M/WRN +warrior/MS/WR +wars/C/WS +Warsaw/M/WS +warship/MS/WXP +wart/MDS/WT +warthog/S/W@K +wartime/SM/WTM +warty/RT/WT +Warwick/M/WWK +wary/URPT/WR +was/S/WS +Wasatch/M/WSX +wash/AGSD/WX +Wash/M/WX +washable/S/WXBL +washbasin/SM/WXBSN +washboard/SM/WXBT +washbowl/SM/WXBL +Washburn/M/WXBN +washcloth/M/WXKL@ +washcloths//WXKL@S +washday/M/WXT +washed/U/WXT +washer/GDMS/WX +washerwoman/M/WXWMN +washerwomen//WXWMN +washing/SM/WXN +Washington/M/WXNTN +Washingtonian/S/WXNTNN +Washoe/M/WX +washout/SM/WXT +washrag/SM/WXRK +washroom/MS/WXRM +washstand/SM/WXSTNT +washtub/MS/WXTB +washy/RT/WX +wasn't//WSNT +WASP//WSP +wasp/SM/WSP +waspish/PY/WSPX +waspishness/SM/WSPXNS +Wasp's//WSPS +wassail/GMDS/WSL +Wasserman/M/WSMN +Wassermann/M/WSMN +wast/GZSRD/WST +wastage/SM/WSTK +waste/S/WST +wastebasket/SM/WSTBSKT +wasteful/YP/WSTFL +wastefulness/S/WSTFLNS +wasteland/MS/WSTLNT +wastepaper/MS/WSTPP +waster/DG/WST +wastewater//WSTWT +wasting/Y/WSTN +wastrel/MS/WSTRL +Wat/ZM/WT +Watanabe/M/WTNB +watch/JRSDGZB/WX +watchable/U/WXBL +watchband/SM/WXBNT +watchdog/SM/WXTK +watchdogged//WXTKT +watchdogging//WXTKN +watched/U/WXT +watcher/M/WX +watchful/PY/WXFL +watchfulness/MS/WXFLNS +watchmake/JRGZ/WXMK +watchmaker/M/WXMK +watchman/M/WXMN +watchmen//WXMN +watchpoints//WXPNTS +watchtower/MS/WXTW +watchword/MS/WXWT +water/JGSMRD/WT +waterbird/S/WTBT +waterborne//WTBN +Waterbury/M/WTBR +watercolor/DMGS/WTKL +watercolorist/SM/WTKLRST +watercourse/SM/WTKS +watercraft/M/WTKRFT +watercress/SM/WTKRS +waterer/M/WTR +waterfall/SM/WTFL +waterfowl/M/WTFL +waterfront/SM/WTFRNT +Watergate/M/WTKT +waterhole/S/WTHL +Waterhouse/M/WTHS +wateriness/SM/WTRNS +watering/M/WTRN +waterless//WTLS +waterlily/S/WTLL +waterline/S/WTLN +waterlogged//WTLKT +waterloo//WTL +Waterloo/SM/WTL +waterman/M/WTMN +watermark/GSDM/WTMK +watermelon/SM/WTMLN +watermill/S/WTML +waterproof/PGRDSJ/WTPRF +Waters/M/WTS +watershed/SM/WTXT +waterside/MSR/WTST +watersider/M/WTST +waterspout/MS/WTSPT +watertight/P/WTTT +watertightness/M/WTTTNS +Watertown/M/WTTN +waterway/MS/WTW +waterwheel/S/WTHL +waterworks/M/WTWKS +watery/PRT/WTR +Watkins//WTKNS +WATS//WTS +Watson/M/WTSN +Watt/MS/WT +watt/TMRS/WT +wattage/SM/WTK +Watteau/M/WT +Wattenberg/M/WTNBK +Watterson/M/WTSN +wattle/SDGM/WTL +Watusi/M/WTS +Waugh/M/W +Waukesha/M/WKX +Waunona/M/WNN +Waupaca/M/WPK +Waupun/M/WPN +Wausau/M/WS +Wauwatosa/M/WWTS +Wave/S/WF +wave/ZGDRS/WF +waveband/MS/WFBNT +waveform/SM/WFFM +wavefront/MS/WFFRNT +waveguide/MS/WFKT +Waveland/M/WFLNT +wavelength/M/WFLNK@ +wavelengths//WFLNK@S +wavelet/SM/WFLT +wavelike//WFLK +wavenumber//WFNMB +waver/GZRD/WF +wavering/YU/WFRN +Waverley/M/WFL +Waverly/M/WFL +wavily//WFL +waviness/MS/WFNS +wavy/SRTP/WF +wax/MNDRSZG/WKS +waxer/M/WKS +waxiness/MS/WKSNS +waxwing/MS/WKSWN +waxwork/MS/WKSWK +waxy/PRT/WKS +Way/M/W +way/MS/W +wayfarer/MS/WFR +wayfaring/S/WFRN +waylaid//WLT +Waylan/M/WLN +Wayland/M/WLNT +waylay/GRSZ/WL +waylayer/M/WLY +wayleave/MS/WLF +Waylen/M/WLN +Waylin/M/WLN +Waylon/M/WLN +waymarked//WMKT +Wayne/M/WN +Waynesboro/M/WNSBR +wayside/MS/WST +wayward/YP/WWT +waywardness/S/WWTNS +WC//K +we//W +weak/TXPYRN/WK +weaken/ZGRD/WKN +weakener/M/WKN +weakfish/SM/WKFX +weakish//WKX +weakliness/M/WKLNS +weakling/SM/WKLN +weakly/RTP/WKL +weakness/MS/WKNS +weal/MHS/WL +wealth/M/WL@ +wealthiness/MS/WL@NS +wealths//WL@S +wealthy/PTR/WL@ +wean/RDGS/WN +weaner/M/WN +weanling/M/WNLN +weapon/GDMS/WPN +weaponless//WPNLS +weaponry/MS/WPNR +wear/RBSJGZ/W +wearable/S/WRBL +wearer/M/WR +wearied/U/WRT +wearily//WRL +weariness/MS/WRNS +wearing/Y/WRN +wearisome/YP/WRSM +wearisomeness/M/WRSMNS +weary/TGPRSD/WR +wearying/Y/WRYN +weasel/SGMDY/WSL +weather/MDRYJGS/W@ +weatherbeaten//W@BTN +weathercock/SDMG/W@KK +weatherer/M/W@R +Weatherford/M/W@FT +weathering/M/W@RN +weatherize/GSD/W@RS +weatherman/M/W@MN +weathermen//W@MN +weatherperson/S/W@PSN +weatherproof/SGPD/W@PRF +weatherstrip/S/W@STRP +weatherstripped//W@STRPT +weatherstripping/S/W@STRPN +weave/SRDGZ/WF +weaver/M/WF +Weaver/M/WF +weaves/A/WFS +weaving/A/WFN +Web/MR/WB +web/SMR/WB +Webb/RM/WB +webbed//WBT +Webber/M/WB +webbing/MS/WBN +weber/M/WB +Weber/M/WB +Webern/M/WBN +webfeet//WBFT +webfoot/M/WBFT +website/S/WBST +Webster/MS/WBST +Websterville/M/WBSTFL +we'd//WT +Wed/M/WT +wed/SA/WT +wedded/A/WTT +Weddell/M/WTL +wedder//WT +wedding/SM/WTN +wedge/SDGM/WK +wedgie/RST/WK +Wedgwood/M/WTKWT +wedlock/SM/WTLK +Wednesday/SM/WTNST +wee/DRST/W +weed/SGMRDZ/WT +weeder/M/WT +weediness/M/WTNS +weedkiller/M/WTKL +weedless//WTLS +weedy/TRP/WT +weeing//WN +week/SYM/WK +weekday/MS/WKT +weekend/SDRMG/WKNT +weekender/M/WKNT +weekly/S/WKL +weeknight/SM/WKNT +Weeks/M/WKS +ween/SGD/WN +weenie/M/WN +weeny/RSMT/WN +weep/SGZJRD/WP +weeper/M/WP +weepy/RST/WP +weevil/MS/WFL +weft/SGMD/WFT +Wehr/M/WR +Wei/M/W +Weibull/M/WBL +Weidar/M/WT +Weider/M/WT +Weidman/M/WTMN +Weierstrass/M/WSTRS +weigh/RDJG/W +weighed/UA/WKT +weigher/M/WK +weighs/A/WS +weight/JMSRDG/WT +weighted/U/WTT +weighter/M/WT +weightily//WTL +weightiness/SM/WTNS +weighting/M/WTN +weightless/YP/WTLS +weightlessness/SM/WTLSNS +weightlifter/S/WTLFT +weightlifting/MS/WTLFTN +weighty/TPR/WT +Weill/M/WL +Weinberg/M/WNBK +Weiner/M/WN +Weinstein/M/WNSTN +weir/SDMG/W +weird/YRDPGTS/WT +weirdie/SM/WT +weirdness/MS/WTNS +weirdo/SM/WT +Weisenheimer/M/WSNHM +Weiss/M/WS +Weissman/M/WSMN +Weissmuller/M/WSML +Weizmann/M/WSMN +Welbie/M/WLB +Welby/M/WLB +Welcher/M/WLX +Welches//WLXS +welcome/PRSDYG/WLKM +welcomeness/M/WLKMNS +welcoming/U/WLKMN +weld/SBJGZRD/WLT +welder/M/WLT +Weldon/M/WLTN +Weldwood/M/WLTWT +welfare/SM/WLFR +welkin/SM/WLKN +we'll//WL +well/SGPD/WL +Welland/M/WLNT +wellbeing/M/WLBN +Weller/M/WL +Welles/M/WLS +Wellesley/M/WLSL +wellhead/SM/WLHT +Wellington/MS/WLNTN +wellington/S/WLNTN +Wellman/M/WLMN +wellness/MS/WLNS +Wells/M/WLS +wellspring/SM/WLSPRN +Wellsville/M/WLSFL +Welmers/M/WLMS +Welsh//WLX +welsh/RSDGZ/WLX +welsher/M/WLX +Welshman/M/WLXMN +Welshmen//WLXMN +Welshwoman/M/WLXWMN +Welshwomen//WLXWMN +welt/GZSMRD/WLT +welter/GD/WLT +welterweight/MS/WLTWT +wen/M/WN +wench/GRSDM/WNX +wencher/M/WNX +wend/DSG/WNT +Wenda/M/WNT +Wendall/M/WNTL +Wendel/M/WNTL +Wendeline/M/WNTLN +Wendell/M/WNTL +Wendi/M/WNT +Wendie/M/WNT +Wendy/M/WNT +Wendye/M/WNTY +Wenona/M/WNN +Wenonah/M/WNN +went//WNT +Wentworth/M/WNTW@ +wept/U/WPT +were//WR +we're//WR +weren't//WRNT +werewolf/M/WRWLF +werewolves//WRWLFS +Werner/M/WN +Wernher/M/WNH +Werther/M/W@ +werwolf's//WWLFS +Wes//WS +Wesley/M/WSL +Wesleyan//WSLYN +Wessex/M/WSKS +Wesson/M/WSN +West/MS/WST +west/RDGSM/WST +westbound//WSTBNT +Westbrook/M/WSTBRK +Westbrooke/M/WSTBRK +Westchester/M/WSXST +wester/DYG/WST +westerly/S/WSTL +Western/ZRS/WSTN +western/ZSR/WSTN +westerner/M/WSTN +westernization/MS/WSTNSXN +westernize/GSD/WSTNS +westernmost//WSTNMST +Westfield/M/WSTFLT +Westhampton/M/WS@MPTN +westing/M/WSTN +Westinghouse/M/WSTNHS +Westleigh/M/WSTL +Westley/M/WSTL +Westminster/M/WSTMNST +Westmore/M/WSTMR +Weston/M/WSTN +Westphalia/M/WSTFL +Westport/M/WSTPT +westward/S/WSTWT +Westwood/M/WSTWT +wet/SPY/WT +wetback/MS/WTBK +wetland/S/WTLNT +wetness/MS/WTNS +wettable//WTBL +wetter/S/WT +wettest//WTST +wetting//WTN +we've//WF +Weyden/M/WTN +Weyerhauser/M/WYHS +Weylin/M/WLN +Wezen/M/WSN +WFF//F +whack/GZRDS/WK +whacker/M/WK +whale/GSRDZM/WL +whaleboat/MS/WLBT +whalebone/SM/WLBN +Whalen/M/WLN +whaler/M/WL +whaling/M/WLN +wham/MS/WM +whammed//WMT +whamming/M/WMN +whammy/S/WM +wharf/SGMD/WF +Wharton/M/WTN +wharves//WFS +what/MS/WT +whatchamacallit/MS/WXMKLT +what'd//WTT +whatever//WTF +whatnot/MS/WTNT +what're//WTR +whatsoever//WTSF +wheal/MS/WL +wheat/NMXS/WT +wheatgerm//WTKM +Wheaties/M/WTS +Wheatland/M/WTLNT +Wheaton/M/WTN +Wheatstone/M/WTSTN +whee/S/W +wheedle/ZDRSG/WTL +wheel/RDMJSGZ/WL +wheelbarrow/GSDM/WLBR +wheelbase/MS/WLBS +wheelchair/MS/WLX +wheeler/M/WL +Wheeler/M/WL +wheelhouse/SM/WLHS +wheelie/MS/WL +wheeling/M/WLN +Wheeling/M/WLN +Wheelock/M/WLK +wheelwright/MS/WLRT +wheeze/SDG/WS +wheezily//WSL +wheeziness/SM/WSNS +wheezy/PRT/WS +Whelan/M/WLN +whelk/MDS/WLK +Wheller/M/WL +whelm/DGS/WLM +whelp/DMGS/WLP +when/S/WN +whence/S/WNS +whenever//WNF +whensoever//WNSF +where/MS/WR +whereabout/S/WRBT +whereas/S/WRS +whereat//WRT +whereby//WRB +where'd//WRT +wherefore/MS/WRFR +wherein//WRN +whereof//WRF +whereon//WRN +where're//WRR +wheresoever//WRSF +whereto//WRT +whereupon//WRPN +wherever//WRF +wherewith//WRW@ +wherewithal/SM/WRW@L +wherry/DSGM/WR +whet/S/WT +whether//W@ +whetstone/MS/WTSTN +whetted//WTT +whetting//WTN +whew/GSD/W +whey/MS/W +which//WX +whichever//WXF +whiff/GSMD/WF +whiffle/DRSG/WFL +whiffler/M/WFL +whiffletree/SM/WFLTR +whig/S/WK +Whig/SM/WK +while/GSD/WL +whilom//WLM +whilst//WLST +whim/SM/WM +whimmed//WMT +whimming//WMN +whimper/DSG/WMP +whimsey's//WMSS +whimsical/YP/WMSKL +whimsicality/MS/WMSKLT +whimsy/TMDRS/WMS +whine/GZMSRD/WN +whining/Y/WNN +whinny/GTDRS/WN +whiny/RT/WN +whip/SM/WP +whipcord/SM/WPKT +whiplash/SDMG/WPLX +Whippany/M/WPN +whipped//WPT +whipper/MS/WP +whippersnapper/MS/WPSNP +whippet/MS/WPT +whipping/SM/WPN +Whipple/M/WPL +whippletree/SM/WPLTR +whippoorwill/SM/WPWL +whips/M/WPS +whipsaw/GDMS/WPS +whir/SY/W +whirl/RDGS/WL +whirligig/MS/WLKK +whirlpool/MS/WLPL +whirlwind/MS/WLWNT +whirly/MS/WL +whirlybird/MS/WLBT +whirred//WRT +whirring//WRN +whisk/GZRDS/WSK +whisker/DM/WSK +whiskery//WSKR +whiskey/SM/WSK +whisper/GRDJZS/WSP +whisperer/M/WSPR +whispering/YM/WSPRN +whist/GDMS/WST +whistle/DRSZG/WSTL +whistleable//WSTLBL +whistler/M/WSTL +Whistler/M/WSTL +whistling/M/WSTLN +Whit/M/WT +whit/SJGTXMRND/WT +Whitaker/M/WTK +Whitby/M/WTB +Whitcomb/M/WTKM +White/MS/WT +white/PYS/WT +whitebait/M/WTBT +whitecap/MS/WTKP +whiteface/M/WTFS +Whitefield/M/WTFLT +whitefish/SM/WTFX +Whitehall/M/WTHL +Whitehead/M/WTHT +whitehead/S/WTHT +Whitehorse/M/WTHS +Whiteleaf/M/WTLF +Whiteley/M/WTL +whiten/JZDRG/WTN +whitener/M/WTN +whiteness/MS/WTNS +whitening/M/WTNN +whiteout/S/WTT +whitespace//WTSPS +whitetail/S/WTTL +whitewall/SM/WTWL +whitewash/GRSDM/WTWX +whitewater//WTWT +Whitewater/M/WTWT +whitey/MS/WT +Whitfield/M/WTFLT +whither/DGS/W@ +whitier//WT +whitiest//WTST +whiting/M/WTN +whitish//WTX +Whitley/M/WTL +Whitlock/M/WTLK +Whitman/M/WTMN +Whitney/M/WTN +Whitsunday/MS/WTSNT +Whittaker/M/WTK +whitter//WT +Whittier//WT +whittle/JDRSZG/WTL +whittler/M/WTL +whiz//WS +whizkid//WSKT +whizzbang/S/WSBNK +whizzed//WST +whizzes//WSS +whizzing//WSN +WHO//W +who/M/W +whoa/S/W +who'd//WT +whodunit/SM/WTNT +whoever//WF +whole/SP/WL +wholegrain//WLKRN +wholehearted/PY/WLHTT +wholeheartedness/MS/WLHTTNS +wholemeal//WLML +wholeness/S/WLNS +wholesale/GZMSRD/WLSL +wholesaler/M/WLSL +wholesome/UYP/WLSM +wholesomeness/USM/WLSMNS +wholewheat//WLHT +who'll//WL +wholly//WL +whom//WM +whomever//WMF +whomsoever//WMSF +whoop/SRDGZ/WP +whoopee/S/WP +whooper/M/WP +whoosh/DSGM/WX +whop//WP +whopper/MS/WP +whopping/S/WPN +who're//WR +whore/SDGM/WR +whorehouse/SM/WRHS +whoreish//WRX +whorish//WRX +whorl/SDM/WL +whose//WS +whoso//WS +whosoever//WSF +who've//WF +why//W +whys//WS +WI//W +Wiatt/M/WT +Wichita/M/WXT +wick/GZRDMS/WK +wicked/RYPT/WKT +wickedness/MS/WKTNS +wicker/M/WK +wickerwork/MS/WKWK +wicket/SM/WKT +wicketkeeper/SM/WKTKP +wicking/M/WKN +wide/RSYTP/WT +widemouthed//WTM@T +widen/SGZRD/WTN +widener/M/WTN +wideness/S/WTNS +widespread//WTSPRT +widgeon's//WKNS +widget/SM/WKT +widow/MRDSGZ/WT +widower/M/WTW +widowhood/S/WTHT +width/M/WT@ +widths//WT@S +widthwise//WT@WS +Wieland/M/WLNT +wield/GZRDS/WLT +wielder/M/WLT +Wiemar/M/WM +wiener/SM/WN +wienie/SM/WN +Wier/M/W +Wiesel/M/WSL +wife/DSMYG/WF +wifeless//WFLS +wifely/RPT/WFL +wig/MS/WK +wigeon/MS/WKN +wigged//WKT +wigging/M/WKN +Wiggins//WKNS +wiggle/RSDGZ/WKL +wiggler/M/WKL +wiggly/RT/WKL +wight/SGDM/WT +wiglet/S/WKLT +wigmaker//WKMK +Wigner/M/WKN +wigwag/S/WKWK +wigwagged//WKWKT +wigwagging//WKWKN +wigwam/MS/WKWM +Wilberforce/M/WLBFS +Wilbert/M/WLBT +Wilbur/M/WLB +Wilburn/M/WLBN +Wilburt/M/WLBT +Wilcox/M/WLKKS +wild/SPGTYRD/WLT +Wilda/M/WLT +wildcat/SM/WLTKT +wildcatted//WLTKTT +wildcatter/MS/WLTKT +wildcatting//WLTKTN +Wilde/MR/WLT +wildebeest/SM/WLTBST +Wilden/M/WLTN +Wilder/M/WLT +wilder/P/WLT +wilderness/SM/WLTNS +wildfire/MS/WLTFR +wildflower/S/WLTFLW +wildfowl/M/WLTFL +wilding/M/WLTN +wildlife/M/WLTLF +wildness/MS/WLTNS +Wildon/M/WLTN +wile/DSMG/WL +Wileen/M/WLN +Wilek/M/WLK +Wiley/M/WL +Wilford/M/WLFT +Wilfred/M/WLFRT +Wilfredo/M/WLFRT +Wilfrid/M/WLFRT +wilfulness's//WLFLNSS +Wilhelm/M/WLHLM +Wilhelmina/M/WLHLMN +Wilhelmine/M/WLHLMN +Wilie/M/WL +wilily//WLL +wiliness/MS/WLNS +Wilkerson/M/WLKSN +Wilkes/M/WLKS +Wilkins/M/WLKNS +Wilkinson/M/WLKNSN +Will/M/WL +will/SGJRD/WL +Willa/M/WL +Willabella/M/WLBL +Willamette/M/WLMT +Willamina/M/WLMN +Willard/M/WLT +Willcox/M/WLKKS +Willdon/M/WLTN +willed/U/WLT +Willem/M/WLM +Willemstad/M/WLMSTT +willer/M/WL +Willetta/M/WLT +Willette/M/WLT +Willey/M/WL +willful/YP/WLFL +willfulness/S/WLFLNS +Willi/MS/WL +William/SM/WLM +Williamsburg/M/WLMSBK +Williamson/M/WLMSN +Willie/M/WL +Willied/M/WLT +willies//WLS +willing/UYP/WLN +willinger//WLN +willingest//WLNST +willingness/US/WLNNS +willingness's//WLNNSS +Willisson/M/WLSN +williwaw/MS/WLW +Willoughby/M/WLB +Willow/M/WL +willow/RDMSG/WL +willower/M/WLW +willowy/TR/WL +willpower/MS/WLPW +Willy/SDM/WL +Willyt/M/WLT +Wilma/M/WLM +Wilmar/M/WLM +Wilmer/M/WLM +Wilmette/M/WLMT +Wilmington/M/WLMNTN +Wilona/M/WLN +Wilone/M/WLN +Wilow/M/WL +Wilshire/M/WLXR +Wilson/M/WLSN +Wilsonian//WLSNN +wilt/DGS/WLT +Wilt/M/WLT +Wilton/M/WLTN +wily/PTR/WL +Wimbledon/M/WMBLTN +wimp/GSMD/WMP +wimpish//WMPX +wimple/SDGM/WMPL +wimpy/RT/WMP +Win/M/WN +win/ZGDRS/WN +wince/SDG/WNS +winch/GRSDM/WNX +Winchell/M/WNXL +wincher/M/WNX +winchester/M/WNXST +Winchester/MS/WNXST +wind/USRZG/WNT +windbag/SM/WNTBK +windblown//WNTBLN +windbreak/MZSR/WNTBRK +windburn/GSMD/WNTBN +winded//WNTT +winder/UM/WNT +windfall/SM/WNTFL +windflower/MS/WNTFLW +Windham/M/WNTHM +Windhoek/M/WNTHK +windily//WNTL +windiness/SM/WNTNS +winding/MS/WNTN +windjammer/SM/WNTKM +windlass/GMSD/WNTLS +windless/YP/WNTLS +windmill/GDMS/WNTML +window/DMGS/WNT +windowless//WNTLS +windowpane/SM/WNTPN +Windows//WNTS +windowsill/SM/WNTSL +windpipe/SM/WNTPP +windproof//WNTPRF +windrow/GDMS/WNTR +wind's//WNTS +winds/A/WNTS +windscreen/MS/WNTSKRN +windshield/SM/WNTXLT +windsock/MS/WNTSK +Windsor/MS/WNTS +windstorm/MS/WNTSTM +windsurf/GZJSRD/WNTSF +windswept//WNTSWPT +windup/MS/WNTP +Windward/M/WNTWT +windward/SY/WNTWT +Windy/M/WNT +windy/TPR/WNT +wine/MS/WN +wineglass/SM/WNKLS +winegrower/SM/WNKRW +Winehead/M/WNHT +winemake//WNMK +winemaster//WNMST +winery/MS/WNR +Winesap/M/WNSP +wineskin/M/WNSKN +Winfield/M/WNFLT +Winfred/M/WNFRT +Winfrey/M/WNFR +wing/GZRDM/WN +wingback/M/WNBK +wingding/MS/WNTN +wingeing//WNN +winger/M/WN +wingless//WNLS +winglike//WNLK +wingman//WNMN +wingmen//WNMN +wingspan/SM/WNSPN +wingspread/MS/WNSPRT +wingtip/S/WNTP +Wini/M/WN +Winifield/M/WNFLT +Winifred/M/WNFRT +wink/GZRDS/WNK +winker/M/WNK +winking/U/WNKN +Winkle/M/WNKL +winkle/SDGM/WNKL +winless//WNLS +Winn/M/WN +Winna/M/WN +winnable//WNBL +Winnah/M/WN +Winne/M/WN +Winnebago/M/WNBK +winner/MS/WN +Winnetka/M/WNTK +Winni/M/WN +Winnie/M/WN +Winnifred/M/WNFRT +winning/SY/WNN +Winnipeg/M/WNPK +winnow/SZGRD/WN +Winny/M/WN +wino/MS/WN +Winograd/M/WNKRT +Winona/M/WNN +Winonah/M/WNN +Winooski/M/WNSK +Winsborough/M/WNSBR +Winsett/M/WNST +Winslow/M/WNSL +winsome/PRTY/WNSM +winsomeness/SM/WNSMNS +Winston/M/WNSTN +winter/SGRDYM/WNT +winterer/M/WNTR +wintergreen/SM/WNTKRN +winterize/GSD/WNTRS +Winters//WNTS +wintertime/MS/WNTTM +Winthrop/M/WN@RP +wintriness/M/WNTRNS +wintry/TPR/WNTR +winy/RT/WN +wipe/DRSZG/WP +wiper/M/WP +wire/UDA/WR +wirehair/MS/WRH +wireless/MSDG/WRLS +wireman/M/WRMN +wiremen//WRMN +wirer/M/WR +wire's//WRS +wires/A/WRS +wiretap/MS/WRTP +wiretapped//WRTPT +wiretapper/SM/WRTP +wiretapping//WRTPN +wiriness/S/WRNS +wiring/SM/WRN +wiry/RTP/WR +Wis/M/WS +Wisc//WSK +Wisconsin/M/WSKNSN +Wisconsinite/SM/WSKNSNT +wisdom/UM/WSTM +wisdoms//WSTMS +Wise/M/WS +wise/URTY/WS +wiseacre/MS/WSKR +wisecrack/GMRDS/WSKRK +wised//WST +wisely/TR/WSL +wiseness//WSNS +wisenheimer/M/WSNHM +Wisenheimer/M/WSNHM +wises//WSS +wish/GZSRD/WX +wishbone/MS/WXBN +wishful/PY/WXFL +wishfulness/M/WXFLNS +wishy//WX +wising//WSN +wisp/MDGS/WSP +wispy/RT/WSP +wist/DGS/WST +wisteria/SM/WSTR +wistful/PY/WSTFL +wistfulness/MS/WSTFLNS +Wit/M/WT +wit/PSM/WT +witch/SDMG/WX +witchcraft/SM/WXKRFT +witchdoctor/S/WXTKT +witchery/MS/WXR +with/GSRDZ/W@ +withal//W@L +withdraw/RGS/W@TR +withdrawal/MS/W@TRWL +withdrawer/M/W@TRW +withdrawn/P/W@TRN +withdrawnness/M/W@TRNS +withdrew//W@TR +withe/M/W@ +wither/GDJ/W@ +withering/Y/W@RN +Witherspoon/M/W@SPN +withheld//W@HLT +withhold/SJGZR/W@HLT +withholder/M/W@HLT +within/S/W@N +without/S/W@T +withs//W@S +withstand/SG/W@STNT +withstood//W@STT +witless/PY/WTLS +witlessness/MS/WTLSNS +witness/DSMG/WTNS +witnessed/U/WTNST +Witt/M/WT +witted//WTT +witter/G/WT +Wittgenstein/M/WTKNSTN +witticism/MS/WTSSM +Wittie/M/WT +wittily//WTL +wittiness/SM/WTNS +witting/UY/WTN +wittings//WTNS +Witty/M/WT +witty/RTP/WT +Witwatersrand/M/WTWTSRNT +wive/GDS/WF +wives/M/WFS +wizard/MYS/WST +wizardry/MS/WSTR +wizen/D/WSN +wiz's//WSS +wk/Y/K +Wm/M/M +WNW//N +woad/MS/WT +wobble/GSRD/WBL +wobbler/M/WBL +wobbliness/S/WBLNS +wobbly/PRST/WBL +Wodehouse/M/WTHS +woe/PSM/W +woebegone/P/WBKN +woeful/PY/WFL +woefuller//WFL +woefullest//WFLST +woefulness/SM/WFLNS +wok/SMN/WK +woke//WK +Wolcott/M/WLKT +wold/MS/WLT +Wolf/M/WLF +wolf/RDMGS/WLF +Wolfe/M/WLF +wolfer/M/WLF +Wolff/M/WLF +Wolfgang/M/WLFKNK +wolfhound/MS/WLFHNT +Wolfie/M/WLF +wolfish/YP/WLFX +wolfishness/M/WLFXNS +wolfram/MS/WLFRM +Wolfy/M/WLF +Wollongong/M/WLNKNK +Wollstonecraft/M/WLSTNKRFT +Wolsey/M/WLS +Wolverhampton/M/WLFHMPTN +wolverine/SM/WLFRN +Wolverton/M/WLFTN +wolves/M/WLFS +woman/GSMYD/WMN +womanhood/MS/WMNHT +womanish//WMNX +womanize/RSDZG/WMNS +womanized/U/WMNST +womanizer/M/WMNS +womanizes/U/WMNSS +womankind/M/WMNKNT +womanlike//WMNLK +womanliness/SM/WMNLNS +womanly/PRT/WMNL +womb/SDM/WM +wombat/MS/WMBT +women/MS/WMN +womenfolk/MS/WMNFLK +won/SG/WN +wonder/GLRDMS/WNT +wonderer/M/WNTR +wonderful/PY/WNTFL +wonderfulness/SM/WNTFLNS +wondering/Y/WNTRN +wonderland/SM/WNTLNT +wonderment/SM/WNTMNT +wondrous/YP/WNTRS +wondrousness/M/WNTRSNS +Wong/M/WNK +wonk/S/WNK +wonky/RT/WNK +wonned//WNT +wonning//WNN +won't//WNT +wont/SGMD/WNT +wonted/PUY/WNTT +wontedness/MU/WNTTNS +woo/DRZGS/W +Wood/SM/WT +wood/SMNDG/WT +Woodard/M/WTT +Woodberry/M/WTBR +woodbine/SM/WTBN +woodblock/S/WTBLK +Woodbury/M/WTBR +woodcarver/S/WTKF +woodcarving/MS/WTKFN +woodchopper/SM/WTXP +woodchuck/MS/WTXK +woodcock/MS/WTKK +woodcraft/MS/WTKRFT +woodcut/SM/WTKT +woodcutter/MS/WTKT +woodcutting/MS/WTKTN +wooden/TPRY/WTN +woodenness/SM/WTNS +woodgrain/G/WTKRN +woodhen//WTHN +Woodhull/M/WTHL +Woodie/M/WT +woodiness/MS/WTNS +woodland/SRM/WTLNT +Woodlawn/M/WTLN +woodlice//WTLS +woodlot/S/WTLT +woodlouse/M/WTLS +woodman/M/WTMN +Woodman/M/WTMN +woodmen//WTMN +woodpecker/SM/WTPK +woodpile/SM/WTPL +Woodrow/M/WTR +woodruff/M/WTRF +woods/R/WTS +woodshed/SM/WTXT +woodshedded//WTXTT +woodshedding//WTXTN +woodside//WTST +woodsman/M/WTSMN +woodsmen//WTSMN +woodsmoke//WTSMK +Woodstock/M/WTSTK +woodsy/TRP/WTS +Woodward/MS/WTWT +woodwind/S/WTWNT +woodwork/SMRGZJ/WTWK +woodworker/M/WTWK +woodworking/M/WTWKN +woodworm/M/WTWM +Woody/M/WT +woody/TPSR/WT +woodyard//WTYT +woof/SRDMGZ/WF +woofer/M/WF +wool/SMYNDX/WL +Woolf/M/WLF +woolgather/RGJ/WLK@ +woolgatherer/M/WLK@R +woolgathering/M/WLK@RN +woolliness/MS/WLNS +woolly/RSPT/WL +Woolongong/M/WLNKNK +Woolworth/M/WLW@ +Woonsocket/M/WNSKT +Wooster/M/WST +Wooten/M/WTN +woozily//WSL +wooziness/MS/WSNS +woozy/RTP/WS +wop/MS/WP +Worcester/SM/WSST +Worcestershire/M/WSSTXR +word/AGSJD/WT +wordage/SM/WTK +wordbook/MS/WTBK +Worden/M/WTN +wordily//WTL +wordiness/SM/WTNS +wording/AM/WTN +wordless/Y/WTLS +wordplay/SM/WTPL +word's//WTS +Wordsworth/M/WTSW@ +wordy/TPR/WT +wore//WR +work/GZJSRDMB/WK +workability/U/WKBLT +workability's//WKBLTS +workable/U/WKBL +workableness/M/WKBLNS +workably//WKBL +workaday//WKT +workaholic/S/WKHLK +workaround/SM/WKRNT +workbench/MS/WKBNX +workbook/SM/WKBK +workday/SM/WKT +worked/A/WKT +worker/M/WK +workfare/S/WKFR +workforce/S/WKFS +workhorse/MS/WKHS +workhouse/SM/WKHS +working/M/WKN +workingman/M/WKNMN +workingmen//WKNMN +workingwoman/M/WKNWMN +workingwomen//WKNWMN +workload/SM/WKLT +Workman/M/WKMN +workman/MY/WKMN +workmanlike//WKMNLK +workmanship/MS/WKMNXP +workmate/S/WKMT +workmen/M/WKMN +workout/SM/WKT +workpiece/SM/WKPS +workplace/SM/WKPLS +workroom/MS/WKRM +works/A/WKS +worksheet/S/WKXT +workshop/MS/WKXP +workspace/S/WKSPS +workstation/MS/WKSTXN +worktable/SM/WKTBL +worktop/S/WKTP +workup/S/WKP +workweek/SM/WKWK +world/ZSYM/WLT +worldlier//WLTL +worldliest//WLTLST +worldliness/USM/WLTLNS +worldly/UP/WLTL +worldwide//WLTWT +worm/SGMRD/WM +wormer/M/WM +wormhole/SM/WMHL +Worms/M/WMS +wormwood/SM/WMWT +wormy/RT/WM +worn/U/WN +worried/Y/WRT +worrier/M/WR +worriment/MS/WRMNT +worrisome/YP/WRSM +worry/ZGSRD/WR +worrying/Y/WRYN +worrywart/SM/WRWT +worse/SR/WS +worsen/GSD/WSN +worship/ZDRGS/WXP +worshiper/M/WXP +worshipful/YP/WXPFL +worshipfulness/M/WXPFLNS +worst/SGD/WST +worsted/MS/WSTT +wort/SM/WT +worth/DG/W@ +Worth/M/W@ +worthily/U/W@L +worthiness/SM/W@NS +worthinesses/U/W@NSS +Worthington/M/W@NTN +worthless/PY/W@LS +worthlessness/SM/W@LSNS +worths//W@S +worthwhile/P/W@HL +Worthy/M/W@ +worthy/UTSRP/W@ +wost//WST +wot//WT +Wotan/M/WTN +would/S/WLT +wouldn't//WLTNT +wouldst//WLTST +would've//WLTF +wound/AU/WNT +wounded/U/WNTT +wounder//WNT +wounding//WNTN +wounds//WNTS +wound's//WNTS +wove/A/WF +woven/AU/WFN +wovens//WFNS +wow/SDG/W +Wozniak/M/WSNK +WP//P +wpm//PM +wrack/SGMD/RK +wraith/M/R@ +wraiths//R@S +Wrangell/M/RNKL +wrangle/GZDRS/RNKL +wrangler/M/RNKL +wrap/MS/RP +wraparound/S/RPRNT +wrapped/U/RPT +wrapper/MS/RP +wrapping/SM/RPN +wraps/U/RPS +wrasse/SM/RS +wrath/GDM/R@ +wrathful/YP/R@FL +wraths//R@S +wreak/SDG/RK +wreath/GMDS/R@ +wreathe//R@ +wreaths//R@S +wreck/GZRDS/RK +wreckage/MS/RKK +wrecker/M/RK +wren/MS/RN +Wren/MS/RN +wrench/MDSG/RNX +wrenching/Y/RNXN +Wrennie/M/RN +wrest/SRDG/RST +wrester/M/RST +wrestle/JGZDRS/RSTL +wrestler/M/RSTL +wrestling/M/RSTLN +wretch/MDS/RX +wretched/TPYR/RXT +wretchedness/SM/RXTNS +wriggle/DRSGZ/RKL +wriggler/M/RKL +wriggly/RT/RKL +Wright/M/RT +wright/MS/RT +Wrigley/M/RKL +wring/GZRS/RN +wringer/M/RN +wrinkle/GMDS/RNKL +wrinkled/U/RNKLT +wrinkly/RST/RNKL +wrist/MS/RST +wristband/SM/RSTBNT +wristwatch/MS/RSTWX +writ/MRSBJGZ/RT +writable/U/RTBL +write/ASBRJG/RT +writer/MA/RT +writeup//RTP +writhe/SDG/R@ +writing/M/RTN +written/UA/RTN +Wroclaw//RKL +wrong/PSGTYRD/RNK +wrongdoer/MS/RNKT +wrongdoing/MS/RNKTN +wronger/M/RNK +wrongful/PY/RNKFL +wrongfulness/MS/RNKFLNS +wrongheaded/PY/RNKTT +wrongheadedness/MS/RNKTTNS +wrongness/MS/RNKNS +Wronskian/M/RNSKN +wrote/A/RT +wroth//R@ +wrought/I/RT +wrung//RNK +wry/DSGY/R +wryer//RY +wryest//RYST +wryness/SM/RNS +W's//S +WSW//S +wt//T +Wu/M/W +Wuhan/M/WHN +Wurlitzer/M/WLTS +wurst/SM/WST +wuss/S/WS +wussy/TRS/WS +WV//F +WW +WWI//W +WWII//W +WWW +WY +Wyatan/M/YTN +Wyatt/M/YT +Wycherley/M/XL +Wycliffe/M/KLF +Wye/MH/Y +Wyeth/M/Y@ +Wylie/M/L +Wylma/M/LM +Wyman/M/MN +Wyn/M/N +Wyndham/M/NTHM +Wynn/M/N +Wynne/M/N +Wynnie/M/N +Wynny/M/N +Wyo/M/Y +Wyoming/M/YMN +Wyomingite/SM/YMNT +WYSIWYG//SK +x//S +X//S +Xanadu//SNT +Xanthippe/M/SN@P +Xanthus/M/SN@S +Xavier/M/SF +Xaviera/M/SFR +Xe/M/S +Xebec/M/SBK +XEmacs/M/SMKS +Xena/M/SN +Xenakis/M/SNKS +Xenia/M/SN +Xenix/M/SNKS +xenon/SM/SNN +xenophobe/MS/SNFB +xenophobia/SM/SNFB +xenophobic//SNFBK +Xenophon/M/SNFN +Xenos//SNS +xerographic//SRKRFK +xerography/MS/SRKRF +xerox/GSD/SRKS +Xerox/MGSD/SRKS +Xerxes/M/SKSS +Xever/M/SF +Xhosa/M/SHS +xi/M/S +Xi'an//SN +Xian/S/SN +Xiaoping/M/SPN +xii//S +xiii//S +Ximenes/M/SMNS +Ximenez/M/SMNS +Xingu/M/SN +xis//SS +xiv//SF +xix//SKS +XL//SL +Xmas/SM/SMS +XML//SML +Xochipilli/M/SXPL +XOR//S +X's//SS +XS//SS +xterm/M/STM +Xuzhou/M/SSH +xv//SF +xvi//SF +xvii//SF +xviii//SF +xx//SKS +XXL//SKSL +xylem/SM/SLM +xylene/M/SLN +Xylia/M/SL +Xylina/M/SLN +xylophone/MS/SLFN +xylophonist/S/SLFNST +Xymenes/M/SMNS +Y +y/F +ya//Y +yacc/M/YK +Yacc/M/YK +yacht/ZGJSDM/YXT +yachting/M/YXTN +yachtsman//YXTSMN +yachtsmen//YXTSMN +yachtswoman/M/YXTSWMN +yachtswomen//YXTSWMN +yack's//YKS +Yagi/M/YK +yahoo/MS/YH +Yahweh/M/YW +yak/SM/YK +Yakima/M/YKM +yakked//YKT +yakking//YKN +Yakut/M/YKT +Yakutsk/M/YKTSK +Yale/M/YL +Yalies/M/YLS +y'all//L +Yalonda/M/YLNT +Yalow/M/YL +Yalta/M/YLT +Yalu/M/YL +yam/SM/YM +Yamaha/M/YMH +yammer/RDZGS/YM +Yamoussoukro//YMSKR +Yanaton/M/YNTN +Yance/M/YNS +Yancey/M/YNS +Yancy/M/YNS +Yang/M/YNK +yang/S/YNK +Yangon//YNKN +Yangtze/M/YNKTS +yank/GDS/YNK +Yank/MS/YNK +Yankee/SM/YNK +Yaounde/M/YNT +yap/S/YP +yapped//YPT +yapping//YPN +Yaqui/M/YK +Yard/M/YT +yard/SMDG/YT +yardage/SM/YTK +yardarm/SM/YTM +Yardley/M/YTL +yardman/M/YTMN +yardmaster/S/YTMST +yardmen//YTMN +yardstick/SM/YTSTK +yarmulke/SM/YMLK +yarn/SGDM/YN +Yaroslavl/M/YRSLFL +yarrow/MS/YR +Yasmeen/M/YSMN +Yasmin/M/YSMN +Yates//YTS +yaw/DSG/Y +yawl/SGMD/YL +yawn/GZSDR/YN +yawner/M/YN +yawning/Y/YNN +Yb/M/B +yd//T +ye/T/Y +yea/S/Y +Yeager/M/YK +yeah//Y +yeahs//YS +year/YMS/Y +yearbook/SM/YBK +yearling/M/YLN +yearlong//YLNK +yearly/S/YL +yearn/JSGRD/YN +yearner/M/YN +yearning/MY/YNN +yeast/SGDM/YST +yeastiness/M/YSTNS +yeasty/PTR/YST +Yeats/M/YTS +yecch//YX +yegg/MS/YK +Yehudi/M/YHT +Yehudit/M/YHTT +Yekaterinburg/M/YKTRNBK +Yelena/M/YLN +yell/GSDR/YL +yellow/TGPSRDM/YL +yellowhammers//YLHMS +yellowish//YLWX +Yellowknife/M/YLKNF +yellowness/MS/YLNS +Yellowstone/M/YLSTN +yellowy//YL +yelp/GSDR/YLP +yelper/M/YLP +Yeltsin//YLTSN +Yemen/M/YMN +Yemeni/S/YMN +Yemenite/SM/YMNT +yen/SM/YN +Yenisei/M/YNS +yenned//YNT +yenning//YNN +Yentl/M/YNTL +yeoman/YM/YMN +yeomanry/MS/YMNR +yeomen//YMN +yep/S/YP +Yerevan/M/YRFN +Yerkes/M/YKS +yes/S/YS +Yesenia/M/YSN +yeshiva/SM/YXF +yessed//YST +yessing//YSN +yesterday/MS/YSTT +yesteryear/SM/YSTRY +yet//YT +yeti/SM/YT +Yetta/M/YT +Yettie/M/YT +Yetty/M/YT +Yevette/M/YFT +Yevtushenko/M/YFTXNK +yew/SM/Y +Yggdrasil/M/KTRSL +Yiddish/M/YTX +yield/JGRDS/YLT +yielded/U/YLTT +yielding/U/YLTN +yikes//YKS +yin/S/YN +yip/S/YP +yipe/S/YP +yipped//YPT +yippee/S/YP +yipping//YPN +YMCA//MK +YMHA//MH +Ymir/M/M +YMMV//MF +Ynes/M/NS +Ynez/M/NS +yo//Y +Yoda/M/YT +yodel/SZRDG/YTL +yodeler/M/YTL +Yoder/M/YT +yoga/MS/YK +yoghurt's//YKTS +yogi/MS/YK +yogurt/SM/YKT +yoke/DSMG/YK +yoked/U/YKT +yokel/SM/YKL +yokes/U/YKS +yoking/U/YKN +Yoknapatawpha/M/YKNPTF +Yoko/M/YK +Yokohama/M/YKHM +Yolanda/M/YLNT +Yolande/M/YLNT +Yolane/M/YLN +Yolanthe/M/YLN@ +yolk/DMS/YLK +yon//YN +yonder//YNT +Yong/M/YNK +Yonkers/M/YNKS +yore/MS/YR +Yorgo/MS/YK +Yorick/M/YRK +York/ZRMS/YK +Yorke/M/YK +Yorker/M/YK +yorker/SM/YK +Yorkshire/MS/YKXR +Yorktown/M/YKTN +Yoruba/M/YRB +Yosemite/M/YSMT +Yoshi/M/YX +Yoshiko/M/YXK +Yost/M/YST +you/SH/Y +you'd//YT +you'll//YL +Young/M/YNK +young/TRYP/YNK +youngish//YNKX +youngster/MS/YNKST +Youngstown/M/YNKSTN +your/MS/Y +you're//YR +yourself//YSLF +yourselves//YSLFS +youth/SM/Y@ +youthful/YP/Y@FL +youthfulness/SM/Y@FLNS +youths//Y@S +you've//YF +Yovonnda/M/YFNT +yow//Y +yowl/GSD/YL +Ypres/M/PRS +Ypsilanti/M/PSLNT +yr//R +yrs//RS +Y's//S +Ysabel/M/SBL +YT//T +ytterbium/MS/TBM +yttrium/SM/TRM +yuan/M/YN +Yuba/M/YB +Yucatan//YKTN +yucca/MS/YK +yuck/GSD/YK +yucky/RT/YK +Yugo/M/YK +Yugoslav/M/YKSLF +Yugoslavia/M/YKSLF +Yugoslavian/S/YKSLFN +Yuh/M/Y +yuk/S/YK +Yuki/M/YK +yukked//YKT +yukking//YKN +Yukon/M/YKN +Yul/M/YL +yule/MS/YL +Yule/MS/YL +yuletide/MS/YLTT +Yuletide/S/YLTT +Yulma/M/YLM +yum//YM +Yuma/M/YM +yummy/TRS/YM +Yunnan/M/YNN +yup/S/YP +yuppie/SM/YP +Yuri/M/YR +Yurik/M/YRK +yurt/SM/YT +Yves/M/FS +Yvette/M/FT +Yvon/M/FN +Yvonne/M/FN +Yvor/M/F +YWCA//K +YWHA//H +z/TGJ/S +Z/X/S +Zabrina/M/SBRN +Zaccaria/M/SKR +Zach/M/SX +Zacharia/SM/SXR +Zachariah/M/SXR +Zacharie/M/SXR +Zachary/M/SXR +Zacherie/M/SXR +Zachery/M/SXR +Zack/M/SK +Zackariah/M/SKR +zag/S/SK +zagging//SKN +Zagreb/M/SKRB +Zahara/M/SHR +Zaire/M/SR +Zairian/S/SRN +Zak/M/SK +Zambezi/M/SMBS +Zambia/M/SMB +Zambian/S/SMBN +Zamboni//SMBN +Zamenhof/M/SMNHF +Zamora/M/SMR +Zan/M/SN +Zandra/M/SNTR +Zane/M/SN +Zaneta/M/SNT +zaniness/MS/SNNS +Zanuck/M/SNK +zany/PDSRTG/SN +Zanzibar/M/SNSB +zap/S/SP +Zapata/M/SPT +Zaporozhye/M/SPRSHY +Zappa/M/SP +zapped//SPT +zapper/S/SP +zapping//SPN +Zara/M/SR +Zarah/M/SR +Zared/M/SRT +Zaria/M/SR +Zarla/M/SL +Zea/M/S +zeal/MS/SL +Zealand/M/SLNT +zealot/MS/SLT +zealotry/MS/SLTR +zealous/YP/SLS +zealousness/SM/SLSNS +Zeb/M/SB +Zebadiah/M/SBT +Zebedee/M/SBT +zebra/MS/SBR +zebu/SM/SB +Zebulen/M/SBLN +Zebulon/M/SBLN +Zechariah/M/SXR +Zed/M/ST +zed/SM/ST +Zedekiah/M/STK +Zedong/M/STNK +Zeffirelli/M/SFRL +Zeiss/M/SS +zeitgeist/S/STKST +Zeke/M/SK +Zelda/M/SLT +Zelig/M/SLK +Zellerbach/M/SLBX +Zelma/M/SLM +Zen/M/SN +Zena/M/SN +Zenger/M/SNK +Zenia/M/SN +zenith/M/SN@ +zeniths//SN@S +Zennist/M/SNST +Zeno/M/SN +Zephaniah/M/SFN +zephyr/MS/SFR +Zephyrus/M/SFRS +zeppelin/SM/SPLN +Zeppelin's//SPLNS +Zerk/M/SK +zero/SDHMG/SR +zeroed/M/SRT +zeroing/M/SRN +zest/MDSG/SST +zestful/YP/SSTFL +zestfulness/MS/SSTFLNS +zesty/RT/SST +zeta/SM/ST +zeugma/M/SKM +Zeus/M/SS +Zhdanov/M/SHTNF +Zhengzhou//SHNKSH +Zhivago/M/SHFK +Zhukov/M/SHKF +Zia/M/S +Zibo/M/SB +Ziegfeld/MS/SKFLT +Ziegler/M/SKL +zig//SK +zigged//SKT +zigging//SKN +Ziggy/M/SK +zigzag/MS/SKSK +zigzagged//SKSKT +zigzagger//SKSK +zigzagging//SKSKN +zilch/S/SLX +zillion/MS/SLN +Zilvia/M/SLF +Zimbabwe/M/SMBBW +Zimbabwean/S/SMBBWN +Zimmerman/M/SMMN +zinc/MS/SNK +zincked//SNKT +zincking//SNKN +zing/GZDRM/SN +zingy/RT/SN +zinnia/SM/SN +Zion/SM/SN +Zionism/MS/SNSM +Zionist/MS/SNST +zip/MS/SP +zipped/U/SPT +zipper/GSDM/SP +zipping/U/SPN +zippy/RT/SP +zips/U/SPS +zircon/SM/SKN +zirconium/MS/SKNM +zit/S/ST +Zita/M/ST +Zitella/M/STL +zither/SM/S@ +zloty/SM/SLT +Zn/M/SN +zodiac/SM/STK +zodiacal//STKL +Zoe/M/S +Zola/M/SL +Zollie/M/SL +Zolly/M/SL +Zomba/M/SMB +zombie/SM/SMB +zombi's//SMBS +zonal/Y/SNL +Zonda/M/SNT +Zondra/M/SNTR +zone/MYDSRJG/SN +zoned/A/SNT +zones/A/SNS +zoning/A/SNN +zonked//SNKT +Zonnya/M/SNY +zoo/SM/S +zookeepers//SKPS +zoological/Y/SLKKL +zoologist/SM/SLKST +zoology/MS/SLK +zoom/DGS/SM +zoophyte/SM/SFT +zoophytic//SFTK +Zora/M/SR +Zorah/M/SR +Zorana/M/SRN +Zorina/M/SRN +Zorine/M/SRN +Zorn/M/SN +Zoroaster/M/SRST +Zoroastrian/S/SRSTRN +Zoroastrianism/MS/SRSTRNSM +Zorro/M/SR +Zosma/M/SSM +zounds/S/SNTS +Zr/M/SR +Zs//SS +Zsazsa/M/SSSS +Zsigmondy/M/SSKMNT +Zubenelgenubi/M/SBNLKNB +Zubeneschamali/M/SBNSXML +zucchini/SM/SXN +Zukor/M/SK +Zulema/M/SLM +Zulu/MS/SL +Zululand/M/SLLNT +Zuni/S/SN +Zürich/M/SRX +Zuzana/M/SSN +zwieback/MS/SWBK +Zwingli/M/SWNL +Zworykin/M/SWRKN +zydeco/S/STK +zygote/SM/SKT +zygotic//SKTK +zymurgy/S/SMK diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.Designer.vb new file mode 100644 index 0000000..31d181d --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.Designer.vb @@ -0,0 +1,141 @@ + _ +Partial Class frmKdVermerkAdd + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKdVermerkAdd)) + Me.btnHinzufugen = New System.Windows.Forms.Button() + Me.Label7 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.pnl = New System.Windows.Forms.Panel() + Me.lblSB = New System.Windows.Forms.Label() + Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.pnl.SuspendLayout() + Me.SuspendLayout() + ' + 'btnHinzufugen + ' + Me.btnHinzufugen.Cursor = System.Windows.Forms.Cursors.Default + Me.btnHinzufugen.DialogResult = System.Windows.Forms.DialogResult.OK + Me.btnHinzufugen.Location = New System.Drawing.Point(282, 96) + Me.btnHinzufugen.Name = "btnHinzufugen" + Me.btnHinzufugen.Size = New System.Drawing.Size(75, 23) + Me.btnHinzufugen.TabIndex = 30 + Me.btnHinzufugen.Text = "Hinzufügen" + Me.btnHinzufugen.UseVisualStyleBackColor = True + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(9, 17) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(81, 13) + Me.Label7.TabIndex = 28 + Me.Label7.Text = "Neuer Vermerk:" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(210, 17) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(23, 13) + Me.Label1.TabIndex = 32 + Me.Label1.Text = "Art:" + ' + 'pnl + ' + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.lblSB) + Me.pnl.Controls.Add(Me.Label7) + Me.pnl.Controls.Add(Me.Label1) + Me.pnl.Controls.Add(Me.MyTextBox1) + Me.pnl.Controls.Add(Me.MyComboBox1) + Me.pnl.Controls.Add(Me.btnHinzufugen) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(372, 124) + Me.pnl.TabIndex = 33 + ' + 'lblSB + ' + Me.lblSB.AutoSize = True + Me.lblSB.Location = New System.Drawing.Point(12, 102) + Me.lblSB.Name = "lblSB" + Me.lblSB.Size = New System.Drawing.Size(10, 13) + Me.lblSB.TabIndex = 33 + Me.lblSB.Text = "-" + ' + 'MyTextBox1 + ' + Me.MyTextBox1._numbersOnly = False + Me.MyTextBox1._Prozent = False + Me.MyTextBox1._ShortDateNew = False + Me.MyTextBox1._TimeOnly = False + Me.MyTextBox1._value = Nothing + Me.MyTextBox1._Waehrung = False + Me.MyTextBox1.ForeColor = System.Drawing.Color.Black + Me.MyTextBox1.Location = New System.Drawing.Point(12, 35) + Me.MyTextBox1.MaxLength = 5000 + Me.MyTextBox1.MaxLineLength = -1 + Me.MyTextBox1.MaxLines_Warning = "" + Me.MyTextBox1.MaxLines_Warning_Label = Nothing + Me.MyTextBox1.Multiline = True + Me.MyTextBox1.Name = "MyTextBox1" + Me.MyTextBox1.Size = New System.Drawing.Size(345, 61) + Me.MyTextBox1.TabIndex = 29 + ' + 'MyComboBox1 + ' + Me.MyComboBox1._allowedValuesFreiText = Nothing + Me.MyComboBox1._allowFreiText = False + Me.MyComboBox1._value = "" + Me.MyComboBox1.FormattingEnabled = True + Me.MyComboBox1.Location = New System.Drawing.Point(239, 14) + Me.MyComboBox1.Name = "MyComboBox1" + Me.MyComboBox1.Size = New System.Drawing.Size(118, 21) + Me.MyComboBox1.TabIndex = 31 + ' + 'frmKdVermerkAdd + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(372, 124) + Me.Controls.Add(Me.pnl) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmKdVermerkAdd" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Vermerk" + Me.pnl.ResumeLayout(False) + Me.pnl.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents btnHinzufugen As System.Windows.Forms.Button + Friend WithEvents MyTextBox1 As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents MyComboBox1 As VERAG_PROG_ALLGEMEIN.MyComboBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents pnl As System.Windows.Forms.Panel + Friend WithEvents lblSB As System.Windows.Forms.Label +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.resx b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.resx new file mode 100644 index 0000000..d584bd9 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.resx @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.vb new file mode 100644 index 0000000..49595ba --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmKdVermerkAdd.vb @@ -0,0 +1,34 @@ +Public Class frmKdVermerkAdd + Public KdNr As Integer + Public art As String + + Sub New(KdNr, art) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.KdNr = KdNr + Me.art = art + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub btnHinzufugen_Click(sender As Object, e As EventArgs) Handles btnHinzufugen.Click + If MyTextBox1.Text = "" Then Me.DialogResult = Windows.Forms.DialogResult.None : Exit Sub + cKundenVermerke.INSERT(KdNr, MyComboBox1._value, MyTextBox1.Text) + End Sub + + Private Sub frmKdVermerkAdd_Load(sender As Object, e As EventArgs) Handles Me.Load + lblSB.Text = cAllgemein.USRKURZNAME + + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL", "ZOLL")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLLTARIF", "ZOLLTARIF")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERRECHNUNG", "VERRECHNUNG")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("BUCHHALTUNG", "BUCHHALTUNG")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FISKAL", "FISKAL")) + MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("QUICKSTOP", "QUICKSTOP")) + MyComboBox1.SelectedIndex = 0 + If art <> "" Then + MyComboBox1.changeItem(art) + MyComboBox1.Enabled = False + End If + End Sub +End Class \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmScan.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.Designer.vb new file mode 100644 index 0000000..81a51c3 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.Designer.vb @@ -0,0 +1,538 @@ + _ +Partial Class frmScan + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmScan)) + Me.dsViewer = New Dynamsoft.Forms.DSViewer() + Me.btn = New System.Windows.Forms.Button() + Me.btnScan = New System.Windows.Forms.Button() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.chkMultiPage = New System.Windows.Forms.CheckBox() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.lblDateiname = New System.Windows.Forms.Label() + Me.rdbtnJPG = New System.Windows.Forms.RadioButton() + Me.rdbtnBMP = New System.Windows.Forms.RadioButton() + Me.rdbtnPNG = New System.Windows.Forms.RadioButton() + Me.rdbtnPDF = New System.Windows.Forms.RadioButton() + Me.rdbtnTIFF = New System.Windows.Forms.RadioButton() + Me.cboSource = New System.Windows.Forms.ComboBox() + Me.rdbtnRGB = New System.Windows.Forms.RadioButton() + Me.rdbtnGray = New System.Windows.Forms.RadioButton() + Me.rdbtnBW = New System.Windows.Forms.RadioButton() + Me.grpFarbe = New System.Windows.Forms.GroupBox() + Me.grpTyp = New System.Windows.Forms.GroupBox() + Me.tbxSaveFileName = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.cboResolution = New System.Windows.Forms.ComboBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.chkShowUI = New System.Windows.Forms.CheckBox() + Me.Button5 = New System.Windows.Forms.Button() + Me.Button6 = New System.Windows.Forms.Button() + Me.Button4 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() + Me.Label3 = New System.Windows.Forms.Label() + Me.cbxEinzug = New System.Windows.Forms.CheckBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.tbxCurrentImageIndex = New System.Windows.Forms.Label() + Me.tbxTotalImageNum = New System.Windows.Forms.Label() + Me.pnl = New System.Windows.Forms.Panel() + Me.UsrcntlPDFScan1 = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScan() + Me.grpFarbe.SuspendLayout() + Me.grpTyp.SuspendLayout() + Me.pnl.SuspendLayout() + Me.SuspendLayout() + ' + 'dsViewer + ' + Me.dsViewer.BorderStyle = Dynamsoft.Forms.Enums.EnumWndBorderStyle.SingleFlat + Me.dsViewer.Location = New System.Drawing.Point(8, 11) + Me.dsViewer.Name = "dsViewer" + Me.dsViewer.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.dsViewer.SelectionRectAspectRatio = 0R + Me.dsViewer.Size = New System.Drawing.Size(463, 626) + Me.dsViewer.TabIndex = 0 + ' + 'btn + ' + Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btn.Location = New System.Drawing.Point(477, 589) + Me.btn.Name = "btn" + Me.btn.Size = New System.Drawing.Size(254, 48) + Me.btn.TabIndex = 1 + Me.btn.Text = "Speichern" + Me.btn.UseVisualStyleBackColor = True + ' + 'btnScan + ' + Me.btnScan.Enabled = False + Me.btnScan.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnScan.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnScan.Location = New System.Drawing.Point(477, 132) + Me.btnScan.Name = "btnScan" + Me.btnScan.Size = New System.Drawing.Size(254, 59) + Me.btnScan.TabIndex = 2 + Me.btnScan.Text = "SCAN" + Me.btnScan.UseVisualStyleBackColor = True + ' + 'chkMultiPage + ' + Me.chkMultiPage.AutoSize = True + Me.chkMultiPage.Checked = True + Me.chkMultiPage.CheckState = System.Windows.Forms.CheckState.Checked + Me.chkMultiPage.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.chkMultiPage.Location = New System.Drawing.Point(1, 40) + Me.chkMultiPage.Name = "chkMultiPage" + Me.chkMultiPage.Size = New System.Drawing.Size(94, 17) + Me.chkMultiPage.TabIndex = 3 + Me.chkMultiPage.Text = "MultiPagePDF" + Me.chkMultiPage.UseVisualStyleBackColor = True + ' + 'Button2 + ' + Me.Button2.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxRotateLeft_Enter + Me.Button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button2.FlatAppearance.BorderSize = 0 + Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button2.Location = New System.Drawing.Point(8, 643) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(50, 30) + Me.Button2.TabIndex = 4 + Me.Button2.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxRotateRight_Enter + Me.Button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button3.FlatAppearance.BorderSize = 0 + Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button3.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button3.Location = New System.Drawing.Point(57, 643) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(50, 30) + Me.Button3.TabIndex = 5 + Me.Button3.UseVisualStyleBackColor = True + ' + 'lblDateiname + ' + Me.lblDateiname.AutoSize = True + Me.lblDateiname.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDateiname.Location = New System.Drawing.Point(473, 566) + Me.lblDateiname.Name = "lblDateiname" + Me.lblDateiname.Size = New System.Drawing.Size(61, 13) + Me.lblDateiname.TabIndex = 7 + Me.lblDateiname.Text = "Dateiname:" + ' + 'rdbtnJPG + ' + Me.rdbtnJPG.AutoSize = True + Me.rdbtnJPG.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnJPG.Location = New System.Drawing.Point(49, 17) + Me.rdbtnJPG.Name = "rdbtnJPG" + Me.rdbtnJPG.Size = New System.Drawing.Size(45, 17) + Me.rdbtnJPG.TabIndex = 8 + Me.rdbtnJPG.Text = "JPG" + Me.rdbtnJPG.UseVisualStyleBackColor = True + ' + 'rdbtnBMP + ' + Me.rdbtnBMP.AutoSize = True + Me.rdbtnBMP.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnBMP.Location = New System.Drawing.Point(96, 17) + Me.rdbtnBMP.Name = "rdbtnBMP" + Me.rdbtnBMP.Size = New System.Drawing.Size(48, 17) + Me.rdbtnBMP.TabIndex = 8 + Me.rdbtnBMP.Text = "BMP" + Me.rdbtnBMP.UseVisualStyleBackColor = True + ' + 'rdbtnPNG + ' + Me.rdbtnPNG.AutoSize = True + Me.rdbtnPNG.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnPNG.Location = New System.Drawing.Point(146, 17) + Me.rdbtnPNG.Name = "rdbtnPNG" + Me.rdbtnPNG.Size = New System.Drawing.Size(48, 17) + Me.rdbtnPNG.TabIndex = 8 + Me.rdbtnPNG.Text = "PNG" + Me.rdbtnPNG.UseVisualStyleBackColor = True + ' + 'rdbtnPDF + ' + Me.rdbtnPDF.AutoSize = True + Me.rdbtnPDF.Checked = True + Me.rdbtnPDF.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnPDF.Location = New System.Drawing.Point(1, 17) + Me.rdbtnPDF.Name = "rdbtnPDF" + Me.rdbtnPDF.Size = New System.Drawing.Size(46, 17) + Me.rdbtnPDF.TabIndex = 8 + Me.rdbtnPDF.TabStop = True + Me.rdbtnPDF.Text = "PDF" + Me.rdbtnPDF.UseVisualStyleBackColor = True + ' + 'rdbtnTIFF + ' + Me.rdbtnTIFF.AutoSize = True + Me.rdbtnTIFF.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnTIFF.Location = New System.Drawing.Point(196, 17) + Me.rdbtnTIFF.Name = "rdbtnTIFF" + Me.rdbtnTIFF.Size = New System.Drawing.Size(47, 17) + Me.rdbtnTIFF.TabIndex = 8 + Me.rdbtnTIFF.Text = "TIFF" + Me.rdbtnTIFF.UseVisualStyleBackColor = True + ' + 'cboSource + ' + Me.cboSource.FormattingEnabled = True + Me.cboSource.Location = New System.Drawing.Point(477, 105) + Me.cboSource.Name = "cboSource" + Me.cboSource.Size = New System.Drawing.Size(254, 21) + Me.cboSource.TabIndex = 9 + ' + 'rdbtnRGB + ' + Me.rdbtnRGB.AutoSize = True + Me.rdbtnRGB.Checked = True + Me.rdbtnRGB.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnRGB.Location = New System.Drawing.Point(2, 20) + Me.rdbtnRGB.Name = "rdbtnRGB" + Me.rdbtnRGB.Size = New System.Drawing.Size(48, 17) + Me.rdbtnRGB.TabIndex = 8 + Me.rdbtnRGB.TabStop = True + Me.rdbtnRGB.Text = "RGB" + Me.rdbtnRGB.UseVisualStyleBackColor = True + ' + 'rdbtnGray + ' + Me.rdbtnGray.AutoSize = True + Me.rdbtnGray.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnGray.Location = New System.Drawing.Point(50, 20) + Me.rdbtnGray.Name = "rdbtnGray" + Me.rdbtnGray.Size = New System.Drawing.Size(48, 17) + Me.rdbtnGray.TabIndex = 8 + Me.rdbtnGray.Text = "Grau" + Me.rdbtnGray.UseVisualStyleBackColor = True + ' + 'rdbtnBW + ' + Me.rdbtnBW.AutoSize = True + Me.rdbtnBW.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rdbtnBW.Location = New System.Drawing.Point(98, 20) + Me.rdbtnBW.Name = "rdbtnBW" + Me.rdbtnBW.Size = New System.Drawing.Size(96, 17) + Me.rdbtnBW.TabIndex = 8 + Me.rdbtnBW.Text = "Schwarz/Weiß" + Me.rdbtnBW.UseVisualStyleBackColor = True + ' + 'grpFarbe + ' + Me.grpFarbe.Controls.Add(Me.rdbtnRGB) + Me.grpFarbe.Controls.Add(Me.rdbtnGray) + Me.grpFarbe.Controls.Add(Me.rdbtnBW) + Me.grpFarbe.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.grpFarbe.Location = New System.Drawing.Point(477, 44) + Me.grpFarbe.Name = "grpFarbe" + Me.grpFarbe.Size = New System.Drawing.Size(254, 45) + Me.grpFarbe.TabIndex = 10 + Me.grpFarbe.TabStop = False + Me.grpFarbe.Text = "Farbe" + ' + 'grpTyp + ' + Me.grpTyp.Controls.Add(Me.rdbtnPDF) + Me.grpTyp.Controls.Add(Me.chkMultiPage) + Me.grpTyp.Controls.Add(Me.rdbtnJPG) + Me.grpTyp.Controls.Add(Me.rdbtnTIFF) + Me.grpTyp.Controls.Add(Me.rdbtnBMP) + Me.grpTyp.Controls.Add(Me.rdbtnPNG) + Me.grpTyp.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.grpTyp.Location = New System.Drawing.Point(477, 493) + Me.grpTyp.Name = "grpTyp" + Me.grpTyp.Size = New System.Drawing.Size(254, 64) + Me.grpTyp.TabIndex = 11 + Me.grpTyp.TabStop = False + Me.grpTyp.Text = "Typ" + ' + 'tbxSaveFileName + ' + Me.tbxSaveFileName._DateTimeOnly = False + Me.tbxSaveFileName._numbersOnly = False + Me.tbxSaveFileName._numbersOnlyKommastellen = "" + Me.tbxSaveFileName._Prozent = False + Me.tbxSaveFileName._ShortDateNew = False + Me.tbxSaveFileName._ShortDateOnly = False + Me.tbxSaveFileName._TimeOnly = False + Me.tbxSaveFileName._value = Nothing + Me.tbxSaveFileName._Waehrung = False + Me.tbxSaveFileName._WaehrungZeichen = True + Me.tbxSaveFileName.ForeColor = System.Drawing.Color.Black + Me.tbxSaveFileName.Location = New System.Drawing.Point(536, 563) + Me.tbxSaveFileName.MaxLineLength = -1 + Me.tbxSaveFileName.MaxLines_Warning = "" + Me.tbxSaveFileName.MaxLines_Warning_Label = Nothing + Me.tbxSaveFileName.Name = "tbxSaveFileName" + Me.tbxSaveFileName.Size = New System.Drawing.Size(191, 20) + Me.tbxSaveFileName.TabIndex = 6 + ' + 'cboResolution + ' + Me.cboResolution.FormattingEnabled = True + Me.cboResolution.Items.AddRange(New Object() {"50", "100", "150", "200", "300", "400", "600", "800"}) + Me.cboResolution.Location = New System.Drawing.Point(536, 8) + Me.cboResolution.Name = "cboResolution" + Me.cboResolution.Size = New System.Drawing.Size(43, 21) + Me.cboResolution.TabIndex = 9 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(477, 11) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(57, 13) + Me.Label1.TabIndex = 7 + Me.Label1.Text = "Auflösung:" + ' + 'chkShowUI + ' + Me.chkShowUI.AutoSize = True + Me.chkShowUI.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.chkShowUI.Location = New System.Drawing.Point(594, 10) + Me.chkShowUI.Name = "chkShowUI" + Me.chkShowUI.Size = New System.Drawing.Size(123, 17) + Me.chkShowUI.TabIndex = 3 + Me.chkShowUI.Text = "Scanmenü anzeigen" + Me.chkShowUI.UseVisualStyleBackColor = True + ' + 'Button5 + ' + Me.Button5.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxZoomIn_Enter + Me.Button5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button5.FlatAppearance.BorderSize = 0 + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button5.Location = New System.Drawing.Point(139, 643) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(45, 30) + Me.Button5.TabIndex = 15 + Me.Button5.UseVisualStyleBackColor = True + ' + 'Button6 + ' + Me.Button6.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxZoomOut_Enter + Me.Button6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button6.FlatAppearance.BorderSize = 0 + Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button6.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button6.Location = New System.Drawing.Point(183, 643) + Me.Button6.Name = "Button6" + Me.Button6.Size = New System.Drawing.Size(45, 30) + Me.Button6.TabIndex = 14 + Me.Button6.UseVisualStyleBackColor = True + ' + 'Button4 + ' + Me.Button4.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxNext_Enter + Me.Button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button4.Enabled = False + Me.Button4.FlatAppearance.BorderSize = 0 + Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button4.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button4.Location = New System.Drawing.Point(311, 643) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(50, 30) + Me.Button4.TabIndex = 13 + Me.Button4.UseVisualStyleBackColor = True + ' + 'Button1 + ' + Me.Button1.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.picboxPrevious_Enter + Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button1.Enabled = False + Me.Button1.FlatAppearance.BorderSize = 0 + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button1.Location = New System.Drawing.Point(262, 643) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(50, 30) + Me.Button1.TabIndex = 12 + Me.Button1.UseVisualStyleBackColor = True + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(395, 654) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(31, 13) + Me.Label3.TabIndex = 18 + Me.Label3.Text = "Seite" + ' + 'cbxEinzug + ' + Me.cbxEinzug.AutoSize = True + Me.cbxEinzug.Checked = True + Me.cbxEinzug.CheckState = System.Windows.Forms.CheckState.Indeterminate + Me.cbxEinzug.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxEinzug.Location = New System.Drawing.Point(594, 29) + Me.cbxEinzug.Name = "cbxEinzug" + Me.cbxEinzug.Size = New System.Drawing.Size(143, 17) + Me.cbxEinzug.TabIndex = 3 + Me.cbxEinzug.Text = "Papiereinzug verwenden" + Me.cbxEinzug.ThreeState = True + Me.cbxEinzug.UseVisualStyleBackColor = True + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(436, 654) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(25, 13) + Me.Label2.TabIndex = 17 + Me.Label2.Text = "von" + ' + 'tbxCurrentImageIndex + ' + Me.tbxCurrentImageIndex.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tbxCurrentImageIndex.Location = New System.Drawing.Point(416, 654) + Me.tbxCurrentImageIndex.Name = "tbxCurrentImageIndex" + Me.tbxCurrentImageIndex.Size = New System.Drawing.Size(28, 13) + Me.tbxCurrentImageIndex.TabIndex = 19 + Me.tbxCurrentImageIndex.Text = "1" + Me.tbxCurrentImageIndex.TextAlign = System.Drawing.ContentAlignment.TopCenter + ' + 'tbxTotalImageNum + ' + Me.tbxTotalImageNum.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tbxTotalImageNum.Location = New System.Drawing.Point(447, 654) + Me.tbxTotalImageNum.Name = "tbxTotalImageNum" + Me.tbxTotalImageNum.Size = New System.Drawing.Size(25, 13) + Me.tbxTotalImageNum.TabIndex = 20 + Me.tbxTotalImageNum.Text = "1" + Me.tbxTotalImageNum.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'pnl + ' + Me.pnl.Controls.Add(Me.UsrcntlPDFScan1) + Me.pnl.Controls.Add(Me.Label2) + Me.pnl.Controls.Add(Me.dsViewer) + Me.pnl.Controls.Add(Me.Button3) + Me.pnl.Controls.Add(Me.tbxCurrentImageIndex) + Me.pnl.Controls.Add(Me.Button2) + Me.pnl.Controls.Add(Me.Button6) + Me.pnl.Controls.Add(Me.tbxSaveFileName) + Me.pnl.Controls.Add(Me.lblDateiname) + Me.pnl.Controls.Add(Me.cbxEinzug) + Me.pnl.Controls.Add(Me.btn) + Me.pnl.Controls.Add(Me.Label3) + Me.pnl.Controls.Add(Me.btnScan) + Me.pnl.Controls.Add(Me.Button5) + Me.pnl.Controls.Add(Me.Label1) + Me.pnl.Controls.Add(Me.Button4) + Me.pnl.Controls.Add(Me.cboSource) + Me.pnl.Controls.Add(Me.Button1) + Me.pnl.Controls.Add(Me.cboResolution) + Me.pnl.Controls.Add(Me.grpTyp) + Me.pnl.Controls.Add(Me.grpFarbe) + Me.pnl.Controls.Add(Me.chkShowUI) + Me.pnl.Controls.Add(Me.tbxTotalImageNum) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(741, 683) + Me.pnl.TabIndex = 21 + ' + 'UsrcntlPDFScan1 + ' + Me.UsrcntlPDFScan1._ARCHIV = False + Me.UsrcntlPDFScan1._DATENSERVER_KATEGORIE = "DOKUMENTE" + Me.UsrcntlPDFScan1._DATENSERVER_ORDNER = "" + Me.UsrcntlPDFScan1._DATENSERVER_UOrdner1 = "" + Me.UsrcntlPDFScan1._DATENSERVER_UOrdner2 = "" + Me.UsrcntlPDFScan1._DATENSERVER_UOrdner3 = "" + Me.UsrcntlPDFScan1._MULTI_FILES = False + Me.UsrcntlPDFScan1._TEXT_PDF = Nothing + Me.UsrcntlPDFScan1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.UsrcntlPDFScan1.BackColor = System.Drawing.Color.White + Me.UsrcntlPDFScan1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.UsrcntlPDFScan1.Cursor = System.Windows.Forms.Cursors.Hand + Me.UsrcntlPDFScan1.Location = New System.Drawing.Point(344, 349) + Me.UsrcntlPDFScan1.Name = "UsrcntlPDFScan1" + Me.UsrcntlPDFScan1.Size = New System.Drawing.Size(8, 8) + Me.UsrcntlPDFScan1.TabIndex = 21 + Me.UsrcntlPDFScan1.Visible = False + ' + 'frmScan + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(741, 683) + Me.Controls.Add(Me.pnl) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmScan" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Dokument scannen" + Me.grpFarbe.ResumeLayout(False) + Me.grpFarbe.PerformLayout() + Me.grpTyp.ResumeLayout(False) + Me.grpTyp.PerformLayout() + Me.pnl.ResumeLayout(False) + Me.pnl.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents dsViewer As Dynamsoft.Forms.DSViewer + Friend WithEvents btn As System.Windows.Forms.Button + Friend WithEvents btnScan As System.Windows.Forms.Button + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog + Friend WithEvents chkMultiPage As System.Windows.Forms.CheckBox + Friend WithEvents Button2 As System.Windows.Forms.Button + Friend WithEvents Button3 As System.Windows.Forms.Button + Friend WithEvents tbxSaveFileName As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents lblDateiname As System.Windows.Forms.Label + Friend WithEvents rdbtnJPG As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnBMP As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnPNG As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnPDF As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnTIFF As System.Windows.Forms.RadioButton + Friend WithEvents cboSource As System.Windows.Forms.ComboBox + Friend WithEvents rdbtnRGB As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnGray As System.Windows.Forms.RadioButton + Friend WithEvents rdbtnBW As System.Windows.Forms.RadioButton + Friend WithEvents grpFarbe As System.Windows.Forms.GroupBox + Friend WithEvents grpTyp As System.Windows.Forms.GroupBox + Friend WithEvents cboResolution As System.Windows.Forms.ComboBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents chkShowUI As System.Windows.Forms.CheckBox + Friend WithEvents Button5 As System.Windows.Forms.Button + Friend WithEvents Button6 As System.Windows.Forms.Button + Friend WithEvents Button4 As System.Windows.Forms.Button + Friend WithEvents Button1 As System.Windows.Forms.Button + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents cbxEinzug As System.Windows.Forms.CheckBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents tbxCurrentImageIndex As System.Windows.Forms.Label + Friend WithEvents tbxTotalImageNum As System.Windows.Forms.Label + Friend WithEvents pnl As System.Windows.Forms.Panel + Friend WithEvents UsrcntlPDFScan1 As usrcntlPDFScan +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmScan.resx b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.resx new file mode 100644 index 0000000..9be6baa --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.resx @@ -0,0 +1,983 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 13, 15 + + + + + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA + AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r + OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////// + //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/ + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm + MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L + v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j + jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt + mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////// + ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU + y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm + 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3 + p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90 + SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U + y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm + MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3///////////// + //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3 + 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL///////// + ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/ + ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm + MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb///////////////////// + //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/ + ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d + 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt + mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm + MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////// + //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////// + //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3 + p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm + MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3 + 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t + mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X///////////// + //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm + MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm + MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu + 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv///// + ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/ + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////// + //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv///// + //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm + MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t + mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/ + //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////// + ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y + fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////// + ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj + jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z///// + ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9 + USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn + NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz + RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn + NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr + OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9 + USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B + s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3Bs6rBs6r39fT///////////////////////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////// + ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/ + ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j///////////////// + ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////////////// + //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////// + ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////// + ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA + XUL///////////////////////////////////////////////////////////////////////////// + ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////// + //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////////////////////// + //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + ///////////////////////////////////////////////////////////////////////////d1tFm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/ + //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd + 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////// + ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///// + ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT///////////////////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////// + //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////// + //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0 + SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDUy8X///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n///////////////////////////////////////// + ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u + 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY + fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////Uy8XB + s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////// + //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////// + //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////// + //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwDm4N3///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////////////////////// + ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t + mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3///////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////// + //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///// + ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwD39fT///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M + blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////////////////////// + //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////// + //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r///////////////////////// + //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///// + //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL + v7j///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Mblhm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r///// + ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwCtmo3Bs6r39fT///////////////////////////////////////////////////////////////// + ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////// + ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///// + ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j///////////////////////////////////////////////// + ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwCAXUL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////////////// + //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////////// + //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT///////// + //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/ + ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwDm4N3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////39fRmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm + MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////// + ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////// + ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////// + ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////// + ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3 + p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////// + ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////// + ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM + blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/ + //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwD39fT///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////L + v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////// + //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////// + //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB + s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////////////////////////// + ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X///////////////////////////////////////////////// + ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j///////////// + ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r///////////////////////// + ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwB0SSb///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm + MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm + MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/ + //////////////////////////////////////////////////////////////////////////////+A + XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm + MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmScan.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.vb new file mode 100644 index 0000000..4d950ad --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmScan.vb @@ -0,0 +1,694 @@ +Imports System.Collections.Generic +Imports System.ComponentModel +Imports System.Data +Imports System.Drawing +Imports System.Text +Imports System.Windows.Forms +Imports System.Runtime.InteropServices + +Imports System.Threading +'Imports Dynamsoft.Barcode +Imports Dynamsoft.TWAIN +Imports Dynamsoft.Core +'Imports Dynamsoft.UVC +'Imports Dynamsoft.OCR +Imports Dynamsoft.PDF +Imports Dynamsoft.Core.Annotation +'Imports Dynamsoft.UVC.Common +Imports Dynamsoft.TWAIN.Interface +Imports Dynamsoft.Core.Enums +Imports System.IO + + +Public Class frmScan + Inherits Form + Implements IAcquireCallback + Implements IConvertCallback + Implements ISave + Private m_StrProductKey As String + Private m_TwainManager As TwainManager = Nothing + Private m_ImageCore As ImageCore = Nothing + Private m_PDFRasterizer As PDFRasterizer = Nothing + Private m_PDFCreator As PDFCreator = Nothing + Private Delegate Sub CrossThreadOperationControl() + + ' Public KdNr As Integer = -1 + + Public ART As String = "" + Public ORDNER As String = "" + Public ReturnValue As Object = Nothing + Public fileName As String = "" + + Public DefaultFileName = "" + 'Dim DS As New cDATENSERVER + + + Sub New(ART) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me.ART = ART + init() + End Sub + + + + Public Sub OnPostAllTransfers() Implements IAcquireCallback.OnPostAllTransfers + Me.Invoke(New CrossThreadOperationControl(AddressOf CallMe)) + End Sub + + Public Sub CallMe() + dsViewer.Visible = True + checkImageCount() + ' EnableControls(picboxScan) + End Sub + + Public Sub OnPreAllTransfers() Implements IAcquireCallback.OnPreAllTransfers + End Sub + + Public Sub LoadConvertResult(result As ConvertResult) Implements IConvertCallback.LoadConvertResult + m_ImageCore.IO.LoadImage(result.Image) + m_ImageCore.ImageBuffer.SetMetaData(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer, EnumMetaDataType.enumAnnotation, result.Annotations, True) + End Sub + + Public Function GetAnnotations(iPageNumber As Integer) As Object Implements ISave.GetAnnotations + If chkMultiPage.Checked = True Then + Return m_ImageCore.ImageBuffer.GetMetaData(CShort(iPageNumber), EnumMetaDataType.enumAnnotation) + Else + Return m_ImageCore.ImageBuffer.GetMetaData(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer, EnumMetaDataType.enumAnnotation) + End If + End Function + Public Function GetImage(iPageNumber As Integer) As Bitmap Implements ISave.GetImage + If chkMultiPage.Checked = True Then + Return m_ImageCore.ImageBuffer.GetBitmap(CShort(iPageNumber)) + Else + Return m_ImageCore.ImageBuffer.GetBitmap(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End If + End Function + Public Function GetPageCount() As Integer Implements ISave.GetPageCount + If chkMultiPage.Checked = True Then + Return m_ImageCore.ImageBuffer.HowManyImagesInBuffer + Else + Return 1 + End If + End Function + Public Function OnPreTransfer() As Boolean Implements IAcquireCallback.OnPreTransfer + Return True + End Function + + Public Sub OnSourceUIClose() Implements IAcquireCallback.OnSourceUIClose + End Sub + ' + Public Sub OnTransferCancelled() Implements IAcquireCallback.OnTransferCancelled + End Sub + + Public Sub OnTransferError() Implements IAcquireCallback.OnTransferError + End Sub + + Public Function OnPostTransfer(bit As Bitmap) As Boolean Implements IAcquireCallback.OnPostTransfer + m_ImageCore.IO.LoadImage(bit) + Return True + End Function + + + Public Sub New() + InitializeComponent() + init() + End Sub + + Sub init() + + Dim LICENSE_KEY_PDF = "f0068WQAAAH+gY718ZLeqQLD8lbOZ2FGn4EwqZXwHfnnHFla7+8MQS5/qOwvtYLWLNCl4FRxs5YG2tso5CsxMGiwxi1RLj1Q=" + Dim LICENSE_KEY = "f0068NQAAAMzfp6Gvu6Fz+I1fe35VMbxq4AjxirlBtKiw2m/c7+WFUo6cqKV9gdsrUF08tMFDzxyvK2qW7dkB/AMXwWP8+VE=" ' "f0068NQAAALO56JsMvaoZUvgW4W5pH3xZI04YVLRm6RjxrXBNGlXQX66fwwyD9MA7RooXB8R7IGVCGOs0LoQrz74BFUWxuTY=" '"t0068MgAAAIJug/9puT32C74ZTQ22FzetJ8QgWhH3CpvWhJ98JT07diK2qayDBNOEoyk+wYbapUbYlgyAVhm8wuu4zvTLfkw=" + ' Dim LICENSE_KEY_PDF = "t0068MgAAAIJug/9puT32C74ZTQ22FzetJ8QgWhH3CpvWhJ98JT07diK2qayDBNOEoyk+wYbapUbYlgyAVhm8wuu4zvTLfkw=" + ' Dim LICENSE_KEY = "t0068MgAAAIJug/9puT32C74ZTQ22FzetJ8QgWhH3CpvWhJ98JT07diK2qayDBNOEoyk+wYbapUbYlgyAVhm8wuu4zvTLfkw=" '"" + + 'm_StrProductKey = ConbineLicense(ReadLocalLicense(Application.StartupPath & "\Lizenzen\DynamsoftDotNetTwain.lic")) ' In Projekt SDL / Lizenzen / DynamsoftDotNetTwain.lic + m_TwainManager = New TwainManager(LICENSE_KEY) + m_PDFRasterizer = New PDFRasterizer(LICENSE_KEY) + m_PDFCreator = New PDFCreator(LICENSE_KEY_PDF) + m_ImageCore = New ImageCore() + dsViewer.Bind(m_ImageCore) + End Sub + + _ + Private Shared Function GetSystemDirectory( lpBuffer As StringBuilder, uSize As UInteger) As UInteger + End Function + + _ + Private Shared Function GetWindowsDirectory( lpBuffer As StringBuilder, uSize As UInteger) As UInteger + End Function + + Public Function GetLicenseFilePath() As String + Return Application.StartupPath & "\Lizenzen\DynamsoftDotNetTwain.lic" + + Dim sbsSystemDir As New StringBuilder(256) + Dim iLength As UInteger = 0 + iLength = GetSystemDirectory(sbsSystemDir, 256) + If iLength = 0 Then + Return Nothing + End If + Dim sbsWindowsDir As New StringBuilder(256) + iLength = GetWindowsDirectory(sbsWindowsDir, 256) + + If iLength = 0 Then + Return Nothing + End If + If sbsWindowsDir.Length > 0 Then + If IntPtr.Size = 8 Then + sbsWindowsDir.Append("\SysWOW64\DynamsoftDotNetTwain.lic") + Else + sbsWindowsDir.Append("\System32\DynamsoftDotNetTwain.lic") + + End If + End If + Return sbsWindowsDir.ToString() + End Function + + Private Function ReadLocalLicense(licensePath As String) As List(Of String) + Dim tempListLicense As List(Of String) = Nothing + Try + If File.Exists(licensePath) Then + Dim tempAllLines As String() = File.ReadAllLines(licensePath) + For Each temp As String In tempAllLines + Dim iTempIndex As Integer = temp.IndexOf("SerialNo") + If iTempIndex <> -1 Then + Dim iIndex1 As Integer = temp.IndexOf("=") + If iIndex1 <> -1 Then + If tempListLicense Is Nothing Then + tempListLicense = New List(Of String)() + End If + Dim tempLicense As String = temp.Substring((iIndex1 + 1), (temp.Length - (iIndex1 + 1))) + tempListLicense.Add(tempLicense) + End If + End If + Next + End If + Catch + End Try + Return tempListLicense + End Function + + Private Function ConbineLicense(listlicensePath As List(Of String)) As String + Dim tempLicenseFilePath As String = GetLicenseFilePath() + Dim tempListLicense As List(Of String) = ReadLocalLicense(tempLicenseFilePath) + Dim tempProductKey As String = m_StrProductKey + If tempListLicense IsNot Nothing Then + For Each temp As String In tempListLicense + If temp IsNot Nothing Then + If Not m_StrProductKey.Equals(temp) Then + tempProductKey = (tempProductKey & Convert.ToString(";")) + temp.ToString() + End If + End If + Next + End If + Return tempProductKey + End Function + + 'here, i need to set a callback function that will be called when the time elapse. + Private Sub callbk() + 'code here will be executed when the time elapse + 'Threading.Thread.Abort(thread) + thread.Abort() + End Sub + + Dim thread As Threading.Thread + + Private Sub startScanTimeout() + 'setup a timeout here to call the sub callbk when the time elapse. + 'for example, something like this + thread = New Threading.Thread(AddressOf startScan) + Dim tcb As TimerCallback = AddressOf callbk + Dim t As Threading.Timer = New Threading.Timer(tcb, Nothing, 5000, -1) + 'the first argument is the time interval in milliseconds while the second argument is the function to callback after the period of 5 seconds + thread.Start() + 'While True + ' startScan() + 'End While + End Sub + + Private Sub picboxScan_Click(sender As Object, e As EventArgs) Handles btnScan.Click + 'startScanTimeout() + startScan() + End Sub + + Sub startScan() + + Me.Cursor = Cursors.WaitCursor + pnl.Enabled = False + If Me.cboSource.SelectedIndex < 0 Then + MessageBox.Show(Me, "Es wurde kein Scanner gefunden!", "Information") + Else + Try + Dim sSourceIndex As Short = 0 + sSourceIndex = CShort(cboSource.SelectedIndex) + Dim sTwainSourceCount As Short = m_TwainManager.SourceCount + Dim sCameraSourceCount As Short = 0 + + + If sSourceIndex < sTwainSourceCount Then + m_TwainManager.SelectSourceByIndex(sSourceIndex) + + m_TwainManager.OpenSource() + + + ' m_TwainManager.IfShowUI = chkShowUI.Checked + ' m_TwainManager.IfFeederEnabled = chkADF.Checked + ' m_TwainManager.IfDuplexEnabled = chkDuplex.Checked + m_TwainManager.IfDisableSourceAfterAcquire = True + + m_TwainManager.IfShowUI = chkShowUI.Checked + + Select Case cbxEinzug.CheckState + Case CheckState.Indeterminate + If m_TwainManager.IfPaperDetectable AndAlso m_TwainManager.IfFeederLoaded Then + m_TwainManager.IfFeederEnabled = True + Else + m_TwainManager.IfFeederEnabled = False + End If + ' m_TwainManager.IfAutoFeed = True + + Case CheckState.Checked : m_TwainManager.IfFeederEnabled = True + Case Not CheckState.Checked : m_TwainManager.IfFeederEnabled = False + End Select + + + + + + If rdbtnBW.Checked Then + m_TwainManager.PixelType = Dynamsoft.TWAIN.Enums.TWICapPixelType.TWPT_BW + m_TwainManager.BitDepth = 1 + ElseIf rdbtnGray.Checked Then + m_TwainManager.PixelType = Dynamsoft.TWAIN.Enums.TWICapPixelType.TWPT_GRAY + m_TwainManager.BitDepth = 8 + Else + m_TwainManager.PixelType = Dynamsoft.TWAIN.Enums.TWICapPixelType.TWPT_RGB + m_TwainManager.BitDepth = 24 + End If + m_TwainManager.Resolution = Integer.Parse(cboResolution.Text) + + 'm_TwainManager.sca() + + m_TwainManager.AcquireImage(TryCast(Me, IAcquireCallback)) + + Else + Dim sCameraIndex As Short = CShort(sSourceIndex - sTwainSourceCount) + + End If + Catch exp As Exception + 'EnableControls(picboxScan); + MsgBox("Scanner nicht verfügbar!") + Finally + ' EnableControls(picboxScan) + m_TwainManager.Dispose() + + pnl.Enabled = True + Me.Cursor = Cursors.Default + + End Try + dsViewer.Visible = True + checkImageCount() + + End If + pnl.Enabled = True + Me.Cursor = Cursors.Default + + End Sub + + + + Private Sub btn_Click(sender As Object, e As EventArgs) + + Dim tempList As New List(Of String)() + For i As Integer = 0 To m_TwainManager.SourceCount - 1 + tempList.Add(m_TwainManager.SourceNameItems(CShort(i))) + Next + Dim tempSourceListWrapper As New SourceListWrapper(tempList) + + Dim iSelectIndex As Integer = tempSourceListWrapper.SelectSource() + If iSelectIndex = -1 Then + Return + Else + m_TwainManager.IfDisableSourceAfterAcquire = True + m_TwainManager.IfShowUI = True + m_TwainManager.SelectSourceByIndex(CShort(iSelectIndex)) + m_TwainManager.AcquireImage(TryCast(Me, IAcquireCallback)) + End If + End Sub + + Private Sub InitDefaultValueForTWAIN() + + Try + + dsViewer.IfFitWindow = True + dsViewer.MouseShape = False + dsViewer.SetViewMode(-1, -1) + ' Me.cbxViewMode.SelectedIndex = 0 + + ' Init the sources for TWAIN scanning and Webcam grab, show in the cbxSources controls + If m_TwainManager.SourceCount > 0 Then + Dim hasTwainSource As Boolean = False + Dim hasWebcamSource As Boolean = False + cboSource.Items.Clear() + For i As Integer = 0 To m_TwainManager.SourceCount - 1 + cboSource.Items.Add(m_TwainManager.SourceNameItems(CShort(i))) + 'else if (enumDeviceType == Dynamsoft.DotNet.TWAIN.Enums.EnumDeviceType.SDT_WEBCAM) + ' hasWebcamSource = true; + hasTwainSource = True + Next + If hasTwainSource Then + cboSource.Enabled = True + ' chkShowUI.Enabled = True + ' chkADF.Enabled = True + ' chkDuplex.Enabled = True + ' cbxResolution.Enabled = True + ' rdbtnGray.Checked = True + ' cbxResolution.SelectedIndex = 0 + ' EnableControls(Me.picboxScan) + + End If + End If + Dim iSourceCount As Integer = 0 + + + + Catch ex As System.Exception + MessageBox.Show(ex.Message) + End Try + End Sub + + + + Private Sub cboSource_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboSource.SelectedIndexChanged, cboResolution.SelectedIndexChanged + Dim sIndex As Short = CShort(DirectCast(sender, ComboBox).SelectedIndex) + + If sIndex < m_TwainManager.SourceCount Then + btnScan.Enabled = True + m_TwainManager.CloseSource() + Else + btnScan.Enabled = False + End If + End Sub + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btn.Click + ' If KdNr < 0 Then Exit Sub + Try + Select Case ART + Case "DirectScan" + Dim PDF_bytes As Byte() = m_PDFCreator.SaveAsBytes(TryCast(Me, ISave)) + Me.fileName = addExtension(tbxSaveFileName.Text) ' DS.LAST_ID + Me.ReturnValue = PDF_bytes ' DS.LAST_ID + Me.DialogResult = Windows.Forms.DialogResult.OK + + Case Else : saveToFile() + End Select + Catch ex As Exception + MsgBox(ex.Message) + pnl.Enabled = True + End Try + End Sub + + + Function addExtension(ByRef FileName As String) As String + Dim Extension As String = "" + + If rdbtnJPG.Checked Then + Extension = ".jpg" + End If + If rdbtnBMP.Checked Then + Extension = ".bmp" + End If + If rdbtnPNG.Checked Then + Extension = ".png" + End If + If rdbtnTIFF.Checked Then + Extension = ".tiff" + End If + If rdbtnPDF.Checked Then + Extension = ".pdf" + End If + FileName = FileName.Trim + If Not FileName.EndsWith(Extension) Then + FileName = FileName & Extension + End If + Return FileName + End Function + + + Sub saveToFile() + + Try + Dim SaveFileDialog As New SaveFileDialog + ' Dim fileName As String = "" ' tbxSaveFileName.Text.Trim() + ' Dim SaveFileDialog + Dim fileName As String = tbxSaveFileName.Text.Trim() + If VerifyFileName(fileName) Then + SaveFileDialog.FileName = Me.tbxSaveFileName.Text + + If rdbtnJPG.Checked Then + SaveFileDialog.Filter = "JPEG|*.JPG;*.JPEG;*.JPE;*.JFIF" + SaveFileDialog.DefaultExt = "jpg" + If SaveFileDialog.ShowDialog() = DialogResult.OK Then + m_ImageCore.IO.SaveAsJPEG(SaveFileDialog.FileName, m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End If + End If + If rdbtnBMP.Checked Then + SaveFileDialog.Filter = "BMP|*.BMP" + SaveFileDialog.DefaultExt = "bmp" + If SaveFileDialog.ShowDialog() = DialogResult.OK Then + m_ImageCore.IO.SaveAsBMP(SaveFileDialog.FileName, m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End If + End If + If rdbtnPNG.Checked Then + SaveFileDialog.Filter = "PNG|*.PNG" + SaveFileDialog.DefaultExt = "png" + If SaveFileDialog.ShowDialog() = DialogResult.OK Then + m_ImageCore.IO.SaveAsPNG(SaveFileDialog.FileName, m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End If + End If + If rdbtnTIFF.Checked Then + SaveFileDialog.Filter = "TIFF|*.TIF;*.TIFF" + SaveFileDialog.DefaultExt = "tiff" + If SaveFileDialog.ShowDialog() = DialogResult.OK Then + ' Multi page TIFF + Dim tempListIndex As New List(Of Short)() + If chkMultiPage.Checked = True Then + + For sIndex As Short = 0 To m_ImageCore.ImageBuffer.HowManyImagesInBuffer - 1 + tempListIndex.Add(sIndex) + Next + Else + tempListIndex.Add(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End If + m_ImageCore.IO.SaveAsTIFF(SaveFileDialog.FileName, tempListIndex) + End If + End If + If rdbtnPDF.Checked Then + SaveFileDialog.Filter = "PDF|*.PDF" + SaveFileDialog.DefaultExt = "pdf" + If SaveFileDialog.ShowDialog() = DialogResult.OK Then + ' Multi page PDF + + m_PDFCreator.Save(TryCast(Me, ISave), SaveFileDialog.FileName) + End If + End If + Else + Me.tbxSaveFileName.Focus() + End If + Catch ex As Exception + MessageBox.Show(ex.Message) + End Try + End Sub + + Private Function VerifyFileName(fileName As String) As Boolean + Try + If fileName.LastIndexOfAny(System.IO.Path.GetInvalidFileNameChars()) = -1 Then + Return True + End If + Catch e As Exception + End Try + MessageBox.Show("The file name contains invalid chars!", "Save Image To File", MessageBoxButtons.OK, MessageBoxIcon.Information) + Return False + End Function + + + + + Private Sub picboxRotateLeft_Click(sender As Object, e As EventArgs) Handles Button2.Click + + Dim iImageWidth As Integer = m_ImageCore.ImageBuffer.GetBitmap(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer).Width + Dim iImageHeight As Integer = m_ImageCore.ImageBuffer.GetBitmap(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer).Height + Dim tempListAnnotation As List(Of AnnotationData) = DirectCast(m_ImageCore.ImageBuffer.GetMetaData(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer, EnumMetaDataType.enumAnnotation), List(Of AnnotationData)) + If tempListAnnotation IsNot Nothing AndAlso tempListAnnotation.Count <> 0 Then + For Each tempAnnotation As AnnotationData In tempListAnnotation + Dim x As Integer = tempAnnotation.Location.Y + Dim y As Integer = iImageWidth - (tempAnnotation.EndPoint.X) + Dim iWidth As Integer = (tempAnnotation.EndPoint.Y - tempAnnotation.StartPoint.Y) + Dim iHeight As Integer = (tempAnnotation.EndPoint.X - tempAnnotation.StartPoint.X) + Select Case tempAnnotation.AnnotationType + 'case AnnotationType.enumLine: + Case AnnotationType.enumEllipse, AnnotationType.enumRectangle, AnnotationType.enumText + tempAnnotation.StartPoint = New Point(x, y) + 'tempAnnotation.Size = new Size(iWidth, iHeight); + tempAnnotation.EndPoint = New Point((tempAnnotation.StartPoint.X + iWidth), (tempAnnotation.StartPoint.Y + iHeight)) + Exit Select + Case AnnotationType.enumLine + Dim startPoint As Point = tempAnnotation.StartPoint + x = startPoint.Y + y = iImageWidth - startPoint.X + tempAnnotation.StartPoint = New Point(x, y) + Dim endPoint As Point = tempAnnotation.EndPoint + x = endPoint.Y + y = iImageWidth - endPoint.X + tempAnnotation.EndPoint = New Point(x, y) + Exit Select + End Select + Next + End If + m_ImageCore.ImageBuffer.SetMetaData(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer, EnumMetaDataType.enumAnnotation, tempListAnnotation, True) + m_ImageCore.ImageProcesser.RotateLeft(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End Sub + + Private Sub picboxRotateRight_Click(sender As Object, e As EventArgs) Handles Button3.Click + Dim iImageWidth As Integer = m_ImageCore.ImageBuffer.GetBitmap(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer).Width + Dim iImageHeight As Integer = m_ImageCore.ImageBuffer.GetBitmap(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer).Height + Dim tempListAnnotation As List(Of AnnotationData) = DirectCast(m_ImageCore.ImageBuffer.GetMetaData(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer, EnumMetaDataType.enumAnnotation), List(Of AnnotationData)) + For Each tempAnnotation As AnnotationData In tempListAnnotation + Dim x As Integer = iImageHeight - (tempAnnotation.Location.Y + tempAnnotation.Size.Height) + Dim y As Integer = tempAnnotation.Location.X + Dim iWidth As Integer = tempAnnotation.Size.Height + Dim iHeight As Integer = tempAnnotation.Size.Width + Select Case tempAnnotation.AnnotationType + 'case AnnotationType.enumLine: + Case AnnotationType.enumEllipse, AnnotationType.enumRectangle, AnnotationType.enumText + tempAnnotation.StartPoint = New Point(x, y) + tempAnnotation.EndPoint = New Point((tempAnnotation.StartPoint.X + iWidth), (tempAnnotation.StartPoint.Y + iHeight)) + Exit Select + Case AnnotationType.enumLine + Dim startPoint As Point = tempAnnotation.StartPoint + x = iImageHeight - startPoint.Y + y = startPoint.X + tempAnnotation.StartPoint = New Point(x, y) + Dim endPoint As Point = tempAnnotation.EndPoint + x = iImageHeight - endPoint.Y + y = endPoint.X + tempAnnotation.EndPoint = New Point(x, y) + Exit Select + End Select + Next + m_ImageCore.ImageProcesser.RotateRight(m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer) + End Sub + + + Private Sub frmScan_Load(sender As Object, e As EventArgs) Handles Me.Load + InitDefaultValueForTWAIN() + cboResolution.Text = 240 + + Select Case ART + Case "DirectScan" + grpTyp.Visible = False + Case "QuickScan" + + End Select + + + End Sub + + + + Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + Dim zoom As Single = dsViewer.Zoom + 0.1F + dsViewer.IfFitWindow = False + dsViewer.Zoom = zoom + 'checkZoom() + End Sub + + Private Sub picboxZoomOut_Click(sender As Object, e As EventArgs) Handles Button6.Click + Dim zoom As Single = dsViewer.Zoom - 0.1F + dsViewer.IfFitWindow = False + dsViewer.Zoom = zoom + ' checkZoom() + End Sub + + Private Sub picboxPrevious_Click(sender As Object, e As EventArgs) Handles Button1.Click + If m_ImageCore.ImageBuffer.HowManyImagesInBuffer > 0 AndAlso m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer > 0 Then + m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer -= 1 + End If + checkImageCount() + End Sub + + Private Sub picboxNext_Click(sender As Object, e As EventArgs) Handles Button4.Click + If m_ImageCore.ImageBuffer.HowManyImagesInBuffer > 0 AndAlso m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer < m_ImageCore.ImageBuffer.HowManyImagesInBuffer - 1 Then + m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer += 1 + End If + checkImageCount() + End Sub + + Private Sub checkImageCount() + Dim currentImageIndex = m_ImageCore.ImageBuffer.CurrentImageIndexInBuffer + Dim currentIndex As Integer = currentImageIndex + 1 + Dim imageCount As Integer = m_ImageCore.ImageBuffer.HowManyImagesInBuffer + If imageCount = 0 Then + currentIndex = 0 + End If + + tbxCurrentImageIndex.Text = currentIndex.ToString() + tbxTotalImageNum.Text = imageCount.ToString() + + If imageCount > 0 Then + Button1.Enabled = True + Button4.Enabled = True + Else + + Button1.Enabled = False + Button4.Enabled = False + End If + + ' ShowSelectedImageArea() + End Sub + + Private Sub frmScan_Shown(sender As Object, e As EventArgs) Handles Me.Shown + If cboSource.Items.Count > 0 Then + btnScan.Enabled = True + cboSource.SelectedIndex = 0 + End If + tbxSaveFileName.Text = DefaultFileName + + Select Case ART + Case "DirectScan" + + Case "QuickScan" + Do + startScan() + Dim PDF_bytes As Byte() = m_PDFCreator.SaveAsBytes(TryCast(Me, ISave)) + Me.fileName = addExtension(tbxSaveFileName.Text) ' DS.LAST_ID + Me.ReturnValue = PDF_bytes ' DS.LAST_ID + Loop While MsgBox("Möchten Sie weitere Dokumente scannen?" & vbNewLine & "NEIN = fertig!", vbYesNo) = vbYes + + Me.DialogResult = Windows.Forms.DialogResult.OK + End Select + End Sub + + Private Sub frmScan_TabStopChanged(sender As Object, e As EventArgs) Handles Me.TabStopChanged + + End Sub +End Class + + +Public Class SourceListWrapper + Private m_listSourceNames As List(Of String) = Nothing + Public Sub New(listSourceNames As List(Of String)) + m_listSourceNames = listSourceNames + End Sub + + Private m_SelectedIndex As Integer = 0 + Public Function SelectSource() As Integer + Dim temp As New frmSourceList(m_listSourceNames) + temp.ShowDialog() + m_SelectedIndex = temp.GetSelectedIndex() + Return m_SelectedIndex + End Function + +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.Designer.vb new file mode 100644 index 0000000..4140923 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.Designer.vb @@ -0,0 +1,85 @@ + _ +Partial Class frmSourceList + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.button2 = New System.Windows.Forms.Button() + Me.button1 = New System.Windows.Forms.Button() + Me.listBox1 = New System.Windows.Forms.ListBox() + Me.label1 = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'button2 + ' + Me.button2.Location = New System.Drawing.Point(286, 103) + Me.button2.Name = "button2" + Me.button2.Size = New System.Drawing.Size(75, 23) + Me.button2.TabIndex = 7 + Me.button2.Text = "Cancel" + Me.button2.UseVisualStyleBackColor = True + ' + 'button1 + ' + Me.button1.Location = New System.Drawing.Point(286, 72) + Me.button1.Name = "button1" + Me.button1.Size = New System.Drawing.Size(75, 23) + Me.button1.TabIndex = 6 + Me.button1.Text = "Select" + Me.button1.UseVisualStyleBackColor = True + ' + 'listBox1 + ' + Me.listBox1.FormattingEnabled = True + Me.listBox1.Location = New System.Drawing.Point(12, 31) + Me.listBox1.Name = "listBox1" + Me.listBox1.Size = New System.Drawing.Size(259, 95) + Me.listBox1.TabIndex = 5 + ' + 'label1 + ' + Me.label1.AutoSize = True + Me.label1.Location = New System.Drawing.Point(9, 4) + Me.label1.Name = "label1" + Me.label1.Size = New System.Drawing.Size(44, 13) + Me.label1.TabIndex = 4 + Me.label1.Text = "Source:" + ' + 'frmSourceList + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(372, 149) + Me.Controls.Add(Me.button2) + Me.Controls.Add(Me.button1) + Me.Controls.Add(Me.listBox1) + Me.Controls.Add(Me.label1) + Me.Name = "frmSourceList" + Me.Text = "frmSourceList" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Private WithEvents button2 As System.Windows.Forms.Button + Private WithEvents button1 As System.Windows.Forms.Button + Private WithEvents listBox1 As System.Windows.Forms.ListBox + Private WithEvents label1 As System.Windows.Forms.Label +End Class diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.resx b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.vb b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.vb new file mode 100644 index 0000000..0bb467e --- /dev/null +++ b/SDL/VERAG_PROG_ALLGEMEIN/frmSourceList.vb @@ -0,0 +1,38 @@ +Imports System.Collections.Generic +Imports System.ComponentModel +Imports System.Data +Imports System.Drawing +Imports System.Text +Imports System.Windows.Forms + +Partial Public Class frmSourceList + Inherits Form + Private m_ListSourceNames As List(Of String) = Nothing + Private m_SelectedIndex As Integer = -1 + Public Sub New(listSourceNames As List(Of String)) + InitializeComponent() + m_ListSourceNames = listSourceNames + If m_ListSourceNames Is Nothing Then + button1.Enabled = False + End If + + For Each temp As String In m_ListSourceNames + listBox1.Items.Add(temp) + Next + listBox1.SelectedIndex = m_ListSourceNames.Count - 1 + End Sub + + Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click + m_SelectedIndex = listBox1.SelectedIndex + Me.Close() + End Sub + + Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click + Me.Close() + + End Sub + + Public Function GetSelectedIndex() As Integer + Return m_SelectedIndex + End Function +End Class diff --git a/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj b/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj index 7c62f7d..d76791c 100644 --- a/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj +++ b/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj @@ -109,7 +109,7 @@ - + {a3b497bd-842c-4a2b-b398-ed1976849df1} VERAG_PROG_ALLGEMEIN diff --git a/UID/ADMIN.vbproj b/UID/ADMIN.vbproj index 01e7a40..9f9a10b 100644 --- a/UID/ADMIN.vbproj +++ b/UID/ADMIN.vbproj @@ -73,30 +73,57 @@ - ..\..\..\dll\closedxml\ClosedXML.dll + \\ylps023046.verag.ost.dmn\VB\dll\closedxml\ClosedXML.dll - ..\..\..\dll\FastColoredTextBox.dll + \\ylps023046.verag.ost.dmn\VB\dll\FastColoredTextBox.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Chart.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Design.Win.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Diagnostics.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Document.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Export.Document.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Export.Pdf.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Extensibility.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\GrapeCity\GrapeCity.ActiveReports.Viewer.Win.v12.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\GrapeCity.Documents.Pdf.dll - - - - - - - ..\packages\Hardcodet.NotifyIcon.Wpf.1.0.5\lib\net40-client\Hardcodet.Wpf.TaskbarNotification.dll True + + \\ylps023046.verag.ost.dmn\VB\dll\Interop.MSComDlg.dll + True + - ..\..\..\dll\itextsharp.dll + \\ylps023046.verag.ost.dmn\VB\dll\itextsharp.dll - ..\..\..\dll\itextsharp.pdfa.dll + \\ylps023046.verag.ost.dmn\VB\dll\itextsharp.pdfa.dll - C:\Program Files (x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Excel.dll + \\ylps023046.verag.ost.dmn\VB\dll\Microsoft.Office.Interop.Excel1.dll True @@ -107,18 +134,21 @@ False - bin\Debug\Microsoft.ReportViewer.Common.dll + \\ylps023046.verag.ost.dmn\VB\dll\Report\Microsoft.ReportViewer.Common.dll + + + \\ylps023046.verag.ost.dmn\VB\dll\Report\Microsoft.ReportViewer.ProcessingObjectModel.dll False - bin\Debug\Microsoft.ReportViewer.WinForms.dll + \\ylps023046.verag.ost.dmn\VB\dll\Report\Microsoft.ReportViewer.WinForms.dll False - C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.6\Assemblies\v4.0\MySql.Data.dll + \\ylps023046.verag.ost.dmn\VB\dll\.net MySQL v4.5.2\MySql.Data.dll - ..\..\..\dll\PdfSharp.dll + \\ylps023046.verag.ost.dmn\VB\dll\PdfSharp.dll @@ -845,15 +875,6 @@ False True - - {F9043C88-F6F2-101A-A3C9-08002B2F49FB} - 1 - 2 - 0 - tlbimp - False - True - {00020430-0000-0000-C000-000000000046} 2 @@ -874,7 +895,7 @@ - + {a3b497bd-842c-4a2b-b398-ed1976849df1} VERAG_PROG_ALLGEMEIN @@ -883,6 +904,9 @@ DAKOSY_Worker_lib + + +

    nL3LlO(2T{2b!+)qDYWvVJl_RON|p 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 M07*qoM6N<$f}-V>Bme*a literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png new file mode 100644 index 0000000000000000000000000000000000000000..e41fb42b8f6f273001816fc08d2ef78804db4f5c GIT binary patch literal 43217 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 JPDHLkV1iDXg{J@j literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png new file mode 100644 index 0000000000000000000000000000000000000000..319861b8f32992659f4ce3822131596c69294c52 GIT binary patch literal 174329 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 literal 0 HcmV?d00001 diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png new file mode 100644 index 0000000000000000000000000000000000000000..a48f11142b58813b1361310642f3d515f44b67fc GIT binary patch literal 279304 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