1. Library Application – ASP.NET Web Project
Objective: Transform the Library Windows application into an ASP.NET web application. All
functionalities that were included in the windows application must also made available in the web
application. Additional functionality includes a login control that limits access to only those users that
are part of the librarian role. Juvenile members who turn 18 must be converted to adult members.
An entry screen for new items in the library must be added.
Summary: This project demonstrates the use of combination of ASP.NET development with login
control that’s new in ASP.NET 2.0
• User input validation, using the Required Field Validator, Compare Validator, Regular
Expression Validator, and Range Validator.
• Data binding to a data grid control and related manipulation.
• Incorporate middle tier business tier for scalability.
• Use of session object to maintain application state.
• Incorporate both client and server side validation.
• Regular expressions are used for input validation.
The basic functions of the application are as follows:
• Add new members to the library. A differentiation is
made between adult and juvenile members. Adult
members are 18 or older.
• View member information such as address, phone
number, membership expiration date, and books
currently checked out.
• Check out available books.
• Check in books.
• Add new books to the library.
It was created as a multi-tier application with the following
layers:
• User interface – (WebApp)
• Business tier – (LibraryBusiness and Entities)
• Data Access layer – (DataAccess)
• SQL Server DB – Location for all data
The application’s Solution Explorer can be seen to the right.
The user interface handles all data entry from the librarian.
The data is validated by the business tier before proceeding
to the database via the data access layer. All library data
resides in a SQL Server database.
2. Screen shots of the application in use
The initial page of the application is the login page. Users are required to login using the login
control. Only members of the librarian role have authorization to continue.
Upon successful login the library home page is displayed which is a master page. The master page
is used to provide consistent look and feel for the entire application. The librarian can retrieve
member information, add members, or add items from here.
3. Member information can be displayed for any member in the library based on their member ID.
Name, address, phone number, expiration date, and a list of checked out items are diplayed. The call
to the database passes through 2 additional layers on the server side before it retrieves member
information from the database. First the business layer is called and then the data access layer is
called from the business layer. The data access layer executes the appropriate stored procedure
residing on the SQL Server database. If an unknown member ID is entered the user is prompted to
enter a valid ID. The Required Field Validator ensures that the member ID textbox is not empty
before a postback is processed to the server. The Compare Validator is used to ensure that an
integer is entered in the member ID textbox before a postback is processed. Individual items can be
checked back in by clicking the appropriate Check In button in the checked out items data grid.
Highlighted rows in the data grid denote over due items.
4. Items can be checked out from the member information page by clicking the Check Out Item button.
The current member ID is saved as a session variable and the check out item page is displayed.
Additional items for the current member can be checked out by typing in the ISBN, copy number, and
clicking the Check Out Item button. Required Field Validators are used on both of the textboxes to
ensure information is entered before postback processing happens at the server. Compare
Validators are also used to ensure integers are entered. A successful check out is denoted by a red
“Item Checked Out” label at the bottom of the page. If the item cannot be found the check out fails
and an appropriate message is displayed. If the item is on loan to another member a message is
displayed. Members can only have 4 items checked out at any given time. If an attempt is made to
check out additional items the check out fails and a message is diplayed. The current member’s
information can be displayed by clicking the Display Member Information button. The GetMemberInfo
page is diplayed and populated using the member ID session variable. The session state duration is
20 minutes. If the Display Member Information button is clicked after the duration has elapsed the
login page is displayed and the user must login again.
5. New adults can be added to the library by clicking the Add Adult Member hyperlink. First name, last
name, street address, city, state, and zip code are required fields. All of these textboxes have
Required Field Validators. In addition, all textboxes on this page have Regular Expression Validators
to ensure that each piece of information is entered in the proper format before a postback occurs.
For example, the first name must have the first letter capitalized and the remaining letters lower case.
It cannot be longer than 15 characters total. The regular expression used is ^[A-Z]{1}[a-zs]{0,14}$.
Click the Add Adult button after all of the new member information is entered to add the new member.
If the addition of the new member to the database was successful the GetMemberInfo page is
displayed with the new member’s information. See below. Unsuccessful additions are denoted by a
label at the bottom of the page.
6. New juveniles can be added to the library by clicking the Add Juvenile Member hyperlink. First name,
last name, adult member ID, and birthdate are required fields. All of these textboxes have Required
Field Validators. In addition, all textboxes except for the birthdate textbox on this page have Regular
Expression Validators to ensure that each piece of information is entered in the proper format before
a postback occurs. The birthdate textbox utilizes a range validator to ensure the new applicant is
between the ages of 0 to 18. Click the Add Juvenile button to add the new member. If the addition of
the new member to the database was successful the GetMemberInfo page is displayed with the new
member’s information. See below. Unsuccessful additions are denoted by a label at the bottom of
the page.
7. New items can be added to the library by clicking the Add Item hyperlink. ISBN, author, cover, title,
whether the item is loanable or not, and the translation are all required fields. Validation is performed
by validators on the client side to ensure proper formatting before a postback occurs. Click the Add
Item button to add the new item to the database. If successful a label will be shown indicating what
copy number is assigned to the item. Since a library may have multiple copies of the same book if
matching ISBN numbers are found the next sequential copy number is assigned to the new addition.
Using the screen shot above as an example, if the library already had a copy of Our Legacy by John
Hannah the new copy number would be 2 instead of 1. Any errors in adding the new item will be
displayed in a label denoting the reason for the failed addition.