You are on page 1of 76

SYNOPSIS

This project Electronic Shopping is an online shopping center, through which we can
buy the consumer products online. Users of this site can use this site not only for buying the
products but they can get full information about all of the consumer products. Wide range of
product categories makes it easier.

The steps involved in placing order for consumer products are as follows. Users first
view the categories list, and then they can view the particular product details with image facility.
They view the product image in large and small size. They can get the prize and all mandatory
details like size, color, etc.

If they choose one product to buy, then they add that product to cart by using Add to cart
link. They can view the cart whenever they want. Shopping cart has all the products which were
chosen by the user. It displays the Name of the product, quantity, price per quantity, total price,
for purchased products. It also has the update cart and removes from cart buttons to update and
delete the products in the shopping cart.

After purchase the products user provide the payment details to the supplier. They must
fill up the form in the payment module. Here they give the payment mode, address for
communication, name, etc.through this information payment is transferred for the purchased
products.

The seller can remotely upload the product image and specification so that the
administrator of the site can place it at the showcase online. The buyer can select the product and
confirm the order by giving their details.

The payment can also be made online or through bank account. The admin has privileges
to view the reports about the site and based on the information gathered the site’s business part
can be enhanced.

1
Modules used in this project:

• Admin
• Customer
• Purchase
• Shopping Cart Module

2
INTRODUCTION

Problem Definition
In this modern competitive world marketing a product of a company is very difficult
task. They have to tackle the competitors, dealers and customers. In every stage of marketing
the market, the company should have to plan perfectly. Otherwise they cannot able to market
their products successfully.

Nowadays, Internet becomes one of the most popular media to reach the customer
directly and market our products to the customers directly. In this regard, for my project I am
trying to market the products of Super Market through the Internet.

Existing System
The company has a marketing team to market their products. The company has to keep
track of all the marketing activities. The company has to spend money on the marketing persons.
The area of the marketing is definitely a small area. They cannot reach the customers who are
far away from the company’s area.

To market the products in such distance, the company has to appoint dealers and they
have to monitor their products will slash down. Payment tracking is also a tedious job in the
manual marketing.

The company has to keep track of the manpower requirement, their work details,
payment details and have to deploy more employees in this regard. To overcome these king
problems, the company is decided to market through Internet.

3
Proposed System

This project Electronic Shopping is an online shopping center, through which we can buy
the consumer products online.

The users of this site can use this site not only for buying the products but they can get
full information about all of the consumer products. Wide range of product categories makes it
easier. The idea of this site is to have a central hub for users to buy their products. The steps
involved in placing order for consumer products are as follows.

The seller can remotely upload the product image and specifications so that the
administrator of the site can place it at the showcase online. The buyer can select the product
and confirm the order by giving their details.

The payment can also be made online or through Bank account. The admin has
privileges to view the reports about the site and based on the information gathered the site’s
business part can be enhanced. The proposed technologies wants to create this site are HTML,
JavaScript, ASP.NET and SQL Server.

4
SYSTEM CONFIGURATION

HARDWARE ENVIRONMENT
Processor: Intel Pentium D CPU 3.00 GHZ

RAM : 1 GB

Hard Disk: 80 GB

1.44 MB FDD

52X CD ROM

17’’ LCD Monitor

104 Keys Keyboard

2 USB Port,2 Serial & 1 Parallel Port

10/1000 Ethernet Card

ATX Cabinet

OPERATING SYSTEM:
Windows Vista Business

SOFTWARE
Hyper Text Markup Language

Internet Information Services

JavaScript

Microsoft Visual Soft .NET

SQL Server 2005

5
SOFTWARE DESCRIPTION

Introduction To ASP.NET

ASP.NET is the part of the .Net framework. ASP.NET, the latest version of Active
Server Pages, is Microsoft’s technology for building dynamic, database-driven websites. Active
Server Pages is one of the most popular languages for building scalable, interactive Web sites.
Several of the highest traffic Web sites on the Internet employs Active Server Pages.ASP.NET
represents a radical departure from previous versions of Active Server Pages.

Features of ASP.NET
• ASP.NET uses compiled code for written in Common Language Runtime languages such
as Visual Basic and C#.

• ASP.NET pages are built out of server-side controls. Web server enables us to represent
and program against Hypertext Markup Language (HTML) elements using an intuitive
object model.

• ASP.NET includes a new technology called Web Services. It is used to access methods
and properties and transfer database data across the Internet.

• ASP.NET is the part of Microsoft’s .Net framework. Anyone can access thousands of
.Net classes in the code that enable us to perform wondrously diverse tasks as generating
images on-the –fly and saving an array to a file.

• ASP.NET includes page and data caching mechanisms that enable us to easily and
dramatically improve the performance of the Web site.

6
.Net Framework
The .NET Framework is the infrastructure for the new Microsoft .NET Platform. The
.NET framework is a common environment for building, deploying, and running web
applications and Web Services. The .NET Framework contains a Common language runtime and
common class libraries – like ADO.NET, ASP.NET and Windows Forms – to provide advanced
standard services that can be integrated into a variety of computer systems.

The .NET Framework provides a feature-rich application environment, simplified


development and easy integration between a numbers of different development languages.
The .NET Framework is language neutral. Currently is supports C++, C#, Visual Basic, and
Jscript (The Microsoft version of JavaScript).Microsoft’s Visual Studio.NET is a common
development environment for the new .NET Framework.

Characteristics of ASP.NET
 Better language support

 Programmable controls

 Event-driven programming

 XML-based components

 User authentication, with accounts and roles

 Higher scalability Increased performance-Compiled code

 Easier configuration and deployment

 Not fully ASP compatible

7
Languages Support
 ASP.NET uses the new ADO.NET.

 ASP.NET supports full Visual Basic, not VBScript.

 ASP.NET supports C# (C sharp) and C++.

 ASP.NET supports Jscript.

Asp.Net Controls
Asp.Net Contains a large set of HTML controls. Almost all HTML elements on page can
be defined as ASP.Net control objects that can be controlled by scripts.Asp.Net also contains a
new set of object oriented input controls, like programmable list boxes and validation controls .A
new data grid control supports sorting ,data paging ,and everything that is expect by others from
a dataset control.

The Textbox Control

The Textbox control is used to create a text box where the user can input text.

The Textbox control's attributes and properties are listed in our web controls reference page.

Add a Script

The contents and settings of a Textbox control may be changed by server scripts when a form is
submitted. A form can be submitted by clicking on a button or when a user changes the value in
the Textbox control.

8
The Button Control

The Button control is used to display a push button. The push button may be a submit button or a
command button. By default, this control is a submit button.

A submit button does not have a command name and it posts the page back to the server when it
is clicked. It is possible to write an event handler to control the actions performed when the
submit button is clicked.

A command button has a command name and allows you to create multiple Button controls on a
page. It is possible to write an event handler to control the actions performed when the command
button is clicked.

The Hyperlink Control

The <asp: HyperLink> control creates a text or graphic link similar to an <a> tag. It is
also scriptable to produce dynamic links in response to page events. The linked page is given in
the NavigateUrl property. The value can be a relative or absolute URL. The link can be
displayed as either text or an image. To display linking text, set the Text property; to display an
image, set the ImageUrl property. If both Text and ImageUrl properties are set, the ImageUrl
property takes precedence and the Text property serves as a Tool Tip. If the image is unavailable,
the Text property is displayed. A window target or frame name can be coded in the Target
property Specifying where the linked page is opened.

The Gridview Control


The ASP.NET GridView control is the successor to the v1.x DataGrid, adding the ability
to take advantage of specific capabilities of ASP.NET data source controls. Whereas the v1.x
DataGrid required a page developer to write custom code to handle simple operations such as
paging, sorting, editing or deleting data, the GridView control can automatically handle these
operations provided its bound data source control supports these capabilities. The GridView also
offers some functionality improvements over the DataGrid, such as the ability to define multiple
primary key fields, and some UI customization improvements, such as new field types and

9
templating options. It also exposes a new model for page developers to handle or cancel events.
This control is used to display the data from database in the table format.

