SlideShare a Scribd company logo
Library Application – Windows Forms Project


Objective: Create a Windows forms based application to support the principal functions of a lending
library’s day-to-day operations. The end user of the application will be the librarian.

Summary: This project focuses on building the windows forms user interface layer, the business tier
layer and the data access tier layer. It demonstrates the .NET techniques listed below:

   •   User input validation, using error provider and various event handlers.
   •   Data binding to a data grid control and related manipulation.
   •   Middle tier business tier for scalability.
   •   MDI application format.
   •   Effective exception handling.
   •   Regular expressions are used for input validation.
   •   Stored procedures written in T-SQL (SQL 2005)
   •   Custom messages on SQL level implemented.
   •   Stored procedures accessed through
       System.Data.SqlClient.
   •   Entities for library operations created and
       implemented.
   •   Result sets from the database retrieved and
       processed.
   •   Strong named DataSets created and manipulated.

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.

It was created as a multi-tier application with the following
 layers:
    • User interface – (WinClient)
    • 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.
Screen shots of the application in use



Member information can be
retrieved by entering the member’s
ID number on the member
information screen and clicking the
Get Member button. The data entry
is validated to accept only an
integer by means of a regular
expression used in a static validator
method in the business tier. The
member’s information is returned to
the form and checked out items are
displayed on the DataGrid control
from a DataSet. This DataSet is
created from the data access layer
by means of an SQL stored
procedure. If no member if found
the librarian is warned with the
status strip control.




 Items can be also be checked
 back in from this window. The
 librarian highlights the items from
 the DataGrid and clicks the Check
 In Selected Items button. Multiple
 items can be checked in at once.
 A DataSet containing each of the
 selected items is created and sent
 to the data access layer where a
 stored procedure is run against
 the database. If the DataGrid is
 empty and the button is clicked
 the status strip control reminds the
 user that no items have been
 selected to be checked in. If the
 button is clicked and the DataGrid
 is filled with no selected items the
 status strip control will provide the
 same response.
An item can be checked out from the member information screen by selecting Check Book Out from
the Member Services menu. Input the ISBN and copy number in the dialog window and click OK.
The librarian is then prompted to verify that the title is correct to proceed with the check out. The
CheckOut stored procedure is accessed through the data access tier to add a record to the loan
table signifying an item has been checked out. This record contains member information, book
information, the check out date, and the check in date. Members are allowed to have 4 items
checked out at any given time. The application is designed to refuse additional check outs. The
application also refuses check outs to patrons with expired memberships.
New members can be
added to the library.
Applicants 18 or older
are considered adults
and need to be enrolled
using the AddAdult
form. First name, last
name, street, city, and
zip code are required
fields and must be
entered with a particular
format. Data entry is
validated through the
business layer before
new members are
added to the database.




 Juvenile members are
 added based on their
 birthdate and
 sponsoring adult
 member. The same
 data entry rules that
 apply to the adult
 apply to the juvenile
 and validation takes
 place from the same
 set of static methods.
 In addition, there must
 be supplied a valid
 adult member ID
 number and a valid
 birthdate or the
 member is not added
 to the database.

More Related Content

Similar to Library Windows Project

Genevieve De La Cruz .Net Portfolio
Genevieve De La Cruz .Net PortfolioGenevieve De La Cruz .Net Portfolio
Genevieve De La Cruz .Net Portfolio
genevievedelacruz
 
Delma Hagen Portfolio
Delma Hagen PortfolioDelma Hagen Portfolio
Delma Hagen Portfolio
delhagen
 
Jeff Huber Portfoilio
Jeff Huber PortfoilioJeff Huber Portfoilio
Jeff Huber Portfoilio
JeffHuber
 
E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)
Nazmul Hyder
 
Nj 09 Q4 Paul Kadzielawa
Nj 09 Q4 Paul KadzielawaNj 09 Q4 Paul Kadzielawa
Nj 09 Q4 Paul Kadzielawa
PKadzielawa
 
System design document visa
System design document visaSystem design document visa
System design document visa
Shaily Dubey
 
Loan Approval Management Java project
Loan Approval Management Java projectLoan Approval Management Java project
Loan Approval Management Java project
Tutorial Learners
 
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat PortfolioRinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar15
 
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat PortfolioRinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar15
 
Online shopping ecommerce java project
Online shopping ecommerce java projectOnline shopping ecommerce java project
Online shopping ecommerce java project
Tutorial Learners
 
fashion
fashionfashion
fashion
Samah.Y Harwn
 
Portfolio
PortfolioPortfolio
Portfolio
jcterry
 
System Analysis And Design_FinalPPT_NirmishaK
System Analysis And Design_FinalPPT_NirmishaKSystem Analysis And Design_FinalPPT_NirmishaK
System Analysis And Design_FinalPPT_NirmishaK
Shehla Ghori
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
Sangeetha Rangarajan
 
Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...
iosrjce
 
D017612529
D017612529D017612529
D017612529
IOSR Journals
 
Online Shopping project report
Online Shopping project report Online Shopping project report
Online Shopping project report
Surjeet Art
 
Group - 9 Final Deliverable
Group - 9 Final DeliverableGroup - 9 Final Deliverable
Group - 9 Final Deliverable
Linan(Annabella) Zhao
 
Online Voting System-using Advanced Java
Online Voting System-using Advanced JavaOnline Voting System-using Advanced Java
Online Voting System-using Advanced Java
Sarthak Srivastava
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
larel
 

Similar to Library Windows Project (20)

Genevieve De La Cruz .Net Portfolio
Genevieve De La Cruz .Net PortfolioGenevieve De La Cruz .Net Portfolio
Genevieve De La Cruz .Net Portfolio
 
Delma Hagen Portfolio
Delma Hagen PortfolioDelma Hagen Portfolio
Delma Hagen Portfolio
 
Jeff Huber Portfoilio
Jeff Huber PortfoilioJeff Huber Portfoilio
Jeff Huber Portfoilio
 
E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)
 
Nj 09 Q4 Paul Kadzielawa
Nj 09 Q4 Paul KadzielawaNj 09 Q4 Paul Kadzielawa
Nj 09 Q4 Paul Kadzielawa
 
System design document visa
System design document visaSystem design document visa
System design document visa
 
Loan Approval Management Java project
Loan Approval Management Java projectLoan Approval Management Java project
Loan Approval Management Java project
 
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat PortfolioRinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat Portfolio
 
Rinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat PortfolioRinkeshkumar Bhagat Portfolio
Rinkeshkumar Bhagat Portfolio
 
Online shopping ecommerce java project
Online shopping ecommerce java projectOnline shopping ecommerce java project
Online shopping ecommerce java project
 
fashion
fashionfashion
fashion
 
Portfolio
PortfolioPortfolio
Portfolio
 
System Analysis And Design_FinalPPT_NirmishaK
System Analysis And Design_FinalPPT_NirmishaKSystem Analysis And Design_FinalPPT_NirmishaK
System Analysis And Design_FinalPPT_NirmishaK
 
Unit ii update
Unit ii updateUnit ii update
Unit ii update
 
Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...Artificially Intelligent Investment Risk Calculation system based on Distribu...
Artificially Intelligent Investment Risk Calculation system based on Distribu...
 
D017612529
D017612529D017612529
D017612529
 
Online Shopping project report
Online Shopping project report Online Shopping project report
Online Shopping project report
 
Group - 9 Final Deliverable
Group - 9 Final DeliverableGroup - 9 Final Deliverable
Group - 9 Final Deliverable
 
Online Voting System-using Advanced Java
Online Voting System-using Advanced JavaOnline Voting System-using Advanced Java
Online Voting System-using Advanced Java
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
 

Recently uploaded

Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
Chevonnese Chevers Whyte, MBA, B.Sc.
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Leena Ghag-Sakpal
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 

Recently uploaded (20)

Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 

Library Windows Project

  • 1. Library Application – Windows Forms Project Objective: Create a Windows forms based application to support the principal functions of a lending library’s day-to-day operations. The end user of the application will be the librarian. Summary: This project focuses on building the windows forms user interface layer, the business tier layer and the data access tier layer. It demonstrates the .NET techniques listed below: • User input validation, using error provider and various event handlers. • Data binding to a data grid control and related manipulation. • Middle tier business tier for scalability. • MDI application format. • Effective exception handling. • Regular expressions are used for input validation. • Stored procedures written in T-SQL (SQL 2005) • Custom messages on SQL level implemented. • Stored procedures accessed through System.Data.SqlClient. • Entities for library operations created and implemented. • Result sets from the database retrieved and processed. • Strong named DataSets created and manipulated. 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. It was created as a multi-tier application with the following layers: • User interface – (WinClient) • 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 Member information can be retrieved by entering the member’s ID number on the member information screen and clicking the Get Member button. The data entry is validated to accept only an integer by means of a regular expression used in a static validator method in the business tier. The member’s information is returned to the form and checked out items are displayed on the DataGrid control from a DataSet. This DataSet is created from the data access layer by means of an SQL stored procedure. If no member if found the librarian is warned with the status strip control. Items can be also be checked back in from this window. The librarian highlights the items from the DataGrid and clicks the Check In Selected Items button. Multiple items can be checked in at once. A DataSet containing each of the selected items is created and sent to the data access layer where a stored procedure is run against the database. If the DataGrid is empty and the button is clicked the status strip control reminds the user that no items have been selected to be checked in. If the button is clicked and the DataGrid is filled with no selected items the status strip control will provide the same response.
  • 3. An item can be checked out from the member information screen by selecting Check Book Out from the Member Services menu. Input the ISBN and copy number in the dialog window and click OK. The librarian is then prompted to verify that the title is correct to proceed with the check out. The CheckOut stored procedure is accessed through the data access tier to add a record to the loan table signifying an item has been checked out. This record contains member information, book information, the check out date, and the check in date. Members are allowed to have 4 items checked out at any given time. The application is designed to refuse additional check outs. The application also refuses check outs to patrons with expired memberships.
  • 4. New members can be added to the library. Applicants 18 or older are considered adults and need to be enrolled using the AddAdult form. First name, last name, street, city, and zip code are required fields and must be entered with a particular format. Data entry is validated through the business layer before new members are added to the database. Juvenile members are added based on their birthdate and sponsoring adult member. The same data entry rules that apply to the adult apply to the juvenile and validation takes place from the same set of static methods. In addition, there must be supplied a valid adult member ID number and a valid birthdate or the member is not added to the database.