ITM-563 Programming ASP.Net with C# Final Project – by usr10478


									                       ITM-563 Programming ASP.Net with C#
                        Final Project – Task Management Tool
                                 Student Id: 10428056
                               Instructor: Nick Howard

Tools Used: Visual studio 2005, SQL Server 2005

Contents Overview:
      Design and Functionality
      Developers’ View
      Lessons Learnt
      Future Additions

1. Introduction

Task Management Tool is a web application that is designed to manage your tasks online.
This tool helps you to add new tasks, edit any particular task and delete tasks. All the
tasks are categorized by group indicators like business, personal, school, miscellaneous
etc. And every task has priority level like high, medium, low etc. This tool also provides
an administrative section that provides the advance feature of managing groups and
priorities. It allows the administrator to add, edit or delete a group and priority. The task
management tool uses ADO.NET, databound controls and SQL server as the back-end

2. Design and Functionality

Page Design: This is the look of the Task Management Page which also has links to Task
Priority lookup table, Task Group lookup table and a Help file.
Snapshot1: Task Management Page
Snapshot2: Task Group Table Page

Snapshot3: Task Priority Table Page
Functionality: This tool consists of five sections: Task Listing Section, Task Filter
Section, Task Detail section, Task FormView Section, and an administrative section
which has links to Task Priority lookup table and Task Group lookup table which
provides the feature for managing priority/groups like inserting/updating.

2.1 Task Listing Section: The Gridview control lists tasks that are already available in
the database. This section displays important fields associated with any task. The
SELECT link enables user to select data and upon selection details of a particular record
gets displayed in Task Details Section which is placed right below the ‘All Tasks’ panel.
The DELETE link directly deletes the task from database.

Gridview is enabled with paging control. By default, paging control is set to 10 which
allow displaying first 10 tasks. User can browse through the remaining tasks by using
numeric values. Also, sorting is enabled after clicking on column header. This helps to
sort the data, column wise.

                         Fig1: Gridview displaying all the tasks.

2.2Task Filter Section: This section allows the user to select priority level, group name
and completed / uncompleted flag. By default filters are set to ALL so initially user can
see all the tasks in the Gridview. Later, as per user’s need the tasks can be filtered and
displayed in the Gridview. Drop Down controls is used to populate filter parameters. All
dropdowns are being populated by Objectdatasource.

Filter Parameters have been set to enable filtering of Gridview. It filters Gridview not
Database. Filter Records button triggers filtering upon selection and View All Records
button sets the Gridview back with all the tasks available.
                             Fig2: Gridview before filtering

            Fig3: Filtering Panel

Fig.4: Result after filtering: Priority is set to High, Group to business and Completed as
2.3Task Details section: When user selects a task on the GridView that task gets
displayed in Detailsview. It contains all the information related to any selected task.

Fig.5: Task Details of a selected task

Description of various functions performed by Task Management Tool:
2.3.1 Inserting new task:
User can also insert a new task in this section. User can select the priority and group from
dropdown lists provided.

Fig6: Inserting new task in Detailsview

2.3.2 Editing/Updating the task:
User can edit any task and change the contents. The changes immediately reflect in

Fig7: Editing task in Detailview

2.4Adminstration Section: Task Administration section is provided to let user add, edit
and update priority level and priority group. Detailsview is used for this. Groups and
Priorities have 2 fields which are Id’s and Names. Ids are auto incremented fields. So
while editing or inserting; only Group Name and Priority Name field is manipulated.
Fig8: Editing Group Name ‘Hobby-1’ to ‘Hobby’
Fig9: Adding new Priority Name ‘Lowest’

2.5TaskList Formview Section: When user selects a task on the Gridview that task gets
displayed in Formview. It contains all the information related to any selected task.

Fig10: Task Details in a Formview .

Inserting new Task: Formview is used for new record insertion. User can select the
priority and group from dropdown lists provided.

Fig11: Formview showing inserting a new record.

3. Developers’ View
ObjectDataSou           Presentatio          Business         Data              Database
     rce                n                    Logic            Access            (Sql
                        Layer/UI             Layer            Layer             Server
                        .                                                       2005)

Task Management Tool uses ADO.Net to access and modify data stored in SQL Database.
SQL Server 2005 is used as backend storage. Database consists of three tables Task_List,
Task_Priority and Task_Group and various stored procedures are used to retrieve the

Data sets are designed to fetch data from database.

Data Adapter:
DA represents a set of SQL commands and a database connection that are used to fill the
DataSet and update the data source.

Data Access Layer:
DAL facilitates accessing data from datasets and it has all methods such as Select,
Update, Insert and Delete. In this application, I have used Get and Update Method which
establishes a SQLconnection and gets data accordingly.

Business Logic Layer:
A Business logic layer (BLL) is a software engineering practice of compartmentalizing
the rules and calculations of a software application from its other design elements. The
Business logic layer is usually one of the tiers in multi-tier architecture. It separates the
business logic from other modules, such as the Data access layer and UI. In this
application, 3 BLL’s are developed one for each table each table. Business logic layer
contains the logic of the application.

Object Data Source:
The ASP.NET Objectdatasource control represents a middle-tier object with data retrieval
and update capabilities. The Objectdatasource control acts as a data interface for data-
bound controls such as the GridView, FormView, or DetailsView controls, and enables
those controls to display and edit data from a middle-tier business object on an ASP.NET
Web page.ODS is a non-display control in ASP.NET 2.0 that acts as the "glue" between
your data-access objects and data-bound controls on the web page.

4. Difficulties

I had issues with update and inserts on the table, but I managed to do it and learnt a lot in
the process. Another challenge I faced was to perform filtering i.e., letting the user select
Priority levels and Group indicators for a given task.

5. Lessons Learnt

The assignment was a good project for beginners like me which thoroughly tested the
knowledge of DataSets, DataBinding and the ASP.Net paradigm (since VS 2005) for
managing data. I learnt to perform filtering based on user selection and adding child
controls to data bound controls. Also, this project was a good experience for me to learn
to implement layered architecture.

6. Future Additions

       I want to provide Login for the Administration section of tables.
       I want to prompt the user to confirm deletion and editing.
       I want to change the complete look and feel of my website.
       I want to do validations to verify inserts and updates.
       I want to provide links to my other projects that I have worked on so far since I
       can show my website to any potential employer.
       I want to enable Due Date and Complete Date with Ajax-Calendar control. The
       Calendar should pop up when user tries to update or insert the data within date
I want to give the user the ability to change the number of items to display per
page on the Gridview.

To top