Events in Gridview

• Databinding
• Databound
• Disposed
• Init
• Load
• PageIndexchanged
• RowCommand
• RowUpdated

The Datalist Control


The Datalist control displays data items in a repeating list, and optionally supports
selecting and editing the items. The content and layout of list items in DataList is defined using
templates. At a minimum, every Datalist must define an ItemTemplate; however, several
optional templates can be used to customize the appearance of the list. The following table
describes those templates.

Template Name Description

ItemTemplate Defines the content and layout of items within the list. Required.

AlternatingItemTemplate If defined, determines the content and layout of alternating items.


If not defined, ItemTemplate is used.

SeparatorTemplate If defined, is rendered between items (and alternating items). If not


defined, a separator is not rendered.

SelectedItemTemplate If defined, determines the content and layout of the selected item.
If not defined, ItemTemplate (AlternatingItemTemplate) is

10
used.

EditItemTemplate If defined, determines the content and layout of the item being
edited. If not defined, ItemTemplate (AlternatingItemTemplate,
SelectedItemTemplate) is used.

HeaderTemplate If defined, determines the content and layout of the list header. If
not defined, the header is not rendered.

FooterTemplate If defined, determines the content and layout of the list footer. If
not defined, the footer is not rendered.

Templates define the HTML elements and controls that should be displayed for an item, as well
as the layout of these elements. Style formatting -- font, color, and border attributes -- is set via
styles. Each template has its own style property. For example, styles for the EditItemTemplate
are set through the EditItemStyle property.

A third set of properties affect the overall rendering of DataList. By default, DataList items
render within a table as a single vertical column. Setting the Repeat Layout property to Flow
removes the HTML table structure from the rendering of the list.

DataList supports directional rendering through the Repeat Direction property, meaning it can
render its items horizontally or vertically. Since page width is the dimension that the developer
must control in Web user interface, DataList permits the developer to control the number of
"columns" that are rendered (Repeat Columns), regardless of whether the items are rendered
horizontally or vertically.

Events in Datalist

• Data binding
• Data bound
• Disposed
11
• Init
• Load
• Item command
• Item Created
• Item Data bound
• Edit Command

Validation Controls:

The RequiredFieldValidator Control:


The RequiredFieldValidator control ensures that the user does not skip an entry. The
control fails validation if the value it contains does not change from its initial value when
validation is performed. If all the fields in the page are valid, the page is valid.

Range Validator:

The RangeValidator control tests whether an input value falls within a given range.
RangeValidator uses three key properties to perform its validation: ControlToValidate
contains the value to validate, Minimum Value defines the minimum value of the valid range,
and Maximum Value defines the maximum value of the valid range. These constants are stored
as string values, but are converted to the data type defined by Type when the comparison is
performed.

Compare Validator:

The CompareValidator control compares the value of one control to another, or to an


explicit value in the control's ValueToCompare property. Note: For the purpose of validation, a
specific property on the control is designated as its "value". For more information, see the
Validating Form Inputs section. CompareValidator uses three key properties to perform its
validation. ControlToValidate and ControlToCompare contain the values to compare.
Operator defines the type of comparison to perform, for example, Equal or Not Equal.

12
SQL SERVER

SQL SERVER is client/server Relational Database Management System that uses


Transact-SQL to send request between a client and SQL server.

The Microsoft SQL Server 2005 Database Engine is the core service for storing,
processing, and securing data. The Database Engine provides controlled access and rapid
transaction processing to meet the requirements of the most demanding data consuming
applications within your enterprise. The Database Engine also provides rich support for
sustaining high availability.

A client/server database system is made up of two components:

• Programs that provide an interface for client-based users to access data.

• The database structure that manages and stores the data on the server.

For example, if you use Microsoft SQL Server 2005 to create a checking account application,
you must set up a database structure to manage the account transaction data and an application
that acts as the user interface to the database. This allows users to access checking account
information.

Creating a database to serve your business needs requires an understanding of how to design,
create, and maintain each of these components to make sure that your database performs
optimally.

Client/Server Architecture

SQL Server is designed to be a client/server system. Client/server systems are


constructed so that the database can reside on a central computer, known as a Server, and be
shared among several users. When users want to access the data in SQL Server, they run an
application on their local computer, known as a client that connects over a network to the server
running SQL Server.
13
SQL Server can work with thousands of client applications simultaneously. The
server has features to prevent the logical problems that occur if a user tries to read or midify data
currently being used by others.

White SQL server is designed to work as a server in a client/server network, it is


also capable of working as a stand-alone database directly on the client. The Scalability and
ease-of-use features of SQLServer allow it to work efficiently on a client without consuming too
many resources. SQL Server effectively allocates the available resources, such as memory,
network bandwidth, and disk I/O, among the multiple users.

SQL server services

The SQL server services include MS SQL Server, SQL Server Agent, Microsoft
Distributed Transaction Coordinator and Microsoft Search.

MS SQL server Service

The MS SQL Server Service is the database engine. It processes all Transact
SQL Statements and manages all files that comprise the database on the server.

The MS SQL Server Service:

• Allocates computer resources among multiple concurrent users.

• Prevents logical problems such as timing request from users who want tol updatae the
same data at the same time.

• Ensures data consistency and integrity.

14
SQL Server Agent Service

SQL Server Agent is a service that works in conjunction with SQL to create and
manage local or multi server jobs, alerts and operators.

Microsoft Distributed Transaction Service

The Microsoft Distributed Transaction Coordinator is a transaction manager. MS-DTC


service allows clients to include several different sources of data in one transaction. MS-DTC
coordinates the proper completion of distributed to ensure that either all of the updates on all the
servers are made permanent, or, in the case of errors, all are erased. MS-DTC allows client
application to include several different sources of data in one transaction. MS-DTC coordinates
committing the distributed across all the servers enlisted in the transaction.

SQL Server Database

Database Types

Each SQL server has two types of databases. They are system databases and user
databases store information about SQL Server uses the system databases to operate and managae
the system. User databases are databases that users create. Both types of databases store data.
When SQL Server is installed, four system databases are created automatically.

They are:

• Master

• Model

• Tempdb

• Msdb

• Distribution

15
The distribution database is installed when you configure SQL Server for replication
activities.

Data Definition Language

Data definition language (DDL) statements are SQL stataements that support the
definition or declaration of database objects; for example, CREATE TABLE, DROP
TABLE,and ALTER TABLE.

Only the members of the sysadmin, dbcreator, dbowner, or db_ddladmin role can execute
DDL Statements by default. If multiple user accounts create objects, the sysadmin and dbowner
roles can use the SETUSER function to impersonate another user or the sp_ changeobjectowner
system procedure to change the owner of an object.

Data Manipulation Language

DML Statements are used to change data or retrieve information. DML statements
include:

• SELECT

• INSERT

• UPDATE

• DELETE

By default, only the members of the sysadmin, dbcreator, dbowner or db_datawriter role can
execute DML statements.

Database and Files

16
Databases reside on operating-system files. All the data and database such as tables,
stored procedures, triggers, and views are stored only with these operating.

17
Files

The file in SQL-server is classified as:

Primary data file(.mdf)

This file is the starting point of the database. Every database has only one primary data
file (.mdf) and one or more transaction log files(.ldf)

Secondary data files(.ndf)

These files are optional and can hold data and objects that are not on the primary data
file. Some databases may not have any secondary data files, while others have multiple
secondary data files.

Log Files

These files hold all the transaction log information used to revover the database Every
database has at least one file.

Data Storage

• Whenever a user creates a database, a copy of the model database is copied to the
database. The minimum size of a database must be equal to or greater than the model
database.

• The fundamental unit of data storage in Microsoft SQL Server is the page. In SQL
Server version 7.0, the size of pages is 8kb. This means SQL Server 7.0 databases

Have 128 pages per megabyte.

18
• Extents are the basic unit in which space is allocated to tables and indexes. An extent is 8
contiguous pages, or 64 KB. This means SQL Server 7.0 databases have 16 extents per
MB.

• Rows cannot span pages and the maximum amount of datacontained in a single row is
8060 bytes.

• Transaction logs hold the log information used to recover the database. There must be at
least one log file for each database. The size of the transaction log is 25 percent of the
size of the data files by default.

Data types

The keywords int and varchar appearing in the above examples are called data types. The
choice of a data type determines the kind of data that can be stored in the column and the
maximum length of data that can be stored in the column.

Character Data types

There are three valid data types for storing strings. They are:

Char:

This is used for storing fixed-length strings. Columns defined as char will store trailing
blanks to fill out a fixed number of characters. The maximum length of a character column is
8000 bytes.

Varchar:

This is used for storing Variable length strings. Columns defined as varchar will truncate
trailing blanks to save space.

Text:

19
This is used for strings of virtually unlimited size.

Binary Datatypes

These Datatypes store strings consisting of binary values i.e. hexadecimal numbers
instead of characters. They are of the following types:

Binary:

Stores binary data of fixed length with a maximum length of 8,000 bytes.

Varbinary:

Stroes variable-length binary data with a maximum length of 8,000 bytes.

Image Data:

SQL Server provides a mechanism for storing data more than 8,000 bytes using image
Datatypes.

Datetime Datatype

SQL Server enables to store date and time values. Columns using datae time or
smalldatetime will store both date and time value.

Numeric Datatype

SQL Server provides many ways to store numeric values, which provide flexibility in
precision, range of values, and data storage size. Numeric types fall into various categories like
int, smallint, tinyint, money, smallmoney and bit. To store decimal values, datatypes like float,
real, decimal and numeric are used.

Unicode Datatypes

20
Unicode standard includes all the characters that are defined in the various character sets.
Using Unicode data types, a column can store any character that is defined by the Unicode
standard. Unicode data is stored using the nchar, nvarchar, and ntext Data types in SQL Server.
nchar is a Fixed-length Unicode data with a maximum length of 4,000 characters while the
variable length Unicode data are represented by nvarchar, ntext.

Special Datatypes

Following are the special data types.

Cursor:

Used to store cursor variables and cursor output parameters.

Timestamps:

Timestamp columns enable the user to uniquely identify versions of each row in the
table.

Unique Identifiers:

Identifiers are names of the objects. Unique identifiers are names of the objects that
identify them unique features:

• They do not permit null values

• They cannot be indexed

• Several bit columns can occupy a single byte

User-defined datatypes
21
A User defined datatypes(UDDT) is a manifestation of already existing data types. If the
datatype varchar with a length of 10 is used frequently in the database, a user-defined datatype of
varchar (10) can be created and used and used wherever needed.

Features of SQL Server-2005

• Internet Integration.

The S QL Server 2005 database engine includes integrated XML support. It also
has the scalability, availability, and security features required to operate as the
data storage component of the largest Web sites. The SQL Server 2005
programming model is integrated with the Windows DNA architecture for
developing Web applications, and SQL Server 2005 supports features such as
English Query and the Microsoft Search Service to incorporate user-friendly
queries and powerful search capabilities in Web applications.

• Scalability and Availability:

The same database engine can be used across platforms ranging from laptop
computers running Microsoft Windows98 through large, multiprocessor servers
running Microsoft Windows 2000 Data Center Edition. SQL Server 2005
Enterprise Edition supports features such as federated servers, indexed views, and
large memory support that allow it to scale to the performance levels required by
the largest Web sites.

• Enterprise-Level Database Features.

The SQL Server 2005 relational database engine supports the features required to
support demanding data processing environments. The database engine
protectsdata integrity while minimizing the overhead of managing thousands of
users concurrently modifying the database. SQL Server 2005 distributed queries
allow you to reference data from multiple sources as if it were a part of a SQL
Server 2005 database, while at the same time, the distributed transaction support
22
protects the integrity of any updates of the distributed data. Replication allows
you to also maintain multiple copies of data, while ensuring that the separate
copies remain synchronized. You can replicate a set of data to multiple, mobile,
disconnected users, havae then work autonomously, and then merge their
modifications back to the publisher.

• Ease of installation, deployment, and use.

SQL Server 2005 includes a set of administrative and development tools that
improve upon the process of installing , deploying, managing, and using SQL
Server across several sites. SQL Server 2005 also supports a standards-based
programming model integrated with the Windows DNA, making the use of SQL
Server databases and data warehouse a seamless part of building powerful and
scalable systems. These features allow you to rapidly deliver SQL Server
applications that customers can implement with a minimum of installation and
administrative overhead.

• Data warehousing.

SQL Server 2005 includes tools for extracting and analyzing summary
data for online analytical processing. SQL Server also includes tools for visually
designing databases and analyzing data using English-based questions.

23
PROJECT DESCRIPTION

Electronic Shopping is an advanced software application for enterprises that wish to


exploit the opportunities of the World Wide Web through the deployment of advanced E-
Shopping mall. The platform supports a set of generic services such as multiple catalogues,
products & product bundles, shopping carts and order management, shipping methods etc that
can be fully customized to support any business requirement. Here we create the E-Shopping
application for jewelry mart. Through this application, the company is providing complete
information about the products. Electronic Shopping is a Web Application developed for a Hyper
Market to market their products through the fastest media of Internet world.

Ecommerce Insight’s focus is to provide you with a solution that distinguishes your
business from the competition, gives you marketing strength and leads to customers’ satisfaction
and retention. We base our vision of shopping cart development on three key factors that let you
get a scalable, efficient and secure system for your goods and services online trading:

Improved customer satisfaction

We enhance the shopping experience of your customers by giving our solutions user-friendly
interface that implies advanced usability and intuitive navigation.

Advanced administration tools

The administration section of Ecommerce Insight solutions provides you immediate access to
your e-shopping data and enables you to manage all aspects of your e-shop activities fast and
efficiently.

Information confidentiality

Our solutions embrace advanced security systems that ensure safe information storage and
reliable transactions processing.

24
In this web application following modules is provided. The modules are Admin,
Products, Customer, Purchase, and Shopping Cart Module. Every customer should have a valid
user id and password to shop through this site. Otherwise they have to register their information
through the new user registration page. About us link gives complete information about the
company.

Developing a shopping cart solution for online businesses, Ecommerce Insight specialists
expand the boundaries of pre-packaged e-retail applications. We equip our custom solutions with
a comprehensive set of functions and advanced features matching the specific needs of our
clients.

Users of this site can use this site not only for buying the products but they can get full
information about all of the consumer products. Wide range of product categories makes it
easier. Users first view the categories list, and then they can view the particular product details
with image facility. They view the product image in large and small size. They can get the prize
and all mandatory details like size, color, etc.

If they choose one product to buy, then they add that product to cart by using Add to cart
link. They can view the cart whenever they want. Shopping cart has all the products which were
chosen by the user. It displays the Name of the product, quantity, price per quantity, total price,
for purchased products. It also has the update cart and removes from cart buttons to update and
delete the products in the shopping cart.

After purchase the products user provide the payment details to the supplier. They must
fill up the form in the payment module. Here they give the payment mode, address for
communication, name, etc.through this information payment is transferred for the purchased
products.

The seller can remotely upload the product image and specification so that the
administrator of the site can place it at the showcase online. The buyer can select the product and
confirm the order by giving their details. The payment can also be made online or through bank
account. The admin has privileges to view the reports about the site and based on the information
gathered the site’s business part can be enhanced.
25
Products are our main module in which user can get the information about the company’s
selling products. Here Jewels are categorized as Necklaces, Rings, Earrings, Bangles, Sets These
are all present al links as well as provide the images.

By selecting link and images, the information about the corresponding category models
will be displayed from the database along with the picture. From that information, user can
select the product and add it to their shopping cart. At any time they can view their Shopping
Cart and delete or add products in the Cart.

After finishing the selection of all the products, customer must be login to view their cart
items and they will be lead to the page of Payment Tracking System. Here Customer must give
their payment details and shipping information. After getting the credit card number will be
checked for the originality of the number. After that it will be verified with the bank database
with information given by the customer. Once all the verifications are done, then only the
customer order will registered. After registering customer, the goods will be delivered to the
customer in short period. The details of the delivery of goods will be registered in the Shipment.
The information stored in this are order no, customer id, mode of shipment, date of shipment.

Modules used in this project:

• Admin

Admin is one of the important modules in each and every application. Through
this module admin can easily make the changes on the places on the website.Updataion is
important thing for every application.Admin can update the information which was
already displayed in the website depends upon the changes. Then they can easily insert
the new places information, and also upload the new images related to the places.

Admin can easily update the facilities module also. This module has the
information about accommodation, travels, and money exchange centers. All these things
must have some updating; these updating will easily done by using admin module.

26
• Customer

In this module administrator can maintain a database for the clients who are doing
purchase products from the company and their details such as client name, address,
business period, product details, quantity, invoice no, rate of the product. These details
are used for future references.

• Product Catalog

Online stores must describe products for sale with text, photos, and multimedia
files, whereas in a physical retail store, the actual product and the manufacturer's
packaging will be available for direct inspection. Online stores provide or link to
supplemental product information, such as instructions, safety procedures,
demonstrations, or manufacturer specifications. Some provide background information,
advice, or how-to guides designed to help consumers decide which product to buy.

In this module product catalog are displayed to the end users or customers. It also
contain the background information, instruction about product such as chain length,
color, size etc,Images of the products are very important for online purchasing. So those
in the product catalog products are displayed with images and additional information.

• Purchase

In this module Purchases Order lets to order the product to the supplier to
maintain the stock of data in inventory database. When Company buys things, it will
generally receive an invoice for this. Purchase Invoice registers these invoices. A correct
registration should lead to updating data of all related modules such as accounts payables,
inventory administration and general ledger. All the above modules are implementing
using the asp.net with c#.

• Shopping Cart Module

27
An e-shop ability to attract new customers, provide enhanced shopping
experience and supply the owner with effective management tools lays the foundation of
any online retail business success.

Once a particular product has been found on the web site of the seller, most online
retailers use shopping cart to allow the consumer to accumulate multiple items and to
adjust quantities, by analogy with filling a physical shopping cart or basket in a
conventional store. A "checkout" process follows (continuing the physical-store analogy)
in which payment and delivery information is collected, if necessary. Some stores allow
consumers to sign up for a permanent online account so that some or all of this
information only needs to be entered once. The consumer often receives an e-mail
confirmation once the transaction is complete. Less sophisticated stores may rely on
consumers to phone or e-mail their orders (though credit card numbers are not accepted
by e-mail, for security reasons).

28
DATA FLOW DIAGRAM

End User

Products
View Products Database

Select Products to
Database Order
Shopping Cart

Login

Existing A New User

Check
Registration Database Customer
Database

Order Confirmation Order


Customer Database
Confirmation

Payment & Shipping


Information Check for Card No Bank Database

Payment Accept Check for


Bank Database
Amount available

29
ADMIN MODULE

Admin

Add/Edit/View Products

Edit/View Customers

Payment Information

Review-Sales View

Inventory

30
DATABASE TABLE STRUCTURE

PRODUCTMASTER

Filed Name DataTypes Size


Product_Id Varchar 10
Product_Category Varchar 50
Product_Name Varchar 50
Product_Description Varchar Max
Product_Size Varchar 50
Product_Image Image
Product_Picture Varchar 50

Product_LPicture varchar 50
PricePerUnit Decimal 18,2
Qty Decimal 18,2

CUSTOMERMASTER

Filed Name DataTypes Size


CustomerId Varchar 10
Lastname Varchar 50
Address Varchar 50
City Varchar Max
State Varchar 50
Country Image
Zipcode Varchar 50
PhoneNumber Decimal 18,2
MobileNumber Decimal 18,2
EmailId Varchar 100
31
ORDERMASTER

Filed Name DataTypes Size


OrderId Varchar 10
CustId Varchar 50
CartNo Varchar 50
ProductId Varchar Max
ProductURL Varchar 50
Price Decimal 18,2
Pruchase Amount Decimal 18,2
Qty Varchar 50
CartNo Int 4
DateofPurchase DateTime
CartType Varchar 20
CExdate datetime 8
ShipAddr Varchar 50

DISPOSTION

Filed Name DataTypes Size


SNO Int 4
OrderId Varchar 10
CustId Varchar 50
DispDate DateTime 8
Mode Varchar Max

SHIPPINGINFO

32
Filed Name DataTypes Size
OrderId Int 4
CustomerId Varchar 10
ShippingTo Varchar 50
SH_Street varchar 50
Mode Varchar Max
SH_City varchar 50
SH_State varchar 50
SH_Country varchar 50
SH_MoblieNo varchar 50
SH_Dateofpurchase Datetime

INVENTORY_MASTER

Filed Name DataTypes Size


ProductId Int 4
ProductName Varchar 10
ProductUrl Varchar 50
TotalQty Int 50
SalesQty Int Max
QtyinHand Int 50
Status varchar 50

CATEGORYMASTER:

Filed Name DataTypes Size

33
CategoryId Int 4
ProductId varchar 50
Cname Varchar 10
Cdesc Varchar 50
CDesc Varchar 50

34
IMPLEMENTATION
Implementation means the conversion of database design into source code
Implementation of the system is the organization that comes at the last step of the system and
consists of testing the developed programs with the sample data.

This project is developed using ASP.Net as Front-End and Sql Server 2005 as Back End.

The SqlDb Connection is used to connect the Web Page and the Database.

• The Data binding property for the Repeater Control is set to view the details about the
registered Advertiser’s.

• To execute the SQL statement the command object Sqlcommand is used.

• To quickly retrieve the records from the Database the SqlDataReader or Dataset object is
used. It is not possible to update any changes using this object.

• The SqlDataAdapter object is also used to retrieve the records from the Database. It is
possible to update the changes (select, update, insert, delete) by using this object.

35
Source Code Sample Codings
MasterPage Codings: Shopping.master
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Shopping.master.cs"
Inherits="Shopping" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >


<head id="Head1" runat="server">
<title>Jewelry Co.</title>
<SCRIPT TYPE="text/javascript">
<!--

function newImage(arg) {
if (document.images) {
rslt = new Image();
rslt.src = arg;
return rslt;
}
}

function changeImages() {
if (document.images && (preloadFlag == true)) {
for (var i=0; i<changeImages.arguments.length; i+=2) {
document[changeImages.arguments[i]].src =
changeImages.arguments[i+1];
}
}
}

var preloadFlag = false;


function preloadImages() {
if (document.images) {
home_over = newImage("images/home-over.jpg");
about_over = newImage("images/about-over.jpg");
products_over = newImage("images/products-over.jpg");
news_over = newImage("images/news-over.jpg");
news_contacts_over = newImage("images/news-contacts_over.jpg");
contacts_over = newImage("images/contacts-over.jpg");
preloadFlag = true;
}
}

function IMG1_onclick() {

function IMG1_onclick() {

// -->

36
</SCRIPT>
<!-- End Preload Script -->
<link href="css/styles.css" rel="stylesheet" type="text/css">
<script language="javascript" type="text/javascript"
src="jscript/Check.js"></script>

</head>

<body BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0


ONLOAD="preloadImages();">
<form id="form1" runat="server">
<div>
<center>
<TABLE WIDTH=775 BORDER=0 CELLPADDING=0 CELLSPACING=0 class="frame">
<TR>
<TD ROWSPAN=21>
<IMG SRC="images/m1.jpg" WIDTH=50 HEIGHT=680 ALT=""></TD>
<TD COLSPAN=4>
<IMG SRC="images/m2.jpg" WIDTH=279 HEIGHT=74 ALT=""></TD>
<TD COLSPAN=3>
<A HREF="Home.aspx"
ONMOUSEOVER="window.status='home';
changeImages('home', 'images/home-over.jpg'); return true;"
ONMOUSEOUT="window.status=''; changeImages('home',
'images/home.jpg'); return true;">
<IMG NAME="home" SRC="images/home.jpg" HEIGHT=74
BORDER=0 ALT="home" style="width: 86px"></A></TD>
<TD COLSPAN=3>
<A HREF="Aboutus.aspx"
ONMOUSEOVER="window.status='about';
changeImages('about', 'images/about-over.jpg'); return true;"
ONMOUSEOUT="window.status=''; changeImages('about',
'images/about.jpg'); return true;">
<IMG NAME="about" SRC="images/about.jpg" HEIGHT=74
BORDER=0 ALT="about" style="width: 72px"></A></TD>
<TD>
<A HREF="Products.aspx"
ONMOUSEOVER="window.status='products';
changeImages('products', 'images/products-over.jpg'); return true;"
ONMOUSEOUT="window.status='';
changeImages('products', 'images/products.jpg'); return true;">
<IMG NAME="products" SRC="images/products.jpg"
WIDTH=89 HEIGHT=74 BORDER=0 ALT="products"></A></TD>
<TD>
<A HREF="News.aspx"
ONMOUSEOVER="window.status='news';
changeImages('news', 'images/news-over.jpg'); return true;"
ONMOUSEOUT="window.status=''; changeImages('news',
'images/news.jpg'); return true;">
<IMG NAME="news" SRC="images/news.jpg" WIDTH=63
HEIGHT=74 BORDER=0 ALT="news"></A></TD>
<TD COLSPAN=3>
<A HREF="Contactus.aspx"
ONMOUSEOVER="window.status='contacts';
changeImages('news', 'images/news-contacts_over.jpg', 'contacts',
'images/contacts-over.jpg'); return true;"
37
ONMOUSEOUT="window.status=''; changeImages('news',
'images/news.jpg', 'contacts', 'images/contacts.jpg'); return true;">
<IMG NAME="contacts" SRC="images/contacts.jpg"
WIDTH=80 HEIGHT=74 BORDER=0 ALT="contacts"></A></TD>
<TD ROWSPAN=21>
<IMG SRC="images/m3.jpg" WIDTH=60 HEIGHT=680 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=74 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=8>
<IMG SRC="images/m4.jpg" HEIGHT=146 ALT="" style="width:
379px"></TD>
<TD COLSPAN=7 ROWSPAN=3>
<IMG SRC="images/m7.jpg" WIDTH=293 HEIGHT=196 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=146 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=3 ROWSPAN=2>
<IMG SRC="images/m5.jpg" WIDTH=252 HEIGHT=50 ALT=""></TD>
<TD COLSPAN=5>
<A HREF="#"
ONMOUSEOVER="window.status='take tour now'; return
true;"
ONMOUSEOUT="window.status=''; return true;">
<IMG SRC="images/take-tour-now.jpg" WIDTH=120
HEIGHT=16 BORDER=0 ALT="take tour now"></A></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=5>
<IMG SRC="images/m6.jpg" HEIGHT=34 ALT="" style="width:
121px"></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=34 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=17>
<IMG SRC="images/p1.jpg" WIDTH=26 HEIGHT=410 ALT=""></TD>
<TD COLSPAN=14>
<IMG SRC="images/p2.jpg" WIDTH=639 HEIGHT=15 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=15 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=3>
<IMG SRC="images/RGk-t-18.jpg" WIDTH=129 HEIGHT=106
ALT=""></TD>
<TD COLSPAN=2>
<IMG SRC="images/spacer.gif" WIDTH=124 HEIGHT=15
ALT=""></TD>
<TD COLSPAN=5 ROWSPAN=6>
<IMG SRC="images/wel1.jpg" ALT="" style="width: 145px;
height: 163px"></TD>
38
<TD COLSPAN=6 ROWSPAN=2>
<IMG SRC="images/wel2.jpg" WIDTH=244 HEIGHT=63 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=15 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=124 HEIGHT=91 COLSPAN=2 ROWSPAN=2 align="left"
valign="top" background="images/b_p1.jpg" class="text2" ><a
href="Rings.aspx"><span class="text3">Gold Ring</span></a> <br>
Symbolising the adaptability that spells permanence… circlets
that flow to encompass
</TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=48 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=204 HEIGHT=86 COLSPAN=4 ROWSPAN=4 align="left"
valign="top" bgcolor="#7F0504"><span class="text1">Jewelery
Co.,&nbsp;</span><br>
eirmod tempor invidunt ut labore Lorem is one of world's most
contemporary jewellers, specializing in the latest variation
of fashionable ornaments, a la mode, ranging from gold,
diamond, rubies, emeralds,
silver, platinum jewellery and coloured gold...</TD>
<TD COLSPAN=2 ROWSPAN=7 bgcolor="#7F0504">
<IMG SRC="images/spacer.gif" WIDTH=40 HEIGHT=154
ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=43 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=3>
<IMG SRC="images/p3.jpg" WIDTH=253 HEIGHT=10 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=10 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=6>
<IMG SRC="images/goldear_t_69.jpg" WIDTH=129 ALT=""
style="height: 124px"></TD>
<TD COLSPAN=2 align="left" valign="top">
<IMG SRC="images/spacer.gif" WIDTH=124 HEIGHT=16
ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=124 HEIGHT=90 COLSPAN=2 ROWSPAN=5 align="left"
valign="top" background="images/b_p2.jpg" class="text2"><a
href="earrings.aspx"><span class="text3">Ear Ring</span></a><br>
eDrops of honey and dew… yellow and white gold blink beckoningly
from between lustrous
locks
</TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=17 ALT=""></TD>
39
</TR>
<TR>
<TD COLSPAN=2 ROWSPAN=3 bgcolor="#7F0504">
<IMG SRC="images/wel3.jpg" WIDTH=58 HEIGHT=68 ALT=""></TD>
<TD WIDTH=288 HEIGHT=16 COLSPAN=7 align="left" valign="top"
bgcolor="#7F0504"><a href="#">To facilitate the accessibility of premier
jewellery to the common man,</a></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=288 HEIGHT=16 COLSPAN=7 align="left" valign="top"
bgcolor="#7F0504"> <a href="#">specializing in the latest variation of
fashionable ornaments</a> </TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=288 HEIGHT=36 COLSPAN=7 align="left" valign="top"
bgcolor="#7F0504"><a href="#">Renowned for their custom-made jewellery, with
a focus on designs for 'career women' </a></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=36 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=11 ROWSPAN=4 bgcolor="#7F0504"><asp:ContentPlaceHolder
ID="Contentplaceholder1" runat="server"></asp:ContentPlaceHolder>
</TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=5 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=3>
<IMG SRC="images/p4.jpg" WIDTH=253 HEIGHT=10 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=10 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=3>
<IMG SRC="images/ban_9_t.jpg" WIDTH=129 HEIGHT=106
ALT=""></TD>
<TD COLSPAN=2 align="left" valign="top">
<IMG SRC="images/spacer.gif" WIDTH=124 HEIGHT=16
ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=124 HEIGHT=90 COLSPAN=2 ROWSPAN=2 align="left"
valign="top" background="images/b_p3.jpg" class="text2" ><a
href="Bangles.aspx"><span class="text3">Bangles</span></a>
<br />
Rich and sensual, the inspiration for truly great works of art…
embellishing the
most perfect piece of art - you…</TD>
<TD>
40
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=15 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=2 bgcolor="#7F0504" colspan="11">
<span class="text1"></span> </TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=75 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=3>
<IMG SRC="images/p5.jpg" WIDTH=253 HEIGHT=12 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=12 ALT=""></TD>
</TR>
<TR>
<TD WIDTH=639 HEIGHT=45 COLSPAN=14 bgcolor="#000000"><a
href="#">HOME</a> | <a href="#">ABOUT</a> | <a href="#">PRODUCTS</a> | <a
href="#">SERVICES</a> | <a href="#">SUPPORT</a> | <a href="#">CONTACTS</a>
<br>
<span class="text4">Copyright © Your Company Name. Designed by
TemplateYes
- <a href="http://www.templateyes.com/html-templates.htm"
target="_blank">Free
Web Templates</a></span></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=45 ALT=""></TD>
</TR>
<TR>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=50 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=26 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=129 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=97 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=27 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=40 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=18 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=26 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=9 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=49 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=12 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=89 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=63 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=40 HEIGHT=1 ALT=""></TD>
41
<TD>
<IMG SRC="images/spacer.gif" WIDTH=10 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=30 HEIGHT=1 ALT=""></TD>
<TD>
<IMG SRC="images/spacer.gif" WIDTH=60 HEIGHT=1 ALT=""></TD>
<TD></TD>
</TR>
</TABLE>
<!-- End ImageReady Slices -->
</center>
</div>
</form>
</body>
</html>

