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.
Ad

More Related Content

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
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
 
D017612529
D017612529D017612529
D017612529
IOSR Journals
 
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
 
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
guest1720d9
 
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
 
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
 
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
 
Online Shopping project report
Online Shopping project report Online Shopping project report
Online Shopping project report
Surjeet Art
 
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
 

Recently uploaded (20)

MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon DolabaniHistory Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
fruinkamel7m
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptxTERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
PoojaSen20
 
All About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdfAll About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdf
TechSoup
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx
mansk2
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)
jemille6
 
Origin of Brahmi script: A breaking down of various theories
Origin of Brahmi script: A breaking down of various theoriesOrigin of Brahmi script: A breaking down of various theories
Origin of Brahmi script: A breaking down of various theories
PrachiSontakke5
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and GuestsLDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDM Mia eStudios
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
UPMVLE migration to ARAL. A step- by- step guide
UPMVLE migration to ARAL. A step- by- step guideUPMVLE migration to ARAL. A step- by- step guide
UPMVLE migration to ARAL. A step- by- step guide
abmerca
 
How to Create Kanban View in Odoo 18 - Odoo Slides
How to Create Kanban View in Odoo 18 - Odoo SlidesHow to Create Kanban View in Odoo 18 - Odoo Slides
How to Create Kanban View in Odoo 18 - Odoo Slides
Celine George
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon DolabaniHistory Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
History Of The Monastery Of Mor Gabriel Philoxenos Yuhanon Dolabani
fruinkamel7m
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptxTERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
PoojaSen20
 
All About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdfAll About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdf
TechSoup
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx
mansk2
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)
jemille6
 
Origin of Brahmi script: A breaking down of various theories
Origin of Brahmi script: A breaking down of various theoriesOrigin of Brahmi script: A breaking down of various theories
Origin of Brahmi script: A breaking down of various theories
PrachiSontakke5
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and GuestsLDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDM Mia eStudios
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
UPMVLE migration to ARAL. A step- by- step guide
UPMVLE migration to ARAL. A step- by- step guideUPMVLE migration to ARAL. A step- by- step guide
UPMVLE migration to ARAL. A step- by- step guide
abmerca
 
How to Create Kanban View in Odoo 18 - Odoo Slides
How to Create Kanban View in Odoo 18 - Odoo SlidesHow to Create Kanban View in Odoo 18 - Odoo Slides
How to Create Kanban View in Odoo 18 - Odoo Slides
Celine George
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
Ad

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.
  翻译: