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,16 @@
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 8.000000,
BankAccount: null,
Comment: 'What do you call a ship full of buddies? A friendship.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 65,
InvoiceAmount: 238.00,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.00
}
@@ -0,0 +1,164 @@
{
AdditionalText: '',
AddressI3D: 4,
BranchI3D: null,
BranchOrigin: 0,
CampaignI3D: null,
ChangedAt: DateTime,
ChangedByI3D: 44,
ChangedThroughApplication: 0,
City: '',
CollectiveAccount: '',
ConcurrencyControlGuid: Guid,
ContactName: '',
ContactPersonI3D: 5,
ContractI3D: null,
CostCenterI3D: null,
CostObjectI3D: null,
CountryI3D: 1,
CreatedAt: DateTime,
CreatedByI3D: 44,
CurrencyFactor: 1.0,
CurrencyFactorIsFixed: false,
CurrencyI3D: 1,
CurrencyString: '€',
CustomerI3D: 10001,
CustomUpdateArticlePricesAndTexts: false,
Date: DateTime,
DeliveryAddress: '',
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressInformation: '',
DeliveryConditionI3D: 21,
DeliveryConditionText: 'Frei Haus',
DeliveryDate: null,
DirectoryI3D: 22333,
DownPaymentForOrderI3D: null,
EditorI3D: 44,
Email: '',
EsrAmount: null,
EsrCodelineAmount: '',
EsrReferenceNumber: '',
ExclusiveOfVAT: false,
ExternalInvoiceDate: null,
ExternalInvoiceNumber: null,
Fax: '',
HasPostOfficeBox: false,
I3D: 6576,
Information: '',
InvoiceAddress: '',
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressInformation: '',
IsCashAsset: true,
IsFixed: false,
IsPartialDeliveryPossible: false,
Items: [
{
AddAdditionalInformations: [],
ArticleCode: '85',
ArticleI3D: 1191,
ArticlePositionKind: 0,
AttachedData: {},
BalanceID: '',
Barcodes: [],
BasePrice: 142.29,
ChangeStock: true,
ContractI3D: null,
CostCenterI3D: 1,
CostObjectI3D: 1,
CustomerCostCenter: '',
DeliveryDate: null,
DifferentBalanceDate: null,
Discount: 0.000000000000,
DisplayPositionNumber: null,
EANCode: '095205982756',
Expanded: null,
FontColor: -16777208,
FontName: 'Verdana',
FontSize: 9,
FontStyle: 0,
GroupID: 0,
HelpdeskTimerI3Ds: [],
I3D: 25960,
Indent: 0,
InternalPosition: 0,
IsBillingPartList: false,
IsReverseCharge: false,
Kind: 1,
LicenseDate: null,
ManufacturerCode: '006R03005',
MasterDataListSerialNumberI3D: null,
OrderDisplayPositionNumber: null,
OriginalPurchasePrice: 0.0,
OriginKind: 0,
OriginReceiptI3D: -1,
OriginReceiptItemI3D: -1,
PreparationDate: null,
ProjectOfferRichText: null,
PurchaseBasePrice: 105.4,
PurchaseInformations: null,
PurchaseOrderNumber: '',
QuantityComplete: 1.0000000,
QuantityProcessed: 0.0000000,
ReasonForCustomPurchasePrice: '',
ReceiptI3D: 6576,
ReceiptItemServiceArticleClassificationI3D: null,
RevenueAccount: 4400,
RichText: null,
RMAItemI3D: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
SpecialAgreementI3D: null,
Text: 'Xerox Xerox XRC Color Toner identisch zu HP CF031A Cyan 12500 Seiten',
VATI3D: 4,
VATRate: 19.00,
Visible: 1,
WarehouseI3D: -1,
WEEE: ''
}
],
LicenseeAddress: '',
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressInformation: '',
MandatI3D: null,
MandatorBankNumber: null,
Number: 20046,
OfficeStaffI3D: 27,
PaidFC: 8.000000,
PaymentConditionI3D: 35,
PaymentConditionText: 'EC--Karte',
PaymentDueDate: null,
Phone: '',
PostOfficeBox: '',
PreparationDate: null,
ProjectNumber: '',
Provision: [],
PurchaseOrderNumber: '',
ReceiptKind: 4,
ReceiptReceiver: null,
ReceiptReceiverDelivery: null,
ReceiptReceiverInvoice: null,
ReceiptReceiverLicense: null,
ReceiptUserStateI3D: null,
Receiver: 'Barverkauf',
ReminderDate: null,
SalesRepresentativeI3D: 27,
SchemaName: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
ShowInformation: false,
State: 2,
Street: '',
TrackingNumber: null,
TrackingNumberURL: null,
UsedAlternativeDeliveryAddress: false,
UsedAlternativeInvoiceAddress: false,
VariableDateField: null,
Version: 1,
Zip: ''
}
@@ -0,0 +1,16 @@
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 24.000000,
BankAccount: null,
Comment: 'Why did the grape cross the road? No raisin.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 66,
InvoiceAmount: 238.00,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.00
}
@@ -0,0 +1,164 @@
{
AdditionalText: '',
AddressI3D: 4,
BranchI3D: null,
BranchOrigin: 0,
CampaignI3D: null,
ChangedAt: DateTime,
ChangedByI3D: 44,
ChangedThroughApplication: 0,
City: '',
CollectiveAccount: '',
ConcurrencyControlGuid: Guid,
ContactName: '',
ContactPersonI3D: 5,
ContractI3D: null,
CostCenterI3D: null,
CostObjectI3D: null,
CountryI3D: 1,
CreatedAt: DateTime,
CreatedByI3D: 44,
CurrencyFactor: 1.0,
CurrencyFactorIsFixed: false,
CurrencyI3D: 1,
CurrencyString: '€',
CustomerI3D: 10001,
CustomUpdateArticlePricesAndTexts: false,
Date: DateTime,
DeliveryAddress: '',
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressInformation: '',
DeliveryConditionI3D: 21,
DeliveryConditionText: 'Frei Haus',
DeliveryDate: null,
DirectoryI3D: 22333,
DownPaymentForOrderI3D: null,
EditorI3D: 44,
Email: '',
EsrAmount: null,
EsrCodelineAmount: '',
EsrReferenceNumber: '',
ExclusiveOfVAT: false,
ExternalInvoiceDate: null,
ExternalInvoiceNumber: null,
Fax: '',
HasPostOfficeBox: false,
I3D: 6576,
Information: '',
InvoiceAddress: '',
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressInformation: '',
IsCashAsset: true,
IsFixed: false,
IsPartialDeliveryPossible: false,
Items: [
{
AddAdditionalInformations: [],
ArticleCode: '85',
ArticleI3D: 1191,
ArticlePositionKind: 0,
AttachedData: {},
BalanceID: '',
Barcodes: [],
BasePrice: 142.29,
ChangeStock: true,
ContractI3D: null,
CostCenterI3D: 1,
CostObjectI3D: 1,
CustomerCostCenter: '',
DeliveryDate: null,
DifferentBalanceDate: null,
Discount: 0.000000000000,
DisplayPositionNumber: null,
EANCode: '095205982756',
Expanded: null,
FontColor: -16777208,
FontName: 'Verdana',
FontSize: 9,
FontStyle: 0,
GroupID: 0,
HelpdeskTimerI3Ds: [],
I3D: 25960,
Indent: 0,
InternalPosition: 0,
IsBillingPartList: false,
IsReverseCharge: false,
Kind: 1,
LicenseDate: null,
ManufacturerCode: '006R03005',
MasterDataListSerialNumberI3D: null,
OrderDisplayPositionNumber: null,
OriginalPurchasePrice: 0.0,
OriginKind: 0,
OriginReceiptI3D: -1,
OriginReceiptItemI3D: -1,
PreparationDate: null,
ProjectOfferRichText: null,
PurchaseBasePrice: 105.4,
PurchaseInformations: null,
PurchaseOrderNumber: '',
QuantityComplete: 1.0000000,
QuantityProcessed: 0.0000000,
ReasonForCustomPurchasePrice: '',
ReceiptI3D: 6576,
ReceiptItemServiceArticleClassificationI3D: null,
RevenueAccount: 4400,
RichText: null,
RMAItemI3D: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
SpecialAgreementI3D: null,
Text: 'Xerox Xerox XRC Color Toner identisch zu HP CF031A Cyan 12500 Seiten',
VATI3D: 4,
VATRate: 19.00,
Visible: 1,
WarehouseI3D: -1,
WEEE: ''
}
],
LicenseeAddress: '',
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressInformation: '',
MandatI3D: null,
MandatorBankNumber: null,
Number: 20046,
OfficeStaffI3D: 27,
PaidFC: 24.000000,
PaymentConditionI3D: 35,
PaymentConditionText: 'EC--Karte',
PaymentDueDate: null,
Phone: '',
PostOfficeBox: '',
PreparationDate: null,
ProjectNumber: '',
Provision: [],
PurchaseOrderNumber: '',
ReceiptKind: 4,
ReceiptReceiver: null,
ReceiptReceiverDelivery: null,
ReceiptReceiverInvoice: null,
ReceiptReceiverLicense: null,
ReceiptUserStateI3D: null,
Receiver: 'Barverkauf',
ReminderDate: null,
SalesRepresentativeI3D: 27,
SchemaName: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
ShowInformation: false,
State: 2,
Street: '',
TrackingNumber: null,
TrackingNumberURL: null,
UsedAlternativeDeliveryAddress: false,
UsedAlternativeInvoiceAddress: false,
VariableDateField: null,
Version: 1,
Zip: ''
}
@@ -0,0 +1,16 @@
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 48.000000,
BankAccount: null,
Comment: 'My friend just sprayed some deodorant in my mouth. Now I have some weird Axe scent.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 67,
InvoiceAmount: 238.00,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.00
}
@@ -0,0 +1,164 @@
{
AdditionalText: '',
AddressI3D: 4,
BranchI3D: null,
BranchOrigin: 0,
CampaignI3D: null,
ChangedAt: DateTime,
ChangedByI3D: 44,
ChangedThroughApplication: 0,
City: '',
CollectiveAccount: '',
ConcurrencyControlGuid: Guid,
ContactName: '',
ContactPersonI3D: 5,
ContractI3D: null,
CostCenterI3D: null,
CostObjectI3D: null,
CountryI3D: 1,
CreatedAt: DateTime,
CreatedByI3D: 44,
CurrencyFactor: 1.0,
CurrencyFactorIsFixed: false,
CurrencyI3D: 1,
CurrencyString: '€',
CustomerI3D: 10001,
CustomUpdateArticlePricesAndTexts: false,
Date: DateTime,
DeliveryAddress: '',
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressInformation: '',
DeliveryConditionI3D: 21,
DeliveryConditionText: 'Frei Haus',
DeliveryDate: null,
DirectoryI3D: 22333,
DownPaymentForOrderI3D: null,
EditorI3D: 44,
Email: '',
EsrAmount: null,
EsrCodelineAmount: '',
EsrReferenceNumber: '',
ExclusiveOfVAT: false,
ExternalInvoiceDate: null,
ExternalInvoiceNumber: null,
Fax: '',
HasPostOfficeBox: false,
I3D: 6576,
Information: '',
InvoiceAddress: '',
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressInformation: '',
IsCashAsset: true,
IsFixed: false,
IsPartialDeliveryPossible: false,
Items: [
{
AddAdditionalInformations: [],
ArticleCode: '85',
ArticleI3D: 1191,
ArticlePositionKind: 0,
AttachedData: {},
BalanceID: '',
Barcodes: [],
BasePrice: 142.29,
ChangeStock: true,
ContractI3D: null,
CostCenterI3D: 1,
CostObjectI3D: 1,
CustomerCostCenter: '',
DeliveryDate: null,
DifferentBalanceDate: null,
Discount: 0.000000000000,
DisplayPositionNumber: null,
EANCode: '095205982756',
Expanded: null,
FontColor: -16777208,
FontName: 'Verdana',
FontSize: 9,
FontStyle: 0,
GroupID: 0,
HelpdeskTimerI3Ds: [],
I3D: 25960,
Indent: 0,
InternalPosition: 0,
IsBillingPartList: false,
IsReverseCharge: false,
Kind: 1,
LicenseDate: null,
ManufacturerCode: '006R03005',
MasterDataListSerialNumberI3D: null,
OrderDisplayPositionNumber: null,
OriginalPurchasePrice: 0.0,
OriginKind: 0,
OriginReceiptI3D: -1,
OriginReceiptItemI3D: -1,
PreparationDate: null,
ProjectOfferRichText: null,
PurchaseBasePrice: 105.4,
PurchaseInformations: null,
PurchaseOrderNumber: '',
QuantityComplete: 1.0000000,
QuantityProcessed: 0.0000000,
ReasonForCustomPurchasePrice: '',
ReceiptI3D: 6576,
ReceiptItemServiceArticleClassificationI3D: null,
RevenueAccount: 4400,
RichText: null,
RMAItemI3D: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
SpecialAgreementI3D: null,
Text: 'Xerox Xerox XRC Color Toner identisch zu HP CF031A Cyan 12500 Seiten',
VATI3D: 4,
VATRate: 19.00,
Visible: 1,
WarehouseI3D: -1,
WEEE: ''
}
],
LicenseeAddress: '',
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressInformation: '',
MandatI3D: null,
MandatorBankNumber: null,
Number: 20046,
OfficeStaffI3D: 27,
PaidFC: 48.000000,
PaymentConditionI3D: 35,
PaymentConditionText: 'EC--Karte',
PaymentDueDate: null,
Phone: '',
PostOfficeBox: '',
PreparationDate: null,
ProjectNumber: '',
Provision: [],
PurchaseOrderNumber: '',
ReceiptKind: 4,
ReceiptReceiver: null,
ReceiptReceiverDelivery: null,
ReceiptReceiverInvoice: null,
ReceiptReceiverLicense: null,
ReceiptUserStateI3D: null,
Receiver: 'Barverkauf',
ReminderDate: null,
SalesRepresentativeI3D: 27,
SchemaName: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
ShowInformation: false,
State: 2,
Street: '',
TrackingNumber: null,
TrackingNumberURL: null,
UsedAlternativeDeliveryAddress: false,
UsedAlternativeInvoiceAddress: false,
VariableDateField: null,
Version: 1,
Zip: ''
}
@@ -0,0 +1,16 @@
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 80.000000,
BankAccount: null,
Comment: 'What do you call a Buddhist Squirrel? A chipmunk.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 68,
InvoiceAmount: 238.00,
InvoiceHeadI3D: 6586,
IsClosed: true,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.00
}
@@ -0,0 +1,164 @@
{
AdditionalText: '',
AddressI3D: 4,
BranchI3D: null,
BranchOrigin: 0,
CampaignI3D: null,
ChangedAt: DateTime,
ChangedByI3D: 44,
ChangedThroughApplication: 0,
City: '',
CollectiveAccount: '',
ConcurrencyControlGuid: Guid,
ContactName: '',
ContactPersonI3D: 5,
ContractI3D: null,
CostCenterI3D: null,
CostObjectI3D: null,
CountryI3D: 1,
CreatedAt: DateTime,
CreatedByI3D: 44,
CurrencyFactor: 1.0,
CurrencyFactorIsFixed: false,
CurrencyI3D: 1,
CurrencyString: '€',
CustomerI3D: 10001,
CustomUpdateArticlePricesAndTexts: false,
Date: DateTime,
DeliveryAddress: '',
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressInformation: '',
DeliveryConditionI3D: 21,
DeliveryConditionText: 'Frei Haus',
DeliveryDate: null,
DirectoryI3D: 22333,
DownPaymentForOrderI3D: null,
EditorI3D: 44,
Email: '',
EsrAmount: null,
EsrCodelineAmount: '',
EsrReferenceNumber: '',
ExclusiveOfVAT: false,
ExternalInvoiceDate: null,
ExternalInvoiceNumber: null,
Fax: '',
HasPostOfficeBox: false,
I3D: 6576,
Information: '',
InvoiceAddress: '',
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressInformation: '',
IsCashAsset: true,
IsFixed: false,
IsPartialDeliveryPossible: false,
Items: [
{
AddAdditionalInformations: [],
ArticleCode: '85',
ArticleI3D: 1191,
ArticlePositionKind: 0,
AttachedData: {},
BalanceID: '',
Barcodes: [],
BasePrice: 142.29,
ChangeStock: true,
ContractI3D: null,
CostCenterI3D: 1,
CostObjectI3D: 1,
CustomerCostCenter: '',
DeliveryDate: null,
DifferentBalanceDate: null,
Discount: 0.000000000000,
DisplayPositionNumber: null,
EANCode: '095205982756',
Expanded: null,
FontColor: -16777208,
FontName: 'Verdana',
FontSize: 9,
FontStyle: 0,
GroupID: 0,
HelpdeskTimerI3Ds: [],
I3D: 25960,
Indent: 0,
InternalPosition: 0,
IsBillingPartList: false,
IsReverseCharge: false,
Kind: 1,
LicenseDate: null,
ManufacturerCode: '006R03005',
MasterDataListSerialNumberI3D: null,
OrderDisplayPositionNumber: null,
OriginalPurchasePrice: 0.0,
OriginKind: 0,
OriginReceiptI3D: -1,
OriginReceiptItemI3D: -1,
PreparationDate: null,
ProjectOfferRichText: null,
PurchaseBasePrice: 105.4,
PurchaseInformations: null,
PurchaseOrderNumber: '',
QuantityComplete: 1.0000000,
QuantityProcessed: 0.0000000,
ReasonForCustomPurchasePrice: '',
ReceiptI3D: 6576,
ReceiptItemServiceArticleClassificationI3D: null,
RevenueAccount: 4400,
RichText: null,
RMAItemI3D: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
SpecialAgreementI3D: null,
Text: 'Xerox Xerox XRC Color Toner identisch zu HP CF031A Cyan 12500 Seiten',
VATI3D: 4,
VATRate: 19.00,
Visible: 1,
WarehouseI3D: -1,
WEEE: ''
}
],
LicenseeAddress: '',
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressInformation: '',
MandatI3D: null,
MandatorBankNumber: null,
Number: 20046,
OfficeStaffI3D: 27,
PaidFC: 80.000000,
PaymentConditionI3D: 35,
PaymentConditionText: 'EC--Karte',
PaymentDueDate: null,
Phone: '',
PostOfficeBox: '',
PreparationDate: null,
ProjectNumber: '',
Provision: [],
PurchaseOrderNumber: '',
ReceiptKind: 4,
ReceiptReceiver: null,
ReceiptReceiverDelivery: null,
ReceiptReceiverInvoice: null,
ReceiptReceiverLicense: null,
ReceiptUserStateI3D: null,
Receiver: 'Barverkauf',
ReminderDate: null,
SalesRepresentativeI3D: 27,
SchemaName: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
ShowInformation: false,
State: 2,
Street: '',
TrackingNumber: null,
TrackingNumberURL: null,
UsedAlternativeDeliveryAddress: false,
UsedAlternativeInvoiceAddress: false,
VariableDateField: null,
Version: 1,
Zip: ''
}
@@ -0,0 +1,16 @@
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 5.0,
BankAccount: null,
Comment: 'What do you call a vampire with Alzheimer’s? A nos forgot to.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 64,
InvoiceAmount: 169.33,
InvoiceHeadI3D: 6576,
IsClosed: true,
Number: 20046,
PaymentDate: DateTime,
ResidualAmount: -5.00
}
@@ -0,0 +1,164 @@
{
AdditionalText: '',
AddressI3D: 4,
BranchI3D: null,
BranchOrigin: 0,
CampaignI3D: null,
ChangedAt: DateTime,
ChangedByI3D: 44,
ChangedThroughApplication: 0,
City: '',
CollectiveAccount: '',
ConcurrencyControlGuid: Guid,
ContactName: '',
ContactPersonI3D: 5,
ContractI3D: null,
CostCenterI3D: null,
CostObjectI3D: null,
CountryI3D: 1,
CreatedAt: DateTime,
CreatedByI3D: 44,
CurrencyFactor: 1.0,
CurrencyFactorIsFixed: false,
CurrencyI3D: 1,
CurrencyString: '€',
CustomerI3D: 10001,
CustomUpdateArticlePricesAndTexts: false,
Date: DateTime,
DeliveryAddress: '',
DeliveryAddressAddressI3D: null,
DeliveryAddressContactPersonI3D: null,
DeliveryAddressCustomerI3D: null,
DeliveryAddressInformation: '',
DeliveryConditionI3D: 21,
DeliveryConditionText: 'Frei Haus',
DeliveryDate: null,
DirectoryI3D: 22333,
DownPaymentForOrderI3D: null,
EditorI3D: 44,
Email: '',
EsrAmount: null,
EsrCodelineAmount: '',
EsrReferenceNumber: '',
ExclusiveOfVAT: false,
ExternalInvoiceDate: null,
ExternalInvoiceNumber: null,
Fax: '',
HasPostOfficeBox: false,
I3D: 6576,
Information: '',
InvoiceAddress: '',
InvoiceAddressAddressI3D: null,
InvoiceAddressContactPersonI3D: null,
InvoiceAddressCustomerI3D: null,
InvoiceAddressInformation: '',
IsCashAsset: true,
IsFixed: false,
IsPartialDeliveryPossible: false,
Items: [
{
AddAdditionalInformations: [],
ArticleCode: '85',
ArticleI3D: 1191,
ArticlePositionKind: 0,
AttachedData: {},
BalanceID: '',
Barcodes: [],
BasePrice: 142.29,
ChangeStock: true,
ContractI3D: null,
CostCenterI3D: 1,
CostObjectI3D: 1,
CustomerCostCenter: '',
DeliveryDate: null,
DifferentBalanceDate: null,
Discount: 0.000000000000,
DisplayPositionNumber: null,
EANCode: '095205982756',
Expanded: null,
FontColor: -16777208,
FontName: 'Verdana',
FontSize: 9,
FontStyle: 0,
GroupID: 0,
HelpdeskTimerI3Ds: [],
I3D: 25960,
Indent: 0,
InternalPosition: 0,
IsBillingPartList: false,
IsReverseCharge: false,
Kind: 1,
LicenseDate: null,
ManufacturerCode: '006R03005',
MasterDataListSerialNumberI3D: null,
OrderDisplayPositionNumber: null,
OriginalPurchasePrice: 0.0,
OriginKind: 0,
OriginReceiptI3D: -1,
OriginReceiptItemI3D: -1,
PreparationDate: null,
ProjectOfferRichText: null,
PurchaseBasePrice: 105.4,
PurchaseInformations: null,
PurchaseOrderNumber: '',
QuantityComplete: 1.0000000,
QuantityProcessed: 0.0000000,
ReasonForCustomPurchasePrice: '',
ReceiptI3D: 6576,
ReceiptItemServiceArticleClassificationI3D: null,
RevenueAccount: 4400,
RichText: null,
RMAItemI3D: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
SpecialAgreementI3D: null,
Text: 'Xerox Xerox XRC Color Toner identisch zu HP CF031A Cyan 12500 Seiten',
VATI3D: 4,
VATRate: 19.00,
Visible: 1,
WarehouseI3D: -1,
WEEE: ''
}
],
LicenseeAddress: '',
LicenseeAddressAddressI3D: null,
LicenseeAddressContactPersonI3D: null,
LicenseeAddressCustomerI3D: null,
LicenseeAddressInformation: '',
MandatI3D: null,
MandatorBankNumber: null,
Number: 20046,
OfficeStaffI3D: 27,
PaidFC: 174.33000000,
PaymentConditionI3D: 35,
PaymentConditionText: 'EC--Karte',
PaymentDueDate: null,
Phone: '',
PostOfficeBox: '',
PreparationDate: null,
ProjectNumber: '',
Provision: [],
PurchaseOrderNumber: '',
ReceiptKind: 4,
ReceiptReceiver: null,
ReceiptReceiverDelivery: null,
ReceiptReceiverInvoice: null,
ReceiptReceiverLicense: null,
ReceiptUserStateI3D: null,
Receiver: 'Barverkauf',
ReminderDate: null,
SalesRepresentativeI3D: 27,
SchemaName: null,
ServicePeriodFrom: null,
ServicePeriodTo: null,
ShowInformation: false,
State: 2,
Street: '',
TrackingNumber: null,
TrackingNumberURL: null,
UsedAlternativeDeliveryAddress: false,
UsedAlternativeInvoiceAddress: false,
VariableDateField: null,
Version: 1,
Zip: ''
}
@@ -0,0 +1,34 @@
[
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 24.0,
BankAccount: null,
Comment: 'Why did the grape cross the road? No raisin.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 66,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
},
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 48.0,
BankAccount: null,
Comment: 'My friend just sprayed some deodorant in my mouth. Now I have some weird Axe scent.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 67,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
}
]
@@ -0,0 +1,66 @@
[
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 8.0,
BankAccount: null,
Comment: 'What do you call a ship full of buddies? A friendship.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 65,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
},
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 24.0,
BankAccount: null,
Comment: 'Why did the grape cross the road? No raisin.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 66,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
},
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 48.0,
BankAccount: null,
Comment: 'My friend just sprayed some deodorant in my mouth. Now I have some weird Axe scent.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 67,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: false,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
},
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 80.0,
BankAccount: null,
Comment: 'What do you call a Buddhist Squirrel? A chipmunk.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 68,
InvoiceAmount: 238.0,
InvoiceHeadI3D: 6586,
IsClosed: true,
Number: 40286,
PaymentDate: DateTime,
ResidualAmount: 230.0
}
]
@@ -0,0 +1,135 @@
{
AccountI3D: 10000,
AccountName: 'c-entron software gmbh',
AccountNumber: 10000,
Adviser1: 'TH',
Adviser2: 'MAFI',
Adviser3: 'NP',
Adviser4: 'UT',
AlternativeMailRecipientI3D: null,
BalancePrice: null,
BillingIntervallDuration: null,
BillingIntervallKind: null,
BranchI3D: null,
Caption: '',
CargoCost: null,
ChangedBy: 'VL',
ChangedThroughApplicationVersion: '2.0.32.18',
City: 'Ulm',
CompleteReasonI3D: null,
ConcurrencyControlGuid: Guid,
ContactName: 'Franzen, Franziska',
ContingentBookedValue: null,
ContingentCarryOverValue: null,
ContingentKind: null,
ContingentReservedValue: null,
ContingentRestValue: null,
ContingentUseValue: null,
ContingentValue: null,
ContractBegin: null,
ContractBillingIntervall: null,
ContractEnd: null,
ContractKindI3D: 0,
ContractKindName: null,
ContractName: null,
ContractStatus: 0,
ContractTermination: null,
CostCenterNumber: null,
CostObjectNumber: null,
CreatedBy: 'VL',
CreatedThroughApplicationVersion: '2.0.32.18',
CurrencyFactor: 1.000000,
CurrencyString: '€',
CustomerDefaultAssetSendType: 0,
Date: DateTime,
DeliveryConditionI3D: 21,
DeliveryConditionName: 'Frei Haus',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
DeliveryDate: null,
DeliveryReceiver: null,
DownPaymentForOrderI3D: null,
DueDate: DateTime,
DunningLevel: null,
DunningStop: false,
EDIInvoiceState: null,
EDIOrderState: null,
EDIResponseState: null,
Editor: 'VL',
ExportDate: null,
ExternalReceiptDate: null,
ExternalReceiptNumber: null,
FlatRatePrice: null,
HourlySurchargeRateI3D: null,
I3D: 6586,
Information: '',
InvoiceIsInCreditVoucher: false,
IsActive: true,
IsBasicContract: null,
IsBooked: null,
IsCancelled: false,
IsCart: null,
IsCashReceipt: false,
IsCollectInvoiceActive: null,
IsDirectDeliveryPossible: false,
IsLateBooking: null,
IsMasterDataList: false,
IsPurchasingBlocked: false,
IsRepair: null,
IsSupplierInvoiceStandalone: false,
LastBilled: null,
LastInvoiceDate: null,
LockedBy: null,
Mail: null,
MailedVersion: null,
NetPrice: 200.00,
NetPriceComplete: 200.00,
NetPriceFC: 200.00,
NetPriceFCComplete: 200.00,
NetPurchasePrice: 0.00,
NetPurchasePriceComplete: 0.00,
NetPurchasePriceFC: 0.00,
NetPurchasePriceFCComplete: 0.00,
Number: 40286,
ObjectKind: 4,
OfferProbabilityClassification: null,
OfferProbabilityClassificationValue: 0,
OfferProductGroupClassification: null,
OpenPrice: 238.0,
OpenPriceFC: 238.00,
OrderConfirmationNr: null,
PaidPrice: 0.00,
PaidPriceFC: 0.00,
PaymentConditionI3D: 5,
PaymentConditionName: '10 Tage netto',
PaymentConditionText: 'Die Rechnung ist fällig bis zum EinDatum mit 2 (233,24 €).\r\nEs gelten unsere AGB sowie erweiterter Eigentumsvorbehalt.\r\n',
PosComplett: null,
PosCount: null,
PosPart: null,
PosWEComplett: null,
PosWECount: null,
PosWEPart: null,
PreparationDate: null,
PrintedVersion: 1,
ProjectNumber: '',
PurchaseOrderNumber: '',
ReceiptReasonCaption: null,
ReceiptReasonText: null,
ReceiptUserState: null,
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',
ReferenceNumber: null,
ReminderDate: null,
SendDateOfProduct: null,
SendType: null,
SharedDocumentState: null,
SlaPriorityName: null,
Street: 'Liststrasse 1',
TaxPrice: 38.00,
TaxPriceComplete: 38.00,
TaxPriceFC: 38.00,
TaxPriceFCComplete: 38.00,
Telefon: null,
Version: 1,
WebReceiptI3D: null,
WebReceiptState: null,
Zip: '89079'
}
@@ -0,0 +1,18 @@
[
{
AccountStatementDate: null,
AccountStatementNumber: 1234,
Amount: 5.0,
BankAccount: null,
Comment: 'What do you call a vampire with Alzheimer’s? A nos forgot to.',
CreatedAt: DateTime,
EmployeeI3D: 22,
I3D: 64,
InvoiceAmount: 169.33,
InvoiceHeadI3D: 6576,
IsClosed: true,
Number: 20046,
PaymentDate: DateTime,
ResidualAmount: -5.0
}
]
@@ -0,0 +1,135 @@
{
AccountI3D: 10000,
AccountName: 'c-entron software gmbh',
AccountNumber: 10000,
Adviser1: 'TH',
Adviser2: 'MAFI',
Adviser3: 'NP',
Adviser4: 'UT',
AlternativeMailRecipientI3D: null,
BalancePrice: null,
BillingIntervallDuration: null,
BillingIntervallKind: null,
BranchI3D: null,
Caption: '',
CargoCost: null,
ChangedBy: 'VL',
ChangedThroughApplicationVersion: '2.0.32.18',
City: 'Ulm',
CompleteReasonI3D: null,
ConcurrencyControlGuid: Guid,
ContactName: 'Franzen, Franziska',
ContingentBookedValue: null,
ContingentCarryOverValue: null,
ContingentKind: null,
ContingentReservedValue: null,
ContingentRestValue: null,
ContingentUseValue: null,
ContingentValue: null,
ContractBegin: null,
ContractBillingIntervall: null,
ContractEnd: null,
ContractKindI3D: 0,
ContractKindName: null,
ContractName: null,
ContractStatus: 0,
ContractTermination: null,
CostCenterNumber: null,
CostObjectNumber: null,
CreatedBy: 'VL',
CreatedThroughApplicationVersion: '2.0.32.18',
CurrencyFactor: 1.000000,
CurrencyString: '€',
CustomerDefaultAssetSendType: 0,
Date: DateTime,
DeliveryConditionI3D: 21,
DeliveryConditionName: 'Frei Haus',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
DeliveryDate: null,
DeliveryReceiver: null,
DownPaymentForOrderI3D: null,
DueDate: DateTime,
DunningLevel: null,
DunningStop: false,
EDIInvoiceState: null,
EDIOrderState: null,
EDIResponseState: null,
Editor: 'VL',
ExportDate: null,
ExternalReceiptDate: null,
ExternalReceiptNumber: null,
FlatRatePrice: null,
HourlySurchargeRateI3D: null,
I3D: 6586,
Information: '',
InvoiceIsInCreditVoucher: false,
IsActive: true,
IsBasicContract: null,
IsBooked: null,
IsCancelled: false,
IsCart: null,
IsCashReceipt: false,
IsCollectInvoiceActive: null,
IsDirectDeliveryPossible: false,
IsLateBooking: null,
IsMasterDataList: false,
IsPurchasingBlocked: false,
IsRepair: null,
IsSupplierInvoiceStandalone: false,
LastBilled: null,
LastInvoiceDate: null,
LockedBy: null,
Mail: null,
MailedVersion: null,
NetPrice: 200.00,
NetPriceComplete: 200.00,
NetPriceFC: 200.00,
NetPriceFCComplete: 200.00,
NetPurchasePrice: 0.00,
NetPurchasePriceComplete: 0.00,
NetPurchasePriceFC: 0.00,
NetPurchasePriceFCComplete: 0.00,
Number: 40286,
ObjectKind: 4,
OfferProbabilityClassification: null,
OfferProbabilityClassificationValue: 0,
OfferProductGroupClassification: null,
OpenPrice: 238.0,
OpenPriceFC: 238.00,
OrderConfirmationNr: null,
PaidPrice: 0.00,
PaidPriceFC: 0.00,
PaymentConditionI3D: 5,
PaymentConditionName: '10 Tage netto',
PaymentConditionText: 'Die Rechnung ist fällig bis zum EinDatum mit 2 (233,24 €).\r\nEs gelten unsere AGB sowie erweiterter Eigentumsvorbehalt.\r\n',
PosComplett: null,
PosCount: null,
PosPart: null,
PosWEComplett: null,
PosWECount: null,
PosWEPart: null,
PreparationDate: null,
PrintedVersion: 1,
ProjectNumber: '',
PurchaseOrderNumber: '',
ReceiptReasonCaption: null,
ReceiptReasonText: null,
ReceiptUserState: null,
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',
ReferenceNumber: null,
ReminderDate: null,
SendDateOfProduct: null,
SendType: null,
SharedDocumentState: null,
SlaPriorityName: null,
Street: 'Liststrasse 1',
TaxPrice: 38.00,
TaxPriceComplete: 38.00,
TaxPriceFC: 38.00,
TaxPriceFCComplete: 38.00,
Telefon: null,
Version: 1,
WebReceiptI3D: null,
WebReceiptState: null,
Zip: '89079'
}
@@ -0,0 +1,117 @@
{
AccountI3D: 10000,
AccountName: 'c-entron software gmbh',
AccountNumber: 10000,
Adviser1: 'TH',
Adviser2: 'MAFI',
Adviser3: 'NP',
Adviser4: 'UT',
AlternativeMailRecipientI3D: null,
BalancePrice: null,
BillingIntervallDuration: null,
BillingIntervallKind: null,
BranchI3D: null,
Caption: '',
CargoCost: null,
ChangedBy: 'VL',
ChangedThroughApplicationVersion: '2.0.32.18',
City: 'Ulm',
CompleteReasonI3D: null,
ConcurrencyControlGuid: Guid,
ContactName: 'Franzen, Franziska',
ContingentBookedValue: null,
ContingentCarryOverValue: null,
ContingentKind: null,
ContingentReservedValue: null,
ContingentRestValue: null,
ContingentUseValue: null,
ContingentValue: null,
ContractBegin: null,
ContractBillingIntervall: null,
ContractEnd: null,
ContractKindI3D: 0,
ContractName: null,
ContractStatus: 0,
ContractTermination: null,
CreatedBy: 'VL',
CreatedThroughApplicationVersion: '2.0.32.18',
CurrencyFactor: 1.00,
CustomerDefaultAssetSendType: 0,
Date: DateTime,
DeliveryConditionI3D: 21,
DeliveryConditionName: 'Frei Haus',
DeliveryConditionText: 'Die Lieferung erfolgt zur Lieferanschrift frei Haus.\r\n',
DeliveryDate: null,
DeliveryReceiver: null,
DueDate: DateTime,
DunningLevel: null,
DunningStop: false,
EDIInvoiceState: null,
EDIOrderState: null,
EDIResponseState: null,
Editor: 'VL',
ExportDate: null,
ExternalReceiptDate: null,
ExternalReceiptNumber: null,
FlatRatePrice: null,
HourlySurchargeRateI3D: null,
I3D: 6586,
Information: '',
InvoiceIsInCreditVoucher: false,
IsActive: true,
IsBooked: null,
IsCancelled: false,
IsCart: null,
IsCashReceipt: false,
IsCollectInvoiceActive: null,
IsDirectDeliveryPossible: false,
IsLateBooking: null,
IsMasterDataList: false,
IsRepair: null,
LastBilled: null,
LastInvoiceDate: null,
LockedBy: null,
Mail: null,
MailedVersion: null,
NetPrice: 200.00,
NetPriceComplete: 200.00,
NetPurchasePrice: 0.00,
NetPurchasePriceComplete: 0.00,
Number: 40286,
ObjectKind: 4,
OfferProbabilityClassification: null,
OfferProductGroupClassification: null,
OpenPrice: 326.0,
OrderConfirmationNr: null,
PaidPrice: -88.00,
PaymentConditionI3D: 5,
PaymentConditionName: '10 Tage netto',
PaymentConditionText: 'Die Rechnung ist fällig bis zum EinDatum mit 2 (233,24 €).\r\nEs gelten unsere AGB sowie erweiterter Eigentumsvorbehalt.\r\n',
PosComplett: null,
PosCount: null,
PosPart: null,
PosWEComplett: null,
PosWECount: null,
PosWEPart: null,
PreparationDate: null,
PrintedVersion: 1,
ProjectNumber: '',
PurchaseOrderNumber: '',
ReceiptReasonCaption: null,
ReceiptReasonText: null,
ReceiptUserState: null,
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',
ReferenceNumber: null,
ReminderDate: null,
SendDateOfProduct: null,
SendType: null,
SharedDocumentState: null,
Street: 'Liststrasse 1',
TaxPrice: 38.00,
TaxPriceComplete: 38.00,
Telefon: null,
Version: 1,
WebReceiptI3D: null,
WebReceiptState: null,
Zip: '89079'
}
@@ -0,0 +1,338 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Centron.BusinessLogic.Finances.IncomingPayments;
using Centron.BusinessLogic.WebServices.Finances.Payments;
using Centron.BusinessLogic.WebServices.Sales.Receipts;
using Centron.BusinessLogic.WebServices.Sales.Receipts.ReceiptSearch;
using Centron.Core;
using Centron.Data.WebServices.Sales.Receipts.ReceiptSearch;
using Centron.Interfaces;
using Centron.Interfaces.BL;
using Centron.Interfaces.Sales.Receipts.ReceiptSearch;
using Centron.Tests.EndToEnd.Infrastructure;
using CentronSoftware.Centron.WebServices.Entities.Finances.Payments.IncomingPayments;
using Xunit;
using Xunit.Abstractions;
using NotImplementedException = System.NotImplementedException;
namespace Centron.Tests.EndToEnd.Tests.IncomingPayment;
public class IncomingPaymentTest: EndToEndTest
{
private int invoiceHeadI3D_2 = 6586;
private int invoiceHeadI3D_1 = 6576;
public IncomingPaymentTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
{
}
public override void Execute()
{
var createdI3Ds = this.CreateIncomingPayments();
this.DeleteIncomingPayments(createdI3Ds);
this.TestSearchFilter();
}
private List<int> CreateIncomingPayments()
{
this.CreateIncomingPayments_1();
return this.CreateIncomingPayments_2();
}
private void CreateIncomingPayments_1()
{
var loggedInUser = this.GetLoggedInUser();
var receipt = this.GetInvoice(this.invoiceHeadI3D_1);
var newAmountPaid = 5;
var changedReceipt = this.WithSession(f => f.GetBL<ReceiptWebServiceBL>().UpdateReceiptIsPaid(
CentronObjectKindNumeric.InvoiceClass,
this.invoiceHeadI3D_1,
true,
(newAmountPaid + receipt.PaidPrice) * receipt.CurrencyFactor,
null,
null,
loggedInUser.User)).ThrowIfError();
this.Verifier.Verify("05_paidReceipt", changedReceipt);
IncomingPaymentDTO incomingPayment = new()
{
Amount = newAmountPaid,
Number = receipt.Number,
CreatedAt = new DateTime(1970,1,1),
InvoiceAmount = receipt.TaxPriceComplete + receipt.NetPriceComplete,
PaymentDate = DateTime.Now,
Comment = "What do you call a vampire with Alzheimer’s? A nos forgot to.",
ResidualAmount = (receipt.TaxPriceComplete + receipt.NetPriceComplete) - (receipt.PaidPrice + newAmountPaid),
AccountStatementDate = null,
AccountStatementNumber = 1234,
EmployeeI3D = loggedInUser.User.Employee.I3D,
InvoiceHeadI3D = receipt.I3D,
IsClosed = true
};
var savedIncomingPayment = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().SaveIncomingPayment(incomingPayment)).ThrowIfError();
this.Verifier.Verify("05_incomingPaymentForPaidReceipt", savedIncomingPayment);
}
private List<int> CreateIncomingPayments_2()
{
var loggedInUser = this.GetLoggedInUser();
var receipt = this.GetInvoice(invoiceHeadI3D_2);
var tithe = receipt.OpenPrice % 10;
var paidPrice = tithe * receipt.CurrencyFactor;
var changedReceiptOne = this.WithSession(f => f.GetBL<ReceiptWebServiceBL>().UpdateReceiptIsPaid(
CentronObjectKindNumeric.InvoiceClass,
this.invoiceHeadI3D_1,
null,
paidPrice,
null,
null,
loggedInUser.User)).ThrowIfError();
this.Verifier.Verify("01_partlyPaidReceipt", changedReceiptOne);
IncomingPaymentDTO incomingPaymentOne = new()
{
Amount = paidPrice,
Number = receipt.Number,
CreatedAt = new DateTime(1970,1,1),
InvoiceAmount = receipt.TaxPriceComplete + receipt.NetPriceComplete,
PaymentDate = DateTime.Now,
Comment = "What do you call a ship full of buddies? A friendship.",
ResidualAmount = (receipt.TaxPriceComplete + receipt.NetPriceComplete) - (receipt.PaidPrice + tithe),
AccountStatementDate = null,
AccountStatementNumber = 1234,
EmployeeI3D = loggedInUser.User.Employee.I3D,
InvoiceHeadI3D = receipt.I3D,
IsClosed = false
};
var savedIncomingPaymentOne = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().SaveIncomingPayment(incomingPaymentOne)).ThrowIfError();
this.Verifier.Verify("01_incomingPaymentForPartlyPaidReceipt", savedIncomingPaymentOne);
paidPrice += (tithe * 2) * receipt.CurrencyFactor;
var changedReceiptTwo = this.WithSession(f => f.GetBL<ReceiptWebServiceBL>().UpdateReceiptIsPaid(
CentronObjectKindNumeric.InvoiceClass,
this.invoiceHeadI3D_1,
null,
paidPrice,
null,
null,
loggedInUser.User)).ThrowIfError();
this.Verifier.Verify("02_partlyPaidReceipt", changedReceiptTwo);
IncomingPaymentDTO incomingPaymentTwo = new()
{
Amount = paidPrice,
Number = receipt.Number,
CreatedAt = new DateTime(1970,2,2),
InvoiceAmount = receipt.TaxPriceComplete + receipt.NetPriceComplete,
PaymentDate = DateTime.Now,
Comment = "Why did the grape cross the road? No raisin.",
ResidualAmount = (receipt.TaxPriceComplete + receipt.NetPriceComplete) - (receipt.PaidPrice + tithe),
AccountStatementDate = null,
AccountStatementNumber = 1234,
EmployeeI3D = loggedInUser.User.Employee.I3D,
InvoiceHeadI3D = receipt.I3D,
IsClosed = false
};
var savedIncomingPaymentTwo = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().SaveIncomingPayment(incomingPaymentTwo)).ThrowIfError();
this.Verifier.Verify("02_incomingPaymentForPartlyPaidReceipt", savedIncomingPaymentTwo);
paidPrice += (tithe * 3) * receipt.CurrencyFactor;
var changedReceiptThree = this.WithSession(f => f.GetBL<ReceiptWebServiceBL>().UpdateReceiptIsPaid(
CentronObjectKindNumeric.InvoiceClass,
this.invoiceHeadI3D_1,
null,
paidPrice,
null,
null,
loggedInUser.User)).ThrowIfError();
this.Verifier.Verify("03_partlyPaidReceipt", changedReceiptThree);
IncomingPaymentDTO incomingPaymentThree = new()
{
Amount = paidPrice,
Number = receipt.Number,
CreatedAt = new DateTime(1970,3,3),
InvoiceAmount = receipt.TaxPriceComplete + receipt.NetPriceComplete,
PaymentDate = DateTime.Now,
Comment = "My friend just sprayed some deodorant in my mouth. Now I have some weird Axe scent.",
ResidualAmount = (receipt.TaxPriceComplete + receipt.NetPriceComplete) - (receipt.PaidPrice + tithe),
AccountStatementDate = null,
AccountStatementNumber = 1234,
EmployeeI3D = loggedInUser.User.Employee.I3D,
InvoiceHeadI3D = receipt.I3D,
IsClosed = false
};
var savedIncomingPaymentThree = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().SaveIncomingPayment(incomingPaymentThree)).ThrowIfError();
this.Verifier.Verify("03_incomingPaymentForPartlyPaidReceipt", savedIncomingPaymentThree);
paidPrice += (tithe * 4) * receipt.CurrencyFactor;
var changedReceiptFour = this.WithSession(f => f.GetBL<ReceiptWebServiceBL>().UpdateReceiptIsPaid(
CentronObjectKindNumeric.InvoiceClass,
this.invoiceHeadI3D_1,
null,
paidPrice,
null,
null,
loggedInUser.User)).ThrowIfError();
this.Verifier.Verify("04_partlyPaidReceiptWhichIsNowPaid", changedReceiptFour);
IncomingPaymentDTO incomingPaymentFour = new()
{
Amount = paidPrice,
Number = receipt.Number,
CreatedAt = new DateTime(1970,4,4),
InvoiceAmount = receipt.TaxPriceComplete + receipt.NetPriceComplete,
PaymentDate = DateTime.Now,
Comment = "What do you call a Buddhist Squirrel? A chipmunk.",
ResidualAmount = (receipt.TaxPriceComplete + receipt.NetPriceComplete) - (receipt.PaidPrice + tithe),
AccountStatementDate = null,
AccountStatementNumber = 1234,
EmployeeI3D = loggedInUser.User.Employee.I3D,
InvoiceHeadI3D = receipt.I3D,
IsClosed = true
};
var savedIncomingPaymentFour = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().SaveIncomingPayment(incomingPaymentFour)).ThrowIfError();
this.Verifier.Verify("04_incomingPaymentForPartlyPaidReceipt", savedIncomingPaymentFour);
return new List<int>() { savedIncomingPaymentOne.I3D, savedIncomingPaymentTwo.I3D, savedIncomingPaymentThree.I3D, savedIncomingPaymentFour.I3D };
}
private void DeleteIncomingPayments(List<int> incomingPaymentI3Ds)
{
this.DeleteIncomingPayments_1();
this.DeleteIncomingPayments_2(incomingPaymentI3Ds);
this.DeleteIncomingPayments_3();
}
private void DeleteIncomingPayments_2(List<int> incomingPaymentI3Ds)
{
Guard.Not(incomingPaymentI3Ds.Count != 4, "something went wrong with the incomingPaymentI3Ds");
var incomingPaymentsFilter = new IncomingPaymentsFilter()
{
IncomingPaymentI3Ds = incomingPaymentI3Ds
};
var incomingPayments = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("07_incomingPayment_BeforeDeletingByPaymentI3D", incomingPayments);
var receiptBeforeDeleting = this.GetInvoice(invoiceHeadI3D_2);
var deleteIncomingPaymentFilter= new DeleteIncomingPaymentFilter()
{
IncomingPaymentI3Ds = new List<int> { incomingPaymentI3Ds[0], incomingPaymentI3Ds[3] },
DontChangeInvoice = false,
};
this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().DeleteIncomingPayment(deleteIncomingPaymentFilter, this.GetLoggedInUser())).ThrowIfError();
var incomingPaymentsAfterDeleting = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("07_incomingPayment_AfterDeletingByPaymentI3D", incomingPaymentsAfterDeleting);
var receiptAfterDeleting = this.GetInvoice(invoiceHeadI3D_2);
Assert.NotEqual(receiptBeforeDeleting.PaidPrice, receiptAfterDeleting.PaidPrice);
this.Verifier.Verify("07_receipt_AfterDeleting", receiptBeforeDeleting);
}
private void DeleteIncomingPayments_1()
{
var incomingPaymentsFilter = new IncomingPaymentsFilter()
{
InvoiceHeadI3Ds = new List<int>(){invoiceHeadI3D_1}
};
var incomingPaymentsBeforeDeleting = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("08_incomingPayment_BeforeDeletingByInvoiceI3D", incomingPaymentsBeforeDeleting);
var receiptBeforeDeleting = this.GetInvoice(invoiceHeadI3D_2);
var deleteIncomingPaymentFilter = new DeleteIncomingPaymentFilter()
{
InvoiceHeadI3Ds = new List<int>() { invoiceHeadI3D_1 }
};
this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().DeleteIncomingPayment(deleteIncomingPaymentFilter, this.GetLoggedInUser())).ThrowIfError();
var incomingPaymentsAfterDeleting = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("08_incomingPaymnets_AfterDeletingByInvoiceI3D", incomingPaymentsAfterDeleting);
var receiptAfterDeleting = this.GetInvoice(invoiceHeadI3D_1);
Assert.NotEqual(receiptBeforeDeleting.PaidPrice, receiptAfterDeleting.PaidPrice);
this.Verifier.Verify("08_receipt_AfterDeletingByInvoiceI3D", receiptBeforeDeleting);
}
private void DeleteIncomingPayments_3()
{
var incomingPaymentsFilter = new IncomingPaymentsFilter();
var incomingPaymentsBeforeDeleting = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("09_incomingPayment_BeforeDeletingByInvoiceNumber", incomingPaymentsBeforeDeleting);
var receiptBeforeDeleting = this.GetInvoice(invoiceHeadI3D_2);
//this should deletes entries with the invoiceHeadI3D 6586 (the receipt has the number 40286)
var deleteIncomingPaymentFilter= new DeleteIncomingPaymentFilter()
{
InvoiceNumbers = new List<int> { 40286 },
};
this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().DeleteIncomingPayment(deleteIncomingPaymentFilter, this.GetLoggedInUser())).ThrowIfError();
var incomingPaymentsAfterDeleting = this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(incomingPaymentsFilter)).ThrowIfError();
this.Verifier.Verify("09_incomingPayments_AfterDeletingByInvoiceNumber", incomingPaymentsAfterDeleting);
var receiptAfterDeleting = this.GetInvoice(invoiceHeadI3D_1);
Assert.NotEqual(receiptBeforeDeleting.PaidPrice, receiptAfterDeleting.PaidPrice);
}
private void TestSearchFilter()
{
var filter = new IncomingPaymentsFilter();
filter.IncomingPaymentI3Ds = new List<int>();
filter.InvoiceHeadI3Ds = new List<int>();
for (int i = 0; i < 2500; i++)
{
filter.IncomingPaymentI3Ds.Add(i);
filter.InvoiceHeadI3Ds.Add(i);
}
//we don't care about the result, the method just need to finish, to see if the sql throws an error about the more than 2100 parameters
this.WithSession(f => f.GetBL<PaymentsWebServiceBL>().GetIncomingPayments(filter)).ThrowIfError();
}
private ReceiptSearchItemDTO GetInvoice(int invoiceHeadI3D)
{
var filter = new ReceiptSearchFilter()
{
ReceiptI3Ds = new List<int>() { invoiceHeadI3D },
ReceiptKinds = new List<CentronObjectKindNumeric>() { CentronObjectKindNumeric.InvoiceClass },
IncludeClosedReceipts = true
};
var searchedReceipt = this.WithSession(f => f.GetBL<ReceiptSearchWebServiceBL>().SearchReceipts(this.GetLoggedInUser(), filter, 1, int.MaxValue)).ThrowIfError();
return searchedReceipt.Result.First();
}
}