Products.aspx:
<%@ Page Language="C#" MasterPageFile="~/Shopping1.master"
AutoEventWireup="true" CodeFile="Products.aspx.cs" Inherits="Rings"
Title="Products" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server">
<marquee behavior=slide><asp:Image ID="Image1" runat="server" Height="72px"
ImageUrl="~/images/my-account.jpg"
Width="502px" /></marquee> <br />
<br />
<br />
<br />
<br />
&nbsp;<table>
<tr>
<td style="width: 100px">
<a href="Rings.aspx">
<asp:Image ID="Image5" runat="server" ImageUrl="~/images/RGk-
t-21.jpg" ToolTip="Rings" />
</a>
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
<a href="EarRings.aspx">
<asp:Image ID="Image8" runat="server"
ImageUrl="~/images/goldear_t_69.jpg" Width="160px" ToolTip="Ear Rings" />
</a>
</td>
<td style="width: 100px">
<a href="Necklaces.aspx">
<asp:Image ID="Image2" runat="server"
ImageUrl="~/images/gnk_015t.jpg" Width="160px" ToolTip="Sets" />
</a>
</td>
<td style="width: 100px">
</td>

42
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px; height: 18px">
<a href="Rings.aspx"><span
class="jewel_goldheadlink1">RINGS</span></a></td>
<td style="width: 100px; height: 18px">
</td>
<td style="width: 100px; height: 18px">
<a href="EarRings.aspx"><span class="jewel_goldheadlink1">EAR
RINGS</span></a> </td>
<td style="width: 100px; height: 18px">
<a href="Necklaces.aspx"><span style="font-size: 10pt; font-
family: Verdana; background-color: #7f0504">SETS</span></a>
</td>
<td style="width: 100px; height: 18px">
</td>
</tr>
<tr>
<td style="width: 100px; height: 16px">
</td>
<td style="width: 100px; height: 16px">
</td>
<td style="width: 100px; height: 16px">
</td>
<td style="width: 100px; height: 16px">
</td>
<td style="width: 100px; height: 16px">
</td>
</tr>
<tr>
<td style="width: 100px">
<a href="BANGLES.ASPX">
<asp:Image ID="Image7" runat="server"
ImageUrl="~/images/ban_2_m.jpg" Width="160px" ToolTip="Bangles" />
</a>
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
<a href="Necklaces.aspx">
<asp:Image ID="Image6" runat="server" ImageUrl="~/images/NGT-
t-03.jpg" ToolTip="Necklaces" />
</a>
</td>
43
<td style="width: 100px">
<a href="Rings.aspx">
<asp:Image ID="Image3" runat="server"
ImageUrl="~/images/g23t_b.jpg" ToolTip="Bracelets" />
</a>
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px; height: 22px;">
<a href="Bangles.aspx"><span
class="jewel_goldheadlink1">BANGLES</span></a> </td>
<td style="width: 100px; height: 22px;">
</td>
<td style="width: 100px; height: 22px;">
<a href="Necklaces.aspx"><span
class="jewel_goldheadlink1">NECKLACES</span></a> </td>
<td style="width: 100px; height: 22px;">
<a href="EarRings.aspx"><span
class="jewel_goldheadlink1">BRACELETS</span></a>
</td>
<td style="width: 100px; height: 22px;">
</td>
</tr>
</table>
</asp:Content>

Rings.aspx:
public partial class Rings : System.Web.UI.Page
{
public string img;
SqlConnection cn = new
SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));

protected void Page_Load(object sender, EventArgs e)


{

if (!Page.IsPostBack)
{
intPageSize.Text = "6";
intCurrIndex.Text = "0";
44
DataBind1();
}
}
public void DataBind1()
{
string Product_cat = "Rings";
cn.Open();
string selectSQL = "select * from Product where Product_Category ='"
+ Product_cat + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
if (!Page.IsPostBack)
{
//ds = new DataSet();
sd.Fill(ds, "Product");
intRecordCount.Text =
Convert.ToString(ds.Tables["Product"].Rows.Count);
// ds = null;
ds = new DataSet();
}
sd.Fill(ds, Convert.ToInt32(intCurrIndex.Text),
Convert.ToInt32(intPageSize.Text), "Product");

dList.DataSource = ds.Tables["Product"];
dList.DataBind();
cn.Close();

public void ShowFirst(object sender, EventArgs e)


{
intCurrIndex.Text = "0";
DataBind1();
}

public void ShowPrevious(object sender, EventArgs e)


{
intCurrIndex.Text =
Convert.ToString(Convert.ToInt32(intCurrIndex.Text) -
Convert.ToInt32(intPageSize.Text));
if (Convert.ToInt32(intCurrIndex.Text) < 0)
{
intCurrIndex.Text = "0";
}

DataBind1();
}

public void ShowNext(object sender, EventArgs e)


{
if (Convert.ToInt32(intCurrIndex.Text) + 1 <
Convert.ToInt32(intRecordCount.Text))
{
intCurrIndex.Text =
Convert.ToString(Convert.ToInt32(intCurrIndex.Text) +
Convert.ToInt32(intPageSize.Text));
45
}
DataBind1();
}

public void ShowLast(object sender, EventArgs e)


{
int tmpInt;

tmpInt = Convert.ToInt32(intRecordCount.Text) %
Convert.ToInt32(intPageSize.Text);
if (tmpInt > 0)
intCurrIndex.Text =
Convert.ToString(Convert.ToInt32(intRecordCount.Text) - tmpInt);
else

intCurrIndex.Text =
Convert.ToString(Convert.ToInt32(intRecordCount.Text) -
Convert.ToInt32(intPageSize.Text));

DataBind1();
}

protected void dList_ItemCommand(object source, DataListCommandEventArgs e)


{
LinkButton LinkButton1 = ((LinkButton)
(e.Item.FindControl("LinkButton1")));
string txt = LinkButton1.Text;
Image Image1 = ((Image)(e.Item.FindControl("Image1")));
img = Image1.ImageUrl.ToString();
Response.Redirect("Rings1.aspx?Product_Id=" + txt + "&url=" + img + "
");

}
}

Rings1.aspx.cs:
public partial class Rings1 : System.Web.UI.Page
{
string getpath, p_cat, p_name, p_size, p_desc, p_url, p_id;
string pcat, pname, pdesc, psize, product_url, pid, pid2, product_Lurl;
decimal Priceperunit, p_Priceperunit,PurchaseAmount,TotalAmount;
int qty, qty1;
SqlConnection connection = new
SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));
SqlConnection connection1 = new
SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));
protected void Page_Load(object sender, EventArgs e)
{
pid = Request.QueryString["Product_Id"].ToString();
product_url = Request.QueryString["url"].ToString();

46
try
{
string qry = "select * from Product where Product_Id= '" + pid +
"' ";
connection.Open();

SqlCommand cmmd = new SqlCommand(qry, connection);


SqlDataReader rdr = cmmd.ExecuteReader();
while (rdr.Read())
{
p_id = rdr[0].ToString();
p_cat = rdr[1].ToString();
p_name = rdr[2].ToString();
p_desc = rdr[3].ToString();
p_size = rdr[4].ToString();
p_url = rdr[6].ToString();
p_Priceperunit = Convert.ToDecimal(rdr[7]);
}
Label12.Text = "Price: " + " " + Convert.ToString(p_Priceperunit);

}
catch (SqlException err)
{
if (lblmsg.Visible == false)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}
else
{
lblmsg.Visible = false;
lblmsg.Text = " ";
}

}
finally
{
connection.Close();
}
try
{

string query1 = "select * from Product_Large where Product_Id= '"


+ pid + "' ";

connection1.Open();

SqlCommand command1 = new SqlCommand(query1, connection1);

SqlDataReader reader1 = command1.ExecuteReader();

while (reader1.Read())
{

47
product_Lurl = reader1.GetString(2).ToString();

}
getpath = product_Lurl.Substring(product_Lurl.LastIndexOf("/") +
1);
LargeImage.ImageUrl = "~/images/" + getpath;
Label3.Text = pid;

}
catch (SqlException err)
{
if (lblmsg.Visible == false)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}
else
{
lblmsg.Visible = false;
lblmsg.Text = " ";
}

}
finally
{
connection1.Close();
}

}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
EShoppingTableAdapters.OrderMasterTableAdapter Order_adp = new
EShoppingTableAdapters.OrderMasterTableAdapter();

