Click here to Skip to main content
15,895,656 members
Articles / Web Development / ASP.NET

ASP.NET TimeTracker Starter Kits Porting from Windows to Linux (Race to Linux)

Rate me:
Please Sign up or sign in to vote.
2.84/5 (9 votes)
5 Oct 20055 min read 70.6K   388   21  
ASP.NET TimeTracker Starter Kits Porting from Windows to Linux using Mainsoft's Grasshopper
<html>
	<head>
		<link rel="stylesheet" href="style.css">
	</head>
	<body>
		<h1>
			"ListProjectsByIDs" Stored Procedure
		</h1>
		<b>Description:</b>
		<p>
			This stored procedure retrieves a list of Project summary information&nbsp;from 
			within&nbsp;a list of possible Project IDs.&nbsp; The records returned&nbsp;are 
			further narrowed&nbsp;based on the role of the User ID submitted.
		</p>
		<b>Definition:</b>
		<pre>
    
	CREATE  PROCEDURE TT_ListProjectsByIDs
	(
		@ProjectIDs nvarchar(512),
		@UserID int
	)
	AS

		DECLARE @sql nvarchar(1024),
				@RoleID int
	    
		SELECT @RoleID = RoleID
		FROM TT_Users 
		WHERE UserID = @UserID;
	    
		IF (@RoleID = 1)
			BEGIN
			SET @sql = 'SELECT P.ProjectID,'
			SET @sql = @sql + ' P.Name AS ProjectName,'
			SET @sql = @sql + ' P.EstCompletionDate,'
			SET @sql = @sql + ' P.EstDuration AS EstHours,'
			SET @sql = @sql + ' Sum(EL.Duration) AS ActualHours '
			SET @sql = @sql + 'FROM TT_Projects P INNER JOIN TT_EntryLog EL'
			SET @sql = @sql + ' ON P.ProjectID = EL.ProjectID '
			SET @sql = @sql + 'WHERE P.ProjectID IN (' + @ProjectIDs + ') '
			SET @sql = @sql + 'GROUP BY P.ProjectID, P.Name, P.EstCompletionDate, P.EstDuration'            
			END
		ELSE IF (@RoleID = 2)
			BEGIN
			SET @sql = 'SELECT P.ProjectID,'
			SET @sql = @sql + ' P.Name AS ProjectName,'
			SET @sql = @sql + ' P.EstCompletionDate,'
			SET @sql = @sql + ' P.EstDuration AS EstHours,'
			SET @sql = @sql + ' Sum(EL.Duration) AS ActualHours '
			SET @sql = @sql + 'FROM TT_Projects P INNER JOIN TT_EntryLog EL'
			SET @sql = @sql + ' ON P.ProjectID = EL.ProjectID '
			SET @sql = @sql + 'WHERE P.ProjectID IN (' + @ProjectIDs + ') '
			SET @sql = @sql + ' AND P.ManagerUserID = ' + CAST(@UserID AS nvarchar(20))
			SET @sql = @sql + 'GROUP BY P.ProjectID, P.Name, P.EstCompletionDate, P.EstDuration'            
			END
		ELSE
			BEGIN
			SET @sql = 'SELECT P.ProjectID,'
			SET @sql = @sql + ' P.Name AS ProjectName,'
			SET @sql = @sql + ' P.EstCompletionDate,'
			SET @sql = @sql + ' P.EstDuration AS EstHours,'
			SET @sql = @sql + ' P.EstDuration AS ActualHours '
			SET @sql = @sql + 'FROM TT_Projects P WHERE 1=0 '
			END
	    
		EXEC sp_executesql @sql
        </pre>
		<b>Database Tables Used: </b>
		<p>
		The primary key in the Projects table is the ProjectID identity field.&nbsp;
		<p>
			<img src="../docs/images/1x1.gif" width="25"> <img src="../docs/images/Projects.png"></p>
		<p>
		The primary key in the EntryLog table is the EntryLogID identity field.&nbsp; 
		The field ProjectID references back to&nbsp;the Projects table's primary key.
		<p>
			<img src="../docs/images/1x1.gif" width="25"> <img src="../docs/images/EntryLog.png"></p>
		<p></p>
	</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Architect
Australia Australia
"Impossible" + "'" + " " = "I'm Possible"

Started programming when i was a kid with 286 computers and Spectrum using BASIC from 1986. There was series of languages like pascal, c, c++, ada, algol, prolog, assembly, java, C#, VB.NET and so on. Then shifted my intrest in Architecture during past 5 years with Rational Suite and UML. Wrote some articles, i was member of month on some sites, top poster(i only answer) of week (actually weeks), won some books as prizes, rated 2nd in ASP.NET and ADO.NET in Australia.

There is simplicity in complexity

Comments and Discussions