1
Book Store Management
PROJECT REPORT
ON
BOOK STORE MANAGEMENT
Submitted By-
Ms. AMRITA SINGH
Under the Guidance of
Mrs. Dhatri Vinjamuri
And
Mrs. Neha Samuel
Submitted to
S.K. College of science and commerce
Plot no.31, sector 25, Nerul(e),Navi Mumbai
2010-2011
2
Book Store Management
Project Report Submitted to
S.K. COLLEGE OF SCIENCE &
COMMERCE
Plot No.31, Sector 25,
Seawoods, Navi Mumbai - 400706.
Project Report On
Book Store Management
SUBMITTED BY COLLEGE GUIDE
MS. AMRITA SINGH Mrs. NEHA SAMUEL
(T.Y.C.S.) 2011-12
3
Book Store Management
EXTERNAL EXAMINER:
DATE:
PREFACE
This project is developed with an aim to achieve
computerization of Shop, For time saving & Helping self.
This software provide help in effective management of Purchase & Sales with
additional features of security and increase & Decrease date inconsistency.
The following documentation Provides an insight of the existing “BOOK
SHOP MANAGEMENT” with a scope for further expansion in future.
This report depicts the information use for the system development. For detail
information scope of the project along with table design and Screen Layouts
are provided.
Although this report is prepared with utmost care, there may be errors for the
project and is subjected to further enhancements.
AMRITA SINGH.
4
Book Store Management
ACKNOWLEDGEMENT
I take this opportunity to thank all those who have been directly or
indirectly related to my project.
I would like to thank to our project guide Mrs. NEHA SAMUEL for his
constant source of inspiration. I am grateful to our coordinator Mrs. DHATARI
VINJAMURI for her encouragement and suggestions on my project. I
sincerely thank to our entire professor from (Computer Department) of our
COLLEGE for their continued support.
I look forward in comments which are welcomed by me from students
and teachers.
5
Book Store Management
INDEX:
SR. NO. CONTENTS PAGE NO.
01
PRELIMINARY INVESTIGATION
• ORGANIZATIONAL OVERVIEW
• DESCRIPTION OF THE SYSTEM
• LIMITATION OF PRESENT SYSTEM
• PROPOSED SYSTEM
• FEASIBILITY STUDY
• GANTT CHART
7-16
02
SYSTEM ANALYSIS
• STACK HOLDER
• FACT FINDING TECHNIQUES
• EVENT TABLE
• USE CASE DIAGRAM
• ERD DIAGRAM
• ACTIVITY DIAGRAM
• CLASS DIAGRAM
• SEQUENCE DIAGRAM
• COLLABORATION DIAGRAM
17-29
03 SYSTEM DESIGN
• Converting ERD to Tables
• Component Diagram
• Package Diagram
• Deployment Diagram
• System flow chart
• Structure chart(Program level & System level)
30-36
04
SYSTEM CODING
• Menu Tree
• List of tables with attributes and constraints
• Validations
• Test Cases, Test Data and Test Results
• Screen Layouts & Report Layouts
37-123
05 SYSTEM IMPLEMENTATION 124-125
06 FUTURE ENHANCEMENTS 126-127
07 CONCLUSION
6
Book Store Management
07 REFERENCES AND BIBLIOGRAPHY 128-129
1
Preliminary Investigation
7
Book Store Management
Organization overview &
Introduction:
This system “Inventory system” has been developed by Ms. AMRITA
SINGH as an academic project for the Computer Science Department of S.K.
College of Science & Commerce as a part of the T.Y. BSc Computer
Science Course.
This system was created with a lot of anticipation towards mastering the
basics of system creation .It was designed in such a way so as to help us make
use of basic technologies like Visual Studio and MS SQL .It has used the
concepts of maintaining a uniform system structure and during the process of
creating this system an honest effort has been made towards creating a
professional system in the future.
8
Book Store Management
Description of the System:
During the past several decade’s personnel function has
been transformed from a relatively obscure record keeping staff to
central and top level management function. There are many factors
that have influenced this transformation like technological
advances, professionalism, and general recognition of human beings
as most important resources.
 A computer based management system is designed to handle the entire
primary Information required to calculate monthly statements. Separate
database is maintained to handle all the details required for the correct
statement calculation and generation.
 This project intends to introduce more user friendliness in the various
activities such as record updating, maintenance, and searching.
 The searching of record has been made quite simple as all the details of
the Book can be obtained by simply keying in the identification of those
Books.
 Similarly, record maintenance and updating can also be accomplished by
using the identification of the Book with all the details being
automatically generated. These details are also being promptly
automatically updated in the Master files thus keeping the record
absolutely up-to-date.
9
Book Store Management
 The entire information has maintained in the database or Files and
whoever wants to retrieve can’t retrieve, only authorization user can
retrieve the necessary information which can be easily is accessible from
the file.
Limitations of the Present System:
The present system has several shortcomings that are as follows:-
 In Present system each and every record is maintains in registers, so
there will be lot of redundancy in maintain book records.
 Also there is no security due to all records are maintain in register.
 Modification of one record causes to other records related to that record,
so work becomes very critical, so some time data loss will be ocular.
 Storage of information is costly.
 Require knowledge about this system.
 More time required for reading & adding records in register
 Searching any old record of any job done or damaged required more
time due to critical system of register.
10
Book Store Management
Proposed System:
This system computerized all the requirements of the owner. It will give the
owner the feature of maintaining all the profiles of its customer, Suppliers, the
Product in which the owner deals in, the companies of whose product the
owner sells. It gives the user the functionality of searching stock without
manually checking it as stock entries are updated throughout the sales and
purchase transaction. It also keeps track of the enquiries made in the owner by
various people.
OBJECTIVES
1) Data management.
2) Data retrieval at will.
3) Data modification.
4) Save time thereby increasing performance.
5) Reducing work process time.
6) Provide various report facility.
7) Cost effective and less manpower required.
11
Book Store Management
Advantages of The Proposed System:
 This system uses MS SQL as data base which is strong and secure
database for proposed system.
 The proposed system empowers the user with a new computer based
system by reducing the efforts of data maintenance.
 The proposed developed according to the user specification hence it is a
user-centered system.
 This system provides a facility to generate a bill as soon as the customer
purchases a product.
 If the customer has not paid the full payment then there is a facility to
check the balance amount that has to be paid by the customer.
12
Book Store Management
Limitation of the Proposed System :
 The system prepared is competent but we cannot say that it is a perfect
system. This system like any other system has some flaws &
shortcomings in it. They are as follows:
 This system is semi-functional. This means that the system covers the
manipulation related to the record only.
 Only one person can use the system.
 There would be high rate & better quality of performance.
System requirementsSystem requirements
Hardware and software requirements:
The least hardware requirements are:
1) Minimum 2 GB HDD space
2) Pentium or Celeron based processor
13
Book Store Management
3) 128 MB RAM
The least software requirements are:
1) Operating system: - Windows XP, Windows7.
2) Front-end Tool: - Visual studio 2008.
3) Back-end Tool: - MS SQL Server 2005.
4) Report Generation: - Crystal Report Basic.
FEASIBILITY STUDY
Every project would be feasible, if provided with
unlimited resources and unlimited time. But unfortunately, the
development of computer-based system of book is more likely plagued
by a security of resources and difficult time constraint. It is both
necessary and prudent to evaluate the feasibility of the project at the
earliest possible time. During software engineering we concentrate our
attention on four primary area of interest. The techniques used in
conducting an initial investigation and feasibility study are very similar
but the objectives are not so.
The major objectives of feasibility study are to further define the
problem and to determine the best way to solve it. The typical primary
objectives are:
14
Book Store Management
• A centralized database will be developed.
• Runtime operating decision-making will be eliminated.
• Unnecessary control procedure will be automated.
• The minimum of paper work should be produced.
• The output produced by the system should be in a usable format
Gantt chart:
I planned my project according to the Gantt chart as follows:
Sr.
No.
Task Start Finish Duration
(in Days)
15
Book Store Management
1 Understanding current
system
15-06-2011 22-06-2011 07
2 Problem definition 23-06-2011 30-06-2011 07
3 Information gathering 1-07-2011 15-07-2011 15
4 System Analysis 16-7-2011 31-07-2011 16
5 Database design 1-08-2011 31-08-2011 30
6 Form design 01-09-2011 30-09-2011 30
7 Coding 01-10-2011 30-11-2011 60
8 Modification of forms 01-12- 2011 16-12-2011 16
9 Testing 24-12-2011 15-01-2012 20
10 Implementation 16-01-2012 10-02-2012 24
2
16
Book Store Management
System Analysis
STAKE HOLDERS
A corporate stake holder is a party that can affect or be affected by
the actions of the business as a whole.
TYPES OF STAKE HOLDERS:
 Internal stake holder
17
Book Store Management
Internal stake holders-Market (or primary)Stake holders are those that
are engaged in economic transactions with the business.
 External stake holders-
Non market(or secondary) stake holders are those who although they do
not engaged in direct economic exchange with the business are
affected by or can affect its actions.
 Owner
The owner of the admission system needs to keep a check on
everything which is visiting admission system about each and every
registration and viewing and making changes i.e. update, delete etc. this is
one of the important issue to be handled . Book should be updated
regularly as if the new book comes in to avoid any mistake.
FACT FINDING TECHNIQUES:
18
Book Store Management
The system referred is the “Inventory system” that deals with the bills
of the customer & supplier. The following are the fact-finding techniques,
which were followed:
1) Going through all the existing documentation, files, registers:
I went through all the files and registers in which the supplier’s
details were kept. I also referred the handmade bills and receipts. From
this I traced out the history, which was required for the existing system
to be implemented.
2) Research and site visit:
I visited the shop several times, which was very important for gathering the
details about the items stored in the shop and the how the bill is generated.
3) Observation:
By visiting the shop I observed how the manual process is been taking place.
Through observation I was able to see what exactly is to be done.
4) Questionnaires:
Questionnaires are the special purpose documents that allowed me to collect
information and opinions from respondents. Through questionnaires it was
possible to know the requirements of the respondent.
5) Interviews:
Through interviews it was possible for me to collect information from the
respondent face-to-face
Event Table
19
Book Store Management
List of events gathered during analysis are entered in event table. An event table includes
rows and columns representing events and their details respectively.
TRIGGER:
Trigger an occurrence that tells the system that has occurred, either the arrival of data
needing or of a point in time
SOURCE:
SOURCE An external agent or actor that supplies data to the system.
ACTIVITY:
ACTIVITY Behavior that the system performs when an event occurs
RESPONSE:
RESPONSE An output produced by the system that goes to a destination.
DESTINATION:
DESTINATION An external agent or actor that receives data from the system
20
Book Store Management
EVENT TRIGGER SOURCE ACTIVITY RESPONSE DESTINATIO
N
Admin
Login
Request
username &
Password
Admin Validate
username &
password
Confirmation
Saved
Admin
Add an
Employee
Employee
Details
Employee Add
employee
details
Information
saved
Employee
Update
Employee
Update
employee
Employee Update
employee
Update
Information
Employee
Add Books Books
details and
add in
inventory
Books Add Book
and
in inventory
Information
saved
Books
Update
Inventory
Update Book Book Update
quantity
Information
updated
Inventory
Master
Generate bill Create bill Bill Calculate
bill amount
Bill
generated
Bill Master
Save Bill Save Bill Bill Save Bill Information
saved
Bill Master
Print Bill Generate and
print
Bill Print bill Take print of
Bill
Bill master
Salary Report Add Salary
details
Employee Report
Saved
View
Report
Employee
Use Case Diagram
21
Book Store Management
The use case diagram is used to identify the primary elements and processes that
form the system. The primary elements are termed as "actors" and the processes are called
"use cases." The use case diagram shows which actors interact with each use case.
Books Details
Employee Details
Add Book detail
Search for Books
Delete Books
Detail
Administrator
Update Books Detail
22
Book Store Management
Invoice Detail
23
Book Store Management
Entity Relationship Diagram
ER-Diagram
Represent DataEntity.
Represent connection.
Represent therelationship.
ShowsOneto Many Relations.1 M
1M ShowsMany to OneRelation.
Symbols used in Entity-Relationship Diagram are as
follows:
Connect two Entitiesor Oneto One
Relation
24
Book Store Management
An entity-relationship (ER) diagram is a specialized graphic that illustrates the
interrelationships between entities in a database.
Activity Diagram:
25
Book Store Management
The process flows in the system are captured in the activity diagram. Similar to a
state diagram, an activity diagram also consists of activities, actions, transitions, initial and
final states, and guard conditions.
Admin
26
Book Store Management
Employee
27
Book Store Management
Class Diagram
The class diagram is used to refine the use case diagram and define a detailed
design of the system. The class diagram classifies the actors defined in the use case
diagram into a set of interrelated classes. The relationship or association between the
classes can be either an "is-a" or "has-a" relationship. Each class in the class diagram may
be capable of providing certain functionalities.
28
Book Store Management
Sequence Diagram
A sequence diagram represents the interaction between different objects in the
system. The important aspect of a sequence diagram is that it is time-ordered. This means
that the exact sequence of the interactions between the objects is represented step by step.
Different objects in the sequence diagram interact with each other by passing "messages".
29
Book Store Management
COLLABORATION DIAGRAM
A collaboration diagram, also called a communication diagram or interaction
diagram, is an illustration of the relationships and interactions among software objects in the
Unified Modeling Language.
30
Book Store Management
3
System design
31
Book Store Management
CONVERTING ERD TO TABLES:
1. Employee 2.Book Details
3. Bill Receipt 4.Emp Salary
32
Book Store Management
Component Diagram
The component diagram represents the high-level parts that make up the system.
This diagram depicts, at a high level, what components form part of the system and how
they are interrelated. A component diagram depicts the components culled after the
system has undergone the development or construction phase.
33
Book Store Management
Package Diagram
A package diagram in the Unified Modeling Language depicts
the dependencies between the packages that make up a model. Package diagrams can use
packages containing use cases to illustrate the functionality of a software system
34
Book Store Management
Deployment Diagram
The deployment diagram captures the configuration of the runtime elements of the
application. This diagram is by far most useful when a system is built and ready to be
deployed.
35
Book Store Management
System Flow Chart:
A systems flow chart shows the key inputs and outputs associated with the program.
The shape of the symbols indicates the types of input or output devices.
BOOK
SHOP
MANAGEMENT
SYSTEM
BOOK
DATABASE
INVENTORY
DATABASE
BILL
DATABASE
EMPLOYEE
DATABASE
MAINTAIN
BOOK DETAILS
MAINTAIN
INVENTORY
DETAILS
MAINTAIN
EMPLOYEE
DETAILS
INVENTORYREP
ORT
BILL
REPORT
EMPLOYEE
REPORT
BOOK
REPORT
BILL CREATION
PROGRAM
36
Book Store Management
STRUCTURE CHART
A Structure Chart (SC) in software engineering and organizational theory, is a chart which
shows the breakdown of a system to its lowest manageable levels. They are used
in structured programming to arrange program modules into a tree. Each module is
represented by a box, which contains the module's name.
37
Book Store Management
4.
System Coding
38
Book Store Management
Menu Tree
BOOK SHOP MANAGEMENT SYSTEM
Book
ReportsBill
InventoryTools & Utilities
BOOK SHOP MANAGEMENT SYSTEM
Add
Book
Update
Book
Delete
Book
Show all
Book
Calculator
Update
Inventory
Show Inventory
status
Generate
Bill
Book
Info
Inventory
Info
Search
Book
Employee
Search
Employee
Add
Employee
Update
Employee
Delete
Employee
Exit
EmployeeEmployee
Daily Sales
ssSSsSales
Daily Sales
Monthly Sales
SsLASales
ssSSsSales
Monthly Sales
SalesSales
Print BillPrint Bill
Change
Password
Exit
File
39
Book Store Management
Database Tables:
List of tables with attributes and constraints:
Table Name: UserMaster
Key Field Name Field Type Field Size Description
* Primary key username varchar 50 Users name
password varchar 50 User password
Table Name: Employee
Table Name: Employee Designation
Key Field Name Field Type Field Size Description
Key Field Name Field Type Field Size Description
* Primary key EmployeeId numeric (18,0) Employee ID
EmployeeName varchar 50 Employee Name
DesignationId number (18,0) Employee
Designation ID
Salary numeric (18,2) Employee Salary
Dateofbirth datetime Employee Date of
Birth
Address varchar 500 Employee Address
Status varchar 50 Employee Status
40
Book Store Management
* Primary Key DesignationId numeric (18,0) Employee Designation
ID
Type varchar 50 Employee Designation
Type
Table Name: Book Master
Key Field Name Field Type Field Size Description
* Primary
Key
BookID numeric (18,0) Book ID
BookName varchar 50 Book Name
Batch No varchar 50 Book Batch Number
price numeric (7,2) Book Price
manuDate datetime Book Manufacturing Date
Expiry date datetime Book Expiry Date
Table Name: Inventory Master
Key Field Name Field Type Field Size Description
* Primary
Key
InventoryId numeric (18,0) Inventory ID
BookId numeric (18,0) Book Id
Quantity numeric (18,0) Inventory Quantity
Table Name: Purchased Item
41
Book Store Management
Key Field Name Field Type Field Size Description
* Primary Key SrNo numeric (18,0) Bill Serial Number
BillID numeric (18,0) Bill ID
BookID numeric (18,0) Book ID
Quantity numeric (18,0) Total Book Quantity
Price numeric (18,0) Book Price
Table Name: Bill Master
Key Field Name Field Type Field Size Description
* Primary Key BillID numeric (18,0) Bill ID
BillOwner varchar 50 Bill Owner Name
BillDate datetime Bill Date
Total numeric (18,2) Total Amount
Validation
42
Book Store Management
There are many approaches to software testing. Reviews, walkthroughs,
or inspections are considered as static testing, whereas actually executing programmed code
with a given set of test cases is referred to as dynamic testing. Static testing can be (and
unfortunately in practice often is) omitted. Dynamic testing takes place when the program
itself is used for the first time (which is generally considered the beginning of the testing
stage). Dynamic testing may begin before the program is 100% complete in order to test
particular sections of code (modules or discrete functions). Typical techniques for this are
either using stubs/drivers or execution from a debugger environment. For
example, spreadsheet programs are, by their very nature, tested to a large extent
interactively ("on the fly"), with results displayed immediately after each calculation or text
manipulation.
White box testing is when the tester has access to the internal data structures and
algorithms including the code that implement these.
Types of white box testing
The following types of white box testing exist:
 API testing (application programming interface) - testing of the application using
public and private APIs
 Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test
designer can create tests to cause all statements in the program to be executed at
least once)
 Fault injection methods - improving the coverage of a test by introducing faults to
test code paths
Test coverage
White box testing methods can also be used to evaluate the completeness of a test suite that
was created with black box testing methods. This allows the software team to examine parts
43
Book Store Management
of a system that are rarely tested and ensures that the most important function points have
been tested.
Two common forms of code coverage are:
 Function coverage, which reports on functions executed
 Statement coverage, which reports on the number of lines executed to complete the
test
They both return code coverage metric, measured as a percentage.
44
Book Store Management
Table Validations
Form Valid Data In Valid Data
Add Book All Field are Compulsory Empty Fields in animal name, or field are not
selected
Add Employee All Field are Compulsory Empty Fields, numbers in employee name number
or alphabets in salary.
Generate bill All Field are Compulsory Empty Fields, or fields are not selected
Control Valid Data In Valid Data
Price name
Text box
34,37,999,1234,12 or any
number but not more than four
digit.
44562,s34534,rs44,$451 etc
Employee
Name Text
box
Rocky,jocky,finel 21542,roni,@make;
45
Book Store Management
Coding for validation
For Only Alphabets
If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or
Asc(e.KeyChar) = 11 Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then
e.Handled = False
Else
e.Handled = True
End If
For Only Numbers
Private Function validatFields() As Boolean
If Not IsNumeric(TextBox4.Text.Trim) Then
MsgBox("Price must be a number")
Return False
End If
Return True
End Function
46
Book Store Management
Test Case
The forms were tested for their functionality and error messages are displayed
wherever the input does not meet the required requirements
 Login form giving error message.
If any invalid user want to take entry into the system then this form restrict him from
entering into the system. By entering invalid username or password it gives an error
message
 Add Book Form gives an error message.
Add Book form gives an error message if valid data entry is not done. For example, Price
should be numeric.
 Update Book Form gives error message
Update Book form gives an error message if valid data entry is not done. For example, if no
book is selected then it gives an error message ‘Please select Book’.
47
Book Store Management
Screen layouts and report layout
Splash Screen:
login Screen:
48
Book Store Management
Project Main Screen:
Change Password Forms:
49
Book Store Management
Add Book Screen:
update book Screen:
50
Book Store Management
delete book Screen:
Search book Screen:
51
Book Store Management
update inventory Screen:
Show Book Status:
52
Book Store Management
Add employee Screen:
Search employee Screen:
53
Book Store Management
Update employee Screen
54
Book Store Management
delete employee Screen:
Generate bill Screen:
55
Book Store Management
Employee Salary Screen:
Book Report Screen:
56
Book Store Management
Employee Report Screen:
Daily Sales Report Screen:
57
Book Store Management
Monthly Sales Report Screen:
Bill Print SCREEN:
58
Book Store Management
Book Status:
Available book:
59
Book Store Management
Project profile:
60
Book Store Management
Codings of sreen Layouts
Coding for Splash screen:
Public Class splpane1
Private Sub splpane1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Timer1.Enabled = True
Timer1.Interval = 50
End Sub
Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Timer1.Tick
ProgressBar1.Increment(2)
If ProgressBar1.Value >= 100 Then
Dim f As New LoginForm
Me.Hide()
f.Show()
Timer1.Enabled = False
End If
End Sub
Private Sub PictureBox1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles PictureBox1.Click
End Sub
End Class
61
Book Store Management
Coding for login screen:
Imports System.Data.SqlClient
Imports System.Text
Imports System.Security.Cryptography
Imports System.Threading
Imports System.Configuration
Public Class LoginForm
Dim constr As String
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub login()
Try
Dim myConnection As New SqlConnection(constr)
Dim encPassword As String = PasswordTextBox.Text.Trim()
myConnection.Open()
Dim command As New SqlCommand("select roleID from UserMaster where username='" +
UsernameTextBox.Text.Trim() + "' and password='" + encPassword + "'", myConnection)
Dim objrdr As SqlDataReader = command.ExecuteReader()
'MsgBox(i)
If objrdr.Read Then
' System.Windows.Forms.MessageBox.Show("Welcome!")
Dim role As Integer = objrdr(0)
command.Dispose()
myConnection.Close()
Me.Hide()
Dim objMain As New Main(encPassword, role)
objMain.ShowDialog()
Else
PasswordTextBox.Text = ""
MsgBox("I Don't know who r u?")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close()
End Sub
Private Sub LoginForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Hide()
SplashScreen.Show()
SplashScreen.Update()
Thread.Sleep(5000)
SplashScreen.Close()
Me.Visible = True
62
Book Store Management
Me.UsernameTextBox.Text = "admin"
Me.PasswordTextBox.Focus()
'If ConfigurationManager.ConnectionStrings.Count > 0 Then
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
' End If
End Sub
Private Sub PasswordTextBox_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles PasswordTextBox.KeyPress
If Asc(e.KeyChar) = 13 Then
login()
End If
End Sub
Private Sub UsernameTextBox_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles UsernameTextBox.KeyPress
If Asc(e.KeyChar) = 13 Then
login()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
login()
End Sub
Private Sub LogoPictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles LogoPictureBox.Click
End Sub
End Class
63
Book Store Management
Coding for main screen:
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Configuration
Public Class Main
Dim constr As String
Dim password As String
Dim role As Integer
Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles
ExitToolStripMenuItem.Click
Dispose(True)
End Sub
Private m_ChildFormNumber As Integer
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripMenuItem2.Click
Dim obj As SearchBookDialog = New SearchBookDialog(1)
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub AddBookToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles AddBookToolStripMenuItem.Click
Dim obj As AddBook = New AddBook
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub AddBook()
Dim myConnectionn As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Try
myConnectionn = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
myConnectionn.Open()
command = New SqlCommand("insert into bookMaster")
Catch ex As Exception
End Try
End Sub
64
Book Store Management
Private Sub Main_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dispose(True)
End Sub
Private Sub ShowAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ShowAllToolStripMenuItem.Click
Dim obj As ViewAllBookForm = New ViewAllBookForm
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub SearchToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles SearchToolStripMenuItem1.Click
Dim obj As SearchBookDialog = New SearchBookDialog
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripMenuItem1.Click
Dim obj As UpdateInventoryForm = New UpdateInventoryForm
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub ShowInventoryStatusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ShowInventoryStatusToolStripMenuItem.Click
Dim obj As Inventory = New Inventory
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub GenerateBillToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles GenerateBillToolStripMenuItem.Click
Dim obj As GenerateBill = New GenerateBill
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub PrintBillToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
'Dim obj As PrintBill = New PrintBill
65
Book Store Management
'obj.MdiParent = Me
'obj.StartPosition = FormStartPosition.CenterScreen
'obj.Show()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
Application.Exit()
End Sub
Private Sub BookInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BookInfoToolStripMenuItem.Click
Dim obj As AllBookReportForm1 = New AllBookReportForm1
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub InventoryInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles InventoryInfoToolStripMenuItem.Click
Dim obj As InventoryReportForm1 = New InventoryReportForm1
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles AboutToolStripMenuItem.Click
Dim obj As AboutBox = New AboutBox
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub SearchToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles SearchToolStripMenuItem.Click
Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog()
obj.StartPosition = FormStartPosition.CenterScreen
obj.MdiParent = Me
obj.Show()
66
Book Store Management
End Sub
Private Sub closeAll()
For Each frm As Form In Me.MdiChildren
frm.Close()
Next
End Sub
Private Sub AddToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles AddToolStripMenuItem.Click
Dim obj As AddEmployeeForm = New AddEmployeeForm()
obj.StartPosition = FormStartPosition.CenterScreen
obj.MdiParent = Me
obj.Show()
End Sub
Private Sub UpdateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles UpdateToolStripMenuItem.Click
closeAll()
Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog(1)
obj.StartPosition = FormStartPosition.CenterScreen
obj.MdiParent = Me
obj.Show()
End Sub
Private Sub DeleteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DeleteToolStripMenuItem.Click
closeAll()
Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog(2)
obj.StartPosition = FormStartPosition.CenterScreen
obj.MdiParent = Me
obj.Show()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripButton1.Click
Dim obj As AddBook = New AddBook
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripButton2.Click
Dim obj As Inventory = New Inventory
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
67
Book Store Management
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripButton3.Click
Dim obj As AddEmployeeForm = New AddEmployeeForm()
obj.StartPosition = FormStartPosition.CenterScreen
obj.MdiParent = Me
End Sub
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripButton4.Click
Dim obj As GenerateBill = New GenerateBill
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub CallSystem()
Dim objsystem As SystemLibrary.System = New SystemLibrary.System
Dim constr As String = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim strpath As String
Dim array As ArrayList = New ArrayList()
array.Add("BillMaster")
array.Add("Employee")
array.Add("EmployeeDesignation")
array.Add("InventoryMaster")
array.Add("BookMaster")
array.Add("PurchasedItem")
array.Add("UserMaster")
strpath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
objsystem.writeFile(strpath & "vss.bin")
objsystem.ReadFile(strpath & "vss.bin", constr, array)
End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripMenuItem4.Click
Dim obj As UpdateBook = New UpdateBook
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub ChangePasswordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ChangePasswordToolStripMenuItem.Click
Dim obj As UsersDialog = New UsersDialog(password)
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
68
Book Store Management
' Add any initialization after the InitializeComponent() call.
CallSystem()
End Sub
Public Sub New(ByVal password As String, ByVal role As Integer)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.password = password
Me.role = role
CallSystem()
End Sub
Private Sub EmployeeReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles EmployeeReportToolStripMenuItem.Click
Dim obj As EmployeeReportForm = New EmployeeReportForm
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub DailySalesReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DailySalesReportToolStripMenuItem.Click
Dim obj As DailySalesReportForm = New DailySalesReportForm
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub MonthlyReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MonthlyReportToolStripMenuItem.Click
Dim obj As MonthlySalesReportForm = New MonthlySalesReportForm
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub PrintBillToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PrintBillToolStripMenuItem.Click
Dim obj As PrintBill = New PrintBill()
obj.MdiParent = Me
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
69
Book Store Management
End Class
Coding for user dialog:
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Configuration
Public Class UsersDialog
Dim constr As String
Dim pwd As String
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
OK_Button.Click
'MsgBox(UserComboBox.SelectedItem.ToString)
Dim obj As New UpdateUserForm(UserComboBox.SelectedItem.ToString, pwd)
obj.MdiParent = Me.MdiParent
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
Me.Hide()
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub UsersDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Dim dbreader As SqlDataReader = Nothing
Try
myConnection = New SqlConnection(constr)
myConnection.Open()
command = New SqlCommand("select username from usermaster", myConnection)
dbreader = command.ExecuteReader
While dbreader.Read
UserComboBox.Items.Add(dbreader(0))
End While
UserComboBox.SelectedIndex = 0
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
70
Book Store Management
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
Public Sub New(ByVal pwd As String)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.pwd = pwd
End Sub
End Class
Coding for update user dialog:
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Text
Imports System.Security.Cryptography
Public Class UpdateUserForm
Dim user As String
Dim constr As String
Dim obj As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
Private Sub UpdateUserForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
UserTextBox.Text = user
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
Public Sub New(ByRef user As String, ByVal pwd As String)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.user = user
Me.obj = pwd
End Sub
71
Book Store Management
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
If validateFields() Then
Try
Dim myConnection As New SqlConnection(constr)
Dim encPassword As String = PasswordTextBox.Text.Trim()
myConnection.Open()
Dim command As SqlCommand = New SqlCommand("update usermaster set password='" &
encPassword & "'", myConnection)
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
MsgBox("Updated!")
command.Dispose()
myConnection.Close()
Me.Close()
Else
MsgBox("Failed!")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Function validateFields() As Boolean
If UserTextBox.Text.Trim.Length = 0 Then
MsgBox("User name can not be empty!")
Return False
End If
If TextBox1.Text.Trim.Length = 0 Then
MsgBox("old Password should not be empty!")
Return False
End If
If PasswordTextBox.Text.Trim.Length = 0 Then
MsgBox("Password and confirm password doesnot match!")
Return False
End If
If ConfirmPasswordTextBox.Text.Trim.Length = 0 Then
MsgBox("Password and confirm password doesnot match!")
Return False
End If
If Not PasswordTextBox.Text.Trim = ConfirmPasswordTextBox.Text.Trim Then
MsgBox("Password and confirm password doesnot match!")
Return False
End If
If Not obj = TextBox1.Text.Trim Then
MsgBox("You are not correct user to change password!")
Return False
End If
Return True
End Function
End Class
72
Book Store Management
Coding for add book:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class AddBook
Dim constr As String
Private Sub AddBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim id As Integer = MiscUtilityClass.getID("bookmaster", "bookid")
'TextBox1.Enabled = False
'TextBox1.Text = id
Me.DateTimePicker1.Format = DateTimePickerFormat.Custom
Me.DateTimePicker1.CustomFormat = "MM/dd/yyyy"
Me.DateTimePicker2.Format = DateTimePickerFormat.Custom
Me.DateTimePicker2.CustomFormat = "MM/dd/yyyy"
Me.DateTimePicker2.MinDate = Date.Now
End Sub
Private Function validateFields() As Boolean
If Not IsNumeric(TextBox4.Text.Trim) Then
MsgBox("Price must be a number")
Return False
End If
Return True
End Function
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
SaveButton.Click
saveBook()
End Sub
Private Sub saveBook()
'MsgBox(DateTimePicker1.Value)
'MsgBox(DateTimePicker2.Value)
If validatFields() Then
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Dim trans As SqlTransaction = Nothing
Try
myConnection = New SqlConnection(constr)
myConnection.Open()
trans = myConnection.BeginTransaction
73
Book Store Management
command = New SqlCommand("insert into
bookmaster(BookName,BatchNo,price,manuDate,Expirydate) values('" & TextBox2.Text.Trim & "','" &
TextBox3.Text.Trim & "','" & Val(TextBox4.Text.Trim) & "','" &
DateTimePicker1.Value.ToString("MM/dd/yyyy") & "','" &
DateTimePicker2.Value.ToString("MM/dd/yyyy") & "')", myConnection, trans)
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
MsgBox("Book Added Successfully!")
trans.Commit()
command.Dispose()
myConnection.Close()
Me.Close()
Else
MsgBox("Failed to add Book!")
End If
Catch ex As Exception
trans.Rollback()
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnCancel.Click
Me.Close()
End Sub
Private Sub DateTimePicker2_ValueChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker2.ValueChanged
End Sub
Private Sub DateTimePicker2_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker2.KeyPress
If Asc(e.KeyChar) = 13 Then
saveBook()
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If Asc(e.KeyChar) = 13 Then
saveBook()
End If
End Sub
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If Asc(e.KeyChar) = 13 Then
saveBook()
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
74
Book Store Management
End If
End Sub
Private Sub DateTimePicker1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker1.KeyPress
If Asc(e.KeyChar) = 13 Then
saveBook()
End If
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If Asc(e.KeyChar) = 13 Then
saveBook()
End If
End Sub
Private Function validatFields() As Boolean
If TextBox2.Text.Trim.Length = 0 Then
MsgBox("book Name is Required!")
Return False
End If
If TextBox3.Text.Trim.Length = 0 Then
MsgBox("Batch no is Required!")
Return False
End If
If TextBox4.Text.Trim.Length = 0 Then
MsgBox("price is Required!")
Return False
End If
If DateTimePicker1.Value.ToString("MM/dd/yyyy") =
DateTimePicker2.Value.ToString("MM/dd/yyyy") Then
MsgBox("Manufacturing and Expiry date can not be same!")
Return False
End If
Return True
End Function
End Class
75
Book Store Management
Coding for update book:
Imports System.Data.SqlClient
Imports System.Configuration
Public Class UpdateBook
Private Sub UpdateBook()
If validateFields() Then
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Dim command2 As SqlCommand = Nothing
Dim quantity As Integer = 0
If CType(ComboBox1.SelectedItem, BookClass).ExpiryDate > Date.Now Then
quantity = getQuantity(CType(ComboBox1.SelectedItem, BookClass).BookID)
End If
Dim query2 As String = "update inventoryMaster set quantity=" & quantity & " where bookID=" &
CType(ComboBox1.SelectedItem, BookClass).BookID
Dim d1 As Date = Date.Parse(DateTimePicker1.Value)
Try
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
myConnection.Open()
command = New SqlCommand("update bookmaster set batchno='" & TextBox3.Text.Trim &
"',price=" & Val(TextBox4.Text.Trim) & ",manudate='" & d1.ToString("MM/dd/yyyy") & "',expirydate='" &
DateTimePicker2.Value.ToString("MM/dd/yyyy") & "' where bookid=" & CType(ComboBox1.SelectedItem,
BookClass).BookID, myConnection)
command2 = New SqlCommand(query2, myConnection)
Dim i As Integer = command.ExecuteNonQuery
Dim j As Integer = command2.ExecuteNonQuery
If i + j > 1 Then
MsgBox("Book Updated successfully!")
Me.Close()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
76
Book Store Management
End Sub
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
SaveButton.Click
UpdateBook()
End Sub
Private Function getQuantity(ByVal id As Integer) As Integer
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
ComboBox1.Items.Add("select Book")
Dim quantity As Integer = 0
Try
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
myConnection.Open()
command = New SqlCommand("select quantity from inventorymaster where bookID=" & id,
myConnection)
Dim dbreader = command.ExecuteReader()
While dbreader.Read
quantity = dbreader(0)
End While
dbreader.Close()
command.Dispose()
myConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return quantity
End Function
Private Sub UpdateBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
ComboBox1.Items.Add("select Book")
Try
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
myConnection.Open()
command = New SqlCommand("select bookid,bookname,expirydate from bookmaster",
myConnection)
Dim dbreader As SqlDataReader = command.ExecuteReader
While dbreader.Read
Dim obj As BookClass = New BookClass
obj.BookID = dbreader(0)
obj.BookName = dbreader(1)
obj.ExpiryDate = dbreader(2)
ComboBox1.Items.Add(obj)
End While
command.Dispose()
myConnection.Close()
Catch ex As SqlException
MsgBox("Sql Exception")
MsgBox(ex.Message)
End Try
ComboBox1.SelectedIndex = 0
Catch ex As Exception
MsgBox(ex.Message)
End Try
77
Book Store Management
Me.DateTimePicker2.MinDate = Date.Now
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
If ComboBox1.SelectedIndex > 0 Then
TextBox1.Text = CType(ComboBox1.SelectedItem, BookClass).BookID
End If
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnCancel.Click
Me.Close()
End Sub
Private Function validateFields() As Boolean
If ComboBox1.SelectedIndex = 0 Then
MsgBox("Please select Book")
Return False
End If
If TextBox3.Text.Trim.Length = 0 Then
MsgBox("Batch Number is required!")
Return False
End If
If TextBox4.Text.Trim.Length = 0 Then
MsgBox("Price is required!")
Return False
End If
If Not IsNumeric(TextBox4.Text.Trim) Then
MsgBox("Price must be number!")
Return False
End If
If DateTimePicker1.Value.ToString("MM/dd/yyyy") =
DateTimePicker2.Value.ToString("MM/dd/yyyy") Then
MsgBox("Manufacturing and Expiry date can not be same!")
Return False
End If
Return True
End Function
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If Asc(e.KeyChar) = 13 Then
UpdateBook()
End If
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TextBox3.TextChanged
End Sub
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If Asc(e.KeyChar) = 13 Then
UpdateBook()
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
78
Book Store Management
e.Handled = False
End If
End Sub
Private Sub DateTimePicker1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker1.KeyPress
If Asc(e.KeyChar) = 13 Then
UpdateBook()
End If
End Sub
Private Sub DateTimePicker2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker2.KeyPress
If Asc(e.KeyChar) = 13 Then
UpdateBook()
End If
End Sub
End Class
Coding for delete book:
Imports System.Globalization
Imports System.Data.SqlClient
Imports System.Configuration
Public Class DeleteBook
Dim del As SearchBookDialog
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByRef obj As BookClass, ByRef del As SearchBookDialog)
InitializeComponent()
TextBox1.Text = obj.BookID
TextBox2.Text = obj.BookName
TextBox3.Text = obj.BatchNo
TextBox4.Text = obj.Price
Dim myDTFI As DateTimeFormatInfo = New DateTimeFormatInfo()
myDTFI.ShortDatePattern = "ddMMyyyy"
Dim dt As DateTime = DateTime.Parse(obj.ManufacturingDate, myDTFI)
Dim dt2 As DateTime = DateTime.Parse(obj.ExpiryDate, myDTFI)
79
Book Store Management
DateTimePicker1.Value = dt
DateTimePicker2.Value = dt2
Me.del = del
End Sub
Private Sub DeleteBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.DateTimePicker1.Format = DateTimePickerFormat.Custom
Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy"
Me.DateTimePicker2.Format = DateTimePickerFormat.Custom
Me.DateTimePicker2.CustomFormat = "dd/MM/yyyy"
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnCancel.Click
Me.Close()
End Sub
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
SaveButton.Click
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Dim command2 As SqlCommand = Nothing
Try
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
myConnection.Open()
command = New SqlCommand("delete from bookmaster where bookid=" & TextBox1.Text.Trim,
myConnection)
Dim j As Integer = command.ExecuteNonQuery()
command2 = New SqlCommand("delete from inventorymaster where bookid=" &
TextBox1.Text.Trim, myConnection)
Dim i As Integer = command2.ExecuteNonQuery()
command.Dispose()
myConnection.Close()
del.action(True)
Me.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End sub
End Class
80
Book Store Management
Coding for search book:
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Configuration
Public Class SearchBookDialog
Dim constr As String
Dim whoiscalling As Integer
Dim obj As UpdateInventoryForm
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
OK_Button.Click
If CriteriaValue.Text.Trim.Length > 0 Then
action()
End If
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub SearchBookDialog_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
CriteriaKey.Items.Clear()
CriteriaKey.Items.Add("BookID")
CriteriaKey.Items.Add("BookName")
CriteriaKey.Items.Add("BatchNo")
CriteriaKey.Items.Add("Price")
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
action(True)
End Sub
81
Book Store Management
Private Sub CriteriaKey_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CriteriaKey.SelectedIndexChanged
CriteriaValue.Text = ""
End Sub
Public Sub action()
Dim objcon As SqlConnection = Nothing
Dim query As String = "select
p.bookID,p.bookName,p.BatchNo,p.Price,convert(varchar(20),p.manudate,103) as
ManufacturingDate,convert(varchar(20),p.expirydate,103) as ExpiryDate,i.quantity from bookmaster p left
join inventorymaster i on p.bookid=i.bookid where "
If IsNumeric(CriteriaValue) Then
query = query & " p.convert(varchar(100)," & CriteriaKey.SelectedItem.ToString & ")like '" &
CriteriaValue.Text.Trim & "%'"
Else
query = query & "p." & CriteriaKey.SelectedItem.ToString & " like '" + CriteriaValue.Text.Trim +
"%'"
End If
Try
objcon = New SqlConnection(constr)
Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon)
Dim table As New DataTable
objda.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub getCurrentItemFromTable()
Dim row As Integer = DataGridView1.CurrentRow.Index
Dim objbook As BookClass = New BookClass
objbook.BookID = Val(DataGridView1.Item(0, row).Value.ToString)
objbook.BookName = DataGridView1.Item(1, row).Value.ToString
objbook.BatchNo = DataGridView1.Item(2, row).Value.ToString
objbook.Price = DataGridView1.Item(3, row).Value.ToString
objbook.ManufacturingDate = DataGridView1.Item(4, row).Value.ToString
objbook.ExpiryDate = DataGridView1.Item(5, row).Value.ToString
objbook.Quantity = DataGridView1.Item(6, row).Value.ToString
If whoiscalling = 1 Then
Dim objBookView As New DeleteBook(objbook, Me)
objBookView.MdiParent = Me.MdiParent
objBookView.Show()
End If
If whoiscalling = 2 Then
obj.TextBox1.Text = objbook.BookID
obj.TextBox2.Text = objbook.BookName
obj.TextBox3.Text = objbook.Quantity
Me.Close()
End If
End Sub
Public Sub action(ByVal flag As Boolean)
Dim objcon As SqlConnection = Nothing
82
Book Store Management
Dim query As String = "select p.bookID,bookName,BatchNo,Price,convert(varchar(20),manudate,103) as
ManufacturingDate,convert(varchar(20),expirydate,103) as ExpiryDate ,quantity from bookmaster p left join
inventorymaster i on p.bookid=i.bookid"
Try
objcon = New SqlConnection(constr)
Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon)
Dim table As New DataTable
objda.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
getCurrentItemFromTable()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal whoiscalling As Integer)
InitializeComponent()
Me.whoiscalling = whoiscalling
End Sub
Public Sub New(ByRef obj As UpdateInventoryForm, ByVal whoiscalling As Integer)
InitializeComponent()
Me.obj = obj
Me.whoiscalling = whoiscalling
End Class
83
Book Store Management
Coding for update inventory:
Imports System.Data.SqlClient
Imports System.Configuration
Public Class UpdateInventoryForm
Dim constr As String
Public quantity As Integer
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByRef obj As BookClass)
InitializeComponent()
TextBox1.Text = obj.BookID
TextBox2.Text = obj.BookName
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
TextBox3.Enabled = False
Dim obj As SearchBookDialog = New SearchBookDialog(Me, 2)
84
Book Store Management
obj.MdiParent = Me.MdiParent
obj.StartPosition = FormStartPosition.CenterScreen
obj.Show()
End Sub
Private Sub UpdateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
UpdateButton.Click
If IsNumeric(TextBox3.Text.Trim) Then
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
quantity = quantity + Val(TextBox3.Text.Trim)
Try
myConnection = New SqlConnection(constr)
myConnection.Open()
If CheckBookExist() Then
command = New SqlCommand("update inventorymaster set quantity=" & quantity & " where
bookid=" & Val(TextBox1.Text.Trim), myConnection)
Else
command = New SqlCommand("insert into inventorymaster(bookid,quantity)values(" &
Val(TextBox1.Text.Trim) & ",'" & Val(TextBox3.Text.Trim) & "')", myConnection)
End If
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
MsgBox("Book Updated Successfully!")
clearFields()
Else
MsgBox("Failed to update book!")
End If
command.Dispose()
myConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MsgBox("Quantity must be numeric!")
End If
End Sub
Private Sub clearFields()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Button1.Focus()
End Sub
Private Function CheckBookExist() As Boolean
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Try
myConnection = New SqlConnection(constr)
myConnection.Open()
command = New SqlCommand("select count(*) from inventorymaster where bookid=" &
Val(TextBox1.Text.Trim), myConnection)
Dim i As Integer = CType(command.ExecuteScalar, Integer)
If i > 0 Then
command.Dispose()
myConnection.Close()
Return True
Else
command.Dispose()
85
Book Store Management
myConnection.Close()
Return False
End If
Catch ex As Exception
Try
command.Dispose()
Catch exc As Exception
End Try
Try
myConnection.Close()
Catch exc As Exception
End Try
MsgBox(ex.Message)
Return False
End Try
End Function
Private Sub EditButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
EditButton.Click
TextBox3.Enabled = True
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
Me.Close()
End Sub
Private Sub UpdateInventoryForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
If IsNumeric(TextBox3.Text.Trim) Then
quantity = Val(TextBox3.Text.Trim)
End If
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub
End Class
86
Book Store Management
Coding for show all inventory:
Imports System.Data.SqlClient
Imports System.Configuration
Public Class Inventory
Dim constr As String
Private Sub Inventory_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim objcon As SqlConnection = Nothing
Dim query As String = "select p.bookID,bookName,BatchNo,Price,convert(varchar(20),manudate,103) as
ManufacturingDate,convert(varchar(20),expirydate,101) as ExpiryDate ,quantity from bookmaster p join
inventorymaster i on p.bookid=i.bookid"
Try
objcon = New SqlConnection(constr)
Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon)
Dim table As New DataTable
objda.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If e.RowIndex >= 0 And e.ColumnIndex >= 0 Then
87
Book Store Management
Dim theRow As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
If CType(theRow.Cells(6).Value, Integer) < 25 Then
theRow.DefaultCellStyle.BackColor = Color.Red
End If
Dim date1 As String = CType(theRow.Cells(5).Value, String)
Dim d As Date = Date.Parse(date1)
Dim i As TimeSpan = d.Subtract(Date.Now)
If i.Days <= 0 Then
theRow.DefaultCellStyle.BackColor = Color.Red
End If
End If
End Sub
End Class
Coding for add employee:
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Globalization
Public Class AddEmployeeForm
Private Sub NewButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
NewButton.Click
EIDTextBox.Text = MiscUtilityClass.getID("Employee", "EmployeeID").ToString()
End Sub
Private Sub ClearFields()
EIDTextBox.Text = ""
ENameTextBox.Text = ""
DesignationComboBox.SelectedIndex = 0
SalaryTextBox.Text = ""
DOBTextBox.Text = ""
AddressTextBox.Text = ""
ENameTextBox.Focus()
End Sub
Private Sub FillCombo()
Me.DesignationComboBox.Items.Clear()
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Try
88
Book Store Management
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
'myConnection = New SqlConnection("Data Source=COM4SQLEXPRESS;Initial
Catalog=MyData;Integrated Security=True;Pooling=False")
myConnection.Open()
command = New SqlCommand("select * from employeedesignation", myConnection)
Dim dbreader As SqlDataReader = command.ExecuteReader()
While dbreader.Read()
' MsgBox("Hello" & dbreader.Item(1).ToString)
Dim objlist As New DesignationClass()
objlist.DesignationID = dbreader.GetValue(0)
objlist.Designation = dbreader.GetString(1)
DesignationComboBox.Items.Add(objlist)
End While
command.Dispose()
myConnection.Close()
DesignationComboBox.SelectedIndex = 0
Catch ex As Exception
command.Dispose()
myConnection.Close()
MsgBox(ex.Message)
End Try
End Sub
Private Function validateFields() As Boolean
If ENameTextBox.Text.Trim.Length = 0 Then
MsgBox("Employee Name is Required!")
Return False
End If
If String.IsNullOrEmpty(SalaryTextBox.Text.Trim) Or Not IsNumeric(SalaryTextBox.Text.Trim) Then
MsgBox("Valid salary is Required!")
Return False
End If
If AddressTextBox.Text.Trim.Length = 0 Then
MsgBox("Address is Required!")
Return False
End If
Return True
If Not IsNumeric(SalaryTextBox.Text.Trim) Then
MsgBox("Price must be a number")
Return False
End If
Return True
End Function
Private Sub upadteEmployee()
If validateFields() Then
Dim d As Date = DateTimePicker1.Value
Try
Dim myConnection As SqlConnection = New
SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
myConnection.Open()
Dim command As SqlCommand = New SqlCommand("update Employee set EmployeeName='" &
ENameTextBox.Text.Trim() & "',DesignationID=" & CType(DesignationComboBox.SelectedItem,
DesignationClass).DesignationID & ",Salary=" & Val(SalaryTextBox.Text) & "DateOfBirth='" & d &
"',Address='" & AddressTextBox.Text.Trim() & "' where EmployeeID=" & Val(EIDTextBox.Text),
myConnection)
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
89
Book Store Management
If MsgBox("Book has been Updated!Do you want to continue?",
MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then
ClearFields()
Else
command.Dispose()
myConnection.Close()
Me.Dispose()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub saveEmployee()
'MsgBox(PNameTextBox.Text.Trim() & "," & PBatchNoTextBox.Text.Trim() & "," &
MDateTextBox.Text & "," & DescriptionTextBox.Text.Trim() & "," & Val(RateTextBox.Text.Trim()) & ","
& Val(QuantityTextBox.Text.Trim()) & "," & Val(TotalTextBox.Text.Trim()))
If validateFields() Then
Dim d As Date = DateTimePicker1.Value
Try
Dim myConnection As SqlConnection = New
SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
myConnection.Open()
Dim command As SqlCommand = New SqlCommand("InsertEmployee", myConnection)
command.CommandType = CommandType.StoredProcedure
Dim param1 As New SqlParameter()
param1.ParameterName = "@EmployeeName"
param1.DbType = DbType.String
param1.Value = ENameTextBox.Text.Trim()
command.Parameters.Add(param1)
Dim param2 As New SqlParameter()
param2.ParameterName = "@DesignationID"
param2.DbType = DbType.Int32
param2.Value = CType(DesignationComboBox.SelectedItem, DesignationClass).DesignationID
command.Parameters.Add(param2)
Dim param3 As New SqlParameter()
param3.ParameterName = "@salary"
param3.DbType = DbType.Double
param3.Value = SalaryTextBox.Text.Trim()
command.Parameters.Add(param3)
Dim param4 As New SqlParameter()
param4.ParameterName = "@dateofbirth"
param4.DbType = DbType.Date
param4.Value = d
command.Parameters.Add(param4)
Dim param5 As New SqlParameter()
param5.ParameterName = "@address"
param5.DbType = DbType.String
param5.Value = AddressTextBox.Text.Trim()
90
Book Store Management
command.Parameters.Add(param5)
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
If MsgBox("Employee added to Database!Do you want to continue?",
MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then
ClearFields()
Else
command.Dispose()
myConnection.Close()
Me.Dispose()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByRef obj As EmployeeClass)
InitializeComponent()
End Sub
Private Sub fillStatus()
'StatusComboBox.Items.Clear()
'StatusComboBox.Items.Add("Active")
'StatusComboBox.Items.Add("InActive")
'StatusComboBox.SelectedIndex = 0
End Sub
Private Sub AddEmployeeForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
Me.DateTimePicker1.Format = DateTimePickerFormat.Custom
Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy"
FillCombo()
fillStatus()
EIDTextBox.Text = MiscUtilityClass.getID("Employee", "EmployeeID").ToString()
Me.DateTimePicker1.MaxDate = Date.Now
End Sub
Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint
End Sub
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
SaveButton.Click
saveEmployee()
End Sub
Private Sub UpdateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
upadteEmployee()
End Sub
91
Book Store Management
Private Sub BookCancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BookCancelButton.Click
Me.Close()
End Sub
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.ValueChanged
DOBTextBox.Text = DateTimePicker1.Value.ToString("dd/MM/yyyy")
End Sub
Private Sub SalaryTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles SalaryTextBox.KeyPress
If Asc(e.KeyChar) = 13 Then
saveEmployee()
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub
Private Sub ENameTextBox_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles ENameTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11
Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then
e.Handled = False
Else
e.Handled = True
End If
If Asc(e.KeyChar) = 13 Then
saveEmployee()
End If
End Sub
Private Sub EIDTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles EIDTextBox.KeyPress
If Asc(e.KeyChar) = 13 Then
saveEmployee()
End If
End Sub
Private Sub DesignationComboBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DesignationComboBox.KeyPress
If Asc(e.KeyChar) = 13 Then
saveEmployee()
End If
End Sub
End Class
92
Book Store Management
Coding for Search employee:
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Configuration
Public Class SearchEmployeeDialog
Dim flag As Integer
Private Sub SearchEmployeeDialog_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
CriteriaKey.Items.Clear()
CriteriaKey.Items.Add("EmployeeID")
CriteriaKey.Items.Add("EmployeeName")
Action(True)
End Sub
93
Book Store Management
Private Sub CriteriaValue_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles CriteriaValue.TextChanged
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnOK.Click
Action()
End Sub
Private Sub CriteriaKey_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CriteriaKey.SelectedIndexChanged
CriteriaValue.Text = ""
End Sub
Private Sub Action()
Dim objcon As SqlConnection = Nothing
Dim objcmd As SqlCommand = Nothing
Dim query As String = ""
Try
objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
query = query & "select EmployeeID,EmployeeName,type,salary,convert(varchar(20),Dateofbirth,103)
as DateOfBirth,Address,status from employee e,employeedesignation d where e.designationid=d.designationid
and "
If IsNumeric(CriteriaValue) Then
query = query & " convert(varchar(100)," & CriteriaKey.SelectedItem.ToString & ")like '" &
CriteriaValue.Text.Trim & "%'"
Else
query = query & "" & CriteriaKey.SelectedItem.ToString & " like '" + CriteriaValue.Text.Trim +
"%'"
End If
Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon)
Dim table As New DataTable
objda.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
Try
objcmd.Dispose()
Catch exc1 As Exception
End Try
Try
objcon.Close()
Catch exc As Exception
End Try
MsgBox(ex.Message)
MsgBox(Err.Source)
End Try
End Sub
Public Sub Action(ByVal check As Boolean)
Dim objcon As SqlConnection = Nothing
Dim objcmd As SqlCommand = Nothing
Dim query As String = ""
Try
objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
94
Book Store Management
query = query & "select EmployeeID,EmployeeName,type,salary,convert(varchar(20),Dateofbirth,103)
as DateOfBirth,Address,status from employee e,employeedesignation d where
e.designationid=d.designationid"
Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon)
Dim table As New DataTable
objda.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
Try
objcmd.Dispose()
Catch exc1 As Exception
End Try
Try
objcon.Close()
Catch exc As Exception
End Try
MsgBox(ex.Message)
End Try
End Sub
Private Sub CriteriaValue_KeyPress(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles CriteriaValue.KeyPress
If Asc(e.KeyChar) = 13 Then
Action()
End If
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim row As Integer = DataGridView1.CurrentRow.Index
Dim objemployee As EmployeeClass = New EmployeeClass
objemployee.EmployeeID = Val(DataGridView1.Item(0, row).Value.ToString)
objemployee.EmployeeName = DataGridView1.Item(1, row).Value.ToString
objemployee.DesignationType = DataGridView1.Item(2, row).Value.ToString
objemployee.Salary = CType(DataGridView1.Item(3, row).Value.ToString, Double)
objemployee.DateofBirth = DataGridView1.Item(4, row).Value.ToString
objemployee.Address = DataGridView1.Item(5, row).Value.ToString
objemployee.Status = DataGridView1.Item(6, row).Value.ToString
If flag = 1 Then
Dim objemployeeView As New UpdateEmployeeForm(objemployee, Me)
objemployeeView.MdiParent = Me.MdiParent
objemployeeView.StartPosition = FormStartPosition.CenterScreen
objemployeeView.Show()
End If
If flag = 2 Then
Dim objemployeedel As New DeleteEmployeeForm(objemployee, Me)
objemployeedel.MdiParent = Me.MdiParent
objemployeedel.StartPosition = FormStartPosition.CenterScreen
objemployeedel.Show()
End If
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal flag As Integer)
95
Book Store Management
InitializeComponent()
Me.flag = flag
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Label1.Click
End Sub
End Class
Coding for Update employee:
Imports System.Globalization
Imports System.Data.SqlClient
Imports System.Configuration
Public Class UpdateEmployeeForm
Dim objsearch As SearchEmployeeDialog
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub fillStatus()
96
Book Store Management
StatusComboBox.Items.Clear()
StatusComboBox.Items.Add("Active")
StatusComboBox.Items.Add("InActive")
StatusComboBox.SelectedIndex = 0
End Sub
Private Sub setEmployeeValues(ByRef obj As EmployeeClass)
FillCombo()
fillStatus()
Me.EIDTextBox.Text = obj.EmployeeID
Me.ENameTextBox.Text = obj.EmployeeName
Dim i As Integer
For i = 0 To DesignationComboBox.Items.Count - 1
If DesignationComboBox.Items.Item(i).ToString = obj.DesignationType Then
Me.DesignationComboBox.SelectedItem = DesignationComboBox.Items.Item(i)
End If
Next
If Me.StatusComboBox.Items.Contains(obj.Status) Then
Me.StatusComboBox.SelectedItem = obj.Status
End If
Me.DOBTextBox.Text = obj.DateofBirth
Dim dateobj As DateTimeFormatInfo = New DateTimeFormatInfo()
dateobj.ShortDatePattern = "dd/MM/yyyy"
Dim date1 As Date = Date.Parse(obj.DateofBirth, dateobj)
Me.DateTimePicker1.Value = date1
Me.SalaryTextBox.Text = obj.Salary
Me.AddressTextBox.Text = obj.Address
End Sub
Private Sub FillCombo()
Me.DesignationComboBox.Items.Clear()
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Try
myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book
").ConnectionString)
'myConnection = New SqlConnection("Data Source=COM4SQLEXPRESS;Initial
Catalog=MyData;Integrated Security=True;Pooling=False")
myConnection.Open()
command = New SqlCommand("select * from employeedesignation", myConnection)
Dim dbreader As SqlDataReader = command.ExecuteReader()
While dbreader.Read()
' MsgBox("Hello" & dbreader.Item(1).ToString)
Dim objlist As New DesignationClass()
objlist.DesignationID = dbreader.GetValue(0)
objlist.Designation = dbreader.GetString(1)
DesignationComboBox.Items.Add(objlist)
End While
command.Dispose()
myConnection.Close()
DesignationComboBox.SelectedIndex = 0
Catch ex As Exception
command.Dispose()
myConnection.Close()
MsgBox(ex.Message)
End Try
End Sub
Private Function validateFields() As Boolean
If ENameTextBox.Text.Trim.Length = 0 Then
MsgBox("Employee Name is Required!")
97
Book Store Management
Return False
End If
If String.IsNullOrEmpty(SalaryTextBox.Text.Trim) Or Not IsNumeric(SalaryTextBox.Text.Trim) Then
MsgBox("Valid salary is Required!")
Return False
End If
If AddressTextBox.Text.Trim.Length = 0 Then
MsgBox("Address is Required!")
Return False
End If
Return True
If Not IsNumeric(SalaryTextBox.Text.Trim) Then
MsgBox("Price must be a number")
Return False
End If
Return True
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
If validateFields() Then
Dim d As Date = DateTimePicker1.Value
Try
Dim myConnection As SqlConnection = New
SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
myConnection.Open()
Dim query As String
query = "update Employee set EmployeeName='" & ENameTextBox.Text.Trim() &
"',DesignationID=" & CType(DesignationComboBox.SelectedItem, DesignationClass).DesignationID &
",Salary=" & Val(SalaryTextBox.Text) & ",DateOfBirth='" & d & "',Address='" &
AddressTextBox.Text.Trim() & "',status='" & StatusComboBox.SelectedItem.ToString & "' where
EmployeeID=" & Val(EIDTextBox.Text)
' MsgBox(query)
Dim command As SqlCommand = New SqlCommand(query, myConnection)
Dim i As Integer = command.ExecuteNonQuery
If i > 0 Then
If MsgBox("Employees has been Updated!Do you want to continue?",
MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then
ClearFields()
objsearch.Action(True)
Me.Close()
Else
command.Dispose()
myConnection.Close()
Me.Dispose()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub ClearFields()
EIDTextBox.Text = ""
ENameTextBox.Text = ""
98
Book Store Management
DesignationComboBox.SelectedIndex = 0
SalaryTextBox.Text = ""
DOBTextBox.Text = ""
AddressTextBox.Text = ""
ENameTextBox.Focus()
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
Public Sub New(ByRef obj As EmployeeClass, ByRef objsearch As SearchEmployeeDialog)
' This call is required by the Windows Form Designer.
InitializeComponent()
Me.objsearch = objsearch
' Add any initialization after the InitializeComponent() call.
setEmployeeValues(obj)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.ValueChanged
DOBTextBox.Text = DateTimePicker1.Value.ToString("dd/MM/yyyy")
End Sub
Private Sub UpdateEmployeeForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
Me.DateTimePicker1.Format = DateTimePickerFormat.Custom
Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy"
End Sub
Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint
End Sub
Private Sub ENameTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles ENameTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11
Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
99
Book Store Management
Private Sub SalaryTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles SalaryTextBox.KeyPress
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub
End Class
Coding for Delete employee:
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Globalization
Public Class DeleteEmployeeForm
100
Book Store Management
Dim objsearch As SearchEmployeeDialog
Private Sub fillStatus()
StatusComboBox.Items.Clear()
StatusComboBox.Items.Add("Active")
StatusComboBox.Items.Add("InActive")
StatusComboBox.SelectedIndex = 0
End Sub
Private Sub setEmployeeValues(ByRef obj As EmployeeClass)
FillCombo()
fillStatus()
Me.EIDTextBox.Text = obj.EmployeeID
Me.ENameTextBox.Text = obj.EmployeeName
Dim i As Integer
For i = 0 To DesignationComboBox.Items.Count - 1
If DesignationComboBox.Items.Item(i).ToString = obj.DesignationType Then
Me.DesignationComboBox.SelectedItem = DesignationComboBox.Items.Item(i)
End If
Next
If Me.StatusComboBox.Items.Contains(obj.Status) Then
Me.StatusComboBox.SelectedItem = obj.Status
End If
Me.DOBTextBox.Text = obj.DateofBirth
Dim dateobj As DateTimeFormatInfo = New DateTimeFormatInfo()
dateobj.ShortDatePattern = "dd/MM/yyyy"
Dim date1 As Date = Date.Parse(obj.DateofBirth, dateobj)
Me.DateTimePicker1.Value = date1
Me.SalaryTextBox.Text = obj.Salary
Me.AddressTextBox.Text = obj.Address
End Sub
Private Sub FillCombo()
Me.DesignationComboBox.Items.Clear()
Dim objcon As SqlConnection = Nothing
Dim objcmd As SqlCommand = Nothing
Try
objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
objcon.Open()
objcmd = New SqlCommand("select * from employeedesignation", objcon)
Dim objrdr As SqlDataReader = objcmd.ExecuteReader()
While objrdr.Read()
Dim objlist As New DesignationClass()
objlist.DesignationID = objrdr.GetValue(0)
objlist.Designation = objrdr.GetString(1)
DesignationComboBox.Items.Add(objlist)
End While
objcmd.Dispose()
objcon.Close()
DesignationComboBox.SelectedIndex = 0
Catch ex As Exception
objcmd.Dispose()
objcon.Close()
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
101
Book Store Management
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Try
Dim objcon As SqlConnection = New
SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
objcon.Open()
Dim query As String
query = "delete from Employee where EmployeeID=" & Val(EIDTextBox.Text)
Dim objcmd As SqlCommand = New SqlCommand(query, objcon)
Dim i As Integer = objcmd.ExecuteNonQuery
If i > 0 Then
If MsgBox("Employees has been Deleted!Do you want to continue?",
MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then
ClearFields()
objsearch.Action(True)
Me.Close()
Else
objcmd.Dispose()
objcon.Close()
Me.Dispose()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ClearFields()
EIDTextBox.Text = ""
ENameTextBox.Text = ""
DesignationComboBox.SelectedIndex = 0
SalaryTextBox.Text = ""
DOBTextBox.Text = ""
AddressTextBox.Text = ""
ENameTextBox.Focus()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByRef obj As EmployeeClass, ByRef objsearch As SearchEmployeeDialog)
InitializeComponent()
Me.objsearch = objsearch
setEmployeeValues(obj)
End Sub
End Class
Coding for generate bill:
Imports System.Data.SqlClient
Imports System.Configuration
Public Class GenerateBill
Dim constr As String
102
Book Store Management
Dim totalAmt As Double
Private Sub GenerateBill_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
getBook()
End Sub
Private Sub getBook()
ComboBox1.Items.Clear()
Dim myConnection As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
ComboBox1.Items.Add("Select")
Try
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
myConnection = New SqlConnection(constr)
myConnection.Open()
command = New SqlCommand("select i.bookID,BookName,Price,quantity from inventorymaster i left
join bookmaster p on i.bookid=p.bookid", myConnection)
Dim dbreader As SqlDataReader = command.ExecuteReader
While dbreader.Read
Dim obj As BookClass = New BookClass
obj.BookID = dbreader(0)
obj.BookName = dbreader(1)
obj.Price = dbreader(2)
obj.Quantity = dbreader(3)
ComboBox1.Items.Add(obj)
End While
dbreader.Close()
command.Dispose()
myConnection.Close()
ListView1.Items.Clear()
ComboBox1.SelectedIndex = 0
Dim id As Integer = MiscUtilityClass.getID("BillMaster", "BillID")
TextBox1.Text = id
totalAmt = 0
AddColumn()
ListView1.Columns(5).Width = 0
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub StartUp()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
ListView1.Items.Clear()
ComboBox1.SelectedIndex = 0
Dim id As Integer = MiscUtilityClass.getID("BillMaster", "BillID")
TextBox1.Text = id
totalAmt = 0
AddColumn()
getBook()
End Sub
Private Sub AddColumn()
ListView1.Columns.Clear()
ListView1.Columns.Add("Book ID")
ListView1.Columns.Add("Book Name")
ListView1.Columns.Add("Quantity")
ListView1.Columns.Add("Price")
ListView1.Columns.Add("Amount")
103
Book Store Management
ListView1.Columns.Add("QStock")
ListView1.Columns(5).Width = 0
ListView1.View = View.Details
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button4.Click
If ComboBox1.SelectedIndex > 0 Then
Dim str1 As String = CType(ComboBox1.SelectedItem, BookClass).BookID.ToString
Dim str2 As String = CType(ComboBox1.SelectedItem, BookClass).BookName
Dim str3 As String = CType(ComboBox1.SelectedItem, BookClass).Price.ToString
Dim q As String = CType(ComboBox1.SelectedItem, BookClass).Quantity.ToString
Dim listobj As ListViewItem = New ListViewItem(str1)
listobj.SubItems.Add(str2)
listobj.SubItems.Add(TextBox2.Text.Trim)
listobj.SubItems.Add(str3)
totalAmt = totalAmt + CType(ComboBox1.SelectedItem, BookClass).Price *
Val(TextBox2.Text.Trim)
listobj.SubItems.Add((CType(ComboBox1.SelectedItem, BookClass).Price *
Val(TextBox2.Text.Trim)).ToString)
listobj.SubItems.Add(q)
ListView1.Items.Add(listobj)
TextBox4.Text = totalAmt
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Dim myConnection As SqlConnection = Nothing
Dim myConnection2 As SqlConnection = Nothing
Dim command As SqlCommand = Nothing
Dim command2 As SqlCommand = Nothing
Dim command3 As SqlCommand = Nothing
Dim command4 As SqlCommand = Nothing
Dim trans As SqlTransaction = Nothing
Try
myConnection = New SqlConnection(constr)
myConnection.Open()
'trans = myConnection.BeginTransaction
command = New SqlCommand("insert into BillMaster(BillOwner,BillDate,Total)values('" &
TextBox3.Text.Trim & "','" & Date.Now.ToString("MM/dd/yyyy") & "'," & Val(TextBox4.Text.Trim) & ")",
myConnection) ', trans)
command.ExecuteNonQuery()
TextBox1.Text = MiscUtilityClass.getID("BillMaster", "BillID") - 1
myConnection2 = New SqlConnection(constr)
myConnection2.Open()
For i = 0 To ListView1.Items.Count - 1
Dim id As String = ListView1.Items(i).Text
Dim quantity As String = ListView1.Items(i).SubItems(2).Text
Dim price As String = ListView1.Items(i).SubItems(3).Text
Dim stockQ As String = ListView1.Items(i).SubItems(3).Text
command2 = New SqlCommand("insert into PurchasedItem(BillId,BookID,Quantity,Price)values("
& TextBox1.Text.Trim & "," & Val(id) & "," & Val(quantity) & "," & Val(price) & ")", myConnection) ',
trans)
command2.ExecuteNonQuery()
'MsgBox(stockQ)
stockQ = Val(stockQ) - Val(quantity)
104
Book Store Management
'MsgBox(stockQ)
command3 = New SqlCommand("Update inventorymaster set quantity=" & stockQ & " where
bookid=" & Val(id), myConnection) ', trans)
command3.ExecuteNonQuery()
Next
'trans.Commit()
command.Dispose()
command2.Dispose()
command3.Dispose()
myConnection2.Close()
myConnection.Close()
MsgBox("Bill Saved!")
Catch ex As Exception
Try
' trans.Rollback()
Catch exc As Exception
End Try
MsgBox(ex.Message)
End Try
End Sub
Private Sub NewBillButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles NewBillButton.Click
StartUp()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim obj As BillGenerationForm = New BillGenerationForm(Val(TextBox1.Text.Trim))
obj.MdiParent = Me.MdiParent
obj.Show()
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TextBox2.TextChanged
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
105
Book Store Management
If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11
Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TextBox3.TextChanged
End Sub
End Class
106
Book Store Management
Coding for Employee Salary:
Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Text
Imports System.Security.Cryptography
Imports System.Globalization
Public Class EmployeeSalary
Private Sub EmployeeSalary_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
OpenDB()
Dim cmd1 As New SqlCommand("Select * from Employee", con)
getCustomer()
cboEmpId.SelectedIndex = 0
End Sub
Private Sub getCustomer()
cboEmpId.Items.Add("Select Employee")
Dim objcon As SqlConnection = Nothing
Dim objcmd As SqlCommand = Nothing
Dim objrdr As SqlDataReader = Nothing
Dim query As String = "select * from Employee"
Try
objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Grocery").ConnectionString)
objcon.Open()
objcmd = New SqlCommand(query, objcon)
objrdr = objcmd.ExecuteReader()
While objrdr.Read
Dim obj As CustomerClass = New CustomerClass
' obj.EmployeeName = objrdr(0)
obj.EmployeeName = objrdr(1)
'obj.address = objrdr(2)
'obj.status = objrdr(3)
cboEmpId.Items.Add(obj)
End While
objcmd.Dispose()
objcon.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub cboEmpId_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cboEmpId.SelectedIndexChanged
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
107
Book Store Management
Private Sub DBasic_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Dim f As Boolean = False
' f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub DDailywages_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtDDailywages.KeyPress
Dim f As Boolean = False
' f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub DDays_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtDDays.KeyPress
Dim f As Boolean = False
'f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub MBasic_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Dim f As Boolean = False
'f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub MDaily_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtMDaily.KeyPress
Dim f As Boolean = False
'f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub MDays_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtMDays.KeyPress
Dim f As Boolean = False
'f = Number_Validation(e.KeyChar)
If f = True Then
e.Handled = True
End If
End Sub
Private Sub DDays_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles txtDDays.TextChanged
txtDSalary.Text = Val(Val(txtDDailywages.Text) * Val(txtDDays.Text))
End Sub
108
Book Store Management
Private Sub txtMDays_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles txtMDays.TextChanged
txtMSalary.Text = Val(txtMDays.Text) * Val(txtMDaily.Text)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button4.Click
'sallary.Show()
Dim obj As Monthlysalary = New Monthlysalary
obj.StartPosition = FormStartPosition.CenterScreen
''obj.MdiParent = Me
obj.Show()
End Sub
Private Sub ClearFields()
txtDDailywages.Text = ""
txtDDays.Text = ""
txtDSalary.Text = ""
txtMBasic.Text = ""
txtMDaily.Text = ""
txtMDays.Text = ""
txtMSalary.Text = ""
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnSave.Click
' Dim d As Date = DateTimePicker1.Value
Dim transaction As SqlTransaction = Nothing
Dim objcon As SqlConnection = Nothing
Try
objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Grocery").ConnectionString)
objcon.Open()
Dim objcmd As SqlCommand = New SqlCommand("insert into
Empsalary(dsalary,ddays,ddaily,emp_name,msalary,mdaily,mbasic,mdays)values('" & txtDSalary.Text.Trim()
& "','" & txtDDays.Text.Trim() & "','" & txtDDailywages.Text.Trim() & "','" & cboEmpId.Text.Trim & "','" &
txtMSalary.Text.Trim() & "','" & txtMDaily.Text.Trim() & "','" & txtMBasic.Text.Trim() & "','" &
txtMDays.Text.Trim() & "')", objcon, transaction)
' Dim objcmd As SqlCommand = New SqlCommand("Insert into Empsalary Values(" &
Val(txtDDailywages.Text) & "," & Val(txtDDays.Text) & "," & Val(txtDSalary.Text) & "," &
Val(txtMBasic.Text) & "," & Val(txtMDaily.Text) & "," & Val(txtMDays.Text) & "," & Val(txtMSalary.Text)
& ")", objcon, transaction)
Dim i As Integer = objcmd.ExecuteNonQuery
'Dim objcmd2 As SqlCommand = New SqlCommand("insert into
inventorymaster(productID,Quantity)values(" & Val(PIDTextBox.Text) & "," &
Val(QuantityTextBox.Text.Trim()) & ")", objcon, transaction)
'Dim j As Integer = objcmd2.ExecuteNonQuery
'If i > 0 And j > 0 Then
If MsgBox("Product added to Database!Do you want to continue?",
MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then
ClearFields()
Else
109
Book Store Management
objcmd.Dispose()
objcon.Close()
Me.Dispose()
End If
' End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
'End If
End Sub
Private Sub txtMDaily_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles txtMDaily.TextChanged
End Sub
Private Sub txtMBasic_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles txtMBasic.TextChanged
txtMDaily.Text = Val(txtMBasic.Text) / 30
End Sub
Private Sub btnReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub txtDDailywages_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txtDDailywages.TextChanged
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim obj As Dailysalary = New Dailysalary
obj.StartPosition = FormStartPosition.CenterScreen
'obj.MdiParent = Me
obj.Show()
End Sub
End Class
110
Book Store Management
Coding for Print bill:
Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Globalization
Public Class PrintBill
Dim constr As String
Private Sub PrintBill_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim myConnection As SqlConnection = Nothing
Dim query As String = "select BillID,BillOwner,convert(varchar(20),BillDate,103) as BillDate,Total
from billmaster"
Try
myConnection = New SqlConnection(constr)
Dim databaseadapter As SqlDataAdapter = New SqlDataAdapter(query, myConnection)
Dim table As New DataTable
databaseadapter.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
MsgBox(ex.Message)
End Try
CriteriaKey.Items.Add("Select Bill")
CriteriaKey.Items.Add("BillDate")
CriteriaKey.Items.Add("BillID")
CriteriaKey.SelectedIndex = 0
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
End Sub
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
OK_Button.Click
If CriteriaKey.SelectedIndex > 0 Then
Dim myConnection As SqlConnection = Nothing
Dim query As String = "select BillID,BillOwner,convert(varchar(20),BillDate,103) as BillDate,Total
from billmaster"
Try
Try
If CriteriaKey.SelectedIndex = 1 Then
Dim df As DateTimeFormatInfo = New DateTimeFormatInfo
df.ShortDatePattern = "dd/MM/yyyy"
Dim d As Date = Date.Parse(CriteriaValue.Text.Trim, df)
query = query & " where BillDate='" & d.ToString("MM/dd/yyyy") & "'"
End If
If CriteriaKey.SelectedIndex = 2 Then
query = query & " where convert(varchar(20),BillID) like '" & CriteriaValue.Text.Trim & "%'"
End If
' MsgBox(query)
myConnection = New SqlConnection(constr)
Dim databaseadapter As SqlDataAdapter = New SqlDataAdapter(query, myConnection)
Dim table As New DataTable
databaseadapter.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
111
Book Store Management
MsgBox("Invalid Date")
End Try
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Cancel_Button.Click
Me.Close()
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim row As Integer = DataGridView1.CurrentRow.Index
Dim id As Integer = Val(DataGridView1.Item(0, row).Value.ToString)
Dim obj As BillGenerationForm = New BillGenerationForm(id)
obj.MdiParent = Me.MdiParent
obj.Show()
End Sub
End Class
112
Book Store Management
Coding for all book Report Screen:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class AllBookReportForm1
Private Sub AllBookReportForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport1() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New Book DataSet() 'The DataSet you created.
Try
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = "select * from bookmaster"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "datatable1")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
113
Book Store Management
Coding for Inventory Report Screen:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class InventoryReportForm1
Private Sub InventoryReportForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport2() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New Book DataSet() 'The DataSet you created.
Try
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT BookMaster.BookName, InventoryMaster.Quantity,
BookMaster.price FROM InventoryMaster INNER JOIN BookMaster ON InventoryMaster.BookId =
BookMaster.BookID"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "datatable2")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
114
Book Store Management
Coding for Employee Report Screen:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class EmployeeReportForm
Private Sub EmployeeReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport4() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New Book DataSet() 'The DataSet you created.
Try
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT Employee.EmployeeID, Employee.EmployeeName,
EmployeeDesignation.Type, Employee.salary, Employee.dateofbirth, Employee.address FROM Employee
INNER JOIN EmployeeDesignation ON Employee.DesignationID = EmployeeDesignation.DesignationID"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "datatable5")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
115
Book Store Management
Coding for DAILY SALES REPORT SCREEN:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class DailySalesReportForm
Private Sub DailySalesReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport6() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New DataSet1() 'The DataSet you created.
Try
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT PurchasedItem.SrNo, BookMaster.BookName,
PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.BillDate, BillMaster.Total FROM BookMaster
INNER JOIN PurchasedItem ON BookMaster.BookID = PurchasedItem.BookID INNER JOIN BillMaster ON
PurchasedItem.BillID = BillMaster.BillID where BillMaster.BillDate='" &
Date.Now.ToString("MM/dd/yyyy") & "'"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "DataTable1")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
116
Book Store Management
Coding for Monthly sales report SCREEN:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class MonthlySalesReportForm
Private Sub MonthlySalesReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport6() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New DataSet1() 'The DataSet you created.
Dim d1 As Date = New Date(Date.Now.Year, Date.Now.Month, 1)
Dim lstdate As Integer = Date.DaysInMonth(Date.Now.Year, Date.Now.Month)
Dim d2 As Date = New Date(Date.Now.Year, Date.Now.Month, lstdate)
Try
Dim query As String = "SELECT PurchasedItem.SrNo, BookMaster.BookName,
PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.BillDate, BillMaster.Total FROM BookMaster
INNER JOIN PurchasedItem ON BookMaster.BookID = PurchasedItem.BookID INNER JOIN BillMaster ON
PurchasedItem.BillID = BillMaster.BillID where BillMaster.BillDate between '" &
d1.ToString("MM/dd/yyyy") & "' and '" & d2.ToString("MM/dd/yyyy") & "'"
'MsgBox(query)
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = query
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "DataTable1")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
117
Book Store Management
Coding for Bill Print SCREEN:
Imports System.Configuration
Imports System.Data.SqlClient
Public Class Bill
Dim id As Integer
Private Sub Bill_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString
Dim rpt As New CrystalReport3()
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New Book DataSet().
Try
myConnection = New SqlConnection(connectionString)
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT BillMaster.BillID, BillMaster.BillOwner,
BillMaster.BillDate, BookMaster.BookName, PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.Total
FROM BillMaster INNER JOIN PurchasedItem ON BillMaster.BillID = PurchasedItem.BillID CROSS JOIN
BookMaster where BillMaster.billID=" & id
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "DataTable3")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal id As Integer)
InitializeComponent()
Me.id = id
End Sub
End Class
118
Book Store Management
Coding for project profile:
Public NotInheritable Class AboutBox
Private Sub AboutBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim ApplicationTitle As String
If My.Application.Info.Title <> "" Then
ApplicationTitle = My.Application.Info.Title
Else
ApplicationTitle =
System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
End If
Me.LabelBookName.Text = My.Application.Info.BookName
Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
Me.LabelCopyright.Text = My.Application.Info.Copyright
Me.LabelCompanyName.Text = My.Application.Info.CompanyName
Me.TextBoxDescription.Text = My.Application.Info.Description
End Sub
Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
OKButton.Click
Me.Close()
End Sub
Private Sub LabelBookName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles LabelBookName.Click
End Sub
End Class
119
Book Store Management
7.
CONCLUSION
120
Book Store Management
CONCLUSION
 An attempt is made in all its earnest towards the successful completion of the project.
This system was verified with valid as well as with invalid data.
 This system is user friendly since it has been developed in visual studio 8 a successful
GUI environment. Since the connection can be extended to any database. The control
will be more powerful.
 Connecting it to any type of database extends the development control. Any
suggestions for future development of the system are welcome
 Upgrading the system if may can be done without affecting the proper functioning of
system.
121
Book Store Management
5.
System implementation
122
Book Store Management
System implementation
 To run this application, firstly we need to install VisualStudio2008
 Secondly, we need to install MYSQL2005
 Thirdly, we need to Copy project files on to machine
 Execute project.
123
Book Store Management
6.
FUTURE ENHANCEMENTS
124
Book Store Management
FUTURE ENHANCEMENTS
Due to time constraints on the part of the developer, supplier details form could not be
prepared.
Hence this project would be updated in the near future to include supplier details form
and other similar reports.
Details of book transaction between the owner and the supplier also has to be added
Any suggestions are accepted. Any sort of problem would be solved.
Any changes made in the system in future, will Affect the other functioning of the
System .
125
Book Store Management
7.
References and Bibliography
126
Book Store Management
BIBLIOGRAPHY
REFERENCES BOOKS:
Software Engineering - Written by: Pankaj Jalote
Project Management - Written by: K.R.Sharma
The complete Reference for -Written by: Anne Bohem, Murach
Websites:
www.wrox.com
www.webmonkey.com
www.w3schools.com
www.google.com
Thank you.

Book store Black Book - Dinesh48

  • 1.
    1 Book Store Management PROJECTREPORT ON BOOK STORE MANAGEMENT Submitted By- Ms. AMRITA SINGH Under the Guidance of Mrs. Dhatri Vinjamuri And Mrs. Neha Samuel Submitted to S.K. College of science and commerce Plot no.31, sector 25, Nerul(e),Navi Mumbai 2010-2011
  • 2.
    2 Book Store Management ProjectReport Submitted to S.K. COLLEGE OF SCIENCE & COMMERCE Plot No.31, Sector 25, Seawoods, Navi Mumbai - 400706. Project Report On Book Store Management SUBMITTED BY COLLEGE GUIDE MS. AMRITA SINGH Mrs. NEHA SAMUEL (T.Y.C.S.) 2011-12
  • 3.
    3 Book Store Management EXTERNALEXAMINER: DATE: PREFACE This project is developed with an aim to achieve computerization of Shop, For time saving & Helping self. This software provide help in effective management of Purchase & Sales with additional features of security and increase & Decrease date inconsistency. The following documentation Provides an insight of the existing “BOOK SHOP MANAGEMENT” with a scope for further expansion in future. This report depicts the information use for the system development. For detail information scope of the project along with table design and Screen Layouts are provided. Although this report is prepared with utmost care, there may be errors for the project and is subjected to further enhancements. AMRITA SINGH.
  • 4.
    4 Book Store Management ACKNOWLEDGEMENT Itake this opportunity to thank all those who have been directly or indirectly related to my project. I would like to thank to our project guide Mrs. NEHA SAMUEL for his constant source of inspiration. I am grateful to our coordinator Mrs. DHATARI VINJAMURI for her encouragement and suggestions on my project. I sincerely thank to our entire professor from (Computer Department) of our COLLEGE for their continued support. I look forward in comments which are welcomed by me from students and teachers.
  • 5.
    5 Book Store Management INDEX: SR.NO. CONTENTS PAGE NO. 01 PRELIMINARY INVESTIGATION • ORGANIZATIONAL OVERVIEW • DESCRIPTION OF THE SYSTEM • LIMITATION OF PRESENT SYSTEM • PROPOSED SYSTEM • FEASIBILITY STUDY • GANTT CHART 7-16 02 SYSTEM ANALYSIS • STACK HOLDER • FACT FINDING TECHNIQUES • EVENT TABLE • USE CASE DIAGRAM • ERD DIAGRAM • ACTIVITY DIAGRAM • CLASS DIAGRAM • SEQUENCE DIAGRAM • COLLABORATION DIAGRAM 17-29 03 SYSTEM DESIGN • Converting ERD to Tables • Component Diagram • Package Diagram • Deployment Diagram • System flow chart • Structure chart(Program level & System level) 30-36 04 SYSTEM CODING • Menu Tree • List of tables with attributes and constraints • Validations • Test Cases, Test Data and Test Results • Screen Layouts & Report Layouts 37-123 05 SYSTEM IMPLEMENTATION 124-125 06 FUTURE ENHANCEMENTS 126-127 07 CONCLUSION
  • 6.
    6 Book Store Management 07REFERENCES AND BIBLIOGRAPHY 128-129 1 Preliminary Investigation
  • 7.
    7 Book Store Management Organizationoverview & Introduction: This system “Inventory system” has been developed by Ms. AMRITA SINGH as an academic project for the Computer Science Department of S.K. College of Science & Commerce as a part of the T.Y. BSc Computer Science Course. This system was created with a lot of anticipation towards mastering the basics of system creation .It was designed in such a way so as to help us make use of basic technologies like Visual Studio and MS SQL .It has used the concepts of maintaining a uniform system structure and during the process of creating this system an honest effort has been made towards creating a professional system in the future.
  • 8.
    8 Book Store Management Descriptionof the System: During the past several decade’s personnel function has been transformed from a relatively obscure record keeping staff to central and top level management function. There are many factors that have influenced this transformation like technological advances, professionalism, and general recognition of human beings as most important resources.  A computer based management system is designed to handle the entire primary Information required to calculate monthly statements. Separate database is maintained to handle all the details required for the correct statement calculation and generation.  This project intends to introduce more user friendliness in the various activities such as record updating, maintenance, and searching.  The searching of record has been made quite simple as all the details of the Book can be obtained by simply keying in the identification of those Books.  Similarly, record maintenance and updating can also be accomplished by using the identification of the Book with all the details being automatically generated. These details are also being promptly automatically updated in the Master files thus keeping the record absolutely up-to-date.
  • 9.
    9 Book Store Management The entire information has maintained in the database or Files and whoever wants to retrieve can’t retrieve, only authorization user can retrieve the necessary information which can be easily is accessible from the file. Limitations of the Present System: The present system has several shortcomings that are as follows:-  In Present system each and every record is maintains in registers, so there will be lot of redundancy in maintain book records.  Also there is no security due to all records are maintain in register.  Modification of one record causes to other records related to that record, so work becomes very critical, so some time data loss will be ocular.  Storage of information is costly.  Require knowledge about this system.  More time required for reading & adding records in register  Searching any old record of any job done or damaged required more time due to critical system of register.
  • 10.
    10 Book Store Management ProposedSystem: This system computerized all the requirements of the owner. It will give the owner the feature of maintaining all the profiles of its customer, Suppliers, the Product in which the owner deals in, the companies of whose product the owner sells. It gives the user the functionality of searching stock without manually checking it as stock entries are updated throughout the sales and purchase transaction. It also keeps track of the enquiries made in the owner by various people. OBJECTIVES 1) Data management. 2) Data retrieval at will. 3) Data modification. 4) Save time thereby increasing performance. 5) Reducing work process time. 6) Provide various report facility. 7) Cost effective and less manpower required.
  • 11.
    11 Book Store Management Advantagesof The Proposed System:  This system uses MS SQL as data base which is strong and secure database for proposed system.  The proposed system empowers the user with a new computer based system by reducing the efforts of data maintenance.  The proposed developed according to the user specification hence it is a user-centered system.  This system provides a facility to generate a bill as soon as the customer purchases a product.  If the customer has not paid the full payment then there is a facility to check the balance amount that has to be paid by the customer.
  • 12.
    12 Book Store Management Limitationof the Proposed System :  The system prepared is competent but we cannot say that it is a perfect system. This system like any other system has some flaws & shortcomings in it. They are as follows:  This system is semi-functional. This means that the system covers the manipulation related to the record only.  Only one person can use the system.  There would be high rate & better quality of performance. System requirementsSystem requirements Hardware and software requirements: The least hardware requirements are: 1) Minimum 2 GB HDD space 2) Pentium or Celeron based processor
  • 13.
    13 Book Store Management 3)128 MB RAM The least software requirements are: 1) Operating system: - Windows XP, Windows7. 2) Front-end Tool: - Visual studio 2008. 3) Back-end Tool: - MS SQL Server 2005. 4) Report Generation: - Crystal Report Basic. FEASIBILITY STUDY Every project would be feasible, if provided with unlimited resources and unlimited time. But unfortunately, the development of computer-based system of book is more likely plagued by a security of resources and difficult time constraint. It is both necessary and prudent to evaluate the feasibility of the project at the earliest possible time. During software engineering we concentrate our attention on four primary area of interest. The techniques used in conducting an initial investigation and feasibility study are very similar but the objectives are not so. The major objectives of feasibility study are to further define the problem and to determine the best way to solve it. The typical primary objectives are:
  • 14.
    14 Book Store Management •A centralized database will be developed. • Runtime operating decision-making will be eliminated. • Unnecessary control procedure will be automated. • The minimum of paper work should be produced. • The output produced by the system should be in a usable format Gantt chart: I planned my project according to the Gantt chart as follows: Sr. No. Task Start Finish Duration (in Days)
  • 15.
    15 Book Store Management 1Understanding current system 15-06-2011 22-06-2011 07 2 Problem definition 23-06-2011 30-06-2011 07 3 Information gathering 1-07-2011 15-07-2011 15 4 System Analysis 16-7-2011 31-07-2011 16 5 Database design 1-08-2011 31-08-2011 30 6 Form design 01-09-2011 30-09-2011 30 7 Coding 01-10-2011 30-11-2011 60 8 Modification of forms 01-12- 2011 16-12-2011 16 9 Testing 24-12-2011 15-01-2012 20 10 Implementation 16-01-2012 10-02-2012 24 2
  • 16.
    16 Book Store Management SystemAnalysis STAKE HOLDERS A corporate stake holder is a party that can affect or be affected by the actions of the business as a whole. TYPES OF STAKE HOLDERS:  Internal stake holder
  • 17.
    17 Book Store Management Internalstake holders-Market (or primary)Stake holders are those that are engaged in economic transactions with the business.  External stake holders- Non market(or secondary) stake holders are those who although they do not engaged in direct economic exchange with the business are affected by or can affect its actions.  Owner The owner of the admission system needs to keep a check on everything which is visiting admission system about each and every registration and viewing and making changes i.e. update, delete etc. this is one of the important issue to be handled . Book should be updated regularly as if the new book comes in to avoid any mistake. FACT FINDING TECHNIQUES:
  • 18.
    18 Book Store Management Thesystem referred is the “Inventory system” that deals with the bills of the customer & supplier. The following are the fact-finding techniques, which were followed: 1) Going through all the existing documentation, files, registers: I went through all the files and registers in which the supplier’s details were kept. I also referred the handmade bills and receipts. From this I traced out the history, which was required for the existing system to be implemented. 2) Research and site visit: I visited the shop several times, which was very important for gathering the details about the items stored in the shop and the how the bill is generated. 3) Observation: By visiting the shop I observed how the manual process is been taking place. Through observation I was able to see what exactly is to be done. 4) Questionnaires: Questionnaires are the special purpose documents that allowed me to collect information and opinions from respondents. Through questionnaires it was possible to know the requirements of the respondent. 5) Interviews: Through interviews it was possible for me to collect information from the respondent face-to-face Event Table
  • 19.
    19 Book Store Management Listof events gathered during analysis are entered in event table. An event table includes rows and columns representing events and their details respectively. TRIGGER: Trigger an occurrence that tells the system that has occurred, either the arrival of data needing or of a point in time SOURCE: SOURCE An external agent or actor that supplies data to the system. ACTIVITY: ACTIVITY Behavior that the system performs when an event occurs RESPONSE: RESPONSE An output produced by the system that goes to a destination. DESTINATION: DESTINATION An external agent or actor that receives data from the system
  • 20.
    20 Book Store Management EVENTTRIGGER SOURCE ACTIVITY RESPONSE DESTINATIO N Admin Login Request username & Password Admin Validate username & password Confirmation Saved Admin Add an Employee Employee Details Employee Add employee details Information saved Employee Update Employee Update employee Employee Update employee Update Information Employee Add Books Books details and add in inventory Books Add Book and in inventory Information saved Books Update Inventory Update Book Book Update quantity Information updated Inventory Master Generate bill Create bill Bill Calculate bill amount Bill generated Bill Master Save Bill Save Bill Bill Save Bill Information saved Bill Master Print Bill Generate and print Bill Print bill Take print of Bill Bill master Salary Report Add Salary details Employee Report Saved View Report Employee Use Case Diagram
  • 21.
    21 Book Store Management Theuse case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The use case diagram shows which actors interact with each use case. Books Details Employee Details Add Book detail Search for Books Delete Books Detail Administrator Update Books Detail
  • 22.
  • 23.
    23 Book Store Management EntityRelationship Diagram ER-Diagram Represent DataEntity. Represent connection. Represent therelationship. ShowsOneto Many Relations.1 M 1M ShowsMany to OneRelation. Symbols used in Entity-Relationship Diagram are as follows: Connect two Entitiesor Oneto One Relation
  • 24.
    24 Book Store Management Anentity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database. Activity Diagram:
  • 25.
    25 Book Store Management Theprocess flows in the system are captured in the activity diagram. Similar to a state diagram, an activity diagram also consists of activities, actions, transitions, initial and final states, and guard conditions. Admin
  • 26.
  • 27.
    27 Book Store Management ClassDiagram The class diagram is used to refine the use case diagram and define a detailed design of the system. The class diagram classifies the actors defined in the use case diagram into a set of interrelated classes. The relationship or association between the classes can be either an "is-a" or "has-a" relationship. Each class in the class diagram may be capable of providing certain functionalities.
  • 28.
    28 Book Store Management SequenceDiagram A sequence diagram represents the interaction between different objects in the system. The important aspect of a sequence diagram is that it is time-ordered. This means that the exact sequence of the interactions between the objects is represented step by step. Different objects in the sequence diagram interact with each other by passing "messages".
  • 29.
    29 Book Store Management COLLABORATIONDIAGRAM A collaboration diagram, also called a communication diagram or interaction diagram, is an illustration of the relationships and interactions among software objects in the Unified Modeling Language.
  • 30.
  • 31.
    31 Book Store Management CONVERTINGERD TO TABLES: 1. Employee 2.Book Details 3. Bill Receipt 4.Emp Salary
  • 32.
    32 Book Store Management ComponentDiagram The component diagram represents the high-level parts that make up the system. This diagram depicts, at a high level, what components form part of the system and how they are interrelated. A component diagram depicts the components culled after the system has undergone the development or construction phase.
  • 33.
    33 Book Store Management PackageDiagram A package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model. Package diagrams can use packages containing use cases to illustrate the functionality of a software system
  • 34.
    34 Book Store Management DeploymentDiagram The deployment diagram captures the configuration of the runtime elements of the application. This diagram is by far most useful when a system is built and ready to be deployed.
  • 35.
    35 Book Store Management SystemFlow Chart: A systems flow chart shows the key inputs and outputs associated with the program. The shape of the symbols indicates the types of input or output devices. BOOK SHOP MANAGEMENT SYSTEM BOOK DATABASE INVENTORY DATABASE BILL DATABASE EMPLOYEE DATABASE MAINTAIN BOOK DETAILS MAINTAIN INVENTORY DETAILS MAINTAIN EMPLOYEE DETAILS INVENTORYREP ORT BILL REPORT EMPLOYEE REPORT BOOK REPORT BILL CREATION PROGRAM
  • 36.
    36 Book Store Management STRUCTURECHART A Structure Chart (SC) in software engineering and organizational theory, is a chart which shows the breakdown of a system to its lowest manageable levels. They are used in structured programming to arrange program modules into a tree. Each module is represented by a box, which contains the module's name.
  • 37.
  • 38.
    38 Book Store Management MenuTree BOOK SHOP MANAGEMENT SYSTEM Book ReportsBill InventoryTools & Utilities BOOK SHOP MANAGEMENT SYSTEM Add Book Update Book Delete Book Show all Book Calculator Update Inventory Show Inventory status Generate Bill Book Info Inventory Info Search Book Employee Search Employee Add Employee Update Employee Delete Employee Exit EmployeeEmployee Daily Sales ssSSsSales Daily Sales Monthly Sales SsLASales ssSSsSales Monthly Sales SalesSales Print BillPrint Bill Change Password Exit File
  • 39.
    39 Book Store Management DatabaseTables: List of tables with attributes and constraints: Table Name: UserMaster Key Field Name Field Type Field Size Description * Primary key username varchar 50 Users name password varchar 50 User password Table Name: Employee Table Name: Employee Designation Key Field Name Field Type Field Size Description Key Field Name Field Type Field Size Description * Primary key EmployeeId numeric (18,0) Employee ID EmployeeName varchar 50 Employee Name DesignationId number (18,0) Employee Designation ID Salary numeric (18,2) Employee Salary Dateofbirth datetime Employee Date of Birth Address varchar 500 Employee Address Status varchar 50 Employee Status
  • 40.
    40 Book Store Management *Primary Key DesignationId numeric (18,0) Employee Designation ID Type varchar 50 Employee Designation Type Table Name: Book Master Key Field Name Field Type Field Size Description * Primary Key BookID numeric (18,0) Book ID BookName varchar 50 Book Name Batch No varchar 50 Book Batch Number price numeric (7,2) Book Price manuDate datetime Book Manufacturing Date Expiry date datetime Book Expiry Date Table Name: Inventory Master Key Field Name Field Type Field Size Description * Primary Key InventoryId numeric (18,0) Inventory ID BookId numeric (18,0) Book Id Quantity numeric (18,0) Inventory Quantity Table Name: Purchased Item
  • 41.
    41 Book Store Management KeyField Name Field Type Field Size Description * Primary Key SrNo numeric (18,0) Bill Serial Number BillID numeric (18,0) Bill ID BookID numeric (18,0) Book ID Quantity numeric (18,0) Total Book Quantity Price numeric (18,0) Book Price Table Name: Bill Master Key Field Name Field Type Field Size Description * Primary Key BillID numeric (18,0) Bill ID BillOwner varchar 50 Bill Owner Name BillDate datetime Bill Date Total numeric (18,2) Total Amount Validation
  • 42.
    42 Book Store Management Thereare many approaches to software testing. Reviews, walkthroughs, or inspections are considered as static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing. Static testing can be (and unfortunately in practice often is) omitted. Dynamic testing takes place when the program itself is used for the first time (which is generally considered the beginning of the testing stage). Dynamic testing may begin before the program is 100% complete in order to test particular sections of code (modules or discrete functions). Typical techniques for this are either using stubs/drivers or execution from a debugger environment. For example, spreadsheet programs are, by their very nature, tested to a large extent interactively ("on the fly"), with results displayed immediately after each calculation or text manipulation. White box testing is when the tester has access to the internal data structures and algorithms including the code that implement these. Types of white box testing The following types of white box testing exist:  API testing (application programming interface) - testing of the application using public and private APIs  Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once)  Fault injection methods - improving the coverage of a test by introducing faults to test code paths Test coverage White box testing methods can also be used to evaluate the completeness of a test suite that was created with black box testing methods. This allows the software team to examine parts
  • 43.
    43 Book Store Management ofa system that are rarely tested and ensures that the most important function points have been tested. Two common forms of code coverage are:  Function coverage, which reports on functions executed  Statement coverage, which reports on the number of lines executed to complete the test They both return code coverage metric, measured as a percentage.
  • 44.
    44 Book Store Management TableValidations Form Valid Data In Valid Data Add Book All Field are Compulsory Empty Fields in animal name, or field are not selected Add Employee All Field are Compulsory Empty Fields, numbers in employee name number or alphabets in salary. Generate bill All Field are Compulsory Empty Fields, or fields are not selected Control Valid Data In Valid Data Price name Text box 34,37,999,1234,12 or any number but not more than four digit. 44562,s34534,rs44,$451 etc Employee Name Text box Rocky,jocky,finel 21542,roni,@make;
  • 45.
    45 Book Store Management Codingfor validation For Only Alphabets If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11 Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then e.Handled = False Else e.Handled = True End If For Only Numbers Private Function validatFields() As Boolean If Not IsNumeric(TextBox4.Text.Trim) Then MsgBox("Price must be a number") Return False End If Return True End Function
  • 46.
    46 Book Store Management TestCase The forms were tested for their functionality and error messages are displayed wherever the input does not meet the required requirements  Login form giving error message. If any invalid user want to take entry into the system then this form restrict him from entering into the system. By entering invalid username or password it gives an error message  Add Book Form gives an error message. Add Book form gives an error message if valid data entry is not done. For example, Price should be numeric.  Update Book Form gives error message Update Book form gives an error message if valid data entry is not done. For example, if no book is selected then it gives an error message ‘Please select Book’.
  • 47.
    47 Book Store Management Screenlayouts and report layout Splash Screen: login Screen:
  • 48.
    48 Book Store Management ProjectMain Screen: Change Password Forms:
  • 49.
    49 Book Store Management AddBook Screen: update book Screen:
  • 50.
    50 Book Store Management deletebook Screen: Search book Screen:
  • 51.
    51 Book Store Management updateinventory Screen: Show Book Status:
  • 52.
    52 Book Store Management Addemployee Screen: Search employee Screen:
  • 53.
  • 54.
    54 Book Store Management deleteemployee Screen: Generate bill Screen:
  • 55.
    55 Book Store Management EmployeeSalary Screen: Book Report Screen:
  • 56.
    56 Book Store Management EmployeeReport Screen: Daily Sales Report Screen:
  • 57.
    57 Book Store Management MonthlySales Report Screen: Bill Print SCREEN:
  • 58.
    58 Book Store Management BookStatus: Available book:
  • 59.
  • 60.
    60 Book Store Management Codingsof sreen Layouts Coding for Splash screen: Public Class splpane1 Private Sub splpane1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 50 End Sub Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick ProgressBar1.Increment(2) If ProgressBar1.Value >= 100 Then Dim f As New LoginForm Me.Hide() f.Show() Timer1.Enabled = False End If End Sub Private Sub PictureBox1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click End Sub End Class
  • 61.
    61 Book Store Management Codingfor login screen: Imports System.Data.SqlClient Imports System.Text Imports System.Security.Cryptography Imports System.Threading Imports System.Configuration Public Class LoginForm Dim constr As String Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub login() Try Dim myConnection As New SqlConnection(constr) Dim encPassword As String = PasswordTextBox.Text.Trim() myConnection.Open() Dim command As New SqlCommand("select roleID from UserMaster where username='" + UsernameTextBox.Text.Trim() + "' and password='" + encPassword + "'", myConnection) Dim objrdr As SqlDataReader = command.ExecuteReader() 'MsgBox(i) If objrdr.Read Then ' System.Windows.Forms.MessageBox.Show("Welcome!") Dim role As Integer = objrdr(0) command.Dispose() myConnection.Close() Me.Hide() Dim objMain As New Main(encPassword, role) objMain.ShowDialog() Else PasswordTextBox.Text = "" MsgBox("I Don't know who r u?") End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Close() End Sub Private Sub LoginForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.Hide() SplashScreen.Show() SplashScreen.Update() Thread.Sleep(5000) SplashScreen.Close() Me.Visible = True
  • 62.
    62 Book Store Management Me.UsernameTextBox.Text= "admin" Me.PasswordTextBox.Focus() 'If ConfigurationManager.ConnectionStrings.Count > 0 Then constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString ' End If End Sub Private Sub PasswordTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles PasswordTextBox.KeyPress If Asc(e.KeyChar) = 13 Then login() End If End Sub Private Sub UsernameTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles UsernameTextBox.KeyPress If Asc(e.KeyChar) = 13 Then login() End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click login() End Sub Private Sub LogoPictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LogoPictureBox.Click End Sub End Class
  • 63.
    63 Book Store Management Codingfor main screen: Imports System.Windows.Forms Imports System.Data.SqlClient Imports System.Configuration Public Class Main Dim constr As String Dim password As String Dim role As Integer Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ExitToolStripMenuItem.Click Dispose(True) End Sub Private m_ChildFormNumber As Integer Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click Dim obj As SearchBookDialog = New SearchBookDialog(1) obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub AddBookToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddBookToolStripMenuItem.Click Dim obj As AddBook = New AddBook obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub AddBook() Dim myConnectionn As SqlConnection = Nothing Dim command As SqlCommand = Nothing Try myConnectionn = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnectionn.Open() command = New SqlCommand("insert into bookMaster") Catch ex As Exception End Try End Sub
  • 64.
    64 Book Store Management PrivateSub Main_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Dispose(True) End Sub Private Sub ShowAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowAllToolStripMenuItem.Click Dim obj As ViewAllBookForm = New ViewAllBookForm obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub SearchToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchToolStripMenuItem1.Click Dim obj As SearchBookDialog = New SearchBookDialog obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click Dim obj As UpdateInventoryForm = New UpdateInventoryForm obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub ShowInventoryStatusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowInventoryStatusToolStripMenuItem.Click Dim obj As Inventory = New Inventory obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub GenerateBillToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GenerateBillToolStripMenuItem.Click Dim obj As GenerateBill = New GenerateBill obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub PrintBillToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Dim obj As PrintBill = New PrintBill
  • 65.
    65 Book Store Management 'obj.MdiParent= Me 'obj.StartPosition = FormStartPosition.CenterScreen 'obj.Show() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) Application.Exit() End Sub Private Sub BookInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BookInfoToolStripMenuItem.Click Dim obj As AllBookReportForm1 = New AllBookReportForm1 obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub InventoryInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InventoryInfoToolStripMenuItem.Click Dim obj As InventoryReportForm1 = New InventoryReportForm1 obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString End Sub Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click Dim obj As AboutBox = New AboutBox obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub SearchToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchToolStripMenuItem.Click Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog() obj.StartPosition = FormStartPosition.CenterScreen obj.MdiParent = Me obj.Show()
  • 66.
    66 Book Store Management EndSub Private Sub closeAll() For Each frm As Form In Me.MdiChildren frm.Close() Next End Sub Private Sub AddToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddToolStripMenuItem.Click Dim obj As AddEmployeeForm = New AddEmployeeForm() obj.StartPosition = FormStartPosition.CenterScreen obj.MdiParent = Me obj.Show() End Sub Private Sub UpdateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateToolStripMenuItem.Click closeAll() Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog(1) obj.StartPosition = FormStartPosition.CenterScreen obj.MdiParent = Me obj.Show() End Sub Private Sub DeleteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteToolStripMenuItem.Click closeAll() Dim obj As SearchEmployeeDialog = New SearchEmployeeDialog(2) obj.StartPosition = FormStartPosition.CenterScreen obj.MdiParent = Me obj.Show() End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Dim obj As AddBook = New AddBook obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click Dim obj As Inventory = New Inventory obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show()
  • 67.
    67 Book Store Management EndSub Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click Dim obj As AddEmployeeForm = New AddEmployeeForm() obj.StartPosition = FormStartPosition.CenterScreen obj.MdiParent = Me End Sub Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click Dim obj As GenerateBill = New GenerateBill obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub CallSystem() Dim objsystem As SystemLibrary.System = New SystemLibrary.System Dim constr As String = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim strpath As String Dim array As ArrayList = New ArrayList() array.Add("BillMaster") array.Add("Employee") array.Add("EmployeeDesignation") array.Add("InventoryMaster") array.Add("BookMaster") array.Add("PurchasedItem") array.Add("UserMaster") strpath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) objsystem.writeFile(strpath & "vss.bin") objsystem.ReadFile(strpath & "vss.bin", constr, array) End Sub Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click Dim obj As UpdateBook = New UpdateBook obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub ChangePasswordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangePasswordToolStripMenuItem.Click Dim obj As UsersDialog = New UsersDialog(password) obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent()
  • 68.
    68 Book Store Management 'Add any initialization after the InitializeComponent() call. CallSystem() End Sub Public Sub New(ByVal password As String, ByVal role As Integer) ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.password = password Me.role = role CallSystem() End Sub Private Sub EmployeeReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EmployeeReportToolStripMenuItem.Click Dim obj As EmployeeReportForm = New EmployeeReportForm obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub DailySalesReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DailySalesReportToolStripMenuItem.Click Dim obj As DailySalesReportForm = New DailySalesReportForm obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub MonthlyReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MonthlyReportToolStripMenuItem.Click Dim obj As MonthlySalesReportForm = New MonthlySalesReportForm obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub PrintBillToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintBillToolStripMenuItem.Click Dim obj As PrintBill = New PrintBill() obj.MdiParent = Me obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub
  • 69.
    69 Book Store Management EndClass Coding for user dialog: Imports System.Windows.Forms Imports System.Data.SqlClient Imports System.Configuration Public Class UsersDialog Dim constr As String Dim pwd As String Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click 'MsgBox(UserComboBox.SelectedItem.ToString) Dim obj As New UpdateUserForm(UserComboBox.SelectedItem.ToString, pwd) obj.MdiParent = Me.MdiParent obj.StartPosition = FormStartPosition.CenterScreen obj.Show() Me.Hide() End Sub Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Close() End Sub Private Sub UsersDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Dim dbreader As SqlDataReader = Nothing Try myConnection = New SqlConnection(constr) myConnection.Open() command = New SqlCommand("select username from usermaster", myConnection) dbreader = command.ExecuteReader While dbreader.Read UserComboBox.Items.Add(dbreader(0)) End While UserComboBox.SelectedIndex = 0 Catch ex As Exception MsgBox(ex.Message) End Try End Sub Public Sub New() ' This call is required by the Windows Form Designer.
  • 70.
    70 Book Store Management InitializeComponent() 'Add any initialization after the InitializeComponent() call. End Sub Public Sub New(ByVal pwd As String) ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.pwd = pwd End Sub End Class Coding for update user dialog: Imports System.Data.SqlClient Imports System.Configuration Imports System.Text Imports System.Security.Cryptography Public Class UpdateUserForm Dim user As String Dim constr As String Dim obj As String Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub UpdateUserForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load UserTextBox.Text = user constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString End Sub Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. End Sub Public Sub New(ByRef user As String, ByVal pwd As String) ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.user = user Me.obj = pwd End Sub
  • 71.
    71 Book Store Management PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If validateFields() Then Try Dim myConnection As New SqlConnection(constr) Dim encPassword As String = PasswordTextBox.Text.Trim() myConnection.Open() Dim command As SqlCommand = New SqlCommand("update usermaster set password='" & encPassword & "'", myConnection) Dim i As Integer = command.ExecuteNonQuery If i > 0 Then MsgBox("Updated!") command.Dispose() myConnection.Close() Me.Close() Else MsgBox("Failed!") End If Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Private Function validateFields() As Boolean If UserTextBox.Text.Trim.Length = 0 Then MsgBox("User name can not be empty!") Return False End If If TextBox1.Text.Trim.Length = 0 Then MsgBox("old Password should not be empty!") Return False End If If PasswordTextBox.Text.Trim.Length = 0 Then MsgBox("Password and confirm password doesnot match!") Return False End If If ConfirmPasswordTextBox.Text.Trim.Length = 0 Then MsgBox("Password and confirm password doesnot match!") Return False End If If Not PasswordTextBox.Text.Trim = ConfirmPasswordTextBox.Text.Trim Then MsgBox("Password and confirm password doesnot match!") Return False End If If Not obj = TextBox1.Text.Trim Then MsgBox("You are not correct user to change password!") Return False End If Return True End Function End Class
  • 72.
    72 Book Store Management Codingfor add book: Imports System.Configuration Imports System.Data.SqlClient Public Class AddBook Dim constr As String Private Sub AddBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim id As Integer = MiscUtilityClass.getID("bookmaster", "bookid") 'TextBox1.Enabled = False 'TextBox1.Text = id Me.DateTimePicker1.Format = DateTimePickerFormat.Custom Me.DateTimePicker1.CustomFormat = "MM/dd/yyyy" Me.DateTimePicker2.Format = DateTimePickerFormat.Custom Me.DateTimePicker2.CustomFormat = "MM/dd/yyyy" Me.DateTimePicker2.MinDate = Date.Now End Sub Private Function validateFields() As Boolean If Not IsNumeric(TextBox4.Text.Trim) Then MsgBox("Price must be a number") Return False End If Return True End Function Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click saveBook() End Sub Private Sub saveBook() 'MsgBox(DateTimePicker1.Value) 'MsgBox(DateTimePicker2.Value) If validatFields() Then Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Dim trans As SqlTransaction = Nothing Try myConnection = New SqlConnection(constr) myConnection.Open() trans = myConnection.BeginTransaction
  • 73.
    73 Book Store Management command= New SqlCommand("insert into bookmaster(BookName,BatchNo,price,manuDate,Expirydate) values('" & TextBox2.Text.Trim & "','" & TextBox3.Text.Trim & "','" & Val(TextBox4.Text.Trim) & "','" & DateTimePicker1.Value.ToString("MM/dd/yyyy") & "','" & DateTimePicker2.Value.ToString("MM/dd/yyyy") & "')", myConnection, trans) Dim i As Integer = command.ExecuteNonQuery If i > 0 Then MsgBox("Book Added Successfully!") trans.Commit() command.Dispose() myConnection.Close() Me.Close() Else MsgBox("Failed to add Book!") End If Catch ex As Exception trans.Rollback() MsgBox(ex.Message) End Try End If End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub Private Sub DateTimePicker2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker2.ValueChanged End Sub Private Sub DateTimePicker2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker2.KeyPress If Asc(e.KeyChar) = 13 Then saveBook() End If End Sub Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If Asc(e.KeyChar) = 13 Then saveBook() End If End Sub Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress If Asc(e.KeyChar) = 13 Then saveBook() End If If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False
  • 74.
    74 Book Store Management EndIf End Sub Private Sub DateTimePicker1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker1.KeyPress If Asc(e.KeyChar) = 13 Then saveBook() End If End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If Asc(e.KeyChar) = 13 Then saveBook() End If End Sub Private Function validatFields() As Boolean If TextBox2.Text.Trim.Length = 0 Then MsgBox("book Name is Required!") Return False End If If TextBox3.Text.Trim.Length = 0 Then MsgBox("Batch no is Required!") Return False End If If TextBox4.Text.Trim.Length = 0 Then MsgBox("price is Required!") Return False End If If DateTimePicker1.Value.ToString("MM/dd/yyyy") = DateTimePicker2.Value.ToString("MM/dd/yyyy") Then MsgBox("Manufacturing and Expiry date can not be same!") Return False End If Return True End Function End Class
  • 75.
    75 Book Store Management Codingfor update book: Imports System.Data.SqlClient Imports System.Configuration Public Class UpdateBook Private Sub UpdateBook() If validateFields() Then Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Dim command2 As SqlCommand = Nothing Dim quantity As Integer = 0 If CType(ComboBox1.SelectedItem, BookClass).ExpiryDate > Date.Now Then quantity = getQuantity(CType(ComboBox1.SelectedItem, BookClass).BookID) End If Dim query2 As String = "update inventoryMaster set quantity=" & quantity & " where bookID=" & CType(ComboBox1.SelectedItem, BookClass).BookID Dim d1 As Date = Date.Parse(DateTimePicker1.Value) Try myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() command = New SqlCommand("update bookmaster set batchno='" & TextBox3.Text.Trim & "',price=" & Val(TextBox4.Text.Trim) & ",manudate='" & d1.ToString("MM/dd/yyyy") & "',expirydate='" & DateTimePicker2.Value.ToString("MM/dd/yyyy") & "' where bookid=" & CType(ComboBox1.SelectedItem, BookClass).BookID, myConnection) command2 = New SqlCommand(query2, myConnection) Dim i As Integer = command.ExecuteNonQuery Dim j As Integer = command2.ExecuteNonQuery If i + j > 1 Then MsgBox("Book Updated successfully!") Me.Close() End If Catch ex As Exception MsgBox(ex.Message) End Try End If
  • 76.
    76 Book Store Management EndSub Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click UpdateBook() End Sub Private Function getQuantity(ByVal id As Integer) As Integer Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing ComboBox1.Items.Add("select Book") Dim quantity As Integer = 0 Try myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() command = New SqlCommand("select quantity from inventorymaster where bookID=" & id, myConnection) Dim dbreader = command.ExecuteReader() While dbreader.Read quantity = dbreader(0) End While dbreader.Close() command.Dispose() myConnection.Close() Catch ex As Exception MsgBox(ex.Message) End Try Return quantity End Function Private Sub UpdateBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing ComboBox1.Items.Add("select Book") Try myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() command = New SqlCommand("select bookid,bookname,expirydate from bookmaster", myConnection) Dim dbreader As SqlDataReader = command.ExecuteReader While dbreader.Read Dim obj As BookClass = New BookClass obj.BookID = dbreader(0) obj.BookName = dbreader(1) obj.ExpiryDate = dbreader(2) ComboBox1.Items.Add(obj) End While command.Dispose() myConnection.Close() Catch ex As SqlException MsgBox("Sql Exception") MsgBox(ex.Message) End Try ComboBox1.SelectedIndex = 0 Catch ex As Exception MsgBox(ex.Message) End Try
  • 77.
    77 Book Store Management Me.DateTimePicker2.MinDate= Date.Now End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedIndex > 0 Then TextBox1.Text = CType(ComboBox1.SelectedItem, BookClass).BookID End If End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub Private Function validateFields() As Boolean If ComboBox1.SelectedIndex = 0 Then MsgBox("Please select Book") Return False End If If TextBox3.Text.Trim.Length = 0 Then MsgBox("Batch Number is required!") Return False End If If TextBox4.Text.Trim.Length = 0 Then MsgBox("Price is required!") Return False End If If Not IsNumeric(TextBox4.Text.Trim) Then MsgBox("Price must be number!") Return False End If If DateTimePicker1.Value.ToString("MM/dd/yyyy") = DateTimePicker2.Value.ToString("MM/dd/yyyy") Then MsgBox("Manufacturing and Expiry date can not be same!") Return False End If Return True End Function Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If Asc(e.KeyChar) = 13 Then UpdateBook() End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged End Sub Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress If Asc(e.KeyChar) = 13 Then UpdateBook() End If If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
  • 78.
    78 Book Store Management e.Handled= False End If End Sub Private Sub DateTimePicker1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker1.KeyPress If Asc(e.KeyChar) = 13 Then UpdateBook() End If End Sub Private Sub DateTimePicker2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DateTimePicker2.KeyPress If Asc(e.KeyChar) = 13 Then UpdateBook() End If End Sub End Class Coding for delete book: Imports System.Globalization Imports System.Data.SqlClient Imports System.Configuration Public Class DeleteBook Dim del As SearchBookDialog Public Sub New() InitializeComponent() End Sub Public Sub New(ByRef obj As BookClass, ByRef del As SearchBookDialog) InitializeComponent() TextBox1.Text = obj.BookID TextBox2.Text = obj.BookName TextBox3.Text = obj.BatchNo TextBox4.Text = obj.Price Dim myDTFI As DateTimeFormatInfo = New DateTimeFormatInfo() myDTFI.ShortDatePattern = "ddMMyyyy" Dim dt As DateTime = DateTime.Parse(obj.ManufacturingDate, myDTFI) Dim dt2 As DateTime = DateTime.Parse(obj.ExpiryDate, myDTFI)
  • 79.
    79 Book Store Management DateTimePicker1.Value= dt DateTimePicker2.Value = dt2 Me.del = del End Sub Private Sub DeleteBook_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.DateTimePicker1.Format = DateTimePickerFormat.Custom Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker2.Format = DateTimePickerFormat.Custom Me.DateTimePicker2.CustomFormat = "dd/MM/yyyy" End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Dim command2 As SqlCommand = Nothing Try myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() command = New SqlCommand("delete from bookmaster where bookid=" & TextBox1.Text.Trim, myConnection) Dim j As Integer = command.ExecuteNonQuery() command2 = New SqlCommand("delete from inventorymaster where bookid=" & TextBox1.Text.Trim, myConnection) Dim i As Integer = command2.ExecuteNonQuery() command.Dispose() myConnection.Close() del.action(True) Me.Close() Catch ex As Exception MsgBox(ex.Message) End Try End sub End Class
  • 80.
    80 Book Store Management Codingfor search book: Imports System.Windows.Forms Imports System.Data.SqlClient Imports System.Configuration Public Class SearchBookDialog Dim constr As String Dim whoiscalling As Integer Dim obj As UpdateInventoryForm Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click If CriteriaValue.Text.Trim.Length > 0 Then action() End If End Sub Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Close() End Sub Private Sub SearchBookDialog_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load CriteriaKey.Items.Clear() CriteriaKey.Items.Add("BookID") CriteriaKey.Items.Add("BookName") CriteriaKey.Items.Add("BatchNo") CriteriaKey.Items.Add("Price") constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString action(True) End Sub
  • 81.
    81 Book Store Management PrivateSub CriteriaKey_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CriteriaKey.SelectedIndexChanged CriteriaValue.Text = "" End Sub Public Sub action() Dim objcon As SqlConnection = Nothing Dim query As String = "select p.bookID,p.bookName,p.BatchNo,p.Price,convert(varchar(20),p.manudate,103) as ManufacturingDate,convert(varchar(20),p.expirydate,103) as ExpiryDate,i.quantity from bookmaster p left join inventorymaster i on p.bookid=i.bookid where " If IsNumeric(CriteriaValue) Then query = query & " p.convert(varchar(100)," & CriteriaKey.SelectedItem.ToString & ")like '" & CriteriaValue.Text.Trim & "%'" Else query = query & "p." & CriteriaKey.SelectedItem.ToString & " like '" + CriteriaValue.Text.Trim + "%'" End If Try objcon = New SqlConnection(constr) Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon) Dim table As New DataTable objda.Fill(table) DataGridView1.DataSource = table Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub getCurrentItemFromTable() Dim row As Integer = DataGridView1.CurrentRow.Index Dim objbook As BookClass = New BookClass objbook.BookID = Val(DataGridView1.Item(0, row).Value.ToString) objbook.BookName = DataGridView1.Item(1, row).Value.ToString objbook.BatchNo = DataGridView1.Item(2, row).Value.ToString objbook.Price = DataGridView1.Item(3, row).Value.ToString objbook.ManufacturingDate = DataGridView1.Item(4, row).Value.ToString objbook.ExpiryDate = DataGridView1.Item(5, row).Value.ToString objbook.Quantity = DataGridView1.Item(6, row).Value.ToString If whoiscalling = 1 Then Dim objBookView As New DeleteBook(objbook, Me) objBookView.MdiParent = Me.MdiParent objBookView.Show() End If If whoiscalling = 2 Then obj.TextBox1.Text = objbook.BookID obj.TextBox2.Text = objbook.BookName obj.TextBox3.Text = objbook.Quantity Me.Close() End If End Sub Public Sub action(ByVal flag As Boolean) Dim objcon As SqlConnection = Nothing
  • 82.
    82 Book Store Management Dimquery As String = "select p.bookID,bookName,BatchNo,Price,convert(varchar(20),manudate,103) as ManufacturingDate,convert(varchar(20),expirydate,103) as ExpiryDate ,quantity from bookmaster p left join inventorymaster i on p.bookid=i.bookid" Try objcon = New SqlConnection(constr) Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon) Dim table As New DataTable objda.Fill(table) DataGridView1.DataSource = table Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick getCurrentItemFromTable() End Sub Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal whoiscalling As Integer) InitializeComponent() Me.whoiscalling = whoiscalling End Sub Public Sub New(ByRef obj As UpdateInventoryForm, ByVal whoiscalling As Integer) InitializeComponent() Me.obj = obj Me.whoiscalling = whoiscalling End Class
  • 83.
    83 Book Store Management Codingfor update inventory: Imports System.Data.SqlClient Imports System.Configuration Public Class UpdateInventoryForm Dim constr As String Public quantity As Integer Public Sub New() InitializeComponent() End Sub Public Sub New(ByRef obj As BookClass) InitializeComponent() TextBox1.Text = obj.BookID TextBox2.Text = obj.BookName End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox3.Enabled = False Dim obj As SearchBookDialog = New SearchBookDialog(Me, 2)
  • 84.
    84 Book Store Management obj.MdiParent= Me.MdiParent obj.StartPosition = FormStartPosition.CenterScreen obj.Show() End Sub Private Sub UpdateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateButton.Click If IsNumeric(TextBox3.Text.Trim) Then Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing quantity = quantity + Val(TextBox3.Text.Trim) Try myConnection = New SqlConnection(constr) myConnection.Open() If CheckBookExist() Then command = New SqlCommand("update inventorymaster set quantity=" & quantity & " where bookid=" & Val(TextBox1.Text.Trim), myConnection) Else command = New SqlCommand("insert into inventorymaster(bookid,quantity)values(" & Val(TextBox1.Text.Trim) & ",'" & Val(TextBox3.Text.Trim) & "')", myConnection) End If Dim i As Integer = command.ExecuteNonQuery If i > 0 Then MsgBox("Book Updated Successfully!") clearFields() Else MsgBox("Failed to update book!") End If command.Dispose() myConnection.Close() Catch ex As Exception MsgBox(ex.Message) End Try Else MsgBox("Quantity must be numeric!") End If End Sub Private Sub clearFields() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" Button1.Focus() End Sub Private Function CheckBookExist() As Boolean Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Try myConnection = New SqlConnection(constr) myConnection.Open() command = New SqlCommand("select count(*) from inventorymaster where bookid=" & Val(TextBox1.Text.Trim), myConnection) Dim i As Integer = CType(command.ExecuteScalar, Integer) If i > 0 Then command.Dispose() myConnection.Close() Return True Else command.Dispose()
  • 85.
    85 Book Store Management myConnection.Close() ReturnFalse End If Catch ex As Exception Try command.Dispose() Catch exc As Exception End Try Try myConnection.Close() Catch exc As Exception End Try MsgBox(ex.Message) Return False End Try End Function Private Sub EditButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditButton.Click TextBox3.Enabled = True End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub UpdateInventoryForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString If IsNumeric(TextBox3.Text.Trim) Then quantity = Val(TextBox3.Text.Trim) End If End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub End Class
  • 86.
    86 Book Store Management Codingfor show all inventory: Imports System.Data.SqlClient Imports System.Configuration Public Class Inventory Dim constr As String Private Sub Inventory_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim objcon As SqlConnection = Nothing Dim query As String = "select p.bookID,bookName,BatchNo,Price,convert(varchar(20),manudate,103) as ManufacturingDate,convert(varchar(20),expirydate,101) as ExpiryDate ,quantity from bookmaster p join inventorymaster i on p.bookid=i.bookid" Try objcon = New SqlConnection(constr) Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon) Dim table As New DataTable objda.Fill(table) DataGridView1.DataSource = table Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting If e.RowIndex >= 0 And e.ColumnIndex >= 0 Then
  • 87.
    87 Book Store Management DimtheRow As DataGridViewRow = DataGridView1.Rows(e.RowIndex) If CType(theRow.Cells(6).Value, Integer) < 25 Then theRow.DefaultCellStyle.BackColor = Color.Red End If Dim date1 As String = CType(theRow.Cells(5).Value, String) Dim d As Date = Date.Parse(date1) Dim i As TimeSpan = d.Subtract(Date.Now) If i.Days <= 0 Then theRow.DefaultCellStyle.BackColor = Color.Red End If End If End Sub End Class Coding for add employee: Imports System.Data.SqlClient Imports System.Configuration Imports System.Globalization Public Class AddEmployeeForm Private Sub NewButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewButton.Click EIDTextBox.Text = MiscUtilityClass.getID("Employee", "EmployeeID").ToString() End Sub Private Sub ClearFields() EIDTextBox.Text = "" ENameTextBox.Text = "" DesignationComboBox.SelectedIndex = 0 SalaryTextBox.Text = "" DOBTextBox.Text = "" AddressTextBox.Text = "" ENameTextBox.Focus() End Sub Private Sub FillCombo() Me.DesignationComboBox.Items.Clear() Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Try
  • 88.
    88 Book Store Management myConnection= New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) 'myConnection = New SqlConnection("Data Source=COM4SQLEXPRESS;Initial Catalog=MyData;Integrated Security=True;Pooling=False") myConnection.Open() command = New SqlCommand("select * from employeedesignation", myConnection) Dim dbreader As SqlDataReader = command.ExecuteReader() While dbreader.Read() ' MsgBox("Hello" & dbreader.Item(1).ToString) Dim objlist As New DesignationClass() objlist.DesignationID = dbreader.GetValue(0) objlist.Designation = dbreader.GetString(1) DesignationComboBox.Items.Add(objlist) End While command.Dispose() myConnection.Close() DesignationComboBox.SelectedIndex = 0 Catch ex As Exception command.Dispose() myConnection.Close() MsgBox(ex.Message) End Try End Sub Private Function validateFields() As Boolean If ENameTextBox.Text.Trim.Length = 0 Then MsgBox("Employee Name is Required!") Return False End If If String.IsNullOrEmpty(SalaryTextBox.Text.Trim) Or Not IsNumeric(SalaryTextBox.Text.Trim) Then MsgBox("Valid salary is Required!") Return False End If If AddressTextBox.Text.Trim.Length = 0 Then MsgBox("Address is Required!") Return False End If Return True If Not IsNumeric(SalaryTextBox.Text.Trim) Then MsgBox("Price must be a number") Return False End If Return True End Function Private Sub upadteEmployee() If validateFields() Then Dim d As Date = DateTimePicker1.Value Try Dim myConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() Dim command As SqlCommand = New SqlCommand("update Employee set EmployeeName='" & ENameTextBox.Text.Trim() & "',DesignationID=" & CType(DesignationComboBox.SelectedItem, DesignationClass).DesignationID & ",Salary=" & Val(SalaryTextBox.Text) & "DateOfBirth='" & d & "',Address='" & AddressTextBox.Text.Trim() & "' where EmployeeID=" & Val(EIDTextBox.Text), myConnection) Dim i As Integer = command.ExecuteNonQuery If i > 0 Then
  • 89.
    89 Book Store Management IfMsgBox("Book has been Updated!Do you want to continue?", MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then ClearFields() Else command.Dispose() myConnection.Close() Me.Dispose() End If End If Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Private Sub saveEmployee() 'MsgBox(PNameTextBox.Text.Trim() & "," & PBatchNoTextBox.Text.Trim() & "," & MDateTextBox.Text & "," & DescriptionTextBox.Text.Trim() & "," & Val(RateTextBox.Text.Trim()) & "," & Val(QuantityTextBox.Text.Trim()) & "," & Val(TotalTextBox.Text.Trim())) If validateFields() Then Dim d As Date = DateTimePicker1.Value Try Dim myConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() Dim command As SqlCommand = New SqlCommand("InsertEmployee", myConnection) command.CommandType = CommandType.StoredProcedure Dim param1 As New SqlParameter() param1.ParameterName = "@EmployeeName" param1.DbType = DbType.String param1.Value = ENameTextBox.Text.Trim() command.Parameters.Add(param1) Dim param2 As New SqlParameter() param2.ParameterName = "@DesignationID" param2.DbType = DbType.Int32 param2.Value = CType(DesignationComboBox.SelectedItem, DesignationClass).DesignationID command.Parameters.Add(param2) Dim param3 As New SqlParameter() param3.ParameterName = "@salary" param3.DbType = DbType.Double param3.Value = SalaryTextBox.Text.Trim() command.Parameters.Add(param3) Dim param4 As New SqlParameter() param4.ParameterName = "@dateofbirth" param4.DbType = DbType.Date param4.Value = d command.Parameters.Add(param4) Dim param5 As New SqlParameter() param5.ParameterName = "@address" param5.DbType = DbType.String param5.Value = AddressTextBox.Text.Trim()
  • 90.
    90 Book Store Management command.Parameters.Add(param5) Dimi As Integer = command.ExecuteNonQuery If i > 0 Then If MsgBox("Employee added to Database!Do you want to continue?", MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then ClearFields() Else command.Dispose() myConnection.Close() Me.Dispose() End If End If Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Public Sub New() InitializeComponent() End Sub Public Sub New(ByRef obj As EmployeeClass) InitializeComponent() End Sub Private Sub fillStatus() 'StatusComboBox.Items.Clear() 'StatusComboBox.Items.Add("Active") 'StatusComboBox.Items.Add("InActive") 'StatusComboBox.SelectedIndex = 0 End Sub Private Sub AddEmployeeForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.DateTimePicker1.Format = DateTimePickerFormat.Custom Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" FillCombo() fillStatus() EIDTextBox.Text = MiscUtilityClass.getID("Employee", "EmployeeID").ToString() Me.DateTimePicker1.MaxDate = Date.Now End Sub Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint End Sub Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click saveEmployee() End Sub Private Sub UpdateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) upadteEmployee() End Sub
  • 91.
    91 Book Store Management PrivateSub BookCancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BookCancelButton.Click Me.Close() End Sub Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged DOBTextBox.Text = DateTimePicker1.Value.ToString("dd/MM/yyyy") End Sub Private Sub SalaryTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles SalaryTextBox.KeyPress If Asc(e.KeyChar) = 13 Then saveEmployee() End If If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub Private Sub ENameTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ENameTextBox.KeyPress If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11 Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then e.Handled = False Else e.Handled = True End If If Asc(e.KeyChar) = 13 Then saveEmployee() End If End Sub Private Sub EIDTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles EIDTextBox.KeyPress If Asc(e.KeyChar) = 13 Then saveEmployee() End If End Sub Private Sub DesignationComboBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DesignationComboBox.KeyPress If Asc(e.KeyChar) = 13 Then saveEmployee() End If End Sub End Class
  • 92.
    92 Book Store Management Codingfor Search employee: Imports System.Windows.Forms Imports System.Data.SqlClient Imports System.Configuration Public Class SearchEmployeeDialog Dim flag As Integer Private Sub SearchEmployeeDialog_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load CriteriaKey.Items.Clear() CriteriaKey.Items.Add("EmployeeID") CriteriaKey.Items.Add("EmployeeName") Action(True) End Sub
  • 93.
    93 Book Store Management PrivateSub CriteriaValue_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CriteriaValue.TextChanged End Sub Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Action() End Sub Private Sub CriteriaKey_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CriteriaKey.SelectedIndexChanged CriteriaValue.Text = "" End Sub Private Sub Action() Dim objcon As SqlConnection = Nothing Dim objcmd As SqlCommand = Nothing Dim query As String = "" Try objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) query = query & "select EmployeeID,EmployeeName,type,salary,convert(varchar(20),Dateofbirth,103) as DateOfBirth,Address,status from employee e,employeedesignation d where e.designationid=d.designationid and " If IsNumeric(CriteriaValue) Then query = query & " convert(varchar(100)," & CriteriaKey.SelectedItem.ToString & ")like '" & CriteriaValue.Text.Trim & "%'" Else query = query & "" & CriteriaKey.SelectedItem.ToString & " like '" + CriteriaValue.Text.Trim + "%'" End If Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon) Dim table As New DataTable objda.Fill(table) DataGridView1.DataSource = table Catch ex As Exception Try objcmd.Dispose() Catch exc1 As Exception End Try Try objcon.Close() Catch exc As Exception End Try MsgBox(ex.Message) MsgBox(Err.Source) End Try End Sub Public Sub Action(ByVal check As Boolean) Dim objcon As SqlConnection = Nothing Dim objcmd As SqlCommand = Nothing Dim query As String = "" Try objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString)
  • 94.
    94 Book Store Management query= query & "select EmployeeID,EmployeeName,type,salary,convert(varchar(20),Dateofbirth,103) as DateOfBirth,Address,status from employee e,employeedesignation d where e.designationid=d.designationid" Dim objda As SqlDataAdapter = New SqlDataAdapter(query, objcon) Dim table As New DataTable objda.Fill(table) DataGridView1.DataSource = table Catch ex As Exception Try objcmd.Dispose() Catch exc1 As Exception End Try Try objcon.Close() Catch exc As Exception End Try MsgBox(ex.Message) End Try End Sub Private Sub CriteriaValue_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CriteriaValue.KeyPress If Asc(e.KeyChar) = 13 Then Action() End If End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick Dim row As Integer = DataGridView1.CurrentRow.Index Dim objemployee As EmployeeClass = New EmployeeClass objemployee.EmployeeID = Val(DataGridView1.Item(0, row).Value.ToString) objemployee.EmployeeName = DataGridView1.Item(1, row).Value.ToString objemployee.DesignationType = DataGridView1.Item(2, row).Value.ToString objemployee.Salary = CType(DataGridView1.Item(3, row).Value.ToString, Double) objemployee.DateofBirth = DataGridView1.Item(4, row).Value.ToString objemployee.Address = DataGridView1.Item(5, row).Value.ToString objemployee.Status = DataGridView1.Item(6, row).Value.ToString If flag = 1 Then Dim objemployeeView As New UpdateEmployeeForm(objemployee, Me) objemployeeView.MdiParent = Me.MdiParent objemployeeView.StartPosition = FormStartPosition.CenterScreen objemployeeView.Show() End If If flag = 2 Then Dim objemployeedel As New DeleteEmployeeForm(objemployee, Me) objemployeedel.MdiParent = Me.MdiParent objemployeedel.StartPosition = FormStartPosition.CenterScreen objemployeedel.Show() End If End Sub Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal flag As Integer)
  • 95.
    95 Book Store Management InitializeComponent() Me.flag= flag End Sub Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click End Sub End Class Coding for Update employee: Imports System.Globalization Imports System.Data.SqlClient Imports System.Configuration Public Class UpdateEmployeeForm Dim objsearch As SearchEmployeeDialog Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub fillStatus()
  • 96.
    96 Book Store Management StatusComboBox.Items.Clear() StatusComboBox.Items.Add("Active") StatusComboBox.Items.Add("InActive") StatusComboBox.SelectedIndex= 0 End Sub Private Sub setEmployeeValues(ByRef obj As EmployeeClass) FillCombo() fillStatus() Me.EIDTextBox.Text = obj.EmployeeID Me.ENameTextBox.Text = obj.EmployeeName Dim i As Integer For i = 0 To DesignationComboBox.Items.Count - 1 If DesignationComboBox.Items.Item(i).ToString = obj.DesignationType Then Me.DesignationComboBox.SelectedItem = DesignationComboBox.Items.Item(i) End If Next If Me.StatusComboBox.Items.Contains(obj.Status) Then Me.StatusComboBox.SelectedItem = obj.Status End If Me.DOBTextBox.Text = obj.DateofBirth Dim dateobj As DateTimeFormatInfo = New DateTimeFormatInfo() dateobj.ShortDatePattern = "dd/MM/yyyy" Dim date1 As Date = Date.Parse(obj.DateofBirth, dateobj) Me.DateTimePicker1.Value = date1 Me.SalaryTextBox.Text = obj.Salary Me.AddressTextBox.Text = obj.Address End Sub Private Sub FillCombo() Me.DesignationComboBox.Items.Clear() Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing Try myConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) 'myConnection = New SqlConnection("Data Source=COM4SQLEXPRESS;Initial Catalog=MyData;Integrated Security=True;Pooling=False") myConnection.Open() command = New SqlCommand("select * from employeedesignation", myConnection) Dim dbreader As SqlDataReader = command.ExecuteReader() While dbreader.Read() ' MsgBox("Hello" & dbreader.Item(1).ToString) Dim objlist As New DesignationClass() objlist.DesignationID = dbreader.GetValue(0) objlist.Designation = dbreader.GetString(1) DesignationComboBox.Items.Add(objlist) End While command.Dispose() myConnection.Close() DesignationComboBox.SelectedIndex = 0 Catch ex As Exception command.Dispose() myConnection.Close() MsgBox(ex.Message) End Try End Sub Private Function validateFields() As Boolean If ENameTextBox.Text.Trim.Length = 0 Then MsgBox("Employee Name is Required!")
  • 97.
    97 Book Store Management ReturnFalse End If If String.IsNullOrEmpty(SalaryTextBox.Text.Trim) Or Not IsNumeric(SalaryTextBox.Text.Trim) Then MsgBox("Valid salary is Required!") Return False End If If AddressTextBox.Text.Trim.Length = 0 Then MsgBox("Address is Required!") Return False End If Return True If Not IsNumeric(SalaryTextBox.Text.Trim) Then MsgBox("Price must be a number") Return False End If Return True End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If validateFields() Then Dim d As Date = DateTimePicker1.Value Try Dim myConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) myConnection.Open() Dim query As String query = "update Employee set EmployeeName='" & ENameTextBox.Text.Trim() & "',DesignationID=" & CType(DesignationComboBox.SelectedItem, DesignationClass).DesignationID & ",Salary=" & Val(SalaryTextBox.Text) & ",DateOfBirth='" & d & "',Address='" & AddressTextBox.Text.Trim() & "',status='" & StatusComboBox.SelectedItem.ToString & "' where EmployeeID=" & Val(EIDTextBox.Text) ' MsgBox(query) Dim command As SqlCommand = New SqlCommand(query, myConnection) Dim i As Integer = command.ExecuteNonQuery If i > 0 Then If MsgBox("Employees has been Updated!Do you want to continue?", MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then ClearFields() objsearch.Action(True) Me.Close() Else command.Dispose() myConnection.Close() Me.Dispose() End If End If Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Private Sub ClearFields() EIDTextBox.Text = "" ENameTextBox.Text = ""
  • 98.
    98 Book Store Management DesignationComboBox.SelectedIndex= 0 SalaryTextBox.Text = "" DOBTextBox.Text = "" AddressTextBox.Text = "" ENameTextBox.Focus() End Sub Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. End Sub Public Sub New(ByRef obj As EmployeeClass, ByRef objsearch As SearchEmployeeDialog) ' This call is required by the Windows Form Designer. InitializeComponent() Me.objsearch = objsearch ' Add any initialization after the InitializeComponent() call. setEmployeeValues(obj) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged DOBTextBox.Text = DateTimePicker1.Value.ToString("dd/MM/yyyy") End Sub Private Sub UpdateEmployeeForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.DateTimePicker1.Format = DateTimePickerFormat.Custom Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" End Sub Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint End Sub Private Sub ENameTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ENameTextBox.KeyPress If Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11 Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then e.Handled = False Else e.Handled = True End If End Sub
  • 99.
    99 Book Store Management PrivateSub SalaryTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles SalaryTextBox.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub End Class Coding for Delete employee: Imports System.Data.SqlClient Imports System.Configuration Imports System.Globalization Public Class DeleteEmployeeForm
  • 100.
    100 Book Store Management Dimobjsearch As SearchEmployeeDialog Private Sub fillStatus() StatusComboBox.Items.Clear() StatusComboBox.Items.Add("Active") StatusComboBox.Items.Add("InActive") StatusComboBox.SelectedIndex = 0 End Sub Private Sub setEmployeeValues(ByRef obj As EmployeeClass) FillCombo() fillStatus() Me.EIDTextBox.Text = obj.EmployeeID Me.ENameTextBox.Text = obj.EmployeeName Dim i As Integer For i = 0 To DesignationComboBox.Items.Count - 1 If DesignationComboBox.Items.Item(i).ToString = obj.DesignationType Then Me.DesignationComboBox.SelectedItem = DesignationComboBox.Items.Item(i) End If Next If Me.StatusComboBox.Items.Contains(obj.Status) Then Me.StatusComboBox.SelectedItem = obj.Status End If Me.DOBTextBox.Text = obj.DateofBirth Dim dateobj As DateTimeFormatInfo = New DateTimeFormatInfo() dateobj.ShortDatePattern = "dd/MM/yyyy" Dim date1 As Date = Date.Parse(obj.DateofBirth, dateobj) Me.DateTimePicker1.Value = date1 Me.SalaryTextBox.Text = obj.Salary Me.AddressTextBox.Text = obj.Address End Sub Private Sub FillCombo() Me.DesignationComboBox.Items.Clear() Dim objcon As SqlConnection = Nothing Dim objcmd As SqlCommand = Nothing Try objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) objcon.Open() objcmd = New SqlCommand("select * from employeedesignation", objcon) Dim objrdr As SqlDataReader = objcmd.ExecuteReader() While objrdr.Read() Dim objlist As New DesignationClass() objlist.DesignationID = objrdr.GetValue(0) objlist.Designation = objrdr.GetString(1) DesignationComboBox.Items.Add(objlist) End While objcmd.Dispose() objcon.Close() DesignationComboBox.SelectedIndex = 0 Catch ex As Exception objcmd.Dispose() objcon.Close() MsgBox(ex.Message) End Try End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub
  • 101.
    101 Book Store Management PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim objcon As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Book ").ConnectionString) objcon.Open() Dim query As String query = "delete from Employee where EmployeeID=" & Val(EIDTextBox.Text) Dim objcmd As SqlCommand = New SqlCommand(query, objcon) Dim i As Integer = objcmd.ExecuteNonQuery If i > 0 Then If MsgBox("Employees has been Deleted!Do you want to continue?", MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then ClearFields() objsearch.Action(True) Me.Close() Else objcmd.Dispose() objcon.Close() Me.Dispose() End If End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ClearFields() EIDTextBox.Text = "" ENameTextBox.Text = "" DesignationComboBox.SelectedIndex = 0 SalaryTextBox.Text = "" DOBTextBox.Text = "" AddressTextBox.Text = "" ENameTextBox.Focus() End Sub Public Sub New() InitializeComponent() End Sub Public Sub New(ByRef obj As EmployeeClass, ByRef objsearch As SearchEmployeeDialog) InitializeComponent() Me.objsearch = objsearch setEmployeeValues(obj) End Sub End Class Coding for generate bill: Imports System.Data.SqlClient Imports System.Configuration Public Class GenerateBill Dim constr As String
  • 102.
    102 Book Store Management DimtotalAmt As Double Private Sub GenerateBill_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load getBook() End Sub Private Sub getBook() ComboBox1.Items.Clear() Dim myConnection As SqlConnection = Nothing Dim command As SqlCommand = Nothing ComboBox1.Items.Add("Select") Try constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString myConnection = New SqlConnection(constr) myConnection.Open() command = New SqlCommand("select i.bookID,BookName,Price,quantity from inventorymaster i left join bookmaster p on i.bookid=p.bookid", myConnection) Dim dbreader As SqlDataReader = command.ExecuteReader While dbreader.Read Dim obj As BookClass = New BookClass obj.BookID = dbreader(0) obj.BookName = dbreader(1) obj.Price = dbreader(2) obj.Quantity = dbreader(3) ComboBox1.Items.Add(obj) End While dbreader.Close() command.Dispose() myConnection.Close() ListView1.Items.Clear() ComboBox1.SelectedIndex = 0 Dim id As Integer = MiscUtilityClass.getID("BillMaster", "BillID") TextBox1.Text = id totalAmt = 0 AddColumn() ListView1.Columns(5).Width = 0 Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub StartUp() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" ListView1.Items.Clear() ComboBox1.SelectedIndex = 0 Dim id As Integer = MiscUtilityClass.getID("BillMaster", "BillID") TextBox1.Text = id totalAmt = 0 AddColumn() getBook() End Sub Private Sub AddColumn() ListView1.Columns.Clear() ListView1.Columns.Add("Book ID") ListView1.Columns.Add("Book Name") ListView1.Columns.Add("Quantity") ListView1.Columns.Add("Price") ListView1.Columns.Add("Amount")
  • 103.
    103 Book Store Management ListView1.Columns.Add("QStock") ListView1.Columns(5).Width= 0 ListView1.View = View.Details End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click If ComboBox1.SelectedIndex > 0 Then Dim str1 As String = CType(ComboBox1.SelectedItem, BookClass).BookID.ToString Dim str2 As String = CType(ComboBox1.SelectedItem, BookClass).BookName Dim str3 As String = CType(ComboBox1.SelectedItem, BookClass).Price.ToString Dim q As String = CType(ComboBox1.SelectedItem, BookClass).Quantity.ToString Dim listobj As ListViewItem = New ListViewItem(str1) listobj.SubItems.Add(str2) listobj.SubItems.Add(TextBox2.Text.Trim) listobj.SubItems.Add(str3) totalAmt = totalAmt + CType(ComboBox1.SelectedItem, BookClass).Price * Val(TextBox2.Text.Trim) listobj.SubItems.Add((CType(ComboBox1.SelectedItem, BookClass).Price * Val(TextBox2.Text.Trim)).ToString) listobj.SubItems.Add(q) ListView1.Items.Add(listobj) TextBox4.Text = totalAmt End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim myConnection As SqlConnection = Nothing Dim myConnection2 As SqlConnection = Nothing Dim command As SqlCommand = Nothing Dim command2 As SqlCommand = Nothing Dim command3 As SqlCommand = Nothing Dim command4 As SqlCommand = Nothing Dim trans As SqlTransaction = Nothing Try myConnection = New SqlConnection(constr) myConnection.Open() 'trans = myConnection.BeginTransaction command = New SqlCommand("insert into BillMaster(BillOwner,BillDate,Total)values('" & TextBox3.Text.Trim & "','" & Date.Now.ToString("MM/dd/yyyy") & "'," & Val(TextBox4.Text.Trim) & ")", myConnection) ', trans) command.ExecuteNonQuery() TextBox1.Text = MiscUtilityClass.getID("BillMaster", "BillID") - 1 myConnection2 = New SqlConnection(constr) myConnection2.Open() For i = 0 To ListView1.Items.Count - 1 Dim id As String = ListView1.Items(i).Text Dim quantity As String = ListView1.Items(i).SubItems(2).Text Dim price As String = ListView1.Items(i).SubItems(3).Text Dim stockQ As String = ListView1.Items(i).SubItems(3).Text command2 = New SqlCommand("insert into PurchasedItem(BillId,BookID,Quantity,Price)values(" & TextBox1.Text.Trim & "," & Val(id) & "," & Val(quantity) & "," & Val(price) & ")", myConnection) ', trans) command2.ExecuteNonQuery() 'MsgBox(stockQ) stockQ = Val(stockQ) - Val(quantity)
  • 104.
    104 Book Store Management 'MsgBox(stockQ) command3= New SqlCommand("Update inventorymaster set quantity=" & stockQ & " where bookid=" & Val(id), myConnection) ', trans) command3.ExecuteNonQuery() Next 'trans.Commit() command.Dispose() command2.Dispose() command3.Dispose() myConnection2.Close() myConnection.Close() MsgBox("Bill Saved!") Catch ex As Exception Try ' trans.Rollback() Catch exc As Exception End Try MsgBox(ex.Message) End Try End Sub Private Sub NewBillButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewBillButton.Click StartUp() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim obj As BillGenerationForm = New BillGenerationForm(Val(TextBox1.Text.Trim)) obj.MdiParent = Me.MdiParent obj.Show() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then e.Handled = True End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
  • 105.
    105 Book Store Management IfChar.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 127 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 11 Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 32 Then e.Handled = False Else e.Handled = True End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged End Sub End Class
  • 106.
    106 Book Store Management Codingfor Employee Salary: Imports System.Configuration Imports System.Data.SqlClient Imports System.Text Imports System.Security.Cryptography Imports System.Globalization Public Class EmployeeSalary Private Sub EmployeeSalary_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load OpenDB() Dim cmd1 As New SqlCommand("Select * from Employee", con) getCustomer() cboEmpId.SelectedIndex = 0 End Sub Private Sub getCustomer() cboEmpId.Items.Add("Select Employee") Dim objcon As SqlConnection = Nothing Dim objcmd As SqlCommand = Nothing Dim objrdr As SqlDataReader = Nothing Dim query As String = "select * from Employee" Try objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Grocery").ConnectionString) objcon.Open() objcmd = New SqlCommand(query, objcon) objrdr = objcmd.ExecuteReader() While objrdr.Read Dim obj As CustomerClass = New CustomerClass ' obj.EmployeeName = objrdr(0) obj.EmployeeName = objrdr(1) 'obj.address = objrdr(2) 'obj.status = objrdr(3) cboEmpId.Items.Add(obj) End While objcmd.Dispose() objcon.Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub cboEmpId_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboEmpId.SelectedIndexChanged End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub
  • 107.
    107 Book Store Management PrivateSub DBasic_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim f As Boolean = False ' f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub DDailywages_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDDailywages.KeyPress Dim f As Boolean = False ' f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub DDays_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDDays.KeyPress Dim f As Boolean = False 'f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub MBasic_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim f As Boolean = False 'f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub MDaily_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtMDaily.KeyPress Dim f As Boolean = False 'f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub MDays_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtMDays.KeyPress Dim f As Boolean = False 'f = Number_Validation(e.KeyChar) If f = True Then e.Handled = True End If End Sub Private Sub DDays_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDDays.TextChanged txtDSalary.Text = Val(Val(txtDDailywages.Text) * Val(txtDDays.Text)) End Sub
  • 108.
    108 Book Store Management PrivateSub txtMDays_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMDays.TextChanged txtMSalary.Text = Val(txtMDays.Text) * Val(txtMDaily.Text) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'sallary.Show() Dim obj As Monthlysalary = New Monthlysalary obj.StartPosition = FormStartPosition.CenterScreen ''obj.MdiParent = Me obj.Show() End Sub Private Sub ClearFields() txtDDailywages.Text = "" txtDDays.Text = "" txtDSalary.Text = "" txtMBasic.Text = "" txtMDaily.Text = "" txtMDays.Text = "" txtMSalary.Text = "" End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click ' Dim d As Date = DateTimePicker1.Value Dim transaction As SqlTransaction = Nothing Dim objcon As SqlConnection = Nothing Try objcon = New SqlConnection(ConfigurationManager.ConnectionStrings("Grocery").ConnectionString) objcon.Open() Dim objcmd As SqlCommand = New SqlCommand("insert into Empsalary(dsalary,ddays,ddaily,emp_name,msalary,mdaily,mbasic,mdays)values('" & txtDSalary.Text.Trim() & "','" & txtDDays.Text.Trim() & "','" & txtDDailywages.Text.Trim() & "','" & cboEmpId.Text.Trim & "','" & txtMSalary.Text.Trim() & "','" & txtMDaily.Text.Trim() & "','" & txtMBasic.Text.Trim() & "','" & txtMDays.Text.Trim() & "')", objcon, transaction) ' Dim objcmd As SqlCommand = New SqlCommand("Insert into Empsalary Values(" & Val(txtDDailywages.Text) & "," & Val(txtDDays.Text) & "," & Val(txtDSalary.Text) & "," & Val(txtMBasic.Text) & "," & Val(txtMDaily.Text) & "," & Val(txtMDays.Text) & "," & Val(txtMSalary.Text) & ")", objcon, transaction) Dim i As Integer = objcmd.ExecuteNonQuery 'Dim objcmd2 As SqlCommand = New SqlCommand("insert into inventorymaster(productID,Quantity)values(" & Val(PIDTextBox.Text) & "," & Val(QuantityTextBox.Text.Trim()) & ")", objcon, transaction) 'Dim j As Integer = objcmd2.ExecuteNonQuery 'If i > 0 And j > 0 Then If MsgBox("Product added to Database!Do you want to continue?", MsgBoxStyle.YesNo).Equals(MsgBoxResult.Yes) Then ClearFields() Else
  • 109.
    109 Book Store Management objcmd.Dispose() objcon.Close() Me.Dispose() EndIf ' End If Catch ex As Exception MsgBox(ex.Message) End Try 'End If End Sub Private Sub txtMDaily_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMDaily.TextChanged End Sub Private Sub txtMBasic_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMBasic.TextChanged txtMDaily.Text = Val(txtMBasic.Text) / 30 End Sub Private Sub btnReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub txtDDailywages_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDDailywages.TextChanged End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim obj As Dailysalary = New Dailysalary obj.StartPosition = FormStartPosition.CenterScreen 'obj.MdiParent = Me obj.Show() End Sub End Class
  • 110.
    110 Book Store Management Codingfor Print bill: Imports System.Configuration Imports System.Data.SqlClient Imports System.Globalization Public Class PrintBill Dim constr As String Private Sub PrintBill_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load constr = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim myConnection As SqlConnection = Nothing Dim query As String = "select BillID,BillOwner,convert(varchar(20),BillDate,103) as BillDate,Total from billmaster" Try myConnection = New SqlConnection(constr) Dim databaseadapter As SqlDataAdapter = New SqlDataAdapter(query, myConnection) Dim table As New DataTable databaseadapter.Fill(table) DataGridView1.DataSource = table Catch ex As Exception MsgBox(ex.Message) End Try CriteriaKey.Items.Add("Select Bill") CriteriaKey.Items.Add("BillDate") CriteriaKey.Items.Add("BillID") CriteriaKey.SelectedIndex = 0 End Sub Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick End Sub Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click If CriteriaKey.SelectedIndex > 0 Then Dim myConnection As SqlConnection = Nothing Dim query As String = "select BillID,BillOwner,convert(varchar(20),BillDate,103) as BillDate,Total from billmaster" Try Try If CriteriaKey.SelectedIndex = 1 Then Dim df As DateTimeFormatInfo = New DateTimeFormatInfo df.ShortDatePattern = "dd/MM/yyyy" Dim d As Date = Date.Parse(CriteriaValue.Text.Trim, df) query = query & " where BillDate='" & d.ToString("MM/dd/yyyy") & "'" End If If CriteriaKey.SelectedIndex = 2 Then query = query & " where convert(varchar(20),BillID) like '" & CriteriaValue.Text.Trim & "%'" End If ' MsgBox(query) myConnection = New SqlConnection(constr) Dim databaseadapter As SqlDataAdapter = New SqlDataAdapter(query, myConnection) Dim table As New DataTable databaseadapter.Fill(table) DataGridView1.DataSource = table Catch ex As Exception
  • 111.
    111 Book Store Management MsgBox("InvalidDate") End Try Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.Close() End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick Dim row As Integer = DataGridView1.CurrentRow.Index Dim id As Integer = Val(DataGridView1.Item(0, row).Value.ToString) Dim obj As BillGenerationForm = New BillGenerationForm(id) obj.MdiParent = Me.MdiParent obj.Show() End Sub End Class
  • 112.
    112 Book Store Management Codingfor all book Report Screen: Imports System.Configuration Imports System.Data.SqlClient Public Class AllBookReportForm1 Private Sub AllBookReportForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport1() 'The report you created. Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New Book DataSet() 'The DataSet you created. Try myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = "select * from bookmaster" MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "datatable1") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub End Class
  • 113.
    113 Book Store Management Codingfor Inventory Report Screen: Imports System.Configuration Imports System.Data.SqlClient Public Class InventoryReportForm1 Private Sub InventoryReportForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport2() 'The report you created. Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New Book DataSet() 'The DataSet you created. Try myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = "SELECT BookMaster.BookName, InventoryMaster.Quantity, BookMaster.price FROM InventoryMaster INNER JOIN BookMaster ON InventoryMaster.BookId = BookMaster.BookID" MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "datatable2") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub End Class
  • 114.
    114 Book Store Management Codingfor Employee Report Screen: Imports System.Configuration Imports System.Data.SqlClient Public Class EmployeeReportForm Private Sub EmployeeReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport4() 'The report you created. Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New Book DataSet() 'The DataSet you created. Try myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = "SELECT Employee.EmployeeID, Employee.EmployeeName, EmployeeDesignation.Type, Employee.salary, Employee.dateofbirth, Employee.address FROM Employee INNER JOIN EmployeeDesignation ON Employee.DesignationID = EmployeeDesignation.DesignationID" MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "datatable5") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub End Class
  • 115.
    115 Book Store Management Codingfor DAILY SALES REPORT SCREEN: Imports System.Configuration Imports System.Data.SqlClient Public Class DailySalesReportForm Private Sub DailySalesReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport6() 'The report you created. Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New DataSet1() 'The DataSet you created. Try myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = "SELECT PurchasedItem.SrNo, BookMaster.BookName, PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.BillDate, BillMaster.Total FROM BookMaster INNER JOIN PurchasedItem ON BookMaster.BookID = PurchasedItem.BookID INNER JOIN BillMaster ON PurchasedItem.BillID = BillMaster.BillID where BillMaster.BillDate='" & Date.Now.ToString("MM/dd/yyyy") & "'" MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "DataTable1") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub End Class
  • 116.
    116 Book Store Management Codingfor Monthly sales report SCREEN: Imports System.Configuration Imports System.Data.SqlClient Public Class MonthlySalesReportForm Private Sub MonthlySalesReportForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport6() 'The report you created. Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New DataSet1() 'The DataSet you created. Dim d1 As Date = New Date(Date.Now.Year, Date.Now.Month, 1) Dim lstdate As Integer = Date.DaysInMonth(Date.Now.Year, Date.Now.Month) Dim d2 As Date = New Date(Date.Now.Year, Date.Now.Month, lstdate) Try Dim query As String = "SELECT PurchasedItem.SrNo, BookMaster.BookName, PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.BillDate, BillMaster.Total FROM BookMaster INNER JOIN PurchasedItem ON BookMaster.BookID = PurchasedItem.BookID INNER JOIN BillMaster ON PurchasedItem.BillID = BillMaster.BillID where BillMaster.BillDate between '" & d1.ToString("MM/dd/yyyy") & "' and '" & d2.ToString("MM/dd/yyyy") & "'" 'MsgBox(query) myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = query MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "DataTable1") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub End Class
  • 117.
    117 Book Store Management Codingfor Bill Print SCREEN: Imports System.Configuration Imports System.Data.SqlClient Public Class Bill Dim id As Integer Private Sub Bill_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim connectionString = ConfigurationManager.ConnectionStrings("Book ").ConnectionString Dim rpt As New CrystalReport3() Dim myConnection As SqlConnection Dim MyCommand As New SqlCommand() Dim myDA As New SqlDataAdapter() Dim myDS As New Book DataSet(). Try myConnection = New SqlConnection(connectionString) MyCommand.Connection = myConnection MyCommand.CommandText = "SELECT BillMaster.BillID, BillMaster.BillOwner, BillMaster.BillDate, BookMaster.BookName, PurchasedItem.Quantity, PurchasedItem.Price, BillMaster.Total FROM BillMaster INNER JOIN PurchasedItem ON BillMaster.BillID = PurchasedItem.BillID CROSS JOIN BookMaster where BillMaster.billID=" & id MyCommand.CommandType = CommandType.Text myDA.SelectCommand = MyCommand myDA.Fill(myDS, "DataTable3") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch Excep As Exception MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal id As Integer) InitializeComponent() Me.id = id End Sub End Class
  • 118.
    118 Book Store Management Codingfor project profile: Public NotInheritable Class AboutBox Private Sub AboutBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim ApplicationTitle As String If My.Application.Info.Title <> "" Then ApplicationTitle = My.Application.Info.Title Else ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) End If Me.LabelBookName.Text = My.Application.Info.BookName Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) Me.LabelCopyright.Text = My.Application.Info.Copyright Me.LabelCompanyName.Text = My.Application.Info.CompanyName Me.TextBoxDescription.Text = My.Application.Info.Description End Sub Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click Me.Close() End Sub Private Sub LabelBookName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelBookName.Click End Sub End Class
  • 119.
  • 120.
    120 Book Store Management CONCLUSION An attempt is made in all its earnest towards the successful completion of the project. This system was verified with valid as well as with invalid data.  This system is user friendly since it has been developed in visual studio 8 a successful GUI environment. Since the connection can be extended to any database. The control will be more powerful.  Connecting it to any type of database extends the development control. Any suggestions for future development of the system are welcome  Upgrading the system if may can be done without affecting the proper functioning of system.
  • 121.
  • 122.
    122 Book Store Management Systemimplementation  To run this application, firstly we need to install VisualStudio2008  Secondly, we need to install MYSQL2005  Thirdly, we need to Copy project files on to machine  Execute project.
  • 123.
  • 124.
    124 Book Store Management FUTUREENHANCEMENTS Due to time constraints on the part of the developer, supplier details form could not be prepared. Hence this project would be updated in the near future to include supplier details form and other similar reports. Details of book transaction between the owner and the supplier also has to be added Any suggestions are accepted. Any sort of problem would be solved. Any changes made in the system in future, will Affect the other functioning of the System .
  • 125.
  • 126.
    126 Book Store Management BIBLIOGRAPHY REFERENCESBOOKS: Software Engineering - Written by: Pankaj Jalote Project Management - Written by: K.R.Sharma The complete Reference for -Written by: Anne Bohem, Murach Websites: www.wrox.com www.webmonkey.com www.w3schools.com www.google.com Thank you.