Companies
This table is used to store client company information and is thus one of the central tables used by the contact management module. Only 11 fields have been created, although in a production environment there will undoubtedly be a need for more.

Contacts
This table is used for storing personal contact information. Contacts have an optional "companyId field" which is used to associate them with a company. There is similarly a "contactId field" in the company table which is used to identify a person as the primary contact for an organisation.

This topology may not work in all situations, in which case you may need to consider another table for mapping contacts to companies and, possibly, projects as well. Note also that to keep the database as simple as possible we have used the contacts table to store employee information as well. To manage this, a Boolean value "isEmployee" is included in the table structure.

Bookings
This is a simple table that stores start and finish times for resource bookings. Contact and resource ids are used to map bookings appropriately.

Resources
The resources table stores the name of any bookable resource such as a meeting room or notebook computer, for example.

Projects
This is the core table for the project management module. Project records contain a name, a status, and notes. The clientId is used to map a company to the project, and the contacts table is used for both the client contact person and the employee associations.


This is the bare bones project management module included with this tutorial.

Status
This table is used to store status types such as "pending", "on hold", "awaiting approval", "checked out", and "in progress".

For more sophisticated applications it may be necessary to differentiate between status types used for documents and projects, with the latter incorporating a progressive sequence of some kind.

Documents
The table documents that stores the bulk of the information used by the document management module. Here we are storing the file name and location of the documents as opposed to using a BLOB field in the database.

This methodology will require some additional programming to ensure that the file system and database records remain synchronised.


The Time Tracker Sample project available from the ASP.NET site can be used as the foundation of an entire Intranet.

DocumentTypes
This table stores the list of valid file types for the document library with information such as MIME type and acceptable file extensions.

Associations
We decided to use a single table to store associations between database objects, although some implementations may require separate tables for each type.

For instance, the following fields are all referenced by foreign keys that are not enforced: companyId, projectId, contactId, resourceId, and documentId.

On the upside, this means that complex relationships can easily be managed between the tables referenced by these fields. The disadvantage, however, is that SQL queries can become diffi cult to manage as the table inherently stores a variety of different types of data.

Tasks
This table stores tasks that are associated with projects. A task is assigned to an employee via the contactId field and a status via the statusId field.

Dependencies
This table is used to build relationships between tasks in a project. Both the taskId and dependencyId fields map to the tasks table, creating a sequential relationship between the two records.

Timesheets
This table stores the number of hours clocked up against a task by an employee. An optional field for notes is provided so that the user assigned to the task can document any issues arising during the project.

This database lays the groundwork for our Intranet. A script containing the entire SQL schema with some dummy content can be downloaded with this tutorial so that you can have a working copy of it while you build the ASP.NET 2.0 pages in the concluding part of this tutorial.

You can download the source code here.

Do you need help with .Net? Gain advice from Builder AU forums

Related links

Comments

1

Walter - 19/07/06

Hi Daniel,

great article. Any dates for when we can expect to see the promised second part. I can't seem to find it anywhere on the Builder site. Thanks.

Regards

» Report offensive content

2

suresh - 06/10/06

Would u please help me how to asp.net intaract with auto cad.
actually my application need to intaract with API . how to do
pls help me

» Report offensive content

3

shaggy - 06/11/06

suresh
have a look at the Open Design Alliance (http://www.opendwg.org/) they provide libraries for working with AutoCAD and Microstation. There is no catch, all you have to do is register and sign up to their licence agreement (it is free if you intend to develop for applications for use within your organisation) They support all versions including the 2007 dwg and v8 dgn formats.

» Report offensive content

4

Terry Rugg - 01/06/07

Hi,
I have downloaded the source code but could you explain to me how I import the .sql file into MS SQL server?
Because I have tried importing data using MS Web Data Administrator utility but keep getting the error:
"Incorrect syntax near the keyword 'of'.
Line 33: Incorrect syntax near '*'."
Sorry I'm new to SQL and ASP.Net but if you can guide me in the right direction I'd very much appreciate it.
Many thanks, Terry.

» Report offensive content

5

sai - 31/08/07

I am in programing line

I am doing mailing concept in asp.net.. I want the coding idea

» Report offensive content

6

cmarulprakasam - 07/02/08

i want requirement of intranet project and mdule design

» Report offensive content

7

Mondli - 22/02/08

Hi,
Would you please help me how to connect to sql using odbc?

Kind regards

» Report offensive content

8

shaveta - 05/04/08

hi nice article here.... i have to built an Intranet Application for An organization in asp.net..would u plz help..from where i start this project..and what is the Structure of Database

» Report offensive content

9

jeffrey - 10/04/08

hai friend,

its a nice article.i wanna devlop a intranet mailing system for my company.can u send all the modules of this project and table also..
plz as soon as possible

thanks
jeffrey

» Report offensive content

10

kranthikumar - 21/05/08

toolkit for developing intranet with rss,blogs,forums using asp.net 2.0 plz provide this

» Report offensive content

11

BEN OGEGBO - 05/08/08

building an intranet application from scratch and also modyfying existing intranet application. usning asp.net, c#. I need suggestions on how to go about this.

» Report offensive content

12

Bala - 06/08/08

Hello friend,
Very nice article. Thank you for sharing. I am new to ASP.NET and am developing an intranet app. This is a good starting place. I have a problem in creating the DB with the attached SQL. Any help would be appreciated. Thank you

» Report offensive content

13

sowju - 08/08/08

hi,
i am a student i want to prepare a intranet text search engine for my project and i am unable to sort the things like how i can do it .thought i can ask ur help , if u find time can u pl.....s help me out.
t.c
bye
sowju

» Report offensive content

14

jayanth - 21/08/08

ASP.Net coding and describtions

session("table")

» Report offensive content

15

Akhil Kumar - 14/01/09

16

IYYAPPAN - 27/09/10

hai,i am begineer of the asp.net,i want know about the how to develop software using asp.net 2.0,is it possible? then how?
please help me

» Report offensive content

17

sathya - 20/01/11

hai im beginner of the asp.net so i want know the full details of asp.net & how to develop the project by using this..........................

» Report offensive content

17

sathya - 20/01/11

hai im beginner of the asp.net so i want know the full details of asp.net & how to develop the project ... more

16

IYYAPPAN - 27/09/10

hai,i am begineer of the asp.net,i want know about the how to develop software using asp.net 2.0,is it possible? then how? please ... more

15

Akhil Kumar - 14/01/09

nice article! ... more

Log in


Sign up | Forgot your password?

What's on?

  • Optus Deal

    Broadband + home phone + PlayStation®3 in a single package price!