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,6 @@
{
Error: null,
Message: null,
MessageCode: null,
Status: 0
}
@@ -0,0 +1,33 @@
{
AccountI3D: 1,
AccountName: 'c-entron software gmbh',
Area: 'Helpdesk',
ChangedBy: 'c-entron Administrator (ADMIN)',
ChangedByI3D: 33,
ChangedDate: DateTime,
Comment: 'Drucker schmiert',
CreatedBy: 'c-entron Administrator (ADMIN)',
CreatedByI3D: 22,
CreatedDate: DateTime,
Customer: 'c-entron software gmbh',
CustomerI3D: 10000,
Date: DateTime,
Description: '=== support@c-entron.de === 09.11.17 - 15:24\r\nToner schon mehrfach geschüttelt\r\n=================\r\n\r\n',
Discarded: false,
DueDate: DateTime,
Editor: 'noch egaler egal (LIMA)',
EditorI3D: 33,
HelpdeskStateI3D: 1,
I3D: 20745,
IsRead: false,
Number: 12505,
ObjectI3D: 10491,
ObjectRawType: 10,
RawType: 8,
ReceiptAdditionalText: null,
ReceiptContactEmail: null,
ReceiptContactPerson: null,
ReceiptContactPhoneNumber: null,
ReceiptGrossPriceComplete: null,
ReceiptUserStateI3D: null
}
@@ -0,0 +1,35 @@
{
AccountI3D: 1,
AccountName: 'c-entron software gmbh',
Area: 'Helpdesk',
ChangedBy: 'c-entron Administrator (ADMIN)',
ChangedByI3D: 33,
ChangedDate: DateTime,
ChangedVersion: '1.0.0.0',
Comment: 'Drucker schmiert',
CreatedBy: 'c-entron Administrator (ADMIN)',
CreatedByI3D: 22,
CreatedDate: DateTime,
CreatedVersion: '1.0.0.0',
Customer: 'c-entron software gmbh',
CustomerI3D: 10000,
Date: DateTime,
Description: '=== support@c-entron.de === 09.11.17 - 15:24\r\nToner schon mehrfach geschüttelt\r\n=================\r\n\r\n',
Discarded: false,
DueDate: DateTime,
Editor: 'noch egaler egal (LIMA)',
EditorI3D: 33,
HelpdeskStateI3D: 1,
I3D: 20737,
IsRead: false,
Number: 12505,
ObjectI3D: 10491,
ObjectRawType: 10,
RawType: 8,
ReceiptAdditionalText: null,
ReceiptContactEmail: null,
ReceiptContactPerson: null,
ReceiptContactPhoneNumber: null,
ReceiptGrossPriceComplete: null,
ReceiptUserStateI3D: null
}
@@ -0,0 +1,28 @@
[
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'noch egaler egal',
Email: null,
Employeenumber: null,
FirstName: 'noch egaler',
FullName: 'egal, noch egaler (LIMA)',
I3D: 33,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'egal',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'LIMA',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
}
]
@@ -0,0 +1,127 @@
using Centron.BusinessLogic;
using Centron.BusinessLogic.EmployeeArea;
using Centron.BusinessLogic.Sales.Support;
using Centron.BusinessLogic.ToDoArea;
using Centron.BusinessLogic.WebServices.Administration.MasterData;
using Centron.BusinessLogic.WebServices.Sales.Support;
using Centron.BusinessLogic.WebServices.ToDoArea;
using Centron.Data.Entities.ToDoArea;
using Centron.Data.WebServices.Mail;
using Centron.Tests.EndToEnd.Infrastructure;
using CentronSoftware.Centron.WebServices.Entities.ToDoArea;
using System;
using System.Collections.Generic;
using System.Linq;
using Xunit.Abstractions;
namespace Centron.Tests.EndToEnd.Tests.Helpdesk.Forwarding
{
public class HelpdeskForwardingTests : EndToEndTest
{
private readonly int _referenceHelpdeskI3D = 10491;
public HelpdeskForwardingTests(ITestOutputHelper testOutputHelper)
: base(testOutputHelper)
{
this.Verifier.Settings.IgnoreProperty<ToDoOverviewDTO>(f => f.ChangedVersion);
this.Verifier.Settings.IgnoreProperty<ToDoOverviewDTO>(f => f.CreatedVersion);
}
public override void Execute()
{
this.ForwardTicket();
this.SaveHelpdeskEditors();
this.RemoveAllHelpdesksEditors();
this.AddShitTonHelpdeskEditors();
}
private void ForwardTicket()
{
using var session = new BLSession();
var forwardedHelpdesk = session.GetBL<HelpdeskWebServiceBL>().ForwardHelpdesk(this.GetLoggedInUser(), new ForwardHelpdeskRequestDTO
{
HelpdeskI3D = this._referenceHelpdeskI3D,
NewHelpdeskStateI3D = 57,
EmployeeI3DsTo = new List<int>
{
this.GetLoggedInUser().User.Employee.I3D
}
});
this.Verifier.Verify("ForwardedHelpdesk", forwardedHelpdesk);
var historyEntry = session.GetBL<HelpdeskWebServiceBL>().GetHelpdeskHistory(this._referenceHelpdeskI3D, this.GetLoggedInUser());
this.Verifier.Verify("ForwardedHelpdeskHistory", historyEntry);
}
private void SaveHelpdeskEditors()
{
using var session = new BLSession();
session
.GetBL<HelpdeskBL>()
.SaveHelpdeskEmployees(this._referenceHelpdeskI3D, new int[] { 33 /* employee, egal noch egaler, that's their name */ }, this.GetLoggedInUser().User);
this.ValidateEditors(string.Empty); // no prefix for the default method
}
private void RemoveAllHelpdesksEditors()
{
using var session = new BLSession();
// this should remove all editors, but automatically add the loggedInUser
session
.GetBL<HelpdeskBL>()
.SaveHelpdeskEmployees(this._referenceHelpdeskI3D, Array.Empty<int>(), this.GetLoggedInUser().User);
this.ValidateEditors("RemovedAll_");
}
private void AddShitTonHelpdeskEditors()
{
using var session = new BLSession();
var employeeI3Ds = new int[18];
var offset = 22; // the i3ds start with i3d 22
for (var i = 0; i < employeeI3Ds.Length; i++)
employeeI3Ds[i] = i+offset;
session
.GetBL<HelpdeskBL>()
.SaveHelpdeskEmployees(this._referenceHelpdeskI3D, employeeI3Ds, this.GetLoggedInUser().User);
this.ValidateEditors("ManyEditors_", false);
}
private void ValidateEditors(string prefix, bool validateToDoEntries = true)
{
using var session = new BLSession();
var employeeWSBL = session.GetBL<EmployeeWebserviceBL>();
var editors = session.GetBL<HelpdeskBL>().GetHelpdeskEmployees(this._referenceHelpdeskI3D).Select(f => employeeWSBL.EmployeCompactToEmployeePreviewDTO(f)).ToList();
this.Verifier.Verify(prefix + "HelpdeskEditors", editors);
if (validateToDoEntries is false)
return;
foreach (var currentEditor in editors)
{
// make sure to check the newest todo entry
var toDo = session.GetBL<ToDoWebserviceBL>().SearchTodoList(this.GetLoggedInUser().User,
ToDoSort.Editor,
true,
new ToDoFilter()
{
EmployeeI3D = currentEditor.I3D
}).Last();
this.Verifier.Verify(prefix + "HelpdeskEditor" + editors.IndexOf(currentEditor) + "ChangedToDo", toDo);
}
}
}
}
@@ -0,0 +1,470 @@
[
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'c-entron Administrator',
Email: null,
Employeenumber: null,
FirstName: 'c-entron',
FullName: 'Administrator, c-entron (ADMIN)',
I3D: 22,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Administrator',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'ADMIN',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Markus Huber',
Email: null,
Employeenumber: null,
FirstName: 'Markus',
FullName: 'Huber, Markus (HM)',
I3D: 23,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Huber',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'HM',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Peter Müller',
Email: null,
Employeenumber: null,
FirstName: 'Peter',
FullName: 'Müller, Peter (MP)',
I3D: 24,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Müller',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'MP',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Martin Herzog',
Email: null,
Employeenumber: null,
FirstName: 'Martin',
FullName: 'Herzog, Martin (MAHE)',
I3D: 25,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Herzog',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'MAHE',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Stephan Pitan',
Email: null,
Employeenumber: null,
FirstName: 'Stephan',
FullName: 'Pitan, Stephan (SP)',
I3D: 26,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Pitan',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'SP',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Thomas Hoffmann',
Email: null,
Employeenumber: null,
FirstName: 'Thomas',
FullName: 'Hoffmann, Thomas (ABO)',
I3D: 27,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Hoffmann',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'ABO',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Michael Mathieu',
Email: null,
Employeenumber: null,
FirstName: 'Michael',
FullName: 'Mathieu, Michael (MM)',
I3D: 28,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Mathieu',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'MM',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Peter Kammerer',
Email: null,
Employeenumber: null,
FirstName: 'Peter',
FullName: 'Kammerer, Peter (KP)',
I3D: 29,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Kammerer',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'KP',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Nadine Peißig',
Email: null,
Employeenumber: null,
FirstName: 'Nadine',
FullName: 'Peißig, Nadine (NP)',
I3D: 30,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Peißig',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'NP',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Markus Fischer',
Email: null,
Employeenumber: null,
FirstName: 'Markus',
FullName: 'Fischer, Markus (MAFI)',
I3D: 31,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Fischer',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'MAFI',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Steven Maaß',
Email: null,
Employeenumber: null,
FirstName: 'Steven',
FullName: 'Maaß, Steven (SM)',
I3D: 32,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Maaß',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'SM',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'noch egaler egal',
Email: null,
Employeenumber: null,
FirstName: 'noch egaler',
FullName: 'egal, noch egaler (LIMA)',
I3D: 33,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'egal',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'LIMA',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Thomas Hoffmann',
Email: null,
Employeenumber: null,
FirstName: 'Thomas',
FullName: 'Hoffmann, Thomas (TH)',
I3D: 34,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Hoffmann',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'TH',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Elisabeth Bauer',
Email: null,
Employeenumber: null,
FirstName: 'Elisabeth',
FullName: 'Bauer, Elisabeth (EBA)',
I3D: 35,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Bauer',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'EBA',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Yuri Krassowizky',
Email: null,
Employeenumber: null,
FirstName: 'Yuri',
FullName: 'Krassowizky, Yuri (YMK)',
I3D: 36,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Krassowizky',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'YMK',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Test User',
Email: null,
Employeenumber: null,
FirstName: 'Test',
FullName: 'User, Test (UT)',
I3D: 37,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'User',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'UT',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Angelina Aiello',
Email: null,
Employeenumber: null,
FirstName: 'Angelina',
FullName: 'Aiello, Angelina (AAI)',
I3D: 38,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Aiello',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'AAI',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
},
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'Alexander Eiermann',
Email: null,
Employeenumber: null,
FirstName: 'Alexander',
FullName: 'Eiermann, Alexander (AE)',
I3D: 39,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Eiermann',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'AE',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
}
]
@@ -0,0 +1,33 @@
{
AccountI3D: 1,
AccountName: 'c-entron software gmbh',
Area: 'Helpdesk',
ChangedBy: 'c-entron Administrator (ADMIN)',
ChangedByI3D: 22,
ChangedDate: DateTime,
Comment: 'Drucker schmiert',
CreatedBy: 'c-entron Administrator (ADMIN)',
CreatedByI3D: 22,
CreatedDate: DateTime,
Customer: 'c-entron software gmbh',
CustomerI3D: 10000,
Date: DateTime,
Description: '=== support@c-entron.de === 09.11.17 - 15:24\r\nToner schon mehrfach geschüttelt\r\n=================\r\n\r\n',
Discarded: false,
DueDate: DateTime,
Editor: 'c-entron Administrator (ADMIN)',
EditorI3D: 22,
HelpdeskStateI3D: 1,
I3D: 20746,
IsRead: false,
Number: 12505,
ObjectI3D: 10491,
ObjectRawType: 10,
RawType: 8,
ReceiptAdditionalText: null,
ReceiptContactEmail: null,
ReceiptContactPerson: null,
ReceiptContactPhoneNumber: null,
ReceiptGrossPriceComplete: null,
ReceiptUserStateI3D: null
}
@@ -0,0 +1,35 @@
{
AccountI3D: 1,
AccountName: 'c-entron software gmbh',
Area: 'Helpdesk',
ChangedBy: 'c-entron Administrator (ADMIN)',
ChangedByI3D: 22,
ChangedDate: DateTime,
ChangedVersion: '1.0.0.0',
Comment: 'Drucker schmiert',
CreatedBy: 'c-entron Administrator (ADMIN)',
CreatedByI3D: 22,
CreatedDate: DateTime,
CreatedVersion: '1.0.0.0',
Customer: 'c-entron software gmbh',
CustomerI3D: 10000,
Date: DateTime,
Description: '=== support@c-entron.de === 09.11.17 - 15:24\r\nToner schon mehrfach geschüttelt\r\n=================\r\n\r\n',
Discarded: false,
DueDate: DateTime,
Editor: 'c-entron Administrator (ADMIN)',
EditorI3D: 22,
HelpdeskStateI3D: 1,
I3D: 20738,
IsRead: false,
Number: 12505,
ObjectI3D: 10491,
ObjectRawType: 10,
RawType: 8,
ReceiptAdditionalText: null,
ReceiptContactEmail: null,
ReceiptContactPerson: null,
ReceiptContactPhoneNumber: null,
ReceiptGrossPriceComplete: null,
ReceiptUserStateI3D: null
}
@@ -0,0 +1,28 @@
[
{
Availability: 0,
BranchI3D: null,
DefaultStorageI3D: null,
Dispatcher: false,
DisplayText: 'c-entron Administrator',
Email: null,
Employeenumber: null,
FirstName: 'c-entron',
FullName: 'Administrator, c-entron (ADMIN)',
I3D: 22,
IsActive: false,
LastAvailabilityChange: null,
LastName: 'Administrator',
LeavingDate: null,
Phone1: null,
RemainingDaysOfVacation: 0.0,
ShortSign: 'ADMIN',
State: null,
SupportLevel: null,
Template1: false,
Template2: false,
Template3: false,
Template4: false,
VacationEntitlement: 0.0
}
]