string query = "select * from OrderMaster where ProductId='" + pid +


"' ";
connection.Open();

SqlCommand command = new SqlCommand(query, connection);

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
pid2 = reader[1].ToString();
qty = Convert.ToInt32(reader[4]);
TotalAmount = Convert.ToDecimal(reader[6]);

}
connection.Close();

if (pid == pid2)
48
{
string query1 = "select * from Product where Product_Id='" + pid2
+ "' ";
connection.Open();

SqlCommand command1 = new SqlCommand(query1, connection);

SqlDataReader reader1 = command1.ExecuteReader();

while (reader1.Read())
{

pid = reader1.GetString(0).ToString();
pcat = reader1[1].ToString();
pname = reader1[2].ToString();
pdesc = reader1[3].ToString();
psize = reader1[4].ToString();
product_url = reader1[6].ToString();
Priceperunit = Convert.ToDecimal(reader1[7]);

qty1 = qty + 1;
PurchaseAmount = Convert.ToDecimal(Priceperunit * qty1);
TotalAmount = Convert.ToDecimal(TotalAmount + PurchaseAmount);
//Order_adp.UpdateQuery(pid, product_url,
Convert.ToDecimal(Priceperunit), Convert.ToInt32(qty1), pid2);
Order_adp.UpdateQuery(pid, product_url,
Convert.ToInt32(qty1),Convert.ToDecimal(PurchaseAmount),Convert.ToDecimal(Tot
alAmount), pid2);
if (lblmsg.Visible == false)
{
lblmsg.Visible = true;
lblmsg.Text = "Selected Item is added to the Cart";
}
else
{
lblmsg.Visible = false;
lblmsg.Text = " ";
}
connection.Close();
}
else
{
string query2 = "select * from Product where Product_Id='" + pid
+ "' ";
connection.Open();

SqlCommand command2 = new SqlCommand(query2, connection);

SqlDataReader reader2 = command2.ExecuteReader();

while (reader2.Read())
{
49
pid = reader2.GetString(0).ToString();
pcat = reader2[1].ToString();
pname = reader2[2].ToString();
pdesc = reader2[3].ToString();
psize = reader2[4].ToString();
product_url = reader2[6].ToString();
Priceperunit = Convert.ToDecimal(reader2[7]);//
Convert.ToDecimal(reader1[7]);

qty = 1;
TotalAmount = 0;
PurchaseAmount = Convert.ToDecimal(qty * Priceperunit);
TotalAmount = Convert.ToDecimal(TotalAmount + PurchaseAmount);
Order_adp.InsertQuery(pid, product_url,
Convert.ToDecimal(Priceperunit),
Convert.ToInt32(qty),Convert.ToDecimal(PurchaseAmount),
Convert.ToDecimal(TotalAmount));
if (lblmsg.Visible == false)
{
lblmsg.Visible = true;
lblmsg.Text = "Selected Item is added to the Cart";
}
else
{
lblmsg.Visible = false;
lblmsg.Text = " ";
}

connection.Close();

}
}

Admin_SalesView.aspx.cs
public partial class Admin_SalesView : System.Web.UI.Page
{
string m,y;
decimal total;
SqlConnection cn = new
SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));

protected void Page_Load(object sender, EventArgs e)


{
if (!Page.IsPostBack)

50
{

month();
year();
y = DateTime.Now.Year.ToString(); ;

ddlyear.Text = ddlyear.Items.FindByText(y).Text;
Bind_Grid();
}
}
//GRIDVIEW BINDING
void Bind_Grid()
{

try
{
string selected_year = ddlyear.SelectedItem.Text;
string selectSQL = "select
Sno,CutomerId,ProductId,ProductUrl,PurchaseAmount from OrderConfirmation
where Year(DateofPurchase)='" + selected_year + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
sd.Fill(ds, "OrderConfirmation");
DataTable dt = ds.Tables["OrderConfirmation"];
adminview.DataSource = dt;
adminview.DataBind();
totalamount1(selected_year);
int n = adminview.Rows.Count;
if (n == 0)
{
lblmsg.Visible = true;
lblmsg.Text = "No Records";
}
else
{
lblmsg.Visible = false;
}

}
catch (SqlException err)
{

lblmsg.Text = err.Message.ToString();
}
finally
{
cn.Close();
}

}
//ADD MONTH
void month()
{
string[] item ={ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12" };
foreach (string i in item)
51
{
m = Convert.ToString(i.ToString());
ddlmonth.Items.Add(m);
}
}
//ADD YEAR
void year()
{
DateTime date = System.DateTime.Today;
int currentyear = date.Year;

while (currentyear <= 2015)


{
m = Convert.ToString(currentyear.ToString());
currentyear++;
ddlyear.Items.Add(m);
}
}

protected void ddlyear_SelectedIndexChanged(object sender, EventArgs e)


{
if (ddlyear.SelectedValue != "None")
{
adminview.Visible = true;
lblerror.Visible = false;
if (ddlmonth.SelectedValue == "None")
{
adminview.Visible = true;
try
{
string sel_year = ddlyear.SelectedItem.Text;
string selectSQL = "select * from OrderConfirmation where
Year(DateofPurchase)='" + sel_year + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
sd.Fill(ds, "OrderConfirmation");
DataTable dt = ds.Tables["OrderConfirmation"];
adminview.DataSource = dt;
adminview.DataBind();

int n = adminview.Rows.Count;
if (n == 0)
{
// lbltotal1.Visible = false;
lbltotal.Visible = false;
//lblcaption.Visible = false;
lblmsg.Visible = true;
lblmsg.Text = "No Records";

}
else
{
lblmsg.Visible = false;
//lblcaption.Visible = true;
}
52
}
catch (SqlException err)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
//lblcaption.Visible = false;
}
finally
{
cn.Close();
}

else//if Month selected


{
if (ddlmonth.SelectedValue != "None")
{
try
{
string sel_year = ddlyear.SelectedItem.Text;
string sel_month = ddlmonth.SelectedItem.Text;
string selectSQL = "select * from OrderConfirmation
where Month(DateofPurchase)='" + sel_month + "' and Year(DateofPurchase)='" +
sel_year + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
sd.Fill(ds, "OrderConfirmation");
DataTable dt = ds.Tables["OrderConfirmation"];
adminview.DataSource = dt;
adminview.DataBind();
totalamount(sel_year, sel_month);
int n = adminview.Rows.Count;
if (n == 0)
{
//lbltotal1.Visible = false;
lbltotal.Visible = false;
lblmsg.Visible = true;
lblmsg.Text = "No Records";
}
else
{
lblmsg.Visible = false;
}

}
catch (SqlException err)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}
finally
{
cn.Close();
}
53
}
}
}
else
{
adminview.Visible = false;

//lbltotal1.Visible = false;
lbltotal.Visible = false;
if (lblmsg.Visible == true)
{
lblmsg.Visible = false;
}
lblerror.Visible = true;
lblerror.Text = "Select Year";
}

}
protected void ddlmonth_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlmonth.SelectedValue != "None")
{
if (ddlyear.SelectedValue != "None")
{
lblerror.Visible = false;
try
{

string sel_year = ddlyear.SelectedItem.Text;


string sel_month = ddlmonth.SelectedItem.Text;
string selectSQL = "select * from OrderConfirmation where
Month(DateofPurchase)='" + sel_month + "' and Year(DateofPurchase)='" +
sel_year + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
sd.Fill(ds, "OrderConfirmation");
DataTable dt = ds.Tables["OrderConfirmation"];
adminview.DataSource = dt;
adminview.DataBind();
totalamount(sel_year, sel_month);
int n = adminview.Rows.Count;
if (n == 0)
{
//lbltotal1.Visible = false;
lbltotal.Visible = false;
lblmsg.Visible = true;
lblmsg.Text = "No Records";
}
else
{
lblmsg.Visible = false;
}

}
54
catch (SqlException err)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}
finally
{
cn.Close();
}
}
else
{

lblerror.Visible = true;
lblerror.Text = "Select Year";

}
else
{
try
{
// lbltotal1.Visible = false;
lbltotal.Visible = false;

string sel_year = ddlyear.SelectedItem.Text;


string selectSQL = "select * from OrderConfirmation where
Year(DateofPurchase)='" + sel_year + "' ";
SqlDataAdapter sd = new SqlDataAdapter(selectSQL, cn);
DataSet ds = new DataSet();
sd.Fill(ds, "OrderConfirmation");
DataTable dt = ds.Tables["OrderConfirmation"];
adminview.DataSource = dt;
adminview.DataBind();
totalamount1(sel_year);
int n = adminview.Rows.Count;
if (n == 0)
{
//lbltotal1.Visible = false;
lbltotal.Visible = false;
lblmsg.Visible = true;
lblmsg.Text = "No Records";
}
else
{
lblmsg.Visible = false;
}

}
catch (SqlException err)
{

lblmsg.Text = err.Message.ToString();
}
55
finally
{
cn.Close();
}
}

}
protected void adminview_PageIndexChanging(object sender,
GridViewPageEventArgs e)
{
adminview.PageIndex = e.NewPageIndex;
Bind_Grid();
}
//TO Calculate total Amount
void totalamount(string year1, string month1)
{
try
{

SqlConnection connection = new


SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));

string query = "SELECT PurchaseAmount FROM OrderConfirmation


where YEAR(DateofPurchase)='" + year1 + "' And MONTH(DateofPurchase)='" +
month1 + "'";

connection.Open();

SqlCommand command = new SqlCommand(query, connection);

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
total += Convert.ToDecimal(reader["PurchaseAmount"]);
lbltotal.Visible = true;
lbltotal.Text ="Total Amount : "+" "+ total.ToString();

connection.Close();
}
catch (SqlException err)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}

}
void totalamount1(string year1)
{
56
try
{

SqlConnection connection = new


SqlConnection((ConfigurationManager.ConnectionStrings["EShoppingConnectionStr
ing"].ToString()));

string query = "SELECT PurchaseAmount FROM OrderConfirmation


where YEAR(DateofPurchase)='" + year1 + "'";

connection.Open();

SqlCommand command = new SqlCommand(query, connection);

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
total += Convert.ToDecimal(reader["PurchaseAmount"]);
lbltotal.Visible = true;
lbltotal.Text = "Total Amount : " + " " + total.ToString();
}

connection.Close();
}
catch (SqlException err)
{
lblmsg.Visible = true;
lblmsg.Text = err.Message.ToString();
}

}
}

57
SCREEN SHOTS

Home:

58
Products : Necklaces

59
Large View

60
Large View

61
View Cart:

62
Customer Registration:

63
Customer Login

64
Credit Card Information

65
Admin Login:

New Product Information:

66
View Customer

67
View Products:

68
Annual/Monthly Sales Review:

69
Inventory:

70
TESTING

System Testing

“No man is perfect”, said a philosopher. Every human being is born with certain
imperfections and has to struggle to make him perfect. “God has made the world imperfectly”,
said a student to his guru, and the guru replied “Only to be made perfect by you”. This is the
case not with the human alone but also with the systems he has designed.

The software, which has been developed, has to be tested to prove its validity. Testing is
considered as the least creative phase of the whole cycle of system design. In the real sense it is
the phase, which helps to bring out the creativity of the other phases and makes it shine.

System testing is designed to uncover weaknesses that were not found in earlier tests.
This includes forced system failure and validation of the total system, as its users in Operational
environment will implement it.

Generally, it begins with low volumes of transactions based onl live data. The volume in
increased until the maximum level for each transaction type is reached. The total system is also
tested recovery and fall back after various major failures to ensure that no data is lost during the
emergency.

Inadequate testing or non-testing leads to errors that may be costly when they appear
months later. Effective testing translates into cost savings from reduced errors. Test data may be
artificial or live (take from the user’s files). In either case, they should provide all combination
of values or formats to test all logic and transaction path subroutines.

71
Types of Testing Done

White Box Testing

White-box testing, sometimes called glass-box testing is a test case design method that
uses the control structure of the procedural design to derive test cases. Using white-box testing
methods, the software engineer can derive test cases that

1. Guarantee that all independent paths within a module have been exercised at least once.

2. Exercise all logical decisions on their true and false sides.

3. Executes all loops at their boundaries and within their operational bounds.

4. Exercise internal data structures to assure their validity.

Using the above-mentioned white-box testing strategy all the individual modules of the
system has been tested completely. Every logical path in each module has been identified and
tested to see whether control and data flows through all the paths. Every decision statements are
tested to see whether both the true condition and the false condition work. And also all the
looping statements are tested with their boundary values and with their operational bounds.

Unit Testing

Unit testing focuses verification effort on the smallest unit of software design the module.
That is using this testing strategy all the individual modules are tested with the sample data to
verify that all the modules are working to its potential. The various tests that have been
performed in this testing strategy is as follows; The module is tested to ensure that information
properly flows into and out of the program unit under test.

The local data structure is examined to ensure that data stored temporarily maintains its
integrity during all steps in an algorithm’s execution. Boundary condition is tested to ensure that
the module operates properly at boundaries established to limit or restrict processing. All

72
independent paths are exercised to ensure that all statements in a module have been executed at
least once.

Integration testing

In this integration testing there are two types of testing exists that is top-down integration
and bottom-up integration. The top-down integration is an incremental approach to construct a
program structure. Modules are integrated by moving downward through the control hierarchy,
beginning with the main control module.

Bottom-up integration testing, as its name implies, begins construction and testing with
atomic modules i.e., modules at the lowest levels in the program structure. In this system only
bottom-up integration testing has been considered and tested. While integrating the modules, all
the errors in the interfaces and the errors in passing and receiving the parameters have been
identified an eliminated.

Validation Testing

At the end validation testing has been carried out to ensure that the system functions in a
manner that can be reasonably expected by the customer. That is the system has been tested in
order to verify that the software does only what it was designed for.

73
CONCLUSION

Jewelery.Co is a website used to shop the consumer products online. This application gives an
easier way to shop the things from the home itself. The customer can select wide range of Jewel
models like Necklaces, Rings, Earrings, etc. through online. The customers can view the product
specification along with its picture to get a clear view of the product.

This application makes shopping easy and quicker. Accessing anywhere from the world.
It will increase the sales of products of the company; it will be very useful to get more customers
around the world. This will elaborate the range of marketing area.

This web application E-Shopping will be more helpful to the company as well as the
customers.

74
BIBLIOGRAPHY

1. Professional ASP.NET 2.0 in C# 2005

Matthew MacDonald and Mario Szpuszta - Apress

2. Beginning ASP.NET 1.1 with C#.NET

John Kauffman, Chris Ullman - Wrox

3. Microsoft SQL Server 2005 Bibles

Paul Nielsen - Bible

4. Software Engineering - Practitioner Approach

Roger S. Pressman - McGrawHill

5. Professional ADO.NET 2.0

Sahil Malik

6. Professional ASP.NET 1.0,

Richard Anderson, Brian Francis, Alex Homer, Rob Howard, Dave Sussman,

75
76

You might also like