Codebasis als Dateien ins Arbeitsrepo statt als Gitlink

QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142)
getrackt, ohne .gitmodules und ohne erreichbares Remote. Der
Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar
gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege
der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen.

Umstellung:
- Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert
  (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6)
- Gitlink aus dem Index entfernt
- Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB

Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte
bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
This commit is contained in:
Christoph Schwörer
2026-08-26 07:43:51 +02:00
parent 18edae75b6
commit f045b99a25
24664 changed files with 5846716 additions and 1 deletions
@@ -0,0 +1,20 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6752',
Number: '10341',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '5',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22396',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '2',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,63 @@
{
Articles: [
{
AdditionalInfo: null,
ArticleImportDate: null,
CalculatedPrice: 39.0,
DataSheetUrl: null,
Description: 'Druckerservice, pro Gerät\r\n\r\nAufstellung und Montage\r\nPatronen und Toner einrichten\r\nDruckertest mit Testseite\r\naus Anwendung drucken\r\nKurzerklärung',
DistributorQuantityAvailable: null,
I3D: 134,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: ''
},
{
AdditionalInfo: null,
ArticleImportDate: null,
CalculatedPrice: 282.07,
DataSheetUrl: null,
Description: 'HP Drucker Stückliste + Kabel + Toner',
DistributorQuantityAvailable: null,
I3D: 1200,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: ''
},
{
AdditionalInfo: null,
ArticleImportDate: DateTime,
CalculatedPrice: 133.41,
DataSheetUrl: null,
Description: 'Hewlett Packard LASERJET P1505Plus\r\n\r\n23PPM USB 3.0\r\nLaserdrucker s/w/ 600x600 dpi/ Druckgeschwindigkeit Mono: 23 ppm/ Speicher: 8 MB/ Formate: Briefumschläge, A4, A5, A6, B5, Postkarten/ Zufuhr: 260 Blatt/ Duplex: manuell/ Papierablage Standard: 150 Blatt/ Papiergew. min. - max.: 60 - 163 g/m2/ USB 2.0, 12 Monate HP Garantie',
DistributorQuantityAvailable: 53.0,
I3D: 69,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: 'CB413A#B19'
},
{
AdditionalInfo: 'Heyaaa',
ArticleImportDate: DateTime,
CalculatedPrice: 540.0,
DataSheetUrl: null,
Description: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DistributorQuantityAvailable: 59.0,
I3D: 80,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: 600.0,
ListPriceDiscountInPercent: 10.0,
ManufacturerCode: 'KU206ET#ABD'
}
],
CurrentPage: 1,
PageCount: 1,
TotalArticlesCount: 4
}
@@ -0,0 +1,35 @@
{
Articles: [
{
AdditionalInfo: null,
ArticleImportDate: null,
CalculatedPrice: 39.0,
DataSheetUrl: null,
Description: 'Druckerservice, pro Gerät\r\n\r\nAufstellung und Montage\r\nPatronen und Toner einrichten\r\nDruckertest mit Testseite\r\naus Anwendung drucken\r\nKurzerklärung',
DistributorQuantityAvailable: null,
I3D: 134,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: ''
},
{
AdditionalInfo: null,
ArticleImportDate: null,
CalculatedPrice: 282.07,
DataSheetUrl: null,
Description: 'HP Drucker Stückliste + Kabel + Toner',
DistributorQuantityAvailable: null,
I3D: 1200,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: ''
}
],
CurrentPage: 1,
PageCount: 2,
TotalArticlesCount: 4
}
@@ -0,0 +1,35 @@
{
Articles: [
{
AdditionalInfo: null,
ArticleImportDate: DateTime,
CalculatedPrice: 200.12,
DataSheetUrl: null,
Description: 'Hewlett Packard LASERJET P1505Plus\r\n\r\n23PPM USB 3.0\r\nLaserdrucker s/w/ 600x600 dpi/ Druckgeschwindigkeit Mono: 23 ppm/ Speicher: 8 MB/ Formate: Briefumschläge, A4, A5, A6, B5, Postkarten/ Zufuhr: 260 Blatt/ Duplex: manuell/ Papierablage Standard: 150 Blatt/ Papiergew. min. - max.: 60 - 163 g/m2/ USB 2.0, 12 Monate HP Garantie',
DistributorQuantityAvailable: 53.0,
I3D: 69,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: null,
ListPriceDiscountInPercent: null,
ManufacturerCode: 'CB413A#B19'
},
{
AdditionalInfo: 'Heyaaa',
ArticleImportDate: DateTime,
CalculatedPrice: 810.00,
DataSheetUrl: null,
Description: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DistributorQuantityAvailable: 59.0,
I3D: 80,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ListPrice: 600.0,
ListPriceDiscountInPercent: 10.0,
ManufacturerCode: 'KU206ET#ABD'
}
],
CurrentPage: 2,
PageCount: 2,
TotalArticlesCount: 4
}
@@ -0,0 +1,33 @@
{
AssembleArticles: true,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: 'c-entron software gmbh\r\nBeschreibung blabla\r\nHerr Günther Netzer\r\nMusterstraße 1\r\n12345 Musterstadt\r\nBelgien',
Description: null,
I3D: 6755,
IsPartialDeliveryPossible: true,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: null,
I3D: 21323,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 2.0000000,
VATRate: 19.0
}
],
Name: 'New Name',
ProjectNumber: 'Projektnummer',
PurchaseOrderNumber: 'Bestellnummer',
State: 0
}
@@ -0,0 +1,33 @@
{
AssembleArticles: true,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: 'c-entron software gmbh\r\nBeschreibung blabla\r\nHerr Günther Netzer\r\nMusterstraße 1\r\n12345 Musterstadt\r\nBelgien',
Description: null,
I3D: 6753,
IsPartialDeliveryPossible: true,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: null,
I3D: 21321,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 2.0000000,
VATRate: 19.00
}
],
Name: 'Warenkorb',
ProjectNumber: 'Projektnummer',
PurchaseOrderNumber: 'Bestellnummer',
State: 0
}
@@ -0,0 +1,44 @@
[
{
I3D: '1',
IsActive: 'True',
AccountAddressI3D: '1',
IsDefault: 'False',
SalutationI3D: '2',
Lastname: 'Doe',
Firstname: 'John',
Job: '',
Phone1: '0731.140399.333',
Phone2: '',
Phone3: '0160.90998665',
Phone4: '',
Phone5: '',
Fax1: '',
Fax2: '',
Email1: 'tester@test.de',
Email2: '',
IsMailingAtEmail1Active: 'True',
IsMailingAtEmail2Active: 'False',
Birthday: null,
Comment: '',
DepartmentI3D: '242',
DepartmentText: 'Geschäftsleitung',
CreatedByI3D: '27',
ChangedByI3D: '47',
Picture: null,
PictureExtension: null,
VariableTextField01: '',
VariableTextField02: '',
OldReferenceI3D: '2',
OldReferenceKind: '0',
DefaultSubstitute: 'False',
IsInvoiceMailCCReceiver: 'False',
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null,
SID: null,
SAMAccountName: null,
SearchTag: null,
DefaultTicket: 'False'
}
]
@@ -0,0 +1,58 @@
[
{
I3D: '2',
AnschriftID: '1',
Ansprech: 'Doe',
AnsprechVorname: 'John',
Beruf: '',
Tel1: '0731.140399.333',
Tel2: '',
Tel3: '0160.90998665',
Tel4: '',
Tel5: '',
Fax1: '',
Fax2: '',
Email1: 'tester@test.de',
Email2: '',
Kommentar: '',
Abteilung: '242',
PersDomain: '',
PersWWW: '',
Faxverteiler: '0',
Mailverteiler: '0',
AgbErhaDatu: '30.12.1899 00:00:00',
AgbErhaBenu: '0',
AnlaBenu: '27',
Status: '1',
KredImport: null,
Import: null,
Vertriebsertrag: null,
Bild: null,
BildExt: null,
AnredeI3D: '2',
Mailing1: '1',
Mailing2: '0',
TitelI3D: '2',
ExterneI3D: null,
WebBenutzername: null,
WebKennwort: null,
LastWebLogin: null,
Geburtsdatum: null,
Standard: '0',
AbteilungText: 'Geschäftsleitung',
ActUniqueID: null,
ActETime: null,
ReferenzKundenI3D: '10000',
GeaendertVonI3D: '47',
ErstelltDurch: '0',
LeadAnsprechpartnerI3D: '0',
Kommentar2: '',
Kommentar3: '',
RechCCEmpfaenger: '0',
DefaultSubstitute: 'False',
ActiveDirectorySID: null,
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null
}
]
@@ -0,0 +1,11 @@
{
EmailAddress: 'tester@test.de',
FirstName: 'John',
HasCheckCartRight: true,
HasCustomerAdministratorRight: true,
HasOrderCartRight: true,
I3D: 2,
IsActive: true,
LastName: 'Doe',
Username: 'johndoe'
}
@@ -0,0 +1,72 @@
[
{
I3D: '81',
WebAccountsI3D: '1',
WebRightsI3D: '11000'
},
{
I3D: '82',
WebAccountsI3D: '1',
WebRightsI3D: '12000'
},
{
I3D: '83',
WebAccountsI3D: '1',
WebRightsI3D: '23000'
},
{
I3D: '84',
WebAccountsI3D: '1',
WebRightsI3D: '24000'
},
{
I3D: '85',
WebAccountsI3D: '1',
WebRightsI3D: '25000'
},
{
I3D: '86',
WebAccountsI3D: '1',
WebRightsI3D: '26000'
},
{
I3D: '87',
WebAccountsI3D: '1',
WebRightsI3D: '31000'
},
{
I3D: '88',
WebAccountsI3D: '1',
WebRightsI3D: '31001'
},
{
I3D: '89',
WebAccountsI3D: '1',
WebRightsI3D: '31002'
},
{
I3D: '90',
WebAccountsI3D: '1',
WebRightsI3D: '31003'
},
{
I3D: '91',
WebAccountsI3D: '1',
WebRightsI3D: '31004'
},
{
I3D: '92',
WebAccountsI3D: '1',
WebRightsI3D: '31005'
},
{
I3D: '93',
WebAccountsI3D: '1',
WebRightsI3D: '62001'
},
{
I3D: '94',
WebAccountsI3D: '1',
WebRightsI3D: '62002'
}
]
@@ -0,0 +1,24 @@
[
{
I3D: '1',
Status: '1',
Type: '2',
TypeI3D: '2',
Username: 'johndoe',
Password: 'fefda504251b73d30a7cf3d047d241388a3c11b3',
LastLoginIP: '::1',
LastLoginDate: '13.12.2016 16:26:37',
KundenI3D: '10000',
AnschriftI3D: '1',
PersonenI3D: '2',
AccountI3D: '1',
AccountAddressI3D: '1',
AccountAddressContactI3D: '1',
CreatedByI3D: null,
ChangedByI3D: '36',
UseTwoFactorAuthentication: 'False',
TwoFactorValidDurationInDays: null,
LastTwoFactorValidatedAt: null,
EsRoleI3D: null
}
]
@@ -0,0 +1,44 @@
[
{
I3D: '1',
IsActive: 'True',
AccountAddressI3D: '1',
IsDefault: 'False',
SalutationI3D: '2',
Lastname: 'Doe',
Firstname: 'John',
Job: '',
Phone1: '0731.140399.333',
Phone2: '',
Phone3: '0160.90998665',
Phone4: '',
Phone5: '',
Fax1: '',
Fax2: '',
Email1: 'tester@test.de',
Email2: '',
IsMailingAtEmail1Active: 'True',
IsMailingAtEmail2Active: 'False',
Birthday: null,
Comment: '',
DepartmentI3D: '242',
DepartmentText: 'Geschäftsleitung',
CreatedByI3D: '27',
ChangedByI3D: '47',
Picture: null,
PictureExtension: null,
VariableTextField01: '',
VariableTextField02: '',
OldReferenceI3D: '2',
OldReferenceKind: '0',
DefaultSubstitute: 'False',
IsInvoiceMailCCReceiver: 'False',
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null,
SID: null,
SAMAccountName: null,
SearchTag: null,
DefaultTicket: 'False'
}
]
@@ -0,0 +1,58 @@
[
{
I3D: '2',
AnschriftID: '1',
Ansprech: 'Doe',
AnsprechVorname: 'John',
Beruf: '',
Tel1: '0731.140399.333',
Tel2: '',
Tel3: '0160.90998665',
Tel4: '',
Tel5: '',
Fax1: '',
Fax2: '',
Email1: 'tester@test.de',
Email2: '',
Kommentar: '',
Abteilung: '242',
PersDomain: '',
PersWWW: '',
Faxverteiler: '0',
Mailverteiler: '0',
AgbErhaDatu: '30.12.1899 00:00:00',
AgbErhaBenu: '0',
AnlaBenu: '27',
Status: '1',
KredImport: null,
Import: null,
Vertriebsertrag: null,
Bild: null,
BildExt: null,
AnredeI3D: '2',
Mailing1: '1',
Mailing2: '0',
TitelI3D: '2',
ExterneI3D: null,
WebBenutzername: null,
WebKennwort: null,
LastWebLogin: null,
Geburtsdatum: null,
Standard: '0',
AbteilungText: 'Geschäftsleitung',
ActUniqueID: null,
ActETime: null,
ReferenzKundenI3D: '10000',
GeaendertVonI3D: '47',
ErstelltDurch: '0',
LeadAnsprechpartnerI3D: '0',
Kommentar2: '',
Kommentar3: '',
RechCCEmpfaenger: '0',
DefaultSubstitute: 'False',
ActiveDirectorySID: null,
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null
}
]
@@ -0,0 +1,11 @@
{
EmailAddress: 'tester@test.de',
FirstName: 'John',
HasCheckCartRight: true,
HasCustomerAdministratorRight: true,
HasOrderCartRight: true,
I3D: 2,
IsActive: true,
LastName: 'Doe',
Username: 'johndoe'
}
@@ -0,0 +1,72 @@
[
{
I3D: '81',
WebAccountsI3D: '1',
WebRightsI3D: '11000'
},
{
I3D: '82',
WebAccountsI3D: '1',
WebRightsI3D: '12000'
},
{
I3D: '83',
WebAccountsI3D: '1',
WebRightsI3D: '23000'
},
{
I3D: '84',
WebAccountsI3D: '1',
WebRightsI3D: '24000'
},
{
I3D: '85',
WebAccountsI3D: '1',
WebRightsI3D: '25000'
},
{
I3D: '86',
WebAccountsI3D: '1',
WebRightsI3D: '26000'
},
{
I3D: '87',
WebAccountsI3D: '1',
WebRightsI3D: '31000'
},
{
I3D: '88',
WebAccountsI3D: '1',
WebRightsI3D: '31001'
},
{
I3D: '89',
WebAccountsI3D: '1',
WebRightsI3D: '31002'
},
{
I3D: '90',
WebAccountsI3D: '1',
WebRightsI3D: '31003'
},
{
I3D: '91',
WebAccountsI3D: '1',
WebRightsI3D: '31004'
},
{
I3D: '92',
WebAccountsI3D: '1',
WebRightsI3D: '31005'
},
{
I3D: '93',
WebAccountsI3D: '1',
WebRightsI3D: '62001'
},
{
I3D: '94',
WebAccountsI3D: '1',
WebRightsI3D: '62002'
}
]
@@ -0,0 +1,24 @@
[
{
I3D: '1',
Status: '1',
Type: '2',
TypeI3D: '2',
Username: 'johndoe',
Password: '7c222fb2927d828af22f592134e8932480637c0d',
LastLoginIP: '::1',
LastLoginDate: '13.12.2016 16:26:37',
KundenI3D: '10000',
AnschriftI3D: '1',
PersonenI3D: '2',
AccountI3D: '1',
AccountAddressI3D: '1',
AccountAddressContactI3D: '1',
CreatedByI3D: null,
ChangedByI3D: '36',
UseTwoFactorAuthentication: 'False',
TwoFactorValidDurationInDays: null,
LastTwoFactorValidatedAt: null,
EsRoleI3D: null
}
]
@@ -0,0 +1,44 @@
[
{
I3D: '1',
IsActive: 'True',
AccountAddressI3D: '1',
IsDefault: 'False',
SalutationI3D: '2',
Lastname: 'Bortoli',
Firstname: 'Andreas',
Job: '',
Phone1: '0731.140399.333',
Phone2: '',
Phone3: '0160.90998665',
Phone4: '',
Phone5: '',
Fax1: '',
Fax2: '',
Email1: 'bortoli@c-entron.de',
Email2: '',
IsMailingAtEmail1Active: 'True',
IsMailingAtEmail2Active: 'False',
Birthday: null,
Comment: '',
DepartmentI3D: '242',
DepartmentText: 'Geschäftsleitung',
CreatedByI3D: '27',
ChangedByI3D: '44',
Picture: null,
PictureExtension: null,
VariableTextField01: '',
VariableTextField02: '',
OldReferenceI3D: '2',
OldReferenceKind: '0',
DefaultSubstitute: 'False',
IsInvoiceMailCCReceiver: 'False',
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null,
SID: null,
SAMAccountName: null,
SearchTag: null,
DefaultTicket: null
}
]
@@ -0,0 +1,58 @@
[
{
I3D: '2',
AnschriftID: '1',
Ansprech: 'Bortoli',
AnsprechVorname: 'Andreas',
Beruf: '',
Tel1: '0731.140399.333',
Tel2: '',
Tel3: '0160.90998665',
Tel4: '',
Tel5: '',
Fax1: '',
Fax2: '',
Email1: 'bortoli@c-entron.de',
Email2: '',
Kommentar: '',
Abteilung: '242',
PersDomain: '',
PersWWW: '',
Faxverteiler: '0',
Mailverteiler: '0',
AgbErhaDatu: '30.12.1899 00:00:00',
AgbErhaBenu: '0',
AnlaBenu: '27',
Status: '1',
KredImport: null,
Import: null,
Vertriebsertrag: null,
Bild: null,
BildExt: null,
AnredeI3D: '2',
Mailing1: '1',
Mailing2: '0',
TitelI3D: '2',
ExterneI3D: null,
WebBenutzername: null,
WebKennwort: null,
LastWebLogin: null,
Geburtsdatum: null,
Standard: '0',
AbteilungText: 'Geschäftsleitung',
ActUniqueID: null,
ActETime: null,
ReferenzKundenI3D: '10000',
GeaendertVonI3D: '44',
ErstelltDurch: '0',
LeadAnsprechpartnerI3D: '0',
Kommentar2: '',
Kommentar3: '',
RechCCEmpfaenger: '0',
DefaultSubstitute: 'False',
ActiveDirectorySID: null,
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null
}
]
@@ -0,0 +1,11 @@
{
EmailAddress: 'bortoli@c-entron.de',
FirstName: 'Andreas',
HasCheckCartRight: false,
HasCustomerAdministratorRight: true,
HasOrderCartRight: false,
I3D: 2,
IsActive: true,
LastName: 'Bortoli',
Username: 'abortoli'
}
@@ -0,0 +1,62 @@
[
{
I3D: '1',
WebAccountsI3D: '1',
WebRightsI3D: '12000'
},
{
I3D: '2',
WebAccountsI3D: '1',
WebRightsI3D: '11000'
},
{
I3D: '54',
WebAccountsI3D: '1',
WebRightsI3D: '31005'
},
{
I3D: '55',
WebAccountsI3D: '1',
WebRightsI3D: '31002'
},
{
I3D: '56',
WebAccountsI3D: '1',
WebRightsI3D: '23000'
},
{
I3D: '57',
WebAccountsI3D: '1',
WebRightsI3D: '31001'
},
{
I3D: '58',
WebAccountsI3D: '1',
WebRightsI3D: '31004'
},
{
I3D: '59',
WebAccountsI3D: '1',
WebRightsI3D: '24000'
},
{
I3D: '60',
WebAccountsI3D: '1',
WebRightsI3D: '31003'
},
{
I3D: '61',
WebAccountsI3D: '1',
WebRightsI3D: '26000'
},
{
I3D: '62',
WebAccountsI3D: '1',
WebRightsI3D: '25000'
},
{
I3D: '63',
WebAccountsI3D: '1',
WebRightsI3D: '31000'
}
]
@@ -0,0 +1,24 @@
[
{
I3D: '1',
Status: '1',
Type: '2',
TypeI3D: '2',
Username: 'abortoli',
Password: '7c222fb2927d828af22f592134e8932480637c0d',
LastLoginIP: '::1',
LastLoginDate: '13.12.2016 16:26:37',
KundenI3D: '10000',
AnschriftI3D: '1',
PersonenI3D: '2',
AccountI3D: '1',
AccountAddressI3D: '1',
AccountAddressContactI3D: '1',
CreatedByI3D: null,
ChangedByI3D: null,
UseTwoFactorAuthentication: 'False',
TwoFactorValidDurationInDays: null,
LastTwoFactorValidatedAt: null,
EsRoleI3D: null
}
]
@@ -0,0 +1,44 @@
[
{
I3D: '1077',
IsActive: 'True',
AccountAddressI3D: '1',
IsDefault: 'False',
SalutationI3D: null,
Lastname: 'Lei',
Firstname: 'Tester',
Job: null,
Phone1: null,
Phone2: null,
Phone3: null,
Phone4: null,
Phone5: null,
Fax1: null,
Fax2: null,
Email1: 'tester@c-entron.de',
Email2: null,
IsMailingAtEmail1Active: 'False',
IsMailingAtEmail2Active: 'False',
Birthday: null,
Comment: null,
DepartmentI3D: null,
DepartmentText: null,
CreatedByI3D: '47',
ChangedByI3D: '47',
Picture: null,
PictureExtension: null,
VariableTextField01: null,
VariableTextField02: null,
OldReferenceI3D: '1093',
OldReferenceKind: '0',
DefaultSubstitute: 'False',
IsInvoiceMailCCReceiver: 'False',
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null,
SID: null,
SAMAccountName: null,
SearchTag: null,
DefaultTicket: 'False'
}
]
@@ -0,0 +1,58 @@
[
{
I3D: '1093',
AnschriftID: '1',
Ansprech: 'Lei',
AnsprechVorname: 'Tester',
Beruf: null,
Tel1: null,
Tel2: null,
Tel3: null,
Tel4: null,
Tel5: null,
Fax1: null,
Fax2: null,
Email1: 'tester@c-entron.de',
Email2: null,
Kommentar: null,
Abteilung: null,
PersDomain: null,
PersWWW: null,
Faxverteiler: null,
Mailverteiler: null,
AgbErhaDatu: null,
AgbErhaBenu: null,
AnlaBenu: '47',
Status: '1',
KredImport: null,
Import: null,
Vertriebsertrag: null,
Bild: null,
BildExt: null,
AnredeI3D: null,
Mailing1: '0',
Mailing2: '0',
TitelI3D: null,
ExterneI3D: null,
WebBenutzername: null,
WebKennwort: null,
LastWebLogin: null,
Geburtsdatum: null,
Standard: '0',
AbteilungText: null,
ActUniqueID: null,
ActETime: null,
ReferenzKundenI3D: '10000',
GeaendertVonI3D: '47',
ErstelltDurch: '0',
LeadAnsprechpartnerI3D: '0',
Kommentar2: null,
Kommentar3: null,
RechCCEmpfaenger: '0',
DefaultSubstitute: 'False',
ActiveDirectorySID: null,
IsDsgvoDeleted: null,
DsgvoDeletedEmployeeI3D: null,
DsgvoDeletedDate: null
}
]
@@ -0,0 +1,11 @@
{
EmailAddress: 'tester@c-entron.de',
FirstName: 'Tester',
HasCheckCartRight: true,
HasCustomerAdministratorRight: false,
HasOrderCartRight: false,
I3D: 1093,
IsActive: true,
LastName: 'Lei',
Username: 'Testerlei'
}
@@ -0,0 +1,7 @@
[
{
I3D: '95',
WebAccountsI3D: '9',
WebRightsI3D: '62001'
}
]
@@ -0,0 +1,24 @@
[
{
I3D: '9',
Status: '1',
Type: '2',
TypeI3D: '1093',
Username: 'Testerlei',
Password: '5f6087367c3abd5ea9bc0d1650277b9f68b9b233',
LastLoginIP: null,
LastLoginDate: null,
KundenI3D: '10000',
AnschriftI3D: '1',
PersonenI3D: '1093',
AccountI3D: '1',
AccountAddressI3D: '1',
AccountAddressContactI3D: '1077',
CreatedByI3D: '36',
ChangedByI3D: null,
UseTwoFactorAuthentication: 'True',
TwoFactorValidDurationInDays: null,
LastTwoFactorValidatedAt: null,
EsRoleI3D: null
}
]
@@ -0,0 +1,32 @@
[
{
EmailAddress: 'bortoli@c-entron.de',
FirstName: 'Andreas',
HasCheckCartRight: false,
HasOrderCartRight: false,
I3D: 2,
IsActive: true,
LastName: 'Bortoli',
Username: 'abortoli'
},
{
EmailAddress: 'ff@c-entron.de',
FirstName: 'Franziska',
HasCheckCartRight: false,
HasOrderCartRight: false,
I3D: 23,
IsActive: true,
LastName: 'Franzen',
Username: 'centron'
},
{
EmailAddress: 'fischer@c-entron.de',
FirstName: 'Markus',
HasCheckCartRight: false,
HasOrderCartRight: false,
I3D: 59,
IsActive: true,
LastName: 'Fischer',
Username: 'tester'
}
]
@@ -0,0 +1,16 @@
[
{
City: 'Ulm',
CountryI3D: 1,
I3D: 1,
Street: 'Liststrasse 1',
Zip: '89079'
},
{
City: 'Neu-Ulm / Burlafingen',
CountryI3D: 1,
I3D: 3,
Street: 'Adenauerstraße 13/1',
Zip: '89233'
}
]
@@ -0,0 +1,33 @@
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: null,
I3D: 21324,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 15.0,
VATRate: 19.0
}
],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
@@ -0,0 +1,18 @@
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6751,
IsPartialDeliveryPossible: false,
Items: [],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
@@ -0,0 +1,20 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6751,
IsPartialDeliveryPossible: false,
Items: [],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6751',
Number: '10340',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '1',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22395',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '1',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,20 @@
[
{
AssembleArticles: true,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: 'c-entron software gmbh\r\n1. Stock liefern bitte danke\r\nHerr Jürgen Fetzer\r\nWielandstraße 12\r\n89186 Vöhringen\r\nBelgien',
Description: 'Test-Beschreibung',
I3D: 6751,
IsPartialDeliveryPossible: true,
Items: [],
Name: 'Neue Hardware für Abteilung Einkauf',
ProjectNumber: 'Projektnummer',
PurchaseOrderNumber: 'Bestellnummer',
State: 0
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6751',
Number: '10340',
PurchaseOrderNumber: 'Bestellnummer',
AdditionalText: null,
Version: '2',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: 'Projektnummer',
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: 'c-entron software gmbh\r\n1. Stock liefern bitte danke\r\nHerr Jürgen Fetzer\r\nWielandstraße 12\r\n89186 Vöhringen\r\nBelgien',
DeliveryAddressCustomerI3D: '10000',
DeliveryAddressAddressI3D: '1070',
DeliveryAddressContactPersonI3D: '1091',
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22395',
IsPartialDeliveryPossible: '1',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Neue Hardware für Abteilung Einkauf',
CartDescription: 'Test-Beschreibung',
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'True',
CartState: 'Created',
ReceiptReceiverI3D: '1',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,18 @@
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
@@ -0,0 +1,20 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6752',
Number: '10341',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '1',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22396',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '2',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,35 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: null,
I3D: 21320,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 1.0000000,
VATRate: 19.00
}
],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,53 @@
[
{
I3D: '21320',
Text: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
ArticleI3D: '80',
InternalPosition: '1',
DisplayPositionNumber: '1',
Indent: '0',
GroupID: '0',
Expanded: null,
Kind: '1',
ArticlePositionKind: '0',
VATI3D: '4',
ReceiptI3D: '6752',
QuantityComplete: '1,0000000',
QuantityProcessed: '0,0000000',
BasePrice: '600',
PurchaseBasePrice: '599,57142857',
Discount: '10,000000000000',
SpecialAgreementI3D: null,
VATRate: '19,00',
CostCenterI3D: '1',
CostObjectI3D: '1',
DeliveryDate: null,
NotificationDate: null,
RevenueAccount: '4400',
Visible: '1',
FontStyle: '0',
FontSize: '9',
FontName: 'Verdana',
FontColor: '-16777208',
ArticleCode: 'KU206ET#ABD',
EANCode: '0884420006091',
ManufacturerCode: 'KU206ET#ABD',
ShowImage: '0',
OriginalPurchasePrice: '599,57142857',
ReasonForCustomPurchasePrice: null,
WarehouseI3D: '-1',
ChangeStock: '1',
PurchaseInformations: null,
WEEE: '',
CustomerCostCenter: null,
ContractI3D: null,
PurchaseOrderNumber: null,
IsBillingPartList: '0',
PurchasePriceSupplierI3D: null,
InternalNote: null,
PlannedDurationInHours: '0,0000000',
IsReverseCharge: 'False',
IsLeasing: 'False',
IsService: 'False'
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6752',
Number: '10341',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '2',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22396',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '2',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,35 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: null,
I3D: 21320,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 2.0000000,
VATRate: 19.00
}
],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,53 @@
[
{
I3D: '21320',
Text: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
ArticleI3D: '80',
InternalPosition: '1',
DisplayPositionNumber: '1',
Indent: '0',
GroupID: '0',
Expanded: null,
Kind: '1',
ArticlePositionKind: '0',
VATI3D: '4',
ReceiptI3D: '6752',
QuantityComplete: '2,0000000',
QuantityProcessed: '0,0000000',
BasePrice: '600',
PurchaseBasePrice: '599,57142857',
Discount: '10,000000000000',
SpecialAgreementI3D: null,
VATRate: '19,00',
CostCenterI3D: '1',
CostObjectI3D: '1',
DeliveryDate: null,
NotificationDate: null,
RevenueAccount: '4400',
Visible: '1',
FontStyle: '0',
FontSize: '9',
FontName: 'Verdana',
FontColor: '-16777208',
ArticleCode: 'KU206ET#ABD',
EANCode: '0884420006091',
ManufacturerCode: 'KU206ET#ABD',
ShowImage: '0',
OriginalPurchasePrice: '599,57142857',
ReasonForCustomPurchasePrice: null,
WarehouseI3D: '-1',
ChangeStock: '1',
PurchaseInformations: null,
WEEE: '',
CustomerCostCenter: null,
ContractI3D: null,
PurchaseOrderNumber: null,
IsBillingPartList: '0',
PurchasePriceSupplierI3D: null,
InternalNote: null,
PlannedDurationInHours: '0,0000000',
IsReverseCharge: 'False',
IsLeasing: 'False',
IsService: 'False'
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6752',
Number: '10341',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '3',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22396',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '2',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,35 @@
[
{
AssembleArticles: false,
ChangedAt: DateTime,
CreatedAt: DateTime,
CreatedBy: 'Franziska Franzen',
CurrencyFactor: 1.0,
CurrencyI3D: 1,
CurrencyString: '€',
DeliveryAddress: null,
Description: null,
I3D: 6752,
IsPartialDeliveryPossible: false,
Items: [
{
AdditionalInfo: 'Heyaaa',
ArticleI3D: 80,
ArticleText: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
DataSheetUrl: null,
Description: 'Beschreibung beim Artikel',
I3D: 21320,
ITscopePdfUrl: null,
ITscopeThumbnailImageUrl: null,
ManufacturerCode: 'KU206ET#ABD',
Price: 540.00,
Quantity: 20.0000000,
VATRate: 19.00
}
],
Name: 'Warenkorb',
ProjectNumber: null,
PurchaseOrderNumber: null,
State: 0
}
]
@@ -0,0 +1,53 @@
[
{
I3D: '21320',
Text: 'Hewlett Packard\r\nTV HP Compaq 6820s Notebook PC\r\nTOPVALUE - Intel Core 2 Duo T5870 (2.00 GHz / 2 MB L2 / 800 MHz)/ 2 GB RAM (1x 2 GB)/ 17,0 "/ WXGA+ (1440 x 900 Pixel)/ ATI Mobility Radeon X1350/ 160 GB HDD/ SATA/ DVD-SuperMulti (DL)/ 56K, WLAN 802.11a/b/g, LAN 10/100, Bluetooth/ VB / XPP',
ArticleI3D: '80',
InternalPosition: '1',
DisplayPositionNumber: '1',
Indent: '0',
GroupID: '0',
Expanded: null,
Kind: '1',
ArticlePositionKind: '0',
VATI3D: '4',
ReceiptI3D: '6752',
QuantityComplete: '20,0000000',
QuantityProcessed: '0,0000000',
BasePrice: '600',
PurchaseBasePrice: '599,57142857',
Discount: '10,000000000000',
SpecialAgreementI3D: null,
VATRate: '19,00',
CostCenterI3D: '1',
CostObjectI3D: '1',
DeliveryDate: null,
NotificationDate: null,
RevenueAccount: '4400',
Visible: '1',
FontStyle: '0',
FontSize: '9',
FontName: 'Verdana',
FontColor: '-16777208',
ArticleCode: 'KU206ET#ABD',
EANCode: '0884420006091',
ManufacturerCode: 'KU206ET#ABD',
ShowImage: '0',
OriginalPurchasePrice: '599,57142857',
ReasonForCustomPurchasePrice: null,
WarehouseI3D: '-1',
ChangeStock: '1',
PurchaseInformations: 'Beschreibung beim Artikel',
WEEE: '',
CustomerCostCenter: null,
ContractI3D: null,
PurchaseOrderNumber: null,
IsBillingPartList: '0',
PurchasePriceSupplierI3D: null,
InternalNote: null,
PlannedDurationInHours: '0,0000000',
IsReverseCharge: 'False',
IsLeasing: 'False',
IsService: 'False'
}
]
@@ -0,0 +1,96 @@
[
{
I3D: '6752',
Number: '10341',
PurchaseOrderNumber: null,
AdditionalText: null,
Version: '4',
Receiver: 'c-entron software gmbh\r\nsdklfnfdjskfdsöfjsadkfjödöfjdsjafsöjdkfjösdajfsjdföjfjsdjfkjsadfjskdjfkjasdköal kalsjsvkjkldsjfkldösjkl jksdljvk jklsavj kjdslk jkldsj klödsj kljasdkl jkl jsckl jklasj klasj kljsö jksj dkljsdklj klsdj öklsdj klsdj lkjkasdj klasdj klsdj kljasfkl jöl\r\nFrau Franziska Franzen\r\nListstrasse 1\r\n89079 Ulm',
Phone: '0731-140399-0',
Fax: '0731-140399-399',
Email: 'ff@c-entron.de',
BranchI3D: null,
BranchOrigin: '0',
CustomerI3D: '10000',
AddressI3D: '1',
ContactPersonI3D: '23',
EditorI3D: '47',
ExclusiveOfVAT: '0',
ProjectNumber: null,
SalesRepresentativeI3D: '31',
OfficeStaffI3D: '34',
CreatedByI3D: '47',
ChangedByI3D: '47',
ChangedThroughApplication: '7',
State: '1',
DeliveryDate: null,
ReceiptConditionI3D: '4',
ReceiptConditionText: 'Das Angebot ist freibleibend. Bitte beachten Sie, dass aufgrund von Währungsschwankungen Preisänderungen möglich sind. Es gelten unsere AGB.',
DeliveryConditionI3D: '21',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
PaymentConditionI3D: '7',
DeliveryAddress: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressInformation: null,
InvoiceAddress: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressInformation: null,
PreparationDate: null,
CurrencyI3D: '1',
CurrencyFactor: '1',
CurrencyString: '€',
IsCashAsset: '0',
CountryI3D: '1',
Information: '',
ShowInformation: '0',
Street: 'Liststrasse 1',
HasPostOfficeBox: '0',
PostOfficeBox: '',
Zip: '89079',
City: 'Ulm',
ContactName: 'Frau Franziska Franzen',
CostCenterI3D: null,
CostObjectI3D: null,
DirectoryI3D: '22396',
IsPartialDeliveryPossible: '0',
LicenseeAddress: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressInformation: null,
ProjectEnd: null,
ProbabilityClassificationI3D: null,
ProductGroupClassificationI3D: null,
IsLeasingActive: '0',
LeasingFee: '0',
LeasingMonths: '0',
LeasingRatePercent: '0',
LeasingRatePerMonth: '0',
IsServiceActive: '0',
ServiceFee: '0',
ServiceMonths: '0',
ServiceRatePercent: '0',
ServiceRatePerMonth: '0',
CompleteReasonI3D: null,
CompleteReasonText: null,
ContractI3D: null,
CurrencyFactorIsFixed: 'False',
CampaignI3D: null,
ReceiptUserStateI3D: null,
IsCart: 'True',
CartName: 'Warenkorb',
CartDescription: null,
CartCreatorContactPersonI3D: '23',
CartAssembleArticles: 'False',
CartState: 'Created',
ReceiptReceiverI3D: '2',
ReceiptReceiverInvoiceI3D: null,
ReceiptReceiverDeliveryI3D: null,
ReceiptReceiverLicenseI3D: null,
MandatorBankNumber: null
}
]
@@ -0,0 +1,442 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Centron.BusinessLogic;
using Centron.BusinessLogic.Mail.Factory;
using Centron.BusinessLogic.WebServices.Accounts.SpecialPrices;
using Centron.BusinessLogic.WebServices.Sales.Receipts;
using Centron.Data.WebServices.Sales.Receipts.Orders;
using Centron.Interfaces;
using Centron.Interfaces.Accounts.SpecialPrices;
using Centron.Interfaces.BL;
using Centron.Tests.EndToEnd.Infrastructure;
using CentronSoftware.Centron.WebServices.Entities.Accounts.SpecialPrices;
using CentronSoftware.Centron.WebServices.Entities.Sales.Receipts;
using Xunit;
using Xunit.Abstractions;
namespace Centron.Tests.EndToEnd.Tests.ReceiptCarts;
public class ReceiptCartTests : EndToEndTest
{
public ReceiptCartTests(ITestOutputHelper testOutputHelper)
: base(testOutputHelper)
{
this.Verifier.Settings.IgnoreColumn("Date");
this.Verifier.Settings.IgnoreColumn("CreatedAt");
this.Verifier.Settings.IgnoreColumn("ChangedAt");
this.Verifier.Settings.IgnoreColumn("ReminderDate");
this.Verifier.Settings.IgnoreColumn("ConcurrencyControlGuid");
this.Verifier.Settings.IgnoreColumn("RichText");
this.Verifier.Settings.IgnoreColumn("PaymentConditionText");
this.Verifier.Settings.IgnoreColumn("ToDoI3D");
this.Verifier.Settings.IgnoreColumn("CreatedThroughApplicationVersion");
this.Verifier.Settings.IgnoreColumn("ChangedThroughApplicationVersion");
this.Verifier.Settings.IgnoreColumn("CreatedDate");
this.Verifier.Settings.IgnoreColumn("ChangedDate");
this.Verifier.Settings.IgnoreColumn("GeaendertVersion");
this.Verifier.Settings.IgnoreColumn("ChangedVersion");
this.Verifier.Settings.IgnoreColumn("GeaendertDatum");
this.Verifier.Settings.IgnoreColumn("AnlaDatum");
this.Verifier.Settings.IgnoreColumn("ErstelltVersion");
this.Verifier.Settings.IgnoreColumn("CreatedVersion");
}
private const int ArticleI3D = 80;
public override void Execute()
{
this.PrepareDatabase();
var cart = this.CreateCart(1);
var allCarts1 = this.GetAllCarts(2);
this.UpdateCart(3, cart);
this.DeleteCart(4, cart);
var otherCart = this.CreateCart(5);
var allCarts2 = this.GetAllCarts(6);
this.AddArticlesToCart(7, otherCart);
var otherCartUpdated = this.AddArticlesToCart(8, otherCart); //lets add the same articles again, they should get merged into 1 item
this.UpdateArticleInCart(9, otherCartUpdated);
this.RemoveArticleFromCart(10, otherCartUpdated);
this.CanNotDoStupidThings(11);
this.SearchArticles(12);
this.DuplicateCart(13);
this.TestUsers(14);
this.TestAddresses(15);
this.TestArticleImport(16);
this.TestPdfExport(17);
}
private void PrepareDatabase()
{
// Create some special-prices for 2 customers, so we can test
using var session = new BLSession();
session.GetBL<AccountSpecialPriceWebServiceBL>().SaveAccountSpecialPrice(this.GetLoggedInUser().User, new AccountSpecialPriceDTO
{
ObjectKind = CentronObjectKindNumeric.CustomerClass,
ObjectI3D = 10000,
ValueKind = SpecialPriceKind.ReduceListPrice,
Value = 10,
ArticleI3D = ArticleI3D,
CreatedByI3D = 1,
CreatedDate = new DateTime(2022, 1, 1)
});
session.GetBL<AccountSpecialPriceWebServiceBL>().SaveAccountSpecialPrice(this.GetLoggedInUser().User, new AccountSpecialPriceDTO
{
ObjectKind = CentronObjectKindNumeric.CustomerClass,
ObjectI3D = 10012,
ValueKind = SpecialPriceKind.ReduceListPrice,
Value = 10,
ArticleI3D = ArticleI3D,
CreatedByI3D = 1,
CreatedDate = new DateTime(2022, 1, 1)
});
// Set a easy list-price to calculate with
this.Sql($"UPDATE dbo.ARTIK SET Listenpreis = 600, WebCartAdditionalInfo = 'Heyaaa' WHERE I3D = {ArticleI3D}");
// Prepare a external-article that provides available quantities from the distributor
var settings = session.GetBL<ReceiptCartWebServiceBL>().GetWebCartSettings(this.GetLoggedInUser());
settings.DistributorI3DForAdditionalData = 90;
settings.CartOrderedEmailSender = "test-from@c-entron.de";
settings.CartOrderedInternalEmailReceiver = "vertrieb@c-entron.de";
session.GetBL<ReceiptCartWebServiceBL>().UpdateWebCartSettings(settings);
this.Sql($"UPDATE dbo.HerstellerArtik SET Code = 'KU206ET#ABD', Datenblatt = 'http://google.de', Bild = 'https://www.google.de/logos/doodles/2022/seasonal-holidays-2022-6753651837109831.7-ladc.gif' WHERE I3D0 = 4771366");
}
private ReceiptCartDTO CreateCart(int step)
{
using var session = new BLSession();
var newCart = session.GetBL<ReceiptCartWebServiceBL>().CreateNewCart(this.GetLoggedInUserWebAccount(), null, null);
this.Verifier.Verify($"{step}_NewCart", newCart);
return newCart;
}
private List<ReceiptCartDTO> GetAllCarts(int step)
{
using var session = new BLSession();
var allCarts = session.GetBL<ReceiptCartWebServiceBL>().GetAllCarts(this.GetLoggedInUserWebAccount());
this.Verifier.Verify($"{step}_AllCarts", allCarts);
if (allCarts.Any())
{
this.Verifier.VerifySql($"{step}_Offers", $"SELECT * FROM dbo.Offers O WHERE O.I3D IN ({string.Join(", ", allCarts.Select(f => f.I3D))})");
this.Verifier.VerifySql($"{step}_OfferItems", $"SELECT * FROM dbo.OfferItems OI WHERE OI.ReceiptI3D IN ({string.Join(", ", allCarts.Select(f => f.I3D))})");
}
return allCarts;
}
private void UpdateCart(int step, ReceiptCartDTO cart)
{
using var session = new BLSession();
var updateCartInfo = new UpdateCartInfoDTO
{
Name = "Neue Hardware für Abteilung Einkauf",
Description = "Test-Beschreibung",
ProjectNumber = "Projektnummer",
PurchaseOrderNumber = "Bestellnummer",
AssembleArticles = true,
IsPartialDeliveryPossible = true,
DeliveryAddressZip = "89186",
DeliveryAddressCity = "Vöhringen",
DeliveryAddressStreet = "Wielandstraße 12",
DeliveryAddressFirstName = "Jürgen",
DeliveryAddressLastName = "Fetzer",
DeliveryAddressDepartment = "1. Stock liefern bitte danke",
DeliveryAddressCountryI3D = 2,
DeliveryAddressSalutationI3D = 2,
};
session.GetBL<ReceiptCartWebServiceBL>().UpdateCartInfo(cart.I3D, updateCartInfo, this.GetLoggedInUserWebAccount());
this.GetAllCarts(step);
}
private void DeleteCart(int step, ReceiptCartDTO cart)
{
using var session = new BLSession();
session.GetBL<ReceiptCartWebServiceBL>().DeleteCart(cart.I3D, this.GetLoggedInUserWebAccount());
this.GetAllCarts(step);
}
private ReceiptCartDTO AddArticlesToCart(int step, ReceiptCartDTO cart)
{
using var session = new BLSession();
session.GetBL<ReceiptCartWebServiceBL>().AddArticleToCart(cart.I3D, ArticleI3D, 1, this.GetLoggedInUserWebAccount());
return this.GetAllCarts(step).First(f => f.I3D == cart.I3D);
}
private void UpdateArticleInCart(int step, ReceiptCartDTO cart)
{
var cartItemI3D = cart.Items.First(f => f.ArticleI3D == ArticleI3D).I3D;
using var session = new BLSession();
session.GetBL<ReceiptCartWebServiceBL>().UpdateArticleInfo(cart.I3D, cartItemI3D, new UpdateArticleInfoDTO { Quantity = 20, Description = "Beschreibung beim Artikel" }, this.GetLoggedInUserWebAccount());
this.GetAllCarts(step);
}
private void RemoveArticleFromCart(int step, ReceiptCartDTO cart)
{
var cartItemI3D = cart.Items.First(f => f.ArticleI3D == ArticleI3D).I3D;
using var session = new BLSession();
session.GetBL<ReceiptCartWebServiceBL>().RemoveArticleFromCart(cart.I3D, cartItemI3D, this.GetLoggedInUserWebAccount());
this.GetAllCarts(step);
}
private void CanNotDoStupidThings(int step)
{
const int DeactivatedCartI3D = 6751;
var (cartA, cartB) = PrepareDatabase();
// CreateNewCart
AssertException<ArgumentNullException>(f => f.CreateNewCart(null, null, null)); // Invalid user parameter
AssertException<ArgumentException>(f => f.CreateNewCart(this.GetLoggedInUser(), null, null), "Only web-account logins can create carts.");
// UpdateCartInfo
var updateCartInfo = new UpdateCartInfoDTO { Name = "Neuer Name" };
AssertException<ArgumentException>(f => f.UpdateCartInfo(-1, updateCartInfo, this.GetLoggedInUserWebAccount())); // Negative cartI3D
AssertException<ArgumentException>(f => f.UpdateCartInfo(0, updateCartInfo, this.GetLoggedInUserWebAccount())); // cartI3D is 0
AssertException<ArgumentNullException>(f => f.UpdateCartInfo(cartA.I3D, null, this.GetLoggedInUserWebAccount())); // updateCartInfo is null
AssertException<ArgumentException>(f => f.UpdateCartInfo(cartA.I3D, new UpdateCartInfoDTO(), this.GetLoggedInUserWebAccount())); // both newName and newDescription are NULL
AssertException<ArgumentNullException>(f => f.UpdateCartInfo(cartA.I3D, updateCartInfo, null)); // currentUser is null
AssertException<ArgumentException>(f => f.UpdateCartInfo(cartA.I3D, updateCartInfo, this.GetLoggedInUser()), "Only web-account logins can update carts.");
AssertException<ResultException>(f => f.UpdateCartInfo(999999, updateCartInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // cartI3D does not exist
AssertException<ResultException>(f => f.UpdateCartInfo(cartB.I3D, updateCartInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use cartI3D from another customer
AssertException<ResultException>(f => f.UpdateCartInfo(25, updateCartInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use a OfferI3D as cartI3D, that has "IsCart" set to false
AssertException<ResultException>(f => f.UpdateCartInfo(DeactivatedCartI3D, updateCartInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // the cartI3D is already deactivated
// DeleteCart
AssertException<ArgumentException>(f => f.DeleteCart(-1, this.GetLoggedInUserWebAccount())); // negative cartI3D
AssertException<ArgumentException>(f => f.DeleteCart(0, this.GetLoggedInUserWebAccount())); // cartI3D is 0
AssertException<ArgumentNullException>(f => f.DeleteCart(1, null)); // currentUser is null
AssertException<ArgumentException>(f => f.DeleteCart(1, this.GetLoggedInUser()), "Only web-account logins can delete carts.");
AssertException<ResultException>(f => f.DeleteCart(cartB.I3D, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use cartI3D from another customer
AssertException<ResultException>(f => f.DeleteCart(25, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use a OfferI3D as cartI3D, that has "IsCart" set to false
AssertException<ResultException>(f => f.DeleteCart(DeactivatedCartI3D, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // this cartI3D is already deactivated
// GetAllCarts
AssertException<ArgumentNullException>(f => f.GetAllCarts(null)); // currentUser is null
AssertException<ArgumentException>(f => f.GetAllCarts(this.GetLoggedInUser()), "Only web-account logins can get carts."); // currentUser is not a
AssertException<Exception>(f =>
{
var webAccountACarts = f.GetAllCarts(this.GetLoggedInUserWebAccount());
var webAccountBCarts = f.GetAllCarts(this.GetLoggedInUserWebAccount(8));
var noWebAccountAinB = webAccountACarts.All(f => webAccountBCarts.Any(d => d.I3D == f.I3D) == false);
var noWebAccountBinA = webAccountBCarts.All(f => webAccountACarts.Any(d => d.I3D == f.I3D) == false);
if (noWebAccountAinB && noWebAccountBinA)
throw new Exception();
});
// AddArticleToCart
AssertException<ArgumentException>(f => f.AddArticleToCart(-1, ArticleI3D, 1, this.GetLoggedInUserWebAccount())); // negative cartI3D
AssertException<ArgumentException>(f => f.AddArticleToCart(0, ArticleI3D, 1, this.GetLoggedInUserWebAccount())); // cartI3D is 0
AssertException<ArgumentException>(f => f.AddArticleToCart(cartA.I3D, -1, 1, this.GetLoggedInUserWebAccount())); // negative articleI3D
AssertException<ArgumentException>(f => f.AddArticleToCart(cartA.I3D, 0, 1, this.GetLoggedInUserWebAccount())); // articleI3D is 0
AssertException<ArgumentException>(f => f.AddArticleToCart(cartA.I3D, ArticleI3D, -1, this.GetLoggedInUserWebAccount())); // negative quantity
AssertException<ArgumentException>(f => f.AddArticleToCart(cartA.I3D, ArticleI3D, 0, this.GetLoggedInUserWebAccount())); // quantity is 0
AssertException<ArgumentNullException>(f => f.AddArticleToCart(cartA.I3D, ArticleI3D, 1, null)); // currentUser is null
AssertException<ArgumentException>(f => f.AddArticleToCart(cartA.I3D, ArticleI3D, 1, this.GetLoggedInUser()), "Only web-account logins can modify carts.");
AssertException<ResultException>(f => f.AddArticleToCart(cartB.I3D, ArticleI3D, 1, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use cartI3D from another customer
AssertException<ResultException>(f => f.AddArticleToCart(25, ArticleI3D, 1, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use a OfferI3D as cartI3D, that has "IsCart" set to false
AssertException<ResultException>(f => f.AddArticleToCart(DeactivatedCartI3D, ArticleI3D, 1, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // this cartI3D is already deactivated
AssertException<ResultException>(f => f.AddArticleToCart(cartA.I3D, 111, 1, this.GetLoggedInUserWebAccount()), "Dieser Artikel darf nicht in einen Warenkorb hinzugefügt werden."); // articleI3D that is not available to the customer through special-prices
// UpdateArticleQuantityInCart
var updateArticleInfo = new UpdateArticleInfoDTO { Quantity = 4 };
AssertException<ArgumentException>(f => f.UpdateArticleInfo(-1, cartA.Items[0].I3D, updateArticleInfo, this.GetLoggedInUserWebAccount())); // negative cartI3D
AssertException<ArgumentException>(f => f.UpdateArticleInfo(0, cartA.Items[0].I3D, updateArticleInfo, this.GetLoggedInUserWebAccount())); // cartI3D is 0
AssertException<ArgumentNullException>(f => f.UpdateArticleInfo(cartA.I3D, cartA.Items[0].I3D, null, this.GetLoggedInUserWebAccount())); // articleInfo is null
AssertException<ArgumentException>(f => f.UpdateArticleInfo(cartA.I3D, -1, updateArticleInfo, this.GetLoggedInUserWebAccount())); // negative itemI3D
AssertException<ArgumentException>(f => f.UpdateArticleInfo(cartA.I3D, 0, updateArticleInfo, this.GetLoggedInUserWebAccount())); // itemI3D is 0
AssertException<ResultException>(f => f.UpdateArticleInfo(cartA.I3D, 999, updateArticleInfo, this.GetLoggedInUserWebAccount()), "Der entsprechende Artikel wurde nicht im Warenkorb gefunden."); // itemI3D is invalid
AssertException<ArgumentException>(f => f.UpdateArticleInfo(cartA.I3D, cartA.Items[0].I3D, new UpdateArticleInfoDTO { Quantity = -1 }, this.GetLoggedInUserWebAccount())); // negative quantity
AssertException<ArgumentException>(f => f.UpdateArticleInfo(cartA.I3D, cartA.Items[0].I3D, new UpdateArticleInfoDTO { Quantity = 0 }, this.GetLoggedInUserWebAccount())); // quantity is 0
AssertException<ArgumentNullException>(f => f.UpdateArticleInfo(cartA.I3D, cartA.Items[0].I3D, updateArticleInfo, null)); // currentUser is null
AssertException<ArgumentException>(f => f.UpdateArticleInfo(cartA.I3D, cartA.Items[0].I3D, updateArticleInfo, this.GetLoggedInUser()), "Only web-account logins can modify carts.");
AssertException<ResultException>(f => f.UpdateArticleInfo(cartB.I3D, cartA.Items[0].I3D, updateArticleInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use cartI3D from another customer
AssertException<ResultException>(f => f.UpdateArticleInfo(25, ArticleI3D, updateArticleInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use a OfferI3D as cartI3D, that has "IsCart" set to false
AssertException<ResultException>(f => f.UpdateArticleInfo(DeactivatedCartI3D, ArticleI3D, updateArticleInfo, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // this cartI3D is already deactivated
// RemoveArticleFromCart
AssertException<ArgumentException>(f => f.RemoveArticleFromCart(-1, cartA.Items[0].I3D, this.GetLoggedInUserWebAccount())); // negative cartI3D
AssertException<ArgumentException>(f => f.RemoveArticleFromCart(0, cartA.Items[0].I3D, this.GetLoggedInUserWebAccount())); // cartI3D is 0
AssertException<ArgumentException>(f => f.RemoveArticleFromCart(cartA.I3D, -1, this.GetLoggedInUserWebAccount())); // negative itemI3D
AssertException<ArgumentException>(f => f.RemoveArticleFromCart(cartA.I3D, 0, this.GetLoggedInUserWebAccount())); // itemI3D is 0
AssertException<ResultException>(f => f.RemoveArticleFromCart(cartA.I3D, 999, this.GetLoggedInUserWebAccount()), "Der entsprechende Artikel wurde nicht im Warenkorb gefunden."); // itemI3D is invalid
AssertException<ArgumentNullException>(f => f.RemoveArticleFromCart(cartA.I3D, cartA.Items[0].I3D, null)); // currentUser is null
AssertException<ArgumentException>(f => f.RemoveArticleFromCart(cartA.I3D, cartA.Items[0].I3D, this.GetLoggedInUser()), "Only web-account logins can modify carts.");
AssertException<ResultException>(f => f.RemoveArticleFromCart(cartB.I3D, cartA.Items[0].I3D, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use cartI3D from another customer
AssertException<ResultException>(f => f.RemoveArticleFromCart(25, ArticleI3D, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // use a OfferI3D as cartI3D, that has "IsCart" set to false
AssertException<ResultException>(f => f.RemoveArticleFromCart(DeactivatedCartI3D, ArticleI3D, this.GetLoggedInUserWebAccount()), "Der Warenkorb wurde nicht gefunden."); // this cartI3D is already deactivated
(ReceiptCartDTO cartA, ReceiptCartDTO cartB) PrepareDatabase()
{
var firstCart = this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().CreateNewCart(this.GetLoggedInUserWebAccount(), null, null));
this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().AddArticleToCart(firstCart.I3D, ArticleI3D, 2, this.GetLoggedInUserWebAccount()));
var updatedFirstCart = this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().GetAllCarts(this.GetLoggedInUserWebAccount())).First(f => f.I3D == firstCart.I3D);
var secondCart = this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().CreateNewCart(this.GetLoggedInUserWebAccount(8), null, null));
this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().AddArticleToCart(secondCart.I3D, ArticleI3D, 2, this.GetLoggedInUserWebAccount(8)));
var updatedSecondCart = this.WithSession(session => session.GetBL<ReceiptCartWebServiceBL>().GetAllCarts(this.GetLoggedInUserWebAccount(8))).First(f => f.I3D == secondCart.I3D);
return (updatedFirstCart, updatedSecondCart);
}
void AssertException<T>(Action<ReceiptCartWebServiceBL> action, string exceptionMessage = null)
where T : Exception
{
this.WithSession(session =>
{
var exception = Assert.Throws<T>(() =>
{
action(session.GetBL<ReceiptCartWebServiceBL>());
});
if (exceptionMessage is not null)
Assert.Equal(exceptionMessage, exception.Message);
});
}
}
private void SearchArticles(int step)
{
using var session = new BLSession();
var articles = session.GetBL<ReceiptCartWebServiceBL>().SearchArticles(string.Empty, null, 1, int.MaxValue, this.GetLoggedInUserWebAccount());
this.Verifier.Verify($"{step}_AllArticles", articles);
var page1 = session.GetBL<ReceiptCartWebServiceBL>().SearchArticles(string.Empty, 1, 1, 2, this.GetLoggedInUserWebAccount());
this.Verifier.Verify($"{step}_Page1Articles", page1);
var page2 = session.GetBL<ReceiptCartWebServiceBL>().SearchArticles(string.Empty, 1.5m, 2, 2, this.GetLoggedInUserWebAccount());
this.Verifier.Verify($"{step}_Page2Articles", page2);
}
private void DuplicateCart(int step)
{
// Prepare a cart
var allCarts = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().GetAllCarts(this.GetLoggedInUserWebAccount()));
var currentCart = allCarts.Last().I3D;
var updateCartInfoDto = new UpdateCartInfoDTO
{
PurchaseOrderNumber = "Bestellnummer",
ProjectNumber = "Projektnummer",
AssembleArticles = true,
IsPartialDeliveryPossible = true,
DeliveryAddressFirstName = "Günther",
DeliveryAddressLastName = "Netzer",
DeliveryAddressStreet = "Musterstraße 1",
DeliveryAddressZip = "12345",
DeliveryAddressCity = "Musterstadt",
DeliveryAddressDepartment = "Beschreibung blabla",
DeliveryAddressCountryI3D = 2,
DeliveryAddressSalutationI3D = 2,
};
var updatedCart = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().UpdateCartInfo(currentCart, updateCartInfoDto, this.GetLoggedInUserWebAccount()));
this.Verifier.Verify($"{step}_OriginalCart", updatedCart);
var duplicate = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().DuplicateExistingCart(updatedCart.I3D, "New Name", this.GetLoggedInUserWebAccount()));
this.Verifier.Verify($"{step}_DuplicateCart", duplicate);
}
private void TestUsers(int step)
{
var users = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().GetAllUsers(this.GetLoggedInUserWebAccount()));
var user = users.First();
VerifyReceiptCartUser(user, "Before");
user.Username = "johndoe";
user.EmailAddress = "tester@test.de";
user.FirstName = "John";
user.LastName = "Doe";
user.HasCheckCartRight = true;
user.HasOrderCartRight = true;
user.HasCustomerAdministratorRight = true;
var saveResult = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().SaveUser(user, null, this.GetLoggedInUserWebAccount()));
VerifyReceiptCartUser(saveResult, "After");
var updatePasswordResult = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().SaveUser(saveResult, "new-password", this.GetLoggedInUserWebAccount()));
VerifyReceiptCartUser(updatePasswordResult, "AfterPasswordChange");
var newUser = new ReceiptCartUserDTO
{
I3D = 0,
Username = "Testerlei",
FirstName = "Tester",
LastName = "Lei",
EmailAddress = "tester@c-entron.de",
IsActive = true,
HasCheckCartRight = true,
HasOrderCartRight = false
};
var newUserResult = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().SaveUser(newUser, "some-password", this.GetLoggedInUserWebAccount()));
VerifyReceiptCartUser(newUserResult, "NewUser");
void VerifyReceiptCartUser(ReceiptCartUserDTO theUser, string label)
{
var webAccountI3D = this.Sql<int>($"SELECT I3D FROM dbo.WebAccounts WHERE PersonenI3D = {theUser.I3D}");
this.Verifier.Verify($"{step}_{label}_User", theUser);
this.Verifier.VerifySql($"{step}_{label}_WebAccounts", $"SELECT * FROM dbo.WebAccounts WHERE I3D = {webAccountI3D}");
this.Verifier.VerifySql($"{step}_{label}_AccountAddressContacts", $"SELECT * FROM dbo.AccountAddressContacts WHERE I3D = (SELECT AccountAddressContactI3D FROM dbo.WebAccounts WHERE I3D = {webAccountI3D})");
this.Verifier.VerifySql($"{step}_{label}_Personen", $"SELECT * FROM dbo.Personen WHERE I3D = {theUser.I3D}");
this.Verifier.VerifySql($"{step}_{label}_WebAccountRights", $"SELECT * FROM dbo.WebAccountsRights WHERE WebAccountsI3D = {webAccountI3D}");
}
}
private void TestAddresses(int step)
{
var addresses = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().GetAvailableDeliveryAddresses(this.GetLoggedInUserWebAccount()));
this.Verifier.Verify($"{step}_Addresses", addresses);
}
private void TestArticleImport(int step)
{
const int CartI3D = 6752;
var articles = new List<ReceiptCartArticleImportDTO>()
{
new()
{
ManufacturerCode = "KU206ET#ABD",
Quantity = 10
},
new()
{
ManufacturerCode = "KU206ET#ABD",
Quantity = 5
},
};
var importResult = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().ImportArticlesToCart(CartI3D, articles, this.GetLoggedInUserWebAccount()));
this.Verifier.Verify($"{step}_ImportResult", importResult);
}
private void TestPdfExport(int step)
{
const int CartI3D = 6752;
var exportResult = this.WithSession(s => s.GetBL<ReceiptCartWebServiceBL>().GetCartAsPdf(CartI3D, reportName:null, this.GetLoggedInUserWebAccount()));
Assert.NotNull(exportResult);
Assert.NotEmpty(exportResult);
}
}