private static void StoreCommitmentTotal(LengthOfCommitmentReportTDSPmStaffDataRow PreviousRow, Int32 daysServed, DateTime AReportStartDate, DateTime AReportEndDate, DateTime previousStartDate, DateTime?previousEndDate, LengthOfCommitmentReportTDSPmStaffDataTable Anniversaries, List <Int32> ASpecialAnniversaries) { DateTime ThisWorkerEndDate; if (!previousEndDate.HasValue) { daysServed += ElapsedDays(AReportEndDate - previousStartDate); ThisWorkerEndDate = AReportEndDate; } else { if (AReportEndDate < previousEndDate) { daysServed += ElapsedDays(AReportEndDate - previousStartDate); ThisWorkerEndDate = AReportEndDate; } else { daysServed += ElapsedDays(previousEndDate.Value - previousStartDate); ThisWorkerEndDate = previousEndDate.Value; } } // we need the date where an anniversary happens, in the report time int TotalYears = Convert.ToInt32(daysServed / 365); DateTime anniversaryDate = AnniversaryDate(daysServed, ThisWorkerEndDate); bool doStore = ( (anniversaryDate.DayOfYear >= AReportStartDate.DayOfYear) && (anniversaryDate.DayOfYear <= AReportEndDate.DayOfYear)); if (ASpecialAnniversaries.Count > 0) { if (!ASpecialAnniversaries.Contains(TotalYears)) { doStore = false; } } if (doStore) { // this is a special anniversary // store the number of years, and the anniversary date LengthOfCommitmentReportTDSPmStaffDataRow newAnniversary = Anniversaries.NewRowTyped(); newAnniversary.Key = PreviousRow.Key; newAnniversary.SiteKey = PreviousRow.SiteKey; newAnniversary.PartnerKey = PreviousRow.PartnerKey; newAnniversary.TotalYears = TotalYears; newAnniversary.AnniversaryDay = anniversaryDate; newAnniversary.PartnerName = PreviousRow.PartnerName; newAnniversary.FirstName = PreviousRow.FirstName; newAnniversary.Surname = PreviousRow.Surname; newAnniversary.Gender = PreviousRow.Gender; Anniversaries.Rows.Add(newAnniversary); } }
private static void StoreCommitmentTotal(LengthOfCommitmentReportTDSPmStaffDataRow PreviousRow, Int32 daysServed, DateTime AReportStartDate, DateTime AReportEndDate, DateTime previousStartDate, DateTime? previousEndDate, LengthOfCommitmentReportTDSPmStaffDataTable Anniversaries, List <Int32>ASpecialAnniversaries) { DateTime ThisWorkerEndDate; if (!previousEndDate.HasValue) { daysServed += ElapsedDays(AReportEndDate - previousStartDate); ThisWorkerEndDate = AReportEndDate; } else { if (AReportEndDate < previousEndDate) { daysServed += ElapsedDays(AReportEndDate - previousStartDate); ThisWorkerEndDate = AReportEndDate; } else { daysServed += ElapsedDays(previousEndDate.Value - previousStartDate); ThisWorkerEndDate = previousEndDate.Value; } } // we need the date where an anniversary happens, in the report time int TotalYears = Convert.ToInt32(daysServed / 365); DateTime anniversaryDate = AnniversaryDate(daysServed, ThisWorkerEndDate); bool doStore = ( (anniversaryDate.DayOfYear >= AReportStartDate.DayOfYear) && (anniversaryDate.DayOfYear <= AReportEndDate.DayOfYear)); if (ASpecialAnniversaries.Count > 0) { if (!ASpecialAnniversaries.Contains(TotalYears)) { doStore = false; } } if (doStore) { // this is a special anniversary // store the number of years, and the anniversary date LengthOfCommitmentReportTDSPmStaffDataRow newAnniversary = Anniversaries.NewRowTyped(); newAnniversary.Key = PreviousRow.Key; newAnniversary.SiteKey = PreviousRow.SiteKey; newAnniversary.PartnerKey = PreviousRow.PartnerKey; newAnniversary.TotalYears = TotalYears; newAnniversary.AnniversaryDay = anniversaryDate; newAnniversary.PartnerName = PreviousRow.PartnerName; newAnniversary.FirstName = PreviousRow.FirstName; newAnniversary.Surname = PreviousRow.Surname; newAnniversary.Gender = PreviousRow.Gender; Anniversaries.Rows.Add(newAnniversary); } }