Bug Fix für ASP.NET TimeTracker Starter Kit: Woche mit Jahreswechsel / Einträge werden nicht angezeigt

Written on December 28, 2004

Für das ASP.NET TimeTracker Starter Kit gibt es (bereits seit langem) einen Bug Fix für folgenden Bug: wechselt innerhalb einer Woche das Jahr (so wie in diesem Jahr), werden die Einträge für diese Woche weder im Log noch in den Reports angezeigt. Der Fehler liegt in der Stored Procedure "TT_ListTimeEntries".

Korrekt muß diese wie folgt aussehen:

CREATE PROCEDURE TT_ListTimeEntries
(
@QueryUserID int,
@UserID int,
@StartDate datetime,
@EndDate datetime
)
AS
DECLARE @@QueryUserRoleID int

SELECT @@QueryUserRoleID = TT_Users.RoleID FROM TT_Users WHERE TT_Users.UserID = @QueryUserID
IF @@QueryUserRoleID = 2
BEGIN
SELECT
EntryLogID, TT_EntryLog.Description, Duration, EntryDate, TT_EntryLog.ProjectID AS ProjectID,
TT_EntryLog.CategoryID AS CategoryID, TT_Categories.Abbreviation AS CategoryName, TT_Projects.Name AS ProjectName,
ManagerUserID, TT_Categories.Abbreviation AS CatShortName
FROM
TT_EntryLog
INNER JOIN
TT_Categories
ON
TT_EntryLog.CategoryID = TT_Categories.CategoryID
INNER JOIN
TT_Projects
ON
TT_EntryLog.ProjectID = TT_Projects.ProjectID
WHERE
UserID = @UserID
AND
EntryDate >= @StartDate
AND
EntryDate <= @EndDate
AND
ManagerUserID = @QueryUserID
ORDER BY EntryDate, ProjectName, CategoryName
END

ELSE IF @@QueryUserRoleID = 1 or @QueryUserID = @UserID
BEGIN
SELECT
EntryLogID, TT_EntryLog.Description, Duration, EntryDate, TT_EntryLog.ProjectID AS ProjectID,
TT_EntryLog.CategoryID AS CategoryID, TT_Categories.Abbreviation AS CategoryName, TT_Projects.Name AS ProjectName,
ManagerUserID, TT_Categories.Abbreviation AS CatShortName
FROM
TT_EntryLog
INNER JOIN
TT_Categories
ON
TT_EntryLog.CategoryID = TT_Categories.CategoryID
INNER JOIN
TT_Projects
ON
TT_EntryLog.ProjectID = TT_Projects.ProjectID
WHERE
UserID = @UserID
AND
EntryDate >= @StartDate
AND
EntryDate <= @EndDate
ORDER BY EntryDate, ProjectName, CategoryName
END
GO