Upload
ishanka-madushan
View
207
Download
1
Embed Size (px)
Citation preview
Parking Reservation Management System for
RANJAN LANKA IMP. PVT LTD
Submitted ByD.P.I.M Dissanayake
SEU/IS/11/MIT/034
Department of Management and Information Technology
Faculty of Management and Commerce
South Eastern University of Sri Lanka
Oluvil
2016
DECLARATION
I do hereby declare that the work has been originally carried out by me under the
guidance and supervision of Mr. A.J.M. Hasmy lecturer of Faculty of Management
& Commerce of South Eastern University of Sri Lanka and this work has not been
submitted elsewhere for any other Degree.
I certify that this Project, to the best of my knowledge, does not contain any
materials previously published or written by another author except where due
acknowledgement and reference is made in text.
………………………………..
Candidate Signature
Mr.D.P.I.M Dissnayake
SEU/IS/11/MIT/034
Date: ....................................
ii | P a g e
CERTIFICATION
This is to certify that the project entitled “Parking Reservation System for “Ranjan
Lanka IMP PVT Ltd” submitted by Mr. D.P.I.M Dissnayake (SEU/IS/11/MIT/034)
to the Department of Management Information Technology, Faculty of
Management and Commerce, South Eastern University of Sri Lanka, in Partial
Fulfillment of the Requirements of the Bachelor of Science in Management and
Information Technology Degree (BSc In MIT) is her original work based on the
study carried out independently by her during the period of study under my
guidance, supervision to the best of my knowledge.
………………………………….. .............................................
Signature of supervisor Date
Mr. A.J.M. Hasmy
Department of Management Information Technology
Faculty of Management & Commerce
South Eastern University of Sri Lanka
.
iii | P a g e
ACKNOWLEDGEMENT
I take this opportunity to express my heartfelt gratitude and profound feeling to
everyone who lend me their helping hand in order to make my project a success. A
warm thank to our supervisor, Mr. A.J.M. Hasmy Lecturer of, Faculty of
Management Commerce, South Eastern University of Sri Lanka for the constant
support rendered to me at all the stages of the project at all the times, right from the
very beginning till the submission of the final document. I thank to my beloved
parents for providing all the supports at all times when I needed help to complete the
project.
Once again I would like to take this opportunity to express my deep sense of
gratitude and profound feeling of admiration to my supervisor, Mr. A.J.M. Hasmy,
Lecturer of, Faculty of Management Commerce, South Eastern University of Sri
Lanka who constantly advised and guided throughout the course. Last but not least
a very big thank you for all my colleagues who helped me to overcome so many
problems that I faced in implementing the project.
Mr.D.P.I.M Dissnayake
Registration No: SEU/IS/11/MIT/ 034
Department of Management Information Technology
Faculty of Management and Commerce
South-Eastern University of Sri Lanka.
iv | P a g e
ABSTRACTAs IT student my main responsibility is to introduce new technologies or modify
an existing System. I develop this Online Parking Reservation System for
RANJAN LANKA IMP. PVT LTD to enhance efficiency, Effectiveness, and
responsiveness of the online- parking process and reduce the problems of the
business process of RANJAN LANKA IMP. PVT LTD.
I introduced Online- Parking Reservation System It is a web based system for a
private company to do their online business; it gathers at a single database all
exporting details, customer and supplier details to organize their works.
I developed this system with Microsoft technologies such as Microsoft Visual
Studio 2015, and Microsoft SQL Server 2012. Withal the basic programming
language and DBMS, you could definitely come across with various system
analysis and designing tools along with some additional development kits. The
objective behind the project has been attained with some outstanding graphical user
interfaces and those interfaces have been stemmed with a database that holds
multifarious information regarding this organization.
v | P a g e
ContentsDECLARATION..........................................................................................................ii
List of Figures...............................................................................................................xi
CHAPTER 01..............................................................................................................xii
1.0 INTRODUCTION.................................................................................................xii
1.2 PURPOSE.........................................................................................................xiii
1.3 Motivation Towards the proposed Solution......................................................xiii
1.4 Problem Identification and its Drawbacks........................................................xiv
1.5 Objectives of the proposed system with the Measurable Outcomes.................xiv
1.5.1 Aim.............................................................................................................xiv
1.5.2 Objectives...................................................................................................xiv
1.6 PROPOSED SOLUTION...................................................................................xv
1.6.1 Checking available parking slots................................................................xv
1.6.2 Requesting a prefer parking slot.................................................................xv
1.7 RESOURCE REQUIREMENTS......................................................................xvi
1.7.1 Functional requirements.............................................................................xvi
1.7.2 Non-Functional requirements....................................................................xvi
Operational Requirements...................................................................................xvi
Security Requirements........................................................................................xvi
Hardware:...........................................................................................................xvii
Software:............................................................................................................xvii
1.8 Financial Budget for the project.......................................................................xvii
1.9 LIMITATION..................................................................................................xvii
1.9.1 Assumptions..............................................................................................xvii
1.10 WORK BREAKDOWN STRUCTURE.......................................................xviii
1.11 GANTT CHART...........................................................................................xix
1.12 GANTT CHART with Schedule....................................................................xx
1.12 CONCLUSION...............................................................................................xxi
CHAPTER 02 02. Background Analysis / Literature Review...................................xxii
2.1 Introduction......................................................................................................xxii
2.2 INTRODUCTION TO DOMAIN....................................................................xxii
2.3 Similar Approaches.........................................................................................xxiii
vi | P a g e
2.3.1 Car.com.hk...............................................................................................xxiii
2.3.2 Parkinghk.com.........................................................................................xxiii
2.3.3 Wilsonparking.com.hk.............................................................................xxiv
2.3.4. Urban Parking.........................................................................................xxiv
2.4 Online sales channels:.....................................................................................xxiv
2.5 PROPOSED SOLUTION.................................................................................xxv
2.5.1 Checking available parking slots..............................................................xxv
2.5.2. Requesting a prefer parking slot..............................................................xxv
2.6 Literature Review.............................................................................................xxv
2.7 Definition..........................................................................................................xxv
2.8 Advantages of the System...............................................................................xxvi
2.8.1 User’s view..............................................................................................xxvi
2.8.2 Company’s view......................................................................................xxvi
2.9 CONCLUSION...............................................................................................xxvi
CHAPTER 03..........................................................................................................xxvii
03. Technology Adapted and Requirement Analysis..............................................xxvii
3.1 Introduction....................................................................................................xxvii
3.2 Technology adapted.......................................................................................xxvii
3.2.1 MS SQL Server.......................................................................................xxvii
3.2.2 ASP.NET and C#...................................................................................xxviii
3.3 Approaches....................................................................................................xxviii
3.4 Progress of the system...................................................................................xxviii
3.5 Functional requirements..................................................................................xxix
3.6 Web Application..............................................................................................xxix
3.6.1 Manage User profile.................................................................................xxix
3.6.2 Search for car park...................................................................................xxix
3.6.3 Manage reservation..................................................................................xxix
3.6.4 Payment for the reservation......................................................................xxx
3.6.5 Management of parking............................................................................xxx
3.7Administrator view:...........................................................................................xxx
3.8 CONCLUSION..............................................................................................xxx
CHAPTER 04...........................................................................................................xxxi
04. System Analysis and Logical Design..................................................................xxxi
4.1 Introduction.....................................................................................................xxxi
vii | P a g e
4.2 Analysis...........................................................................................................xxxi
4.2.1 Use case model of the system.......................................................................xxxi
Use Case Diagram................................................................................................xxxii
4.2.2 Activity diagram.........................................................................................xxxiii
Admin.............................................................................................................xxxiii
Security Officer...............................................................................................xxxiii
User..................................................................................................................xxxv
4.2.3 Sequence diagram.......................................................................................xxxvi
User.................................................................................................................xxxvi
Admin............................................................................................................xxxvii
Security.........................................................................................................xxxviii
4.2.4 State diagram..............................................................................................xxxix
4.2.5 Entity Relationship Diagram............................................................................xl
4.3 System Architecture Design...............................................................................xli
4.4 CONCLUSION.................................................................................................xlii
CHAPTER 05............................................................................................................xliii
05. Physical design and system development............................................................xliii
5.1 Introduction......................................................................................................xliii
5.2 Database design................................................................................................xliii
5.3 Data base schema.............................................................................................xliv
5.4 SYSTEM DEVELOPMENT METHOD...........................................................xlv
5.4.1 Agile Development Method.......................................................................xlv
5.4 Story board of the site.......................................................................................xlv
5.5 CONCLUSION................................................................................................xlvi
CHAPTER 06...........................................................................................................xlvii
06. TESTING............................................................................................................xlvii
6.1 INTRODUCTION...........................................................................................xlvii
6.2 Defects and failures........................................................................................xlviii
6.3 Input combinations and preconditions...........................................................xlviii
6.4 TESTING STRATEGY...................................................................................xlix
6.3 STATIC VS. DYNAMIC TESTING...............................................................xlix
6.4 WHITE BOX TESTING..................................................................................xlix
6.5 VISUAL TESTING...............................................................................................l
6.6 UNIT TESTING...................................................................................................li
viii | P a g e
6.7 INTEGRATION TESTING.................................................................................li
6.8 USER TESTING................................................................................................liii
CONCLUSION.........................................................................................................lv
CHAPTER 07..............................................................................................................lvi
07. Implementation......................................................................................................lvi
7.1 Introduction........................................................................................................lvi
7.2 Web application..................................................................................................lvi
7.2.1 Log in to the web application......................................................................lvi
7.2.2 Client data that admin can choose to view..................................................lvi
7.2.3 User registration..........................................................................................lvi
7.3 Screen Shots......................................................................................................lvii
7.3.1 Home page.................................................................................................lvii
7.3.2 Log in Interface..........................................................................................lvii
7.3.3 User Panel.................................................................................................lviii
7.3.4 Admin Panel.............................................................................................lviii
7.3.5 Select the slot..............................................................................................lix
7.3.6 Navigation To the parking slot...................................................................lix
7.3.7 Details of the selected slot...........................................................................lx
7.3.8 Payment interface.........................................................................................lx
7.3.9 Transaction Confirmed Interface................................................................lxi
7.10 CONCLUSION................................................................................................lxi
CHAPTER 08.............................................................................................................lxii
08. Discussion.............................................................................................................lxii
8.1 Introduction.......................................................................................................lxii
8.2 Conclusion.........................................................................................................lxii
8.3 Limitation.........................................................................................................lxiii
8.4 Further work.....................................................................................................lxiii
APPENDICES...........................................................................................................lxiv
Login......................................................................................................................lxiv
Register...................................................................................................................lxvi
Admin....................................................................................................................lxvii
Admin After Login...........................................................................................lxvii
Enable Disable Parking Slot..............................................................................lxix
ix | P a g e
User.......................................................................................................................lxxii
After Booking...................................................................................................lxxii
Credit Card Payment........................................................................................lxxiii
Payment Charges.............................................................................................lxxvi
REFERENCE.......................................................................................................lxxix
x | P a g e
List of FiguresFigure 1 - GANTT CHART........................................................................................xix
Figure 2GANTT CHART with Schedule....................................................................xx
Figure 3Approaches................................................................................................xxviii
Figure 4Use case model of the system......................................................................xxxi
Figure 5Use Case Diagram......................................................................................xxxii
Figure 6 Activity diagram- Admin.........................................................................xxxiii
Figure 7Activity diagram- Security Officer............................................................xxxiv
Figure 8Activity diagram- User...............................................................................xxxv
Figure 9- Sequence Diagram - User........................................................................xxxvi
Figure 10- Sequence Diagram -Admin..................................................................xxxvii
Figure 11- Sequence Diagram -Security Officer..................................................xxxviii
Figure 12- State Diagram User...............................................................................xxxix
Figure 13- ER Diagram.................................................................................................xl
Figure 14-System Architecture Design........................................................................xli
Figure 15-Data base schema......................................................................................xliv
Figure 16-Story Board................................................................................................xlv
Figure 17 - White Box Testing.......................................................................................l
Figure 18 whit box testing..............................................................................................l
Figure 19-Test case-User Login Process......................................................................lii
Figure 20-Test Case-Manage Contact Us Form...........................................................lii
Figure 21-Test Case-Manage User Sign up Form.......................................................liii
Figure 22- Sample testing display................................................................................liv
Figure 23-Screen Shot- Home page............................................................................lvii
Figure 24-Screen Shot-Log in Interface.....................................................................lvii
Figure 25-Screen Shot-User Panel.............................................................................lviii
Figure 26-Screen Shot-Admin Panel.........................................................................lviii
Figure 27- Screen Shot-Select the slot.........................................................................lix
Figure 28-Screen Shot-Navigation To the parking slot...............................................lix
Figure 29-Screen Shot-Details of the selected slot.......................................................lx
Figure 30-Screen Shot- Payment interface...................................................................lx
Figure 31-Screen Shot-Transaction Confirmed Interface............................................lxi
xi | P a g e
CHAPTER 01
1.0 INTRODUCTION
Ranjan Lanka (PVT) Ltd is the Group RANJAN LANKA the leading supermarket
chain in the country which has been in operation for the last 13 years and has been
focusing on offering the best in range, quality products and services to our valued
customers reaching out to a cross section of Sri Lankan consumers. Currently we
have 45 supermarkets in Sri Lanka and rapid expansion plans are underway to
make our presence felt in more locations.
The wide range of products include groceries, essentials, meats, vegetables, fruits,
bakery, dairy, household and home-ware such as linen, books, stationery,
pharmacy and beauty counters at selected outlets.
Business Name : RANJAN LANKA IMP. PVT LTD
Business Address : 4th Rest House Road, Gampaha
Contact No : +94 332 225 259
Fax No. : +94 332 225 260
Cooperate Status : Limited Liability Private Company
Established In : 2007 Jan. 20th
No. Of Employees : 100-110
Capital Investment : 870,000 US$
Bankers : Sampath Bank, People’s Bank, Commercial Ban
xii | P a g e
1.2 PURPOSE
In metropolitan areas, parking management influences drivers search time and cost
for parking spaces, parking revenue, and traffic congestion. The wide deployment
of wireless parking meters with sensing and communications capabilities allows
the parking authority to monitor the state of each parking space in real time and
optimize the parking management optimize the parking management.
In this thesis, I study state-of-the-art parking policies in smart parking systems, and
show that the smart parking system needs to be “smarter”. Our design goals of the
smart parking systems include
1. Simplify the operations of parking systems
2. Improve drivers’ satisfaction.
3. Increase parking revenue.
1.3 Motivation Towards the proposed Solution
In order to address these problems associated with parking, smart parking
reservation systems aiming to satisfy the involved parties (e.g., parking service
providers and drivers) have been developed. However, most current smart parking
reservation or parking guidance systems [1, 2] only collect and publish live
parking information to direct drivers to available parking spaces near their
destinations. These systems are not “smart” enough, because they cannot
successfully help drivers find a desired parking space in crowded areas, and
sometimes make the situation worse. For example, if available spaces in a
congested area are less than the spaces in demand, more drivers trying to park will
head for the limited available spaces, causing severer congestion. In this case,
detailed information associated with parking availability would allow drivers to
make better decisions on use of parking lots and road-side parking.
xiii | P a g e
1.4 Problem Identification and its Drawbacks
This Shopping complex is situated in crowded area in Gampha district, Because of
that incident
When a person/user is trying to enter to a vehicle park he/she may face several
difficulties. That problem can briefly describe as follows,
Check whether parking slots available or not
Booking a suitable parking slot early
Identify the location of the selected parking slot
Payments method for the vehicle park
Staff vehicle parking within the vehicle park
1.5 Objectives of the proposed system with the Measurable
Outcomes
1.5.1 Aim
The aim of this project is to develop a Vehicle Parking Reservation Management
System for triggered company/organization with the use of Microsoft visual studio
and Microsoft SQL Server.
1.5.2 Objectives
Study of the similar systems
Study of technologies like android ,database ,etc. and develop the software
according to the agile methodology
Analyze the requirement of system
Design & develop the proposed system
Evaluation of the proposed solution
xiv | P a g e
1.6 PROPOSED SOLUTION
So as a solution to this modern day problem I came up with idea of making parking
Reservation management system software in order to minimize this problem.
Through this proposed system drivers will able to park their vehicles without any
trouble and without any time wasting. Facilities given by our system is as follows.
1.6.1 Checking available parking slots
Once a vehicle arriving the car, park user is able to view the current reservation list
in the system and allow the member to check in to the car park .As overbooking
strategy is implemented in our prototype, the system will determine the current
utilization and decide whether the reservation can be check is or not.
1.6.2 Requesting a prefer parking slot
After checking a preferred parking slot, user can book the available parking slot by
mobile application or web application. Reservation charges also can paid through
the mobile/
xv | P a g e
1.7 RESOURCE REQUIREMENTS
To install this application software (Parking reservation Management System),
following hardware and software components needed.
1.7.1 Functional requirements
1. The system shall allow for parking administrators to generate real-time
parking reports.
2. The system shall allow for parking administrators to configure pricing data.
3. The system shall save customer details such as:
Email address
Telephone number
First name
Last name
1.7.2 Non-Functional requirements
Operational Requirements
1. The system will draw information from main parking databases, which contain
basic information about parking spots/spaces, availability, and price.
2. The system will store information entered by the passenger when making the
online reservation
Security Requirements
The system shall ensure all data is protected from unauthorized access
xvi | P a g e
Hardware: Computer with 512MB RAM
1.8GHz or more processing power
Internet Connectivity
Software:
Microsoft SQL Server 2008
Microsoft Visual Studio 2013/15
1.8 Financial Budget for the project
Description Amount (Rs.)
Information searching Rs. 55,000.00
Hardware Purchase (computer, printer etc...) Rs. 250,000.00
Software Purchase Rs. 70,000.00
Printing and Binding Report Rs. 7,000.00
Miscellaneous Rs. 5,000.00
Total Amount Rs. 387,000.00
1.9 LIMITATION
1.9.1 Assumptions
1. If the User didn’t move the car within the time period the car will be moved to
another location in the car park where the user agreed before booking.
2. User will be informed about the time, before 15 minutes of his departure time
that he booked.
3. Online Transaction is also occur in the Effective manner to provide Good
service for the Customer.
xvii | P a g e
1.10 WORK BREAKDOWN STRUCTUREFollowing is a breakdown of the major activities in the project:
0.1. Project Initiation
0.1.1. Analyze problem points
0.1.2. Understand and finalize Milestone
0.2. Requirements Analysis
0.2.1. Analyze gathered information
0.2.2. Define functional requirements
0.2.3. Define nonfunctional requirements
0.3. Software Design
0.3.1. Software Design Analysis
0.3.2. Design UML diagrams
0.3.3. Design ER Diagrams
0.4. Development (Code writing)
0.4.1. User interfaces
0.4.2. Development Database Scripts
0.4.3. Coding
0.4.4. Code Reviews
0.5. Technical Testing
0.5.1. Unit Testing
0.5.2. Integration Testing
0.5.3. User Acceptance Testing
0.6. System Implementation
xviii | P a g e
1.12 CONCLUSION
In this chapter it is discussed about the evaluation of the project. As this includes the
interim progress of our system we are unable to give a final evaluation on the project.
But in summary we first gave brief introduction of the prevailing problems, our
motivation, objectives and proposed solution for the problem
In conclusion I can say that this parking management system will make the lives easy
of the users as well as the company. Unless it would be a waste of time, and a burden
for the drivers as well.
Specially a park like Ranjan Lanka where always crowded this would make easy for
the customers too. This will reduce the customers’ time wasting at the payment gates
as well.
So in my point of view I suppose that this system will be helpful for many places and
can be further developed
xxi | P a g e
CHAPTER 02
02. Background Analysis / Literature Review
2.1 Introduction
The chapter two basically describe about proposed system domain, current system
evaluation including organizational background, disadvantages of the existing
system and problem statement. And also include advantages and importance of the
new system and technology for build new system.
2.2 INTRODUCTION TO DOMAIN
There are two domains to develop a new system.
1. Web based application
2. Windows based application
Web applications supposed to be tested on different browsers and OS platforms.
Web based application will be loaded in the server. Client machine use this
application using URL. Windows based application run on personal computers and
workstations. When we test the desktop application we are focusing on a specific
environment.
Preliminary purpose of the chapter two is basically describe about the current
system use in the recognized organization which are developed by previously by
others and what are the problems related to this Parking Management System.
Then briefly describe the features, functions and models of proposed system.
In this chapter there are description of advantages of the proposed system that
concluded how the system will solve the problem arising from the previous system.
xxii | P a g e
2.3 Similar Approaches
This is a brief overview of the similar systems and a discussion about the features
developed which are different from Parking Management System., The privileges
those changes have brought to this system and the drawbacks that are arisen due to
them.
2.3.1 Car.com.hk
“Car.com.hk” is an online website provided and managed by two Local website -
discuss.com.hk
And uwant.com. It is an online platform mainly used for second-hand vehicle’s
buying and selling for the community. It provided wide range of information
including promotions and some related news information. It also provides car park
information and searching functionality in one of its sub-section. User can search
for a car park using name or address; it can also filter the result by different car
park type and charging mode. Although the lists of available car parks are limited,
the results are visualized clearly with appropriate icons indicating and comparing
the search result. Google map is also integrated within the system; user can locate
the car park via a map view. It is a very useful feature, especially for drivers
looking for nearby car park, for experienced driver, they might able to recognize
most nearby area and street names, and seek for a suitable car park at a
convenience manner.
2.3.2 Parkinghk.com
“Parkinghk.com” is an associate company of Hong Kong City Parking. It is a web
application providing a platform for users to search for car park locations, parking
space to lease and sales across various locations in Hong Kong. It also provided
analyses results and reviews on price movement, monthly rent and parking space
demand and supply in Hong Kong for references.
xxiii | P a g e
2.3.3 Wilsonparking.com.hk
“Wilsonparking.com.hk” is the official web site of Wilson Parking. It provides all
the information of car parks under its management. In the web site, there are “easy
locator” and “advanced locator” for user to search for car park with different
criteria. The easy locator is a simplified one, which allows user to locate a car park
by district easily, and provides an overview list of existing car park, while the
advanced locator provides a full featured table view of its car park, with filtering
option of different services provided, user can easily locate a car park by services
such as hourly or day park.
Both searching function includes a detail view of each car park with services, rate,
phone, payment method and photo of each car park; it also intergraded with
Google map and provide a map view for navigation. These searching functions are
well-designed and provide convenience services enabling user to search for its car
park within a short period.
2.3.4. Urban Parking
SKIDATA solutions and its modern system architecture allow for full integration
of mobility services and partners, high operational performance and cost-
effectiveness in running a single car park or multiple car parks in a network.
Through the adoption of new technologies such as mobile devices, SKIDATA
supports operators and service providers in differentiating themselves in their
markets, retain customers and consequently increase revenue.
2.4 Online sales channels:
Customers are able to make online reservations and pre-book parking & mobility
services individually or in packages via B2B and B2C channels, e.g. Park & Bike,
Park & Ride for one time usage or permanent permissions, such as for commuters.
xxiv | P a g e
2.5 PROPOSED SOLUTION
So as a solution to this modern day problem I came up with idea of making parking
Reservation management system software in order to minimize this problem.
Through this proposed system drivers will able to park their vehicles without any
trouble and without any time wasting. Facilities given by our system is as follows.
2.5.1 Checking available parking slots
Once a vehicle arriving the car, park user is able to view the current reservation list
in the system and allow the member to check in to the car park .As overbooking
strategy is implemented in our prototype, the system will determine the current
utilization and decide whether the reservation can be check is or not.
2.5.2. Requesting a prefer parking slot
After checking a preferred parking slot, user can book the available parking slot by
mobile application or web application. Reservation charges also can paid through
the mobile
2.6 Literature Review
As the first of the project, I decide to write a brief history of Parking Reservation
Management system and its processes so as to enlighten and understand clearer
what the project is all about. Some of the features of the current Parking
Management systems will be documented here, together with the major and
general types of Parking Management systems.
2.7 Definition
Parking Reservation Management system is a system that is used to help managing
cars in parking area in other to avoid congestion and arrange cars in an allocated
position. The system also helps to pay money online when parking slot booking.
Parking Management system is being used in many congested area or location
where there are many meeting point of people like where there are more than one
shopping complex near to each other or where there is megamall or stadium.
xxv | P a g e
2.8 Advantages of the System
Advantages gained through our system are as follows.
2.8.1 User’s view
Ease of mind when deciding to drive
Hassle free location of parking space
More time saved means better allocation of schedule
It is very flexible and convenient to handle the system
Very user friendly in operating the user
2.8.2 Company’s view
1. Company can save more energy
2. Company can use technology which brings superb advanced parking
system that is easy to operate.
3. Better control and allocation of parking space to maximize profits.
4. Company can change the parking model through their experiences
2.9 CONCLUSION
In this chapter it is discussed about the evaluation of the project. As this includes
the interim progress of my system I’m unable to give a final evaluation on the
project. But in summary I first gave brief introduction of the prevailing problems,
our motivation, objectives and proposed solution for the problem
In conclusion I can say that this parking management system will make the lives
easy of the users as well as the company. Unless it would be a waste of time, and a
burden for the drivers as well.
Specially a park like Ranjan Lanka where always crowded this would make easy
for the customers too. This will reduce the customers’ time wasting at the payment
gates as well.
So in my point of view I suppose that this system will be helpful for many places
and can be further developed for the company requirements as well
xxvi | P a g e
CHAPTER 03
03. Technology Adapted and Requirement Analysis
3.1 Introduction
The chapter two basically describe about proposed system domain, current system
evaluation including organizational background, disadvantages of the existing
system and problem statement. And also include advantages and importance of the
new system and technology for build new system
3.2 Technology adapted
In this fast moving world technology emerged rapidly. Human requirements also
change towards the new technologies. The usage of web sites has increased.
The technologies used in the project are as follows.
Object Oriented Programming – C#
Databases -MSSQL
Web development-ASP.NET
3.2.1 MS SQL Server
Microsoft SQL Server is a relational database management system developed by
Microsoft. As a database server, it is a software product with the primary function
of storing and retrieving data as requested by other software applications which
may run either on the same computer or on another computer across a network
(including the Internet).
Web application development process uses the MySQL database. MySQL is a
freely available open source relational database management system. It uses
structured query language. It is more useful with its quick processing, proven
reliability and flexibility. So using this, can store data about users, vehicle
information, parking slot information in an effective way.
xxvii | P a g e
3.2.2 ASP.NET and C#
Web application development process uses the ASP .net Framework. It is an open
source server side web application frame work. In the project C# is used as the
language in developing the web based application.
Asp development eases the work load of web development. Built-in components
help to reduce the amount of coding .This is an industry standard web development
technique, so that high quality user interfaces are able to design. For the
development and validation Microsoft Visual studio is used.
In the web application user view, security officer view and the administrator view
are being developed by using ASP .net.
3.3 Approaches
Before start discussing my approach, I would like to define some terminologies
first. The following table summarizes the terminologies used during reservation
process in the project.
Word Description
Parking slot(Free Slot) Physical space that a vehicle will be
parked
Hourly charge The charge for parking per hour
Check in The vehicle arrive the car and make use
of the parking service
Check out Vehicle leave the car parkFigure 3Approaches
3.4 Progress of the system
With the help of client server architecture, and relational database system the
system can be created in a very efficient way. And further details regarding these
areas will be discussed in the implementing section. Some of the areas are
described as follows.
xxviii | P a g e
3.5 Functional requirements
Car park reservation system is a web system for client as well as for the car park
management user. Each of them involving different functionalities in our system.
3.6 Web Application
For car park members
3.6.1 Manage User profile
User can register to the system by filling the form provided. The form will consist
with name, NIC number, contact number, e- mail address etc.
Once the user is registered, they can login to our system and manage their profile.
They are given the ability to edit the profile, view reservation, and edit reservation
as well.
3.6.2 Search for car park
User is provided with the ability to select the preferred date and arrival and
departure time for reservation. Once the selection is done a grid will be appeared
with the slot numbers.
3.6.3 Manage reservation
Once the user located a car park, they can make a reservation and receive a
guaranteed parking space in advance. Once a reservation is confirmed, our system
will issue a confirmation notification to the user through an email. This helps user
to plan ahead for their trip, and avoid unnecessary time wasting for queuing and
searching for parking space. Besides, this application allow user to manage their
reservation in our system such as modifying or cancelling a reservation within pre-
defined allowed time.
xxix | P a g e
3.6.4 Payment for the reservation
The user will be given the credit card facility to pay for the reservation. But he will
have to pay through registered card numbers only.
3.6.5 Management of parking
When the user parked the car he has to give the key to the security officer, the key
will be kept in a safe place, if the user is unable to leave the car park within the
time duration he booked security officer will place the car in another location.
3.7Administrator view:
Manage member
Administrator is able to manage the registration of user
Customize the parking slots and payments
Above mentioned grid will be viewed for the admin as well. He will be provided
with an additional facility to customize the parking slots. That means if a slot is
under construction administrator has the ability to make that slot unavailable for
the user.
Further he has the ability to customize the payment methods and credit card facility
as well.
3.8 CONCLUSION
This chapter provides the basic idea about the project design and implementation.
Basically this is the brief approach that the proposed solution is filled with.
Analysis and design will be discussed in the next chapter.
xxx | P a g e
CHAPTER 04
04. System Analysis and Logical Design
4.1 Introduction
This chapter mainly describes about the analysis and design of the solution that has
made, the analysis that has done when developing the system and design of the
solution. Basically this chapter will discuss more about the analytical background
and the design of the project.
4.2 Analysis
Irrespective of the technology and management, analysis identifies what the system
should do. For a better analysis, there should be a clear requirement specification.
Requirements are well understood and well established.
After gathering requirements and analyzing them system was visually modeled
with the help of UML tools and OOAD concepts to get an overview of the system.
4.2.1 Use case model of the system
The prototype of our car park reservation system consists of a set of function to
assist in car park reservation and management. The following use cases as shown
below provides a better understanding and overview of features and user
requirements included, as well as the actors involved. It also represents the
function requirements of our prototype. As shown in the user case diagram, system
consists of three main actors. The following table summarizes their roles involved
in our system.
Actor Description
User Member is the car owner who is of the primary user of
the system, their major goal is to find and reserve car
park slot through using the car park reservation
system. They can also cancel reservation and view car
park reservation information by using the system.
Security Manage the parking
Administrator They can manage car park parameter by enabling and
disabling the slots.
xxxi | P a g e
4.3 System Architecture Design
System Architecture Design is a major roll for any software development process.
The product will fail if the system architecture is not properly designed.
Figure 14-System Architecture Design
xli | P a g e
4.4 CONCLUSION
This chapter mainly focused on Analysis and Design phase. It describes how the
requirements were gathered from the client and how these requirements were
analyzed. After analyzing the requirements they were visually modeled using UML
and OOAD concepts.
Then the analyzed details are used for the design phase.
xlii | P a g e
CHAPTER 05
05. Physical design and system development
5.1 Introduction
Physical Design describes how the system should be constructed. In the system
design phase the required technologies have been identified. These technologies
mapped with the conceptual models created at the analysis phase.
This chapter will cover how to methodology that is being used to make Parking
Reservation Management System physically and also detail description of
developed information system, components and process. System development
method used to develop the information system for RANJAN LANKA IMP. PVT
LTD
5.2 Database design
Relational Data base management system was selected as the database
management system, since currently it is being recognized as one of the best
database types. MySQL RDBMS is used for the system.
The database was designed using the ERD which was designed in the Analysis
phase as the base. Normalization rules were applied to normalize the database.
Normalization was done up to 3rd Normalization. In designing the database, the
entities were converted to tables and attributes were converted to the fields.
xliii | P a g e
5.4 SYSTEM DEVELOPMENT METHOD
5.4.1 Agile Development Method
I use the agile development method to build parking Management System. Agile
software development is a group of software development methods in which
requirements and solutions evolve through collaboration between self-organizing,
cross-functional teams. It promotes adaptive planning, evolutionary development,
early delivery, continuous improvement, and encourages rapid and flexible response
to change. It works by breaking projects down into little bits of user functionality
called user stories, prioritizing them, and then continuously delivering them in short
two week cycles called iterations.
5.4 Story board of the site
Figure 16-Story Board
xlv | P a g e
Home | Contact us | Sign inContent
Company Name
Slide Show
Services Overview
5.5 CONCLUSION
This chapter mainly focused on Physical Design and System Development. It
describes how the physically design the system and database .This chapter include
Story board of the system, System development method, and database schema and
database design.
xlvi | P a g e
CHAPTER 06
06. TESTING
6.1 INTRODUCTION
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software testing
can also provide an objective, independent view of the software to allow the
business to appreciate and understand the risks of software implementation. Test
techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a
computer program/application/product:
Meets the requirements that guided its design and development, works as expected,
Can be implemented with the same characteristics, and satisfies the needs of
stakeholders.
Software testing, depending on the testing method employed, can be implemented
at any time in the development process. Traditionally most of the test effort occurs
after the requirements have been defined and the coding process has been
completed, but in the spurt approaches most of the test effort is on-going. As such,
the methodology of the test is governed by the chosen software development
methodology.
Different software development models will focus the test effort at different points
in the development process. Newer development models, such as Agile, often
employ test-driven development and place an increased portion of the testing in the
hands of the developer, before it reaches a formal team of testers. In a more
traditional model, most of the test execution occurs after the requirements have
been defined and the coding process has been completed.
Finally we can say that software testing in the sense testing whether the software
meet the requirement that were identified in the requirement capture.
xlvii | P a g e
6.2 Defects and failuresNot all software defects are caused by coding errors. One common source of
expensive defects is caused by requirement gaps, e.g., unrecognized requirements that
result in errors of omission by the program designer. Common source of
requirements gaps is non-functional requirements such as testability, scalability,
maintainability, usability, performance, and security.
Software faults occur through the following processes. A programmer makes an error
(mistake), which results in a defect (fault, bug) in the software source code. If this
defect is executed, in certain situations the system will produce wrong results, causing
a failure. Not all defects will necessarily result in failures. For example, defects in
dead code will never result in failures. A defect can turn into a failure when the
environment is changed. Examples of these changes in environment include the
software being run on a new computer hardware platform, alterations in source data,
or interacting with different software. A single defect may result in a wide range of
failure symptoms.
6.3 Input combinations and preconditionsA very fundamental problem with software testing is that testing under all
combinations of inputs and preconditions (initial state) is not feasible, even with a
simple product. This means that the number of defects in a software product can be
very large and defects that occur infrequently are difficult to find in testing. More
significantly, non-functional dimensions of quality (how it is supposed to be versus
what it is supposed to do)—usability, scalability, performance, compatibility,
reliability—can be highly subjective; something that constitutes sufficient value to
one person may be intolerable to another.
Software developers can't test everything, but they can use combinatorial test design
to identify the minimum number of tests needed to get the coverage they want.
Combinatorial test design enables users to get greater test coverage with fewer tests.
Whether they are looking for speed or test depth, they can use combinatorial test
design methods to build structured variation into their test cases.
xlviii | P a g e
6.4 TESTING STRATEGY
Bottom up testing is used in the system to avoid unnecessary duplication of effort.
Individual object will be tested in isolation using unit testing and gradually
integration for the higher – level integration testing and system testing. Failed
components will be migrated back to the development phase for rework, and
components that work properly will migrate ahead for implementation.
6.3 STATIC VS. DYNAMIC TESTING
There are many approaches to software testing. Reviews, walkthroughs, or
inspections are referred to 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 omitted, and unfortunately in practice often is. Dynamic testing takes place
when the program itself is used. Dynamic testing may begin before the program is
100% complete in order to test particular sections of code and are applied to
discrete functions or modules. Typical techniques for this are either using
stubs/drivers or execution from a debugger environment.
Static testing involves verification whereas dynamic testing involves validation.
Together they help improve software quality
6.4 WHITE BOX TESTING
White-box testing (also known as clear box testing, glass box testing, and
transparent box testing and structural testing) tests internal structures or workings
of a program, as opposed to the functionality exposed to the end-user. In white-box
testing an internal perspective of the system, as well as programming skills, are
used to design test cases. The tester chooses inputs to exercise paths through the
code and determine the appropriate outputs. This is analogous to testing nodes in a
circuit, e.g. in-circuit testing (ICT).
xlix | P a g e
While white-box testing can be applied at the unit, integration and system levels of
the software testing process, it is usually done at the unit level. It can test paths
within a unit, paths between units during integration, and between subsystems
during a system–level test. Though this method of test design can uncover many
errors or problems, it might not detect unimplemented parts of the specification or
missing requirements.
Techniques used in white-box testing include:
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 – intentionally introducing faults to gauge the efficacy
of testing strategies
Mutation testing methods
Static testing methods
6.5 VISUAL TESTING
The aim of visual testing is to provide developers with the ability to examine what
was happening at the point of software failure by presenting the data in such a way
that the developer can easily find the information he requires, and the information
is expressed clearly.
l | P a g e
Figure 18 whit box testingFigure 17 - White Box Testing
At the core of visual testing is the idea that showing someone a problem (or a test
failure), rather than just describing it, greatly increases clarity and understanding.
Visual testing therefore requires the recording of the entire test process – capturing
everything that occurs on the test system in video format. Output videos are
supplemented by real-time tester input via picture-in-a-picture webcam and audio
commentary from microphones.
Visual testing provides a number of advantages. The quality of communication is
increased dramatically because testers can show the problem (and the events
leading up to it) to the developer as opposed to just describing it and the need to
replicate test failures will cease to exist in many cases. The developer will have all
the evidence he requires of a test failure and can instead focus on the cause of the
fault and how it should be fixed.
Visual testing is particularly well-suited for environments that deploy agile
methods in their development of software, since agile methods require greater
communication between testers and developers and collaboration within small
teams.
6.6 UNIT TESTING
Unit testing reveals system and semantic error from the smallest programming unit.
In this thesis, unit testing is used to test each individual page. Errors that are found
in a particular section or form of the system are thoroughly debugged and removed
before starting to develop another form or section. Due to the dynamic nature of
testing, there is no proper testing documentation created.
6.7 INTEGRATION TESTING
When each pages of particular section passed the unit testing, integration test was
carried out to ensure that pages are linked in the correct flow and integrate properly
into the entire system. Integration testing was mainly conducted according to the
privilege that information executive, data entry and report generation
li | P a g e
User Login ProcessTest case
Objective Test Case Description
Expected outcome Status
1 Check the interface
link between login
form and User After Login
Form
Enter the correct
user name and
password. then
click login
button
Accept user Name
and password and
display
Enter the invalid
Username and
Password and
click login
button
Error message “Login
Failed”
Figure 19-Test case-User Login Process
Manage Contact Us Form
Test case
Objective Test Case Description
Expected outcome Status
2 Check the interface
For users Contact Us
web
Form
In adding form
enter new details
click Submit button
Added user Contact
detail to database.
In change of
resetting
User contacts details
When clicking reset
button
Contact Us form all
details will be
Cleared
lii | P a g e
Figure 20-Test Case-Manage Contact Us Form
Manage User Sign up Form
Test case
Objective Test Case Description
Expected outcome Status
3 Check the interface
link among the Register
Form among Vehicle
Register Form
Signup new user by
using Register form
Clicking Signup
button
Appear vehicle
Register form
In change of adding
Details to register
Form
When enter invalid
Email address unequal
password for Signup
Display “Enter valid
Email Address and
passwords should be
same.
In change of resetting
User Signup details
When clicking reset
button
Signup form all
details will be
Cleared
Figure 21-Test Case-Manage User Sign up Form
6.8 USER TESTING
For the user testing, involved one clear and computer operator from RANJAN
LANKA IMP. PVT LTD to confirm that the developed system meets the user
requirements. User testing shall be done in a simulated “real „” user requirement
with the user using simulated or real target platform and infrastructures. Therefore
user testing for this system is tested on the researcher’s laptop with a personal
system. Further evaluated the system to see whether it meets the user requirements
liii | P a g e
or not, which is the most important process of delivering the system. For the
evaluation process I made a simple questionnaire to get the user’s feedback about
the system. This questionnaire will help to rate the system and get a clear idea
about the state of the system.
Getting feedbacks from the users is an important thing because it helps to improve
the system, identify drawbacks and overcome them with the use of modern
technology. Main idea of introducing a new product to the market with the use of
modern technology is to help the customers and users of our system to ease their
work and get them done by in an effective and efficient manner. So the most
important thing is the customer satisfaction. Using the questionnaire, users can
evaluate the system and state whether the system has fulfilled their requirements.
Here I have tested whole forms of proposed Parking Reservation Management
System for
RANJAN LANKA IMP. PVT LTD and it works thoroughly without any errors.
Some of the sample testing display following.
Test
No
Condition
Being Tested
Expected
Result
Actual Result
02
progress the
program and
then display
the login
form
Login form
should
display
03
User name
and password
Massage
should be
liv | P a g e
wrong display
04 Click on
submit
button in
contact us
form
“Thank
you for
Submission
Message
will appear
CONCLUSION In this chapter testing and implementation are discussed. Further, testing also ensure
that the function in the correct and proper manner with the minimum amount of
deploy the system successfully. This chapter includes different test cases, types of
testing carried out for the system (Unit Testing, Integration Testing), white box and
black box testing as well as steps of debugging the Parking Reservation Management
System for RANJAN LANKA IMP. PVT LTD.
lv | P a g e
Figure 22- Sample testing display
CHAPTER 07
07. Implementation
7.1 Introduction
This mainly discusses the implementation of the modules which were discussed in
the Analysis and Design phase. This contains the code techniques and that were
used up to now developing the system.
7.2 Web application
7.2.1 Log in to the web application
Registered users, unregistered users, security officers and admin can log in to the
web application by using their User ID and Password. After the login screen, each
user (Admin, Security officers) will have relevant web pages according to the task
they performed. Unregistered users can registered into the system using Sign up tab
on the web application.
7.2.2 Client data that admin can choose to view
On admin windows, there are options to customize parking slot availability, enable
or disable particular parking slots. Admin authenticate user registration and admin
responsible for customize payments methods and rates.
7.2.3 User registration
For register new user to the system it is required to fill and submit the form that
contains user details. Name, NIC No, Address, Telephone, Password are needed to
be filled in order to register. After registration is completed user can edit their
profile.
lvi | P a g e
7.3 Screen Shots
7.3.1 Home page
7.3.2 Log in Interface
lvii | P a g e
Figure 23-Screen Shot- Home page
Figure 24-Screen Shot-Log in Interface
7.3.3 User Panel
Figure 25-Screen Shot-User Panel
7.3.4 Admin Panel
Figure 26-Screen Shot-Admin Panel
lviii | P a g e
7.3.5 Select the slot
7.3.6 Navigation To the parking slot
lix | P a g e
Figure 27- Screen Shot-Select the slot
Figure 28-Screen Shot-Navigation To the parking slot
7.3.7 Details of the selected slot
7.3.8 Payment interface
lx | P a g e
Figure 29-Screen Shot-Details of the selected slot
Figure 30-Screen Shot- Payment interface
7.3.9 Transaction Confirmed Interface
Figure 31-Screen Shot-Transaction Confirmed Interface
For the testing we use Dummy credit card details in data base
Cd ID Web Card No CVV2No Amount
10 123 123 9900
11 1234432112344321 147 10000
12 4444000012341234 456 10000
13 1008468592215681 386 10000
14 1111000011110000 101 1000
7.10 CONCLUSION
This chapter was mainly focused on how the system was implemented and tested.
Including Web application GUI and Database.
lxi | P a g e
CHAPTER 08
08. Discussion
8.1 Introduction
This chapter reports the conclusion of overall achievements and some further work.
8.2 Conclusion
At the beginning of the project my intention was to develop a vehicle parking
reservation software in order to minimize the problem of finding a parking slot in a
busy location. Through this proposed system the need was make the drivers to park
their vehicles without any trouble and without any time wasting.
I am successful in achieving my aims and objectives. The survey conducted after
completing the project, with a random sample of users has clearly shown that I
have achieved the intended results successfully .I was able to develop a web based
application to use in online parking reservations. I developed a user view, security
officer view and an administration view according to the need of the organization.
The design and implementation is described in previous chapters.
By using our application identified practical following problems are minimized.
Get to know about whether parking slots are available or not
Book a suitable parking slot early
Identify the location of the selected parking slot
Payments method for the vehicle park, which will save the time which
will be wasted for queues.
When developing the system I had to face many problems and had to have some
limitations as well.
lxii | P a g e
8.3 Limitation
In practical there might be situations the user unable leave the slot after booked
time period. In the current system if it happened by any chance the car will be
parked in another location by the security officer (security gets the key before user
leaves the vehicle)
User has to pay a fine for the additional time he stays in the car park. The user will
be pre announced about this.
The payment method is done in our system as a demo. To implement a credit card
facility in real a payment gateway is needed. It is costly. As I am unable to afford
that cost I implemented the system using a demonstration. Further the correctness
of the parking will be checked by the sensor system.
8.4 Further work
Further work is needed to be done in the future to make the product more flexible
and user friendly. Therefore hope to develop an alarm notification to send to the
user before the departure time he has booked to notify that he has to leave the car
park. If the user unable to react for the alarm the car will be taken out.
Furthermore hoping to have a lead time between the time slots given to make the
reservation convenient.
lxiii | P a g e
APPENDICES
Login
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;using System.Data.Odbc;using System.Data.OleDb;using System.Configuration;
namespace RanjanLanka.MyWebPages{ public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Button1.Style.Add("background-color", "#19a6e4"); Button2.Style.Add("background-color", "#19a6e4"); }
protected void Button1_Click(object sender, EventArgs e) { String CS = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection myConnection = new SqlConnection(CS)) { myConnection.Open(); string GetuserID = "select count(*) from customer_new where userName ='" + TextBoxUserName.Text + "'"; SqlCommand command = new SqlCommand(GetuserID, myConnection); int temp = Convert.ToInt32(command.ExecuteScalar().ToString());
if (temp == 1) { string CheckPassword = " select password from customer_new where userName ='" + TextBoxUserName.Text + "'"; SqlCommand Passwordcommand = new SqlCommand(CheckPassword, myConnection); string password = Passwordcommand.ExecuteScalar().ToString();
string gtUserName = TextBoxUserName.Text; string GetUserrolevalue = " select RoleValue from roleTable where userName ='" + TextBoxUserName.Text + "'"; SqlCommand userRolecommand = new SqlCommand(GetUserrolevalue, myConnection); string Userrolevalue = userRolecommand.ExecuteScalar().ToString();
lxiv | P a g e
if (password == TextBoxPassword.Text) { string addchar = "hellouser"; string gtSecurity = string.Concat(gtUserName, addchar); gtSecurity = gtSecurity.Substring(0,8); if (Userrolevalue == "3") { Response.Redirect("Admin/AdminAfterLogin.aspx"); } else if (Userrolevalue == "2") { string GettingUser = "select fname from customer_new where userName='" + gtUserName + "'"; SqlCommand FnameCmd = new SqlCommand(GettingUser, myConnection); string ReleventSecurity = FnameCmd.ExecuteScalar().ToString(); Session["LoggedSecurityFName"] = ReleventSecurity; Response.Redirect("SecurityOfficer/SecurityAfterLogin.aspx");
} else if (Userrolevalue == "1") { string GettingUser = "select fname from customer_new where userName='" + gtUserName + "'"; SqlCommand FnameCmd = new SqlCommand(GettingUser, myConnection); string ReleventUser = FnameCmd.ExecuteScalar().ToString();
string GettingUserID = "select Userid from customer_new where userName='" + gtUserName + "'"; SqlCommand UserIDCmd = new SqlCommand(GettingUserID, myConnection); int RelUserID = Convert.ToInt32(UserIDCmd.ExecuteScalar().ToString());
Session["LoggedUserFName"] = ReleventUser; Session["LoggedUserID"] = RelUserID; Session["LoggedUserName"] = gtUserName;
Response.Redirect("User/UserAfterLogin.aspx"); } //write a code to bring the Name from db and pass it by a session to the next page } else { Label1.Text="Login Failed"; }
} myConnection.Close(); } }
lxv | P a g e
protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("Register.aspx"); } }}
Register
using System;using System.Configuration;using System.Data.SqlClient;using RanjanLanka.Repository;
namespace RanjanLanka.MyWebPages{ public partial class Register1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Button1.Style.Add("background-color", "#19a6e4"); Button2.Style.Add("background-color", "#19a6e4");
if (!IsPostBack) { TextBoxFName.Text = ""; TextBoxLName.Text = ""; TextBoxUserName.Text = ""; TextBoxNICNo.Text = ""; TextBoxAddress.Text = ""; TextBoxTele.Text = ""; TextBoxEmail.Text = ""; TextBoxPass.Text = ""; TextBoxConPass.Text = ""; } }
protected void Button1_Click(object sender, EventArgs e) { string FirstName = TextBoxFName.Text; string LastName = TextBoxLName.Text; string UserName = TextBoxUserName.Text; string NICNo = TextBoxNICNo.Text; string Address = TextBoxAddress.Text; string Telephone = TextBoxTele.Text; string Email = TextBoxEmail.Text; string Password = TextBoxPass.Text; int roleNumber = 1;
UserRegister RegisObj = new UserRegister();
int ExistUser = RegisObj.UserRegisterDetails(FirstName, LastName, UserName, NICNo, Address, Telephone, Email, Password, roleNumber);
lxvi | P a g e
if (ExistUser == -1) { Label1.Text = "UserName that you have entered is already exist"; } else { String ConString = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection = new SqlConnection(ConString)) { connection.Open(); string GetuserID = "select userID from customer_new where UserName ='" + TextBoxUserName.Text + "'"; SqlCommand com2 = new SqlCommand(GetuserID, connection); int gtuserID = Convert.ToInt32(com2.ExecuteScalar().ToString()); Session["mySesID"] = gtuserID;
connection.Close(); } Response.Redirect("VehicleRegister.aspx"); //Response.Redirect("AfterRegistration.aspx?GottextBoxName=" + TextBoxName.Text); } }
protected void Button2_Click(object sender, EventArgs e) { TextBoxFName.Text = ""; TextBoxLName.Text = ""; TextBoxUserName.Text = ""; TextBoxNICNo.Text = ""; TextBoxAddress.Text = ""; TextBoxTele.Text = ""; TextBoxEmail.Text = ""; TextBoxPass.Text = ""; TextBoxConPass.Text = ""; }
}}
Admin
Admin After Login
using System;
lxvii | P a g e
using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
namespace RanjanLanka.MyWebPages.Admin{ public partial class AdminAfterLogin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Label1.Text = "Admin"; }
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { Response.Redirect("EnDisParkingSlot.aspx"); }
protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { Response.Redirect("SecurityRegistration.aspx"); }
protected void ImageButton3_Click(object sender, ImageClickEventArgs e) {
}
protected void ImageButton4_Click(object sender, ImageClickEventArgs e) {
}
protected void ImageButton5_Click(object sender, ImageClickEventArgs e) { Response.Redirect("ChangeChargeRates.aspx"); }
protected void ImageButton6_Click(object sender, ImageClickEventArgs e) { Response.Redirect("ViewContactUs.aspx"); }
protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("A.aspx"); }
protected void Button1_Click1(object sender, EventArgs e) { Response.Redirect("A.aspx"); } }}
lxviii | P a g e
Enable Disable Parking Slot
using System;using System.Configuration;using System.Data.SqlClient;using System.Linq;
namespace RanjanLanka.MyWebPages.Admin{ public partial class EnDisParkingSlot : System.Web.UI.Page { string selectedDate,showSDate; DateTime Sdate; protected void Page_Load(object sender, EventArgs e) { Label1.Text = "Admin"; DropDownList1.Visible = false; RadioButton1.Visible = false; RadioButton2.Visible = false; Button3.Visible = false; Button4.Visible = false; }
protected void Calendar1_SelectionChanged(object sender, EventArgs e) { if (IsPostBack) { showSDate = Calendar1.SelectedDate.ToShortDateString(); Label2.Text = showSDate; } } //protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) //{ // if (e.Day.Date.CompareTo(DateTime.Today) < 0)
lxix | P a g e
// { // e.Day.IsSelectable = false; // e.Cell.BackColor = System.Drawing.Color.GhostWhite; // } //}
int SizeOfArray = 0; protected void Button1_Click(object sender, EventArgs e) { DropDownList1.Visible = true; Button3.Visible = true; Label4.Text = "Available Slots";
string[] allSlotArray = new string[25] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25" }; selectedDate = Calendar1.SelectedDate.ToShortDateString(); Sdate = Convert.ToDateTime(selectedDate); Session["mySesDate"] = Sdate;
String ConString2 = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection = new SqlConnection(ConString2)) { connection.Open(); string GetSlots = "select bookSlotNo from booking where sDate = '" + selectedDate + "'"; SqlCommand cmd3 = new SqlCommand(GetSlots, connection); using (SqlDataReader rdr = cmd3.ExecuteReader()) { int i = 0; string[] takenArry = new string[25]; string[] takenArry1 = new string[25]; string[] result = new string[25];
while (rdr.Read()) { string gotrow1 = Convert.ToString(rdr["bookSlotNo"]); takenArry[i] = gotrow1; i++; }
takenArry1 = takenArry.Distinct().ToArray(); result = allSlotArray.Except<string>(takenArry1).ToArray<string>(); SizeOfArray = result.Length;
for (int a = 0; a < SizeOfArray; a++) { DropDownList1.Items.Add(result[a]); } }
lxx | P a g e
connection.Close(); } }//button click end
int IntSelectedSlot; string StrSelectedSlot; int UCstate; int GotSlot; DateTime day; protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { StrSelectedSlot = DropDownList1.SelectedValue; IntSelectedSlot = Convert.ToInt16(StrSelectedSlot);
Session["mySesSlot"] = IntSelectedSlot; }//DropDownList End
protected void Button3_Click(object sender, EventArgs e) { DropDownList1.Visible = true; RadioButton1.Visible = true; RadioButton2.Visible = true; Button4.Visible = true; String ConString = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection1 = new SqlConnection(ConString)) { day = (DateTime)Session["mySesDate"];
connection1.Open(); SqlCommand command = new SqlCommand("UpdateUCSlot", connection1); command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@SSlot", IntSelectedSlot); command.Parameters.AddWithValue("@SDate", day);
UCstate = (int)command.ExecuteScalar();
if (UCstate == 1) { RadioButton1.Checked = false; RadioButton2.Checked = true; } else if (UCstate == 0) { RadioButton1.Checked = true; RadioButton2.Checked = false; } else if (UCstate == 10) { RadioButton1.Checked = true; RadioButton2.Checked = false; } connection1.Close(); }
lxxi | P a g e
}
protected void Button4_Click(object sender, EventArgs e) { GotSlot = (int)Session["mySesSlot"]; day = (DateTime)Session["mySesDate"]; Label4.Text = ""; Label5.Text = "Changes saved successfully";
if (RadioButton1.Checked == true) { String ConString = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection1 = new SqlConnection(ConString)) { connection1.Open(); SqlCommand command = new SqlCommand("EnableSlot", connection1); command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@SSlot", GotSlot); command.Parameters.AddWithValue("@SDate", day); command.ExecuteScalar(); connection1.Close(); } } else if (RadioButton2.Checked == true) { String ConString = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection1 = new SqlConnection(ConString)) { connection1.Open(); SqlCommand command = new SqlCommand("DisableSlot", connection1); command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@SSlot", GotSlot); command.Parameters.AddWithValue("@SDate", day); command.ExecuteScalar(); connection1.Close(); } } }
}}
User
After Booking
lxxii | P a g e
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
namespace RanjanLanka.MyWebPages.User{ public partial class AfterBooking : System.Web.UI.Page { string getTheReceipt; protected void Page_Load(object sender, EventArgs e) { getTheReceipt = Request.QueryString["receiptNo"];
Label1.Text = ""+getTheReceipt+"";
string takenUserFname = (string)Session["LoggedUserFName"]; LabelTFName.Text = takenUserFname; }
protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("UserAfterLogin.aspx"); } }}
Credit Card Payment
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;using System.Data.Odbc;using System.Data.OleDb;using System.Configuration;using System.Data;using System.Net.Mail;using System.Net;
namespace RanjanLanka.MyWebPages.User{ public partial class CreditCardPayment : System.Web.UI.Page { string getTheSlotNumber; int getTheSlotNo, validateCard, balaceAvailabile, GetCVV2validity; int takenUserID, textboxCVV2no, gotReceiptNo; string StringcreditCardNo,StringCVV2No, getEmail; long CreditcardNo; float calCharge;
lxxiii | P a g e
protected void Page_Load(object sender, EventArgs e) { string takenUserFname = (string)Session["LoggedUserFName"]; LabelTFName.Text = takenUserFname; getTheSlotNumber = Request.QueryString["soltnumber"]; getTheSlotNo = Convert.ToInt16(getTheSlotNumber); takenUserID = (int)Session["LoggedUserID"]; }
protected void Button1_Click(object sender, EventArgs e) { StringcreditCardNo = TextBoxWebCard.Text; CreditcardNo = Convert.ToInt64(StringcreditCardNo); StringCVV2No = TextBoxSecurityCode.Text; textboxCVV2no = Convert.ToInt16(StringCVV2No);
String CS = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection1 = new SqlConnection(CS)) { connection1.Open(); SqlCommand cmd = new SqlCommand("AuthenticateCreditCard", connection1); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@credtcardNo", CreditcardNo); validateCard = Convert.ToInt32(cmd.ExecuteScalar().ToString());
SqlCommand cmd2 = new SqlCommand("CreditCardBalance", connection1); cmd2.CommandType = System.Data.CommandType.StoredProcedure; cmd2.Parameters.AddWithValue("@credtcardNo", CreditcardNo); balaceAvailabile = Convert.ToInt32(cmd2.ExecuteScalar().ToString());
SqlCommand cmd3 = new SqlCommand("CheckCVV2", connection1); cmd3.CommandType = System.Data.CommandType.StoredProcedure; cmd3.Parameters.AddWithValue("@credtcardNo", CreditcardNo); cmd3.Parameters.AddWithValue("@gcvv2", textboxCVV2no); GetCVV2validity = Convert.ToInt32(cmd3.ExecuteScalar().ToString());
connection1.Close(); } //creidtcard balance code here if (validateCard == 1 && GetCVV2validity == 1) {
calCharge = (float)Session["calCharge"];
int Charges = (int)calCharge;
lxxiv | P a g e
if (balaceAvailabile < Charges) { //not have enough balance Label1.Text = "You Do not have enough balance"; } else { //book DateTime d1 = (DateTime)Session["mySesD"]; TimeSpan t1 = (TimeSpan)Session["mySes1"]; TimeSpan t2 = (TimeSpan)Session["mySes2"];
string date = d1.ToString(); date = date.Substring(0, 10);
string stime = t1.ToString(); stime = stime.Substring(0, 5);
string etime = t2.ToString(); etime = etime.Substring(0, 5);
String ConString = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection connection = new SqlConnection(ConString)) { connection.Open(); SqlCommand command = new SqlCommand("bookingDateTime", connection); command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@uSrID", takenUserID); command.Parameters.AddWithValue("@myT1", t1); command.Parameters.AddWithValue("@myT2", t2); command.Parameters.AddWithValue("@myD1", d1); command.Parameters.AddWithValue("@mySlot", getTheSlotNo); command.Parameters.AddWithValue("@calculatedCharge", calCharge); command.Parameters.AddWithValue("@credtcardNo", CreditcardNo); gotReceiptNo = Convert.ToInt32(command.ExecuteScalar().ToString()); connection.Close();
connection.Open(); SqlCommand cmd2 = new SqlCommand("compareAvailability", connection); cmd2.CommandType = System.Data.CommandType.StoredProcedure; cmd2.ExecuteNonQuery();
SqlCommand cmd3 = new SqlCommand("getEmail", connection); cmd3.CommandType = System.Data.CommandType.StoredProcedure; cmd3.Parameters.AddWithValue("@uSrID", takenUserID);
lxxv | P a g e
getEmail = Convert.ToString(cmd3.ExecuteScalar()); connection.Close(); try { //send email MailMessage Msg = new MailMessage("[email protected]", getEmail); Msg.Subject = "Ranjan Lanka Car Park-Receipt"; Msg.IsBodyHtml = true; Msg.Body = "Welcome to Ranjan Lanka Car Park, <br/>Your reservation details as follows<br/><br/>Your Receipt No: " + gotReceiptNo + "<br/><br/>Date: " + date + "<br/><br/>Arrival Time: " + stime + "<br/><br/>Departure Time: " + etime + "<br/><br/>Reserved Slot No: " + getTheSlotNo + "<br/><br/>Charge for the booking: Rs." + calCharge + "<br/><br/>";
SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.Credentials = new NetworkCredential("[email protected]", "0715908866"); smtp.EnableSsl = true; smtp.Send(Msg); Msg = null; //Clear the textbox valuess }
catch(Exception ex) { Label1.Text = "Check Your Network Connection";
} //send email
Response.Redirect("AfterBooking.aspx?receiptNo=" + gotReceiptNo + ""); } } } else { Label1.Text = "Invalid Credit Card Number"; //invalid web card }
} }}
Payment Charges
using System;using System.Collections.Generic;using System.Linq;using System.Web;
lxxvi | P a g e
using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;using System.Data.Odbc;using System.Data.OleDb;using System.Configuration;using System.Data;
namespace RanjanLanka.MyWebPages.User{ public partial class Payment : System.Web.UI.Page { int BKDurationHours, BKDurationMin, calCharge; float calChargeFloat; DateTime d1;
string getTheSlotNumber; int getTheSlotNo; int takenUserID; int ChargePerHH; int ChargePerMM; protected void Page_Load(object sender, EventArgs e) { string takenUserFname = (string)Session["LoggedUserFName"]; LabelTFName.Text = takenUserFname; getTheSlotNumber = Request.QueryString["soltnumber"]; getTheSlotNo = Convert.ToInt16(getTheSlotNumber); takenUserID = (int)Session["LoggedUserID"];
Label3.Text = "" + getTheSlotNumber + "";
//get the charging rates String CS = ConfigurationManager.ConnectionStrings["myDBConnection"].ConnectionString; using (SqlConnection myConnection = new SqlConnection(CS)) { myConnection.Open(); string GettingChargeHH = "select ChargePerHour from ChangeChargeRate where CGID='" + 1 + "'"; SqlCommand ChargeHHCmd = new SqlCommand(GettingChargeHH, myConnection); ChargePerHH = Convert.ToInt32(ChargeHHCmd.ExecuteScalar().ToString());
string GettingChargeMM = "select ChargePerHalfHour from ChangeChargeRate where CGID='" + 1 + "'"; SqlCommand ChargeMMCmd = new SqlCommand(GettingChargeMM, myConnection); ChargePerMM = Convert.ToInt32(ChargeMMCmd.ExecuteScalar().ToString()); myConnection.Close(); }
//
d1 = (DateTime)Session["mySesD"]; String date = d1.ToString();
lxxvii | P a g e
date = date.Substring(0, 10);
Label4.Text = "" + date + "";
TimeSpan t1 = (TimeSpan)Session["mySes1"]; String Stime = t1.ToString(); Stime = Stime.Substring(0, 5);
Label5.Text = "" + Stime + "";
TimeSpan t2 = (TimeSpan)Session["mySes2"]; String Etime = t2.ToString(); Etime = Etime.Substring(0, 5);
Label6.Text = "" + Etime + "";
TimeSpan duration = t2 - t1; String StrinDuration = duration.ToString(); String ConStrinmyt1 = StrinDuration.Replace(":", "."); ConStrinmyt1 = ConStrinmyt1.Substring(0, 5);
String ConStrinmytHour = ConStrinmyt1.Substring(0, 2); String ConStrinmytMin = ConStrinmyt1.Substring(3, 2); BKDurationHours = Convert.ToInt16(ConStrinmytHour); BKDurationMin = Convert.ToInt16(ConStrinmytMin); if(BKDurationMin==0) { calCharge = (ChargePerHH * BKDurationHours); }else { calCharge = (ChargePerHH * BKDurationHours) + ChargePerMM; }
calChargeFloat = (float)calCharge;
Session["calCharge"] = calChargeFloat;
Label1.Text = "" + ConStrinmyt1 + " HH:MM"; Label2.Text = "Rs." + calChargeFloat + "";
//Get the booking details to a grid and display
}
protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("CreditCardPayment.aspx?soltnumber=" + getTheSlotNo + ""); } }}
lxxviii | P a g e
REFERENCE
[1] Mohit Patil,Rahul Sakore. (2014, June) www.ijser.in. [Online]. HYPERLINK
"http://www.ijser.in/archives/v2i6/SjIwMTMyOTk=.pdf"
http://www.ijser.in/archives/v2i6/SjIwMTMyOTk=.pdf
[2] (2012, May) http://www.codeproject.com. [Online]. HYPERLINK
"http://www.codeproject.com/Articles/54576/Understanding-ASP-NET-
%20Model-View-Controller-Ar"
http://www.codeproject.com/Articles/54576/Understanding-ASP-NET-
%20Model-View-Controller-Ar
[3] (2012) http://www.ijcait.com. [Online]. HYPERLINK
"http://www.ijcait.com/IJCAIT/index.php/www-ijcs/article/viewFile/402/191"
http://www.ijcait.com/IJCAIT/index.php/www-ijcs/article/viewFile/402/191
[4] (2013) http://cse.unl.edu. [Online]. HYPERLINK
"http://cse.unl.edu/~byrav/INFOCOM2011/workshops/papers/p701-wang.pdf"
http://cse.unl.edu/~byrav/INFOCOM2011/workshops/papers/p701-wang.pdf
lxxx | P a g e