Page 1 of 1

Überprüfung der Logik zum Zählen der Tage zwischen zwei Daten, mit Ausnahme der Wochenenden

Posted: 11 Jan 2025, 09:53
by Guest
Das Ziel besteht darin, die Gesamtzahl der von allen Mitarbeitern in Anspruch genommenen Urlaubstage, aufgeschlüsselt nach Monat und Jahr, zu berechnen und sicherzustellen, dass Wochenenden nicht in die Zählung einbezogen werden.
Die Summierung der Urlaubstage liefert falsche Werte.< /p>

Code: Select all

public double CalculateLeaveDaysForPeriod(List staffMembers, DateTime periodStart, DateTime periodEnd)
{
double totalLeaveDays = 0;

foreach (var staffMember in staffMembers)
{
foreach (var leaveRequest in staffMember.LeaveRequests)
{
DateTime leaveStartDate = leaveRequest.StartDate;
DateTime leaveEndDate = leaveRequest.EndDate;

DateTime validStartDate = leaveStartDate > periodStart ? leaveStartDate : periodStart;
DateTime validEndDate = leaveEndDate < periodEnd ? leaveEndDate : periodEnd;

if (validStartDate < validEndDate)
{
for (DateTime currentDay = validStartDate; currentDay