Parking Reservation Management Systems

103
Parking Reservation Management System for RANJAN LANKA IMP. PVT LTD Submitted By D.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

Transcript of Parking Reservation Management Systems

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.11 GANTT CHART

xix | P a g e

Figure 1 - GANTT CHART

1.12 GANTT CHART with Schedule

xx | P a g e

Figure 2GANTT CHART with Schedule

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

Figure 4Use case model of the system

Use Case Diagram

xxxii | P a g e

Figure 5Use Case Diagram

4.2.2 Activity diagram

Admin

xxxiii | P a g e

Figure 6 Activity diagram- Admin

Security Officer

xxxiv | P a g e

Figure 7Activity diagram- Security Officer

User

xxxv | P a g e

Figure 8Activity diagram- User

4.2.3 Sequence diagram

User

Figure 9- Sequence Diagram - User

xxxvi | P a g e

Admin

Figure 10- Sequence Diagram -Admin

xxxvii | P a g e

Security

Figure 11- Sequence Diagram -Security Officer

xxxviii | P a g e

4.2.4 State diagram

Figure 12- State Diagram User

xxxix | P a g e

4.2.5 Entity Relationship Diagram

xl | P a g e

Figure 13- ER Diagram

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.3 Data base schema

xliv | P a g e

Figure 15-Data base schema

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

lxxix | 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