Mobile Store Management System

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 121

MOBILE STORE MANAGEMENT SYSTEM

A Major Project Submitted in fulfillment of the


requirement of the award of the Degree

OF

BACHELOR IN COMPUTER APPLICATION

BY

Debarun Sen
(Roll No: 15612061076)
(Reg No: 156101211069)

PAILAN SCHOOL OF MANAGEMENT AND


TECHNOLOGY

2009

WEST BENGAL UNIVERSITY OF TECHNOLOGY


BF, 142, SECTOR-1, SALT LAKE CITY,
KOLKATA-700064
Certificate of Approval

This to certify that Debarun Sen of BCA 6th Semester, Roll


No:15612061076 of Session 2009-10 has successfully completed
his semester Major Project on” MOBILE STORE MANAGEMENT
SYSTEM” assigned to him under my guidance. He is sincere in his
approach regarding every step of the project development right
from the initial phase up to the final phase. He has completed the
job within the stipulated time frame.

Mr. Arindam Biswas Mr. Sudipta Kundu


Technical Trainer (HOD IT Department)
HCL Info Systems Ltd. P.C.M.T.
Kolkata- 700071.

2|Page
ACKNOWLEDGEMENT

The satisfaction and euphoria that accompany the successful


completion of any task would be incomplete without the mention
of the people who made it possible, whose constant guidance,
supervise and encouragement crowned our effort with success. We
consider our privilege to express gratitude and respect to all who
guided us in the completion of the project.

We convey our gratitude is our project guide Mr. Arindam Biswas


(Technical Trainer), HCL Info Systems Ltd. For his timely help,
support, encouragement, constructive suggestion, information &
many innovative ideas in carrying out the project.

Name: Debarun Sen


Date:-
Roll No: 15612061076
RegNo: 156101211069

3|Page
Contents

Certificate of Approval ......................................................................................................... 2


ACKNOWLEDGEMENT........................................................................................................ 3
ABSTRACT ............................................................................................................................ 5
Synopsis ............................................................................................................................... 7
Team Members .................................................................................................................... 7
Project Description ............................................................................................................... 8
OBJECTIVE OF PROJECT ..................................................................................................... 11
Feasibility Study ................................................................................................................. 12
Software Requirement Specification ................................................................................. 16
Features of C#.NET............................................................................................................. 18
Features of SQL Server 2005 .............................................................................................. 21
Software Engineering Paradigm ........................................................................................ 23
Data Flow Diagram (DFD) .................................................................................................. 26
Entity-Relationship Diagram: ............................................................................................ 31
Project Snapshots………………………………………………………………………………………………………………………………….38

Table Structure……………………………………………………………………………………………………………………………………..47

Coding…………………………………………………………………………………………………………………………………………………..50

Testing ............................................................................................................................. 118


References........................................................................................................................ 120
Conclusion ........................................................................................................................ 121

4|Page
ABSTRACT

Information Technology has been growing rapidly, with the


course of time, as technology and human knowledge converge to a
twilight, the need for the betterment of their own sustaining life
also increases. Rapid need of high speed data access and faster
delivery is one of the major requirement of a product . Technology
has given many gifts to the human race to lead a sophisticated life.
One of the fabulous gifts was Mobile Phone which was invented by
Joel Engel and Richard Frenkiel in 1983.

As the havoc increase in the platform of cellular phone,


there must be well organized software which makes it possible for
a management of a mobile store to maintain a healthy business.
Thus getting interested on this matter we started thinking to
develop a software name “MOBILE STORE MANAGEMENT
SYSTEM”.

This software controls the modules from Servicing Entry of


a particular cellular phone by generating a unique Token Number
by which the User can easily take input from the Customer. It has
also a very sophisticated way to navigate from the Servicing Page to
a well organized Cost Estimate of the product, where the user
generates a bill of the total cost estimate of the repaired device.
Also there is a possibility of Marketing from that very source by
which any Customer interested can purchase the required Mobile
Phone from the software as per need and generate a bill of the
product.

5|Page
Mobile Store Management also has a well defined Infrastructure of
Staff Management which is included in the software itself which
includes from the gate keeper to the employees working in the
store. With the required level of Authorization, there is an option
of enabling required options that can be used by the user
depending on the mode She/he chooses.

It has a well define hardcore database of Microsoft SQL


Server 2005 were the details of the specific data are safely kept in
that Database and can also be retrieved as per need.

No matter how advanced the Cellular phone, Smart phone


be upcoming in the near future the use of this software will not be
Back dated. Moreover the mobile Phones get advanced with the
upcoming technology but this software will remain as Evergreen
Forever.

6|Page
Synopsis

Project Name: MOBILE STORE MANAGEMENT SYSTEM

Team Members

Name Roll Number

1. DEBARUN SEN 15612061076

2. KRISHNENDU SAHA 15612061012

3. SUBHODEEP SINGHA 18112061017

4. SUMAN KARMAKAR 18112061016

5. PRARTHNA PATTANAIK 15612062001

6. BISWAJIT DUTTA 18112061005

7|Page
Project Description

The project “MOBILE STORE MANAGEMENT SYSTEM” is a total


package for a mobile store. The entire project is divided in many
modules. Mainly the project starts with the user identification.
Depending on the type of username and password provided, the
system gets its Main Page. Depending on the type of the
authentication given, the user gets right to access His/Her required
field options. There is an option for the Manager where the rights
to access the entire software is allowed. The manager mode
basically is the owner of the Mobile Store. So a owner should have
all the permissible rights to its belongings and can use all the
features of the software. In the Manager page there is a
conspicuous option to list the details of the servicing and the see
the employee list which are recruited in the Store. The manager
has the ability to manipulate the Data in the database i.e. he can
supervise the data records of the Store. He can also sack, increase
the salary amount of the personals .There is also an option of
searching a specific Servicing details or a specific employee by the
Token number and the Employee ID respectively.

Secondly there is an option of the Servicing of a mobile, where


the user takes a faulty mobile for Repairing. The User takes the
input of the customer by taking its Name, address, Mobile
Number, Product number ,IMEI number and the problem Details
of the customer’s cell phone. It has also an interesting checking
8|Page
way of the product warranty, Date of the purchase. After the
product is taken by the user it checks the phone device, Charger,
Battery, memory device supplied .There is also a way of cot
estimation of the product. and the bill comes out in the form of the
print. Thus the user saves the data of the servicing page.

Once the product has been taken by the user. It needs a Random
update of the Servicing by the Engineer, which gets inserted in to
the Update Servicing. the update status of the product is seen by
the user through the Show update.

There is also an selling of the mobile phone by choosing the


particulars of the model, quantity of the product as desired. Here
also the customer has to provide the details of the Name, address,
Contact number. By providing the following details of the product
required to purchase, the entire Document is given a printed in the
form. By obeying the national laws of the country, the customer
have to pay the Sales Tax, Vat of the product purchase. The Entire
data is saved in the database for the checking purposes and future
references. There are basically two types of the Payment by the
customer. Which are Cash, Cheque, by providing the required
details the Entire document s saved.

There is also a feature of the staff recruitment of the store by the


Manager of the store. New staff gets recruited in the store by
entering in the form of the Employee. A unique EmployeeID is
generated in the form .The Name, Address, Contact Number, past
Experience. Date of Birth. After filling up the entire document the
manager decides whether the person is suitable for the job or not.
If the person is eligible for the job, the salary is fixed for the

9|Page
Employee. A picture is also required by the manager which
determines the Identification of the Employee.

Since the project is Entitled as the MOBILE STORE


MANAGEMENT SYSTEM, the entire project is done keeping in
mind the basic requirements of a store to maintain a continuous
transaction of the business and gain a high profit from the
business. The easy view and the user friendly nature of the project
make it very helpful for the User to take the entry in the software.

It is developed in a very strong platform of C#.Net as the front end


.On the other hand there is also an Enhanced Database
Management System of the SQL Server 2005.This provides a very
flexible, and super concealed data management of the product. The
Data entered can also be retrieved from the database very easily.

Seeing the current context of the cellular Phones, which are


growing enomorously in the Information Technology fields, the
Software is very sufficient to meet the daily requirements in order
to run a healthy business, and may also provide an enhanced work
flow. It is important that the project is going to adhere to the 3-Tier
architecture. The system should be easy to operate and no special
training is required for the customer. The only mandatory
requirement for the customer will be that the customer must
possess a debit or credit card. After the User logs out the S/W
should close its window for security reasons. Similarly whenever
the website remains idle for about 10 minutes the active session of
the User should be closed.

10 | P a g e
OBJECTIVE OF PROJECT

The main objective of the project is to help the ongoing user help
to attain an easy way to navigate the customer’s details and solve
the Customers problems. The Disadvantages of the cellular phone
is that same of that with the other electronic gadgets. If damaged
or gets faulty by any means then the entire system gets Hung up.
The main objective is to provide an easy, manageable way to
provide help to the customer. It is basically a very swift complaint
processing System by which customer can again get the device
back in the right condition. It’s basically build in the platform of
C#.NET windows application which makes the application quite
flexible and easy to be operated. The manager of the Mobile store
also finds it sufficient enough to view the details of the sales,
servicing and well organized way to employ the staff that are
included in the mobile store itself.

Thus it can be highlighted that the mobile store management


system is the self explanatory package of governing a well
developed Mobile Store in such a way that nothing gets excluded
or rather neglected from the project and everything is predominant
over necessary requirements that meets the need of both Customer
as well as User.

11 | P a g e
Feasibility Study

Feasibility is the determination of whether or not a project is worth


doing. The process followed in making this determination is called
a feasibility study. It identifies, describes and evaluates the
candidate system and selects the best possible action for the job.
The suggested system will run on Client server architecture. We
want to develop the system using ASP.NET /Java and Oracle or
SQL Server .We knows that .NET framework is provided and
available on most of the systems. Similarly Java runtime
environment is present in all Web Servers. Most modern web
browsers are .NET and Java enabled. The proposed system will be
modular, so it will be easily maintainable, it will be able to support
many users at the same time. The security is very cautiously
maintained. The system can be easily developed many skilled
professionals are available. .NET allows multi language integration
so differently skilled persons can be used to develop different
modules. Similarly the existing working of the Airline System
needs not being harmed. The user need not be trained. Any person
who accustom to the internet can use the system .The cost of
developing the system is minimal. The existing database of the
Airline System can be used without creating new one. The
customers get more benefits from the internet facility of the Airline
System and they also can reduce their branch overheads though
also the manual facilities should be available.

As said in the previous introduction the feasibility analysis is the


procedure that identifies, describes and evaluates proposed
systems and selects system for the job. It consists of various
analyses done in order to determine the viability of the proposed

12 | P a g e
system. Then what the actual need of the feasibility analysis it is
described as below.

Need of Feasibility Analysis

An initial investigation culminates in a proposal that determines


whether an alternative system is feasible or not. A proposal
summarizing the thinking of the analyst is presented to the user
for review. When approved the proposal initiates feasibility study
that describes and evaluates proposed systems and provides for the
selection of the best system that meets system performance
requirements.
To do a feasibility study we need to consider the economic
technical behavioral factors in the system development. First a
project team is formed. The team develops system flowcharts that
identify the characteristics of the system. The feasibility study is
done on the basis of the following key questions like. What are the
user’s demonstrable needs and how does the system meet them?
What resources are available for giving systems? Is the problem
worth solving? What are the likely impacts of the system on the
organization?

The objective of the feasibility study is not to solve the problem but
to acquire a sense of its scope. During the study the problem
definition is crystallized and aspects of the problem to be included
in the system are determined. The “Problem Statement” a carefully
worded statement of the problem that led to analysis summarize of

13 | P a g e
finding and recommendation. A list of the major findings a quick
access to the results of the analysis of the problem.

There are also some types of Feasibility Analysis listed below:

Economic feasibility

This is the most frequently used method for evaluating the


effectiveness of a proposed system. More commonly known as
cost-benefit analysis, the procedure is to determine the benefits
and savings that are expected from the proposed system and
compare them with costs. If benefits outweigh of the cost then the
decision is made to design and implement the system. Otherwise
further justifications or alternations in the proposed system will
have to be made if it is to have a chance of being approved. This is
an ongoing effort that improves in accuracy at each face of the
system life cycle.

Technical feasibility

This centers on the existing computer system and to what extent it


can support the proposed addition. This involves financial
considerations to accommodate technical enhancement. If budget
becomes serious constraint then the project is not feasible.

14 | P a g e
Behavioral feasibility

People are inherently resistant to change and computers have been


known to facilitate change. An estimate should be made of how
strong a reaction the user staff is likely to have toward the
development of a system. Therefore this is clear that the system
requires special effort to educate sell and train the staff. Thus we
see that our propose system is technically, operationally and
economically feasible.

15 | P a g e
Software Requirement Specification
(S.R.S)

Requirement Specification is done in order to understand the


problem statement provided by the company. For a large system
that involves many features and performs many different tasks,
understanding the requirements of the system is a major task. The
emphasis in requirement analysis is on identifying what is needed
from the system not how the system would achieve its goals. The
task is complicated by the fact that there are often at least two
parties involved in software development a client and a developer.
The client usually does not understand the issue involved in
software system. This is a communication gap.
This phase generally ends with a document describing all the
requirements. In other words the goal of the requirements
specifications phase is to produce the software requirements
specifications documents. The person responsible for the
requirements analysis is often called an ANALYST.

There are basically to major phases in this stage

 Problem Analysis or Understanding

 Requirement Specification

In the “problem analysis” the analyst has to understand the


problem and its context. Such analysis typically requires a
thorough understanding of the existing system; parts of which have
to be automated. This requires interacting with clients and end
users as well as studying the existing manual procedures. With the
16 | P a g e
analysis of the current system the analyst can understand the
reason for automation and what effects the automated system
might have.

In the “Requirement Specification”, ANALYST specifies what to


use, when to use and how to use to make the system for
comfortable to use in the user level. Basic tests are being
performed in order to see what will be the user’s basic system
requirements to make the given system run so that it will be made
in such a manner that the system may run even in low grade
computer hardware specification.

Development Tools & Technologies

Front End Tool – Microsoft® Visual Studio® 2005 Visual C#.NET®


Back End Tool – Microsoft® SQL Server® 2005

Minimal Required Specification

Processor – Intel® Pentium® IV or Higher


Main Memory – 256 MB or higher
Platform – Microsoft® Windows® 2000/2003/XP/Vista
Minimum space of 100 MB in the current hard drive.

17 | P a g e
Features of C#.NET

By design, C# is the programming language that most directly


reflects the underlying Common Language Infrastructure (CLI).
Most of its intrinsic types correspond to value-types implemented
by the CLI framework. However, the language specification does
not state the code generation requirements of the compiler: that is,
it does not state that a C# compiler must target a Common
Language Runtime, or generate Common Intermediate Language
(CIL), or generate any other specific format. Theoretically, a C#
compiler could generate machine code like traditional compilers of
C++ or FORTRAN. However, in practice, all existing compiler
implementations target CIL.

Some notable C# distinguishing features are:-

 There are no global variables or functions. All methods and


members must be declared within classes. It is possible,
however, to use static methods/variables within public classes
instead of global variables/functions.

 C# supports a strict Boolean data type, bool. Statements that


take conditions, such as while and if, require an expression of a
Boolean type. While C++ also has a Boolean type, it can be
freely converted to and from integers, and expressions such as
if(a) require only that a is convertible to bool, allowing a to be
18 | P a g e
an int, or a pointer. C# disallows this "integer meaning true or
false" approach on the grounds that forcing programmers to
use expressions that return exactly bool can prevent certain
types of programming mistakes such as if (a = b) (use of =
instead of ==).

 In C#, memory address pointers can only be used within blocks


specifically marked as unsafe, and programs with unsafe code
need appropriate permissions to run. Most object access is
done through safe object references, which are always either
pointing to a valid, existing object, or have the well-defined
null value; a reference to a garbage-collected object, or to
random block of memory, is impossible to obtain. An unsafe
pointer can point to an instance of a value-type, array, string,
or a block of memory allocated on a stack. Code that is not
marked as unsafe can still store and manipulate pointers
through the System. IntPtr type, but cannot dereference them.

 Managed memory cannot be explicitly freed, but is


automatically garbage collected. Garbage collection address
memory leaks. C# also provides direct support for
deterministic finalization with the using statement (supporting
the Resource Acquisition Is Initialization idiom).
 Multiple inheritances is not supported, although a class can
implement any number of interfaces. This was a design
decision by the language's lead architect to avoid complication,
avoid dependency hell and simplify architectural requirements
throughout CLI.
 C# is more typesafe than C++. The only implicit conversions by
default are those which are considered safe, such as widening
19 | P a g e
of integers and conversion from a derived type to a base type.
This is enforced at compile-time, during JIT, and, in some
cases, at runtime. There are no implicit conversions between
Booleans and integers, nor between enumeration members and
integers (except for literal 0, which can be implicitly converted
to any enumerated type). Any user-defined conversion must be
explicitly marked as explicit or implicit, unlike C++ copy
constructors (which are implicit by default) and conversion
operators (which are always implicit).

 Enumeration members are placed in their own scope.

 C# provides syntactic sugar for a common pattern of a pair of


methods, accessor (getter) and mutator (setter) encapsulating
operations on a single attribute of a class, in the form of
properties

20 | P a g e
Features of SQL Server 2005

Database Mirroring

Extend log shipping capabilities with the database mirroring


solution. You will be able to use database mirroring to enhance
availability of your SQL Server systems by setting up automatic
failover to a standby server.

Online Restore

With SQL Server 2005, database administrators are able to perform


a restore operation while an instance of SQL Server is running.
Online restore improves the availability of SQL Server because only
the data being restored is unavailable; the rest of the database
remains online and available.

Online Indexing Operations

The online index option allows concurrent modifications (updates,


deletes, and inserts) to the underlying table or clustered index data
and any associated indexes during index data definition language
(DDL) execution. For example, while a clustered index is being
rebuilt, you can continue to make updates to the underlying data
and perform queries against the data.

Fast Recovery

A new faster recovery option improves availability of SQL Server


databases. Administrators can reconnect to a recovering database
after the transaction log has been rolled forward.

21 | P a g e
Standards-based Information Access

Any object, data source, or business intelligence component can be


exposed using standards-based protocols such as SOAP and
HTTP—eliminating the need for a middle-tier listener, such as IIS,
to access a Web services interface that is exposed by SQL Server
2005.

SQL Server Management Studio

SQL Server 2005 includes SQL Server Management Studio, a new


integrated suite of management tools with the functionality to
develop, deploy, and troubleshoot SQL Server databases, as well as
enhancements to previous functionality.

Dedicated Administrator Connection

SQL Server 2005 provides a dedicated administrator connection


that administrators can use to access a running server even if the
server is locked or otherwise unavailable. This capability enables
administrators to troubleshoot problems on a server by executing
diagnostic functions or Transact-SQL statements.

Snapshot Isolation

Snapshot Isolation (SI) level is provided at the database level. With


SI, users can access the last committed row using a transitionally
consistent view of the database. This capability provides greater
scalability.

22 | P a g e
Data Partitioning

Data partitioning is enhanced with native table and index


partitioning that enables efficient manageability of large tables and
indexes.

Software Engineering Paradigm

Software engineering is the application of systematic, disciplined,


quantifiable approach to the development, operation and
maintenance of software that is the application of engineering to
software.

To solve the actual problem in an industry setting a Software


Engineer must incorporate a development strategy that enhances
the process, method and tools layer. This strategy is often referred
to as a process model or Software Engineering paradigm. A process
model of Software Engineering is chosen based on the nature of
project application.

It is clear that current state of software leaves much to be desired.


A primary reason for is that, approaches to software development
are frequently ad-hoc and programming centered. The ad-hoc or
programming centered approach may work for small project, but
for problem domain that we are interested in these approaches
generally do not work. If we have to control this software crisis,
some methodical approach is needed for software development.

A definition of the software engineering from the economic and


human perspective is given by Boehm (BoeSI) by combining the
dictionary’s definition of engineering with its definition software.

23 | P a g e
His definition states:-

“Software engineering is the application of science and mathematics


by which the capabilities of computer equipment are made useful to
man via computer programs, procedures and associated
documents”.

DATA FLOW DIAGRAM (DFD)

Demacro & Jane (1978) and Sarcon (1979) introduced Data Flow
Diagram (DFD) and it is important to system analysis. DFD’s are
very useful understanding a system and it can effectively used for
partitions during analysis. A DFD shows the flow of data through a
system. The system may be an organization, a manual procedure, a
software system, mechanical systems, a hardware system, or any
condition of these.
A DFD shows the movement of data through the different
transactions or process in the systems. As the first step, an entire
system can be depicted by one DFD, which gives a system overview
it is called Context Diagram.
Data Flow Diagram (DFD) is a way of expressing system
requirements in a graphical form. A DFD also known as bubble
chart has the purpose of clarifying system requirements and
identifying major transformations that will become programs in
system design.

Data Flow Diagram (DFD) symbols:

24 | P a g e
Square represents source or destination of
System data also called an external entity

Arrow represents Data flow

Circle or Bobble represents a process that


transform data from one form to another by
performing some task with the data called process

An Open Rectangle is a data store. Data store is


a place where data is held temporarily from one
transaction to the next or is stored permanently

This represents the Data Source

25 | P a g e
Data Flow Diagram (DFD)

26 | P a g e
LEVEL -0 DFD (CONTEXT LEVEL DIAGRAM)

27 | P a g e
LEVEL-1 DFD

28 | P a g e
LEVEL 2 DFD

29 | P a g e
LEVEL2 DFD

30 | P a g e
Entity-Relationship Diagram:

An entity-relationship model (ERM) in software engineering is


an abstract and conceptual representation of data. Entity-
relationship modeling is a relational schema database modeling
method, used to produce a type of conceptual schema or semantic
data model of a system, often a relational database, and its
requirements in a top-down fashion.

Diagrams created using this process are called entity-relationship


diagrams, or ER diagrams or ERDs for short. The definitive
reference for entity relationship modeling is generally given as
Peter Chen's 1976. However, variants of the idea existed previously
31 | P a g e
(see for example A.P.G. Brown) and have been devised
subsequently.

The three main components of an ERD are:

 The entity is a person, object, place or event for which data is


collected. For example, if you consider the information
system for a business, entities would include not only
customers, but the customer's address, and orders as well.
The entity is represented by a rectangle and labeled with a
singular noun.
 The relationship is the interaction between the entities. In the
example above, the customer places an order, so the word
"places" defines the relationship between that instance of a
customer and the order or orders that they place. A
relationship may be represented by a diamond shape, or more
simply, by the line connecting the entities. In either case,
verbs are used to label the relationships.
 The cardinality defines the relationship between the entities
in terms of numbers. An entity may be optional: for example,
a sales rep could have no customers or could have one or
many customers; or mandatory: for example, there must be at
least one product listed in an order. There are several
different types of cardinality notation; crow's foot notation,
used here, is a common one. In crow's foot notation, a single
bar indicates one, a double bar indicates one and only one (for
example, a single instance of a product can only be stored in
one warehouse), a circle indicates zero, and a crow's foot
indicates many. The three main cardinal relationships are:
one-to-one, expressed as 1:1; one-to-many, expressed as 1:M;
and many-to-many, expressed as M:N.

32 | P a g e
AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY:
(One way of doing it)
Identify the roles, events, locations, tangible things or
1. Identify Entities concepts about which the end-users want to store
data.

2. Find Find the natural associations between pairs of entities


Relationships using a relationship matrix.

3. Draw Rough Put entities in rectangles and relationships on line


ERD segments connecting the entities.

4. Filling Determine the number of occurrences of one entity for


Cardinality a single occurrence of the related entity.

5. Define Primary Identify the data attribute(s) that uniquely identify one
Keys and only one occurrence of each entity.

6. Draw Key-Based Eliminate Many-to-Many relationships and include


ERD primary and foreign keys in each entity.

7. Identify Name the information details (fields) which are


Attributes essential to the system under development.

For each attribute, match it with exactly one entity that


8. Map Attributes
it describes.

9. Draw fully Adjust the ERD from step 6 to account for entities or
attributed ERD relationships discovered in step 8.

33 | P a g e
Does the final Entity Relationship Diagram accurately
10. Check Results
depict the system data?

34 | P a g e
35 | P a g e
36 | P a g e
Project Snapshots

Login Page

37 | P a g e
Main Page

38 | P a g e
Servicing Page:

39 | P a g e
Cost Estimate Page:

40 | P a g e
Sales page:

41 | P a g e
Manager Page

42 | P a g e
Manager Page Showing Employee:

43 | P a g e
Update Servicing:

44 | P a g e
Show Update:

45 | P a g e
Employee Page

46 | P a g e
About Us:

47 | P a g e
Table Snapshots

Mobile Servicing Table

48 | P a g e
Customer Sales Table:

Sales Details

49 | P a g e
Employee Table:

Login Page Table:

50 | P a g e
Coding
Program.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace mobileservicecentre
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new login_Page());

}
}
}

51 | P a g e
Login page.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;

namespace mobileservicecentre
{
public partial class login_Page : Form
{
SqlConnection sconn;
SqlCommand scomm, scomm1;
SqlParameter spUserName, spUserName1;
char cDesig;
public login_Page()
{
InitializeComponent();
sconn = new SqlConnection();
scomm = new SqlCommand();
scomm1 = new SqlCommand();

sconn.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm.CommandText = "";
scomm.CommandType = CommandType.Text;
scomm.CommandText = "select password from
login_page where username=@pUserName";

52 | P a g e
scomm.Connection = sconn;

scomm1.CommandText = "";
scomm1.CommandType = CommandType.Text;
scomm1.CommandText = "select designation
from login_page where username=@pUserName1";
scomm1.Connection = sconn;

spUserName = new SqlParameter();


spUserName.SqlDbType = SqlDbType.VarChar;
spUserName.Direction =
ParameterDirection.Input;
spUserName.ParameterName = "pUserName";

spUserName1 = new SqlParameter();


spUserName1.SqlDbType = SqlDbType.VarChar;
spUserName1.Direction =
ParameterDirection.Input;
spUserName1.ParameterName = "pUserName1";

scomm.Parameters.Add(spUserName);
scomm1.Parameters.Add(spUserName1);

private void login_Page_Load(object sender,


EventArgs e)
{

private void button1_Click(object sender,


EventArgs e)

{
spUserName.SqlValue = textBox1.Text;
spUserName1.SqlValue = textBox1.Text;
sconn.Open();
object objPassWord;

53 | P a g e
if ((objPassWord = scomm.ExecuteScalar())
!= null)
{
if (textBox2.Text.Trim() ==
objPassWord.ToString().Trim())
{
ThreadStart ts = new
ThreadStart(runner);
Thread tt = new Thread(ts);
object objDesignation =
scomm1.ExecuteScalar();
if
(objDesignation.ToString().Trim() == "manager")
{
cDesig = 'M';
}
else if
(objDesignation.ToString().Trim() == "servicing")
{
cDesig = 'S';
}
else
{
cDesig = 'O';
}
tt.Start();
this.Close();
this.Dispose();

}
else
{
MessageBox.Show("Invalid
password");
}
}
else
{
MessageBox.Show("Invalid username");
}

54 | P a g e
sconn.Close();
}
void runner()
{
Central cc = new Central(cDesig);
cc.ShowDialog();
}

private void button3_Click(object sender,


EventArgs e)
{

Application.Exit();
}

private void button2_Click(object sender,


EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox1.Focus();

55 | P a g e
Central Page:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace mobileservicecentre
{
public partial class Central : Form
{
public Central(char m)
{
InitializeComponent();
}

private void exitToolStripMenuItem_Click(object


sender, EventArgs e)
{
Application.Exit();
}

private void
servicingToolStripMenuItem_Click(object sender,
EventArgs e)
{
Sevicing_Page achildform = new
Sevicing_Page();
achildform.MdiParent = this;
achildform.Show();
}

56 | P a g e
private void
updateDetailsToolStripMenuItem_Click(object sender,
EventArgs e)
{

private void Main_Load(object sender, EventArgs


e)
{
IsMdiContainer = true;

private void
salesToolStripMenuItem_Click(object sender, EventArgs
e)
{
sales achildform = new sales();
achildform.MdiParent = this;
achildform.Show();
}

private void
registerToolStripMenuItem_Click(object sender,
EventArgs e)
{
Employee achildform = new Employee();
achildform.MdiParent = this;
achildform.Show();
}

private void
updateDataToolStripMenuItem_Click(object sender,
EventArgs e)
{
Update_servicing achildform = new
Update_servicing();

57 | P a g e
achildform.MdiParent = this;
achildform.Show();
}

private void
showUpdateToolStripMenuItem_Click(object sender,
EventArgs e)
{
Show_Update achildform = new Show_Update();
achildform.MdiParent = this;
achildform.Show();
}

private void
exitApplicationToolStripMenuItem_Click(object sender,
EventArgs e)
{
Application.Exit();
}

private void Main_FormClosing(object sender,


FormClosingEventArgs e)
{
DialogResult dr=MessageBox.Show("Do You
Really Want to
Exit??","Close",MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;
}
}

private void
gotoManagerPageToolStripMenuItem_Click(object sender,
EventArgs e)
{
Manager achildform = new Manager();

58 | P a g e
achildform.MdiParent = this;
achildform.Show();
}

private void
exitToolStripMenuItem1_Click(object sender, EventArgs
e)
{
AboutBox1 cc = new AboutBox1();
cc.ShowDialog();

}
}
}

59 | P a g e
Servicing Page
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;

namespace mobileservicecentre
{
public partial class Sevicing_Page : Form
{
SqlConnection scon;
SqlCommand scomm;
SqlParameter sptoken, spdate, spCust_name,
spCust_add, spCust_pin, spCust_landline, spCust_mobile,
spCust_Email, spProd_Model, spProd_IMEI,
spProd_problem, spProd_DOP, spWarranty, spRec_Phone,
spRec_battery, spRec_Charger, spRec_MMC;
public Sevicing_Page()
{
InitializeComponent();
scon = new SqlConnection();
scon.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm = new SqlCommand();


scomm.CommandType = CommandType.Text;
scomm.CommandText = "insert into
servicing_page(Token_No,Date,Cust_name,Cust_add,Cust_pi

60 | P a g e
n,Cust_landline,Cust_mobile,Cust_Email,Prod_Model,Prod_
IMEI,Prod_problem,Prod_DOP,Warranty,Rec_Phone,Rec_batte
ry,Rec_Charger,Rec_MMC)
values(@token,@date,@Custname,@custadd,@custpin,@custla
ndline,@custmobile,@custemail,@prodmodel,@prodIMEI,@pro
dproblem,@prodDOP,@prodWarranty,@recphone,@recbattery,@
reccharger,@recMMC)";
scomm.Connection = scon;

sptoken = new SqlParameter();


sptoken.SqlDbType = SqlDbType.VarChar;
sptoken.Direction =
ParameterDirection.Input;
sptoken.ParameterName = "token";

spdate = new SqlParameter();


spdate.SqlDbType = SqlDbType.DateTime;
spdate.Direction =
ParameterDirection.Input;
spdate.ParameterName = "date";

spCust_name = new SqlParameter();


spCust_name.SqlDbType = SqlDbType.VarChar;
spCust_name.Direction =
ParameterDirection.Input;
spCust_name.ParameterName = "Custname";

spCust_add = new SqlParameter();


spCust_add.SqlDbType = SqlDbType.VarChar;
spCust_add.Direction =
ParameterDirection.Input;
spCust_add.ParameterName = "custadd";

spCust_pin = new SqlParameter();


spCust_pin.SqlDbType = SqlDbType.VarChar;
spCust_pin.Direction =
ParameterDirection.Input;
spCust_pin.ParameterName = "custpin";

61 | P a g e
spCust_landline = new SqlParameter();
spCust_landline.SqlDbType =
SqlDbType.VarChar;
spCust_landline.Direction =
ParameterDirection.Input;
spCust_landline.ParameterName =
"custlandline";

spCust_mobile = new SqlParameter();


spCust_mobile.SqlDbType =
SqlDbType.VarChar;
spCust_mobile.Direction =
ParameterDirection.Input;
spCust_mobile.ParameterName = "custmobile";

spCust_Email = new SqlParameter();


spCust_Email.SqlDbType = SqlDbType.VarChar;
spCust_Email.Direction =
ParameterDirection.Input;
spCust_Email.ParameterName = "custemail";

spProd_Model = new SqlParameter();


spProd_Model.SqlDbType = SqlDbType.VarChar;
spProd_Model.Direction =
ParameterDirection.Input;
spProd_Model.ParameterName = "prodmodel";

spProd_IMEI = new SqlParameter();


spProd_IMEI.SqlDbType = SqlDbType.VarChar;
spProd_IMEI.Direction =
ParameterDirection.Input;
spProd_IMEI.ParameterName = "prodIMEI";

spProd_DOP = new SqlParameter();


spProd_DOP.SqlDbType = SqlDbType.VarChar;

62 | P a g e
spProd_DOP.Direction =
ParameterDirection.Input;
spProd_DOP.ParameterName = "prodDOP";

spProd_problem = new SqlParameter();


spProd_problem.SqlDbType =
SqlDbType.VarChar;
spProd_problem.Direction =
ParameterDirection.Input;
spProd_problem.ParameterName =
"prodproblem";

spRec_battery = new SqlParameter();


spRec_battery.SqlDbType = SqlDbType.Bit;
spRec_battery.Direction =
ParameterDirection.Input;
spRec_battery.ParameterName = "recbattery";

spRec_Charger = new SqlParameter();


spRec_Charger.SqlDbType = SqlDbType.Bit;
spRec_Charger.Direction =
ParameterDirection.Input;
spRec_Charger.ParameterName = "reccharger";

spRec_MMC = new SqlParameter();


spRec_MMC.SqlDbType = SqlDbType.Bit;
spRec_MMC.Direction =
ParameterDirection.Input;
spRec_MMC.ParameterName = "recMMC";

spRec_Phone = new SqlParameter();


spRec_Phone.SqlDbType = SqlDbType.Bit;
spRec_Phone.Direction =
ParameterDirection.Input;
spRec_Phone.ParameterName = "recphone";

63 | P a g e
spWarranty = new SqlParameter();
spWarranty.SqlDbType = SqlDbType.Bit;
spWarranty.Direction =
ParameterDirection.Input;
spWarranty.ParameterName = "prodWarranty";

scomm.Parameters.Add(spCust_add);
scomm.Parameters.Add(spCust_Email);
scomm.Parameters.Add(spCust_landline);
scomm.Parameters.Add(spCust_mobile);
scomm.Parameters.Add(spCust_name);
scomm.Parameters.Add(spCust_pin);
scomm.Parameters.Add(spdate);
scomm.Parameters.Add(spProd_DOP);
scomm.Parameters.Add(spProd_IMEI);
scomm.Parameters.Add(spProd_Model);
scomm.Parameters.Add(spProd_problem);
scomm.Parameters.Add(spRec_battery);
scomm.Parameters.Add(spRec_Charger);
scomm.Parameters.Add(spRec_MMC);
scomm.Parameters.Add(spRec_Phone);
scomm.Parameters.Add(sptoken);
scomm.Parameters.Add(spWarranty);

private void button1_Click(object sender,


EventArgs e)
{
spCust_add.SqlValue = textBox3.Text.Trim();
spCust_Email.SqlValue =
textBox6.Text.Trim();
spCust_landline.SqlValue =
textBox5.Text.Trim();
spCust_mobile.SqlValue =
textBox1.Text.Trim();
spCust_name.SqlValue = textBox4.Text;

64 | P a g e
spCust_pin.SqlValue = textBox2.Text.Trim();
spdate.SqlValue = dateTimePicker1.Value;
spProd_DOP.SqlValue =
dateTimePicker2.Value;
spProd_IMEI.SqlValue =
textBox9.Text.Trim();
spProd_Model.SqlValue =
textBox8.Text.Trim();
spProd_problem.SqlValue =
textBox10.Text.Trim();
sptoken.SqlValue = label16.Text;

if (radioButton1.Checked)
{
spWarranty.SqlValue = true;
}
else
spWarranty.SqlValue = false;

if (radioButton3.Checked)
{
spRec_Phone.SqlValue = true;
}
else
spRec_Phone.SqlValue = false;

if (radioButton4.Checked)
{
spRec_battery.SqlValue = true;
}
else
spRec_battery.SqlValue = false;

if (radioButton6.Checked)
{
spRec_Charger.SqlValue = true;

65 | P a g e
}
else
spRec_Charger.SqlValue = false;

if (radioButton8.Checked)
{
spRec_MMC.SqlValue = true;
}
else
spRec_MMC.SqlValue = false;
if (scon.State == ConnectionState.Closed)
scon.Open();
try
{
scomm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
if (scon.State == ConnectionState.Open)
scon.Close();
}

private void Sevicing_Page_Load(object sender,


EventArgs e)
{
toolTip1.SetToolTip(textBox4, "Enter the
name of the customer");
toolTip2.SetToolTip(textBox3, "here enter
the address of the customer");
toolTip3.SetToolTip(textBox2, "Enter the
Pincode of the customer");
toolTip4.SetToolTip(textBox5, "Enter the
Landline Number of the customer");
toolTip5.SetToolTip(textBox6, "Enter the
email ID of the customer");
toolTip7.SetToolTip(textBox1, "Enter the
Mobile number of the customer");

66 | P a g e
toolTip8.SetToolTip(textBox8, "Enter the
Mobile model number ");
toolTip9.SetToolTip(textBox9, "Enter the
Mobile IMEI number");
toolTip10.SetToolTip(textBox10, "Enter the
Mobile problem details");
Random rr=new Random();
label16.Text = rr.Next(0,
10000).ToString();
textBox4.Focus();

private void button2_Click(object sender,


EventArgs e)
{
costestimate cc = new costestimate();
cc.ShowDialog();
}

private void timer1_Tick(object sender,


EventArgs e)
{
lblTime.Text =
DateTime.Now.ToLongTimeString();

private void Sevicing_Page_FormClosing(object


sender, FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("Do You
want to really exit?",
"Close",MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;

67 | P a g e
}
}

private void lblTime_Click(object sender,


EventArgs e)
{

private void groupBox1_Enter(object sender,


EventArgs e)
{

private void textBox6_TextChanged(object


sender, EventArgs e)
{

private void textBox4_TextChanged(object


sender, EventArgs e)
{

private void textBox10_TextChanged(object


sender, EventArgs e)
{

private void textBox1_Validating(object sender,


CancelEventArgs e)
{
try
{
long x = long.Parse(textBox1.Text);
}

68 | P a g e
catch (Exception)
{
errorProvider1.SetError(textBox1, "The
value must be numeric");
errorProvider1.BlinkRate = 1000;
errorProvider1.BlinkStyle =
ErrorBlinkStyle.AlwaysBlink;
}

private void textBox1_TextChanged(object


sender, EventArgs e)
{

private void
dateTimePicker1_ValueChanged(object sender, EventArgs
e)
{

private void textBox4_Leave(object sender,


EventArgs e)
{
string ss = textBox4.Text.Trim();
bool isString = true;
foreach (char s in ss)
{
if
(System.Text.RegularExpressions.Regex.IsMatch(s.ToStrin
g(), "\\d+"))
{
isString = false;
}
}
if (!isString)
{

69 | P a g e
errorProvider2.SetError(textBox4, "Only
Letters Alowwed");
}
}

private void textBox1_Leave(object sender,


EventArgs e)
{
string ss = textBox1.Text.Trim();
if (ss.Length != 10)
{
MessageBox.Show("mob no is only ten");
textBox1.Text = "";
textBox1.Focus();
return;
}
bool isString =false;
foreach (char s in ss)
{
if
(!System.Text.RegularExpressions.Regex.IsMatch(s.ToStri
ng(), "\\d+"))
{
isString=true;
}
}
if (isString)
{
MessageBox.Show("string is there");
}
}

private void textBox2_Leave(object sender,


EventArgs e)
{
bool notValid = false;
string ss = textBox2.Text.Trim();
if (ss.Length != 6 && ss.Length>0)
{
MessageBox.Show("pin no is only six");

70 | P a g e
notValid = true;
}

int tot = 0;
if (textBox2.Text.Trim() != "")
{
string mm = textBox2.Text.Trim();
if (mm.Substring(0, 1) == "0")
{
notValid = true;
}

foreach (char c in mm)


{
if (c == '0')
tot++;
}
if (tot == 6) notValid = true;
if (notValid)
{
MessageBox.Show("Invalid pin
number");
return;
}
}
}

private void textBox6_Leave(object sender,


EventArgs e)
{
string s = textBox6.Text.Trim();
bool isEmail = true;
if
(!System.Text.RegularExpressions.Regex.IsMatch(s,@"^([\
w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-
9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-
9]{1,3})(\]?)$"))
{
isEmail = false;
}

71 | P a g e
if (!isEmail)
{
MessageBox.Show("not a valid e-mail");
return;
}
}

private void textBox5_Leave(object sender,


EventArgs e)
{
string ss1 = textBox5.Text.Trim();
if (ss1.Length != 11)
{

errorProvider3.SetError(textBox5,"Landline no not
valid");
textBox5.Focus();
return;
}

bool isString = false;


foreach (char s in ss1)
{
if
(!System.Text.RegularExpressions.Regex.IsMatch(s.ToStri
ng(), "\\d+"))
{
isString = true;
}
}
if (isString)
{
MessageBox.Show(" Letters is there");
}

private void label22_Click(object sender,


EventArgs e)
{

72 | P a g e
}

private void label20_Click(object sender,


EventArgs e)
{

private void label21_Click(object sender,


EventArgs e)
{

}
}

73 | P a g e
Manager.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using System.Threading;

namespace mobileservicecentre
{
public partial class Manager : Form
{
SqlConnection sconn;
SqlCommand scomm,scommPhoto;
DataSet ds;
SqlDataAdapter sda;
SqlCommandBuilder scb;
SqlParameter spphoto;

public object number;

public Manager()
{
InitializeComponent();

sconn = new SqlConnection();


sconn.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm = new SqlCommand();


scomm.CommandType = CommandType.Text;
scomm.Connection = sconn;

74 | P a g e
scommPhoto = new SqlCommand();
scommPhoto.CommandType = CommandType.Text;
scommPhoto.CommandText = "select Emp_Photo
from Employee where Emp_ID=@pEmpno";
scommPhoto.Connection = sconn;

spphoto = new SqlParameter();


spphoto.SqlDbType = SqlDbType.VarChar;
spphoto.Direction =
ParameterDirection.Input;
spphoto.ParameterName = "pEmpno";
scommPhoto.Parameters.Add(spphoto);

ds = new DataSet();

sda = new SqlDataAdapter();


sda.SelectCommand = scomm;

scb = new SqlCommandBuilder();


scb.DataAdapter = sda;
}

private void menuStrip1_ItemClicked(object


sender, ToolStripItemClickedEventArgs e)
{

private void
viewEditToolStripMenuItem_Click(object sender,
EventArgs e)
{
comboBox1.Enabled = true;
}

private void Manager_Load(object sender,


EventArgs e)
{

75 | P a g e
}

private void
viewEditToolStripMenuItem1_Click(object sender,
EventArgs e)
{
comboBox2.Enabled = true;
}

private void Manager_FormClosing(object sender,


FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("Do You
really want to exit??", "Close",
MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;
}
}

private void comboBox1_DropDown(object sender,


EventArgs e)
{

private void comboBox1_Enter(object sender,


EventArgs e)
{
if (sconn.State == ConnectionState.Closed)
sconn.Open();
scomm.CommandText = "select Token_No from
servicing_page";
SqlDataReader sdr = scomm.ExecuteReader();
while (sdr.Read())

76 | P a g e
{

comboBox1.Items.Add(sdr["Token_No"].ToString());
}
if (sconn.State == ConnectionState.Open)
sconn.Close();
}

private void comboBox2_Enter(object sender,


EventArgs e)
{
if (sconn.State == ConnectionState.Closed)
sconn.Open();
scomm.CommandText = "select Emp_ID from
Employee";
SqlDataReader sdr1 = scomm.ExecuteReader();
while (sdr1.Read())
{

comboBox2.Items.Add(sdr1["Emp_ID"].ToString());
}
if (sconn.State == ConnectionState.Open)
sconn.Close();
}

private void button1_Click(object sender,


EventArgs e)
{
scomm.CommandText = "select * from
servicing_page";
ds.Clear();
sda.Fill(ds, "servicing_page");
dataGridView1.DataSource = ds;
dataGridView1.DataMember =
"servicing_page";
MessageBox.Show("Grid loaded
successfully");
}

77 | P a g e
private void button2_Click(object sender,
EventArgs e)
{
scomm.CommandText = "select * from
Employee";
ds.Clear();
sda.Fill(ds, "Employee");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Employee";
MessageBox.Show("Grid loaded
successfully");
}

private void
comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{
button1_Click(sender, e);

MessageBox.Show("You Have selected " +


comboBox1.SelectedItem.ToString());
DataView dv = new DataView();
dv.Table = ds.Tables["servicing_page"];
dv.RowFilter = "Token_No='" +
comboBox1.SelectedItem.ToString() + "'";
dataGridView1.DataSource = dv;
MessageBox.Show("Requested data shown
successfully");

private void
comboBox2_SelectedIndexChanged(object sender, EventArgs
e)
{
button2_Click(sender, e);
MessageBox.Show("You Have selected " +
comboBox2.SelectedItem.ToString());
DataView dv = new DataView();
dv.Table = ds.Tables["Employee"];

78 | P a g e
dv.RowFilter = "Emp_ID='" +
comboBox2.SelectedItem.ToString() + "'";
dataGridView1.DataSource = dv;
MessageBox.Show("Requested Employee data is
Shown successfully");
spphoto.SqlValue =
comboBox2.SelectedItem.ToString();
sconn.Open();
object oo = scommPhoto.ExecuteScalar();
if (oo != System.DBNull.Value)
{
MemoryStream ms = new
MemoryStream((byte[])oo);
pictureBox1.Image =
Image.FromStream(ms);
}
sconn.Close();

private void exitToolStripMenuItem_Click(object


sender, EventArgs e)
{
Application.Exit();
}

private void button3_Click(object sender,


EventArgs e)
{
ds = (DataSet)dataGridView1.DataSource;
sda.DeleteCommand = scb.GetDeleteCommand();
sda.UpdateCommand = scb.GetUpdateCommand();
sda.InsertCommand = scb.GetInsertCommand();
DialogResult dr = MessageBox.Show("Do you
want to save the changes???", "Save???",
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if (dr == DialogResult.Yes)
{

79 | P a g e
sda.Update(ds, "servicing_page");
MessageBox.Show("Data updated
successfully");
}
else if (dr == DialogResult.No)
{
MessageBox.Show("Exiting without
saving??");
Application.Exit();
}
else
{
}
}

private void button4_Click(object sender,


EventArgs e)
{
ds = (DataSet)dataGridView1.DataSource;
sda.DeleteCommand = scb.GetDeleteCommand();
sda.UpdateCommand = scb.GetUpdateCommand();
sda.InsertCommand = scb.GetInsertCommand();
DialogResult dr = MessageBox.Show("Do you
want to save the changes???", "Save???",
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if (dr == DialogResult.Yes)
{
sda.Update(ds, "Employee");
MessageBox.Show("Data updated
successfully");
}
else if (dr == DialogResult.No)
{
MessageBox.Show("Exiting without
saving??");
Application.Exit();
}
}

80 | P a g e
private void dataGridView1_CellClick(object
sender, DataGridViewCellEventArgs e)
{

//number =
dataGridView1.CurrentRow.Cells[0].Value;
// MessageBox.Show(number.ToString());
// EditServicing ees = new EditServicing();
//ees.Show();

private void
dataGridView1_CellContentClick(object sender,
DataGridViewCellEventArgs e)
{

private void pictureBox1_Click(object sender,


EventArgs e)
{

private void label2_Click(object sender,


EventArgs e)
{

private void dataGridView1_Click(object sender,


EventArgs e)
{
dataGridView1.Columns[0].ReadOnly = true;
}
}
}

81 | P a g e
Employee.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;
using System.Drawing.Imaging;
namespace mobileservicecentre
{
public partial class Employee : Form
{
SqlConnection scon;
SqlCommand scomm;
SqlParameter spEmpID,spFName, splName, spAdd,
spDOB, spGender, spCntcNo, spPstExp, spJD, spSal,
spPhoto;
public Employee()
{
InitializeComponent();
scon = new SqlConnection();
scon.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm = new SqlCommand();


scomm.CommandType = CommandType.Text;
scomm.CommandText = "insert into Employee
values(@EmpID,@EmpFname,@EmpLname,@EmpAdd,@EmpDOB,@EmpG
ender,@EmpCntcNo,@EmpPstExp,@EmpJD,@EmpSal,@EmpPhoto)";
scomm.Connection = scon;

spEmpID = new SqlParameter();


spEmpID.SqlDbType = SqlDbType.VarChar;
spEmpID.Direction =
ParameterDirection.Input;

82 | P a g e
spEmpID.ParameterName = "EmpID";

spFName = new SqlParameter();


spFName.SqlDbType = SqlDbType.VarChar;
spFName.Direction =
ParameterDirection.Input;
spFName.ParameterName = "EmpFname";

splName= new SqlParameter();


splName.SqlDbType = SqlDbType.VarChar;
splName.Direction =
ParameterDirection.Input;
splName.ParameterName = "EmpLname";

spAdd = new SqlParameter();


spAdd.SqlDbType = SqlDbType.VarChar;
spAdd.Direction = ParameterDirection.Input;
spAdd.ParameterName = "EmpAdd";

spDOB = new SqlParameter();


spDOB.SqlDbType = SqlDbType.DateTime;
spDOB.Direction = ParameterDirection.Input;
spDOB.ParameterName = "EmpDOB";

spJD = new SqlParameter();


spJD.SqlDbType = SqlDbType.DateTime;
spJD.Direction = ParameterDirection.Input;
spJD.ParameterName = "EmpJD";

spGender = new SqlParameter();


spGender.SqlDbType = SqlDbType.Bit;
spGender.Direction =
ParameterDirection.Input;
spGender.ParameterName = "EmpGender";

spPstExp = new SqlParameter();


spPstExp.SqlDbType = SqlDbType.Bit;
spPstExp.Direction =
ParameterDirection.Input;

83 | P a g e
spPstExp.ParameterName = "EmpPstExp";

spSal = new SqlParameter();


spSal.SqlDbType = SqlDbType.Money;
spSal.Direction = ParameterDirection.Input;
spSal.ParameterName = "EmpSal";

spCntcNo = new SqlParameter();


spCntcNo.SqlDbType = SqlDbType.VarChar;
spCntcNo.Direction =
ParameterDirection.Input;
spCntcNo.ParameterName = "EmpCntcNo";

spPhoto = new SqlParameter();


spPhoto.SqlDbType = SqlDbType.Image;
spPhoto.Direction =
ParameterDirection.Input;
spPhoto.ParameterName = "EmpPhoto";

scomm.Parameters.Add(spEmpID);
scomm.Parameters.Add(splName);
scomm.Parameters.Add(spAdd);
scomm.Parameters.Add(spCntcNo);
scomm.Parameters.Add(spDOB);
scomm.Parameters.Add(spGender);
scomm.Parameters.Add(spJD);
scomm.Parameters.Add(spPhoto);
scomm.Parameters.Add(spSal);
scomm.Parameters.Add(spPstExp);
scomm.Parameters.Add(spFName);

private void button1_Click(object sender,


EventArgs e)
{
spEmpID.SqlValue = label7.Text.Trim();
spFName.SqlValue = textBox3.Text.Trim();
splName.SqlValue = textBox4.Text.Trim();

84 | P a g e
spAdd.SqlValue = textBox2.Text.Trim();
spCntcNo.SqlValue = textBox6.Text.Trim();
spDOB.SqlValue = dateTimePicker2.Value;
spJD.SqlValue = dateTimePicker1.Value;
spSal.SqlValue = label7.Text.Trim();
spPstExp.SqlValue = true;

MemoryStream ms = new MemoryStream();


pictureBox1.Image.Save(ms,
ImageFormat.Jpeg);
spPhoto.SqlValue = ms.ToArray();

if (rbmale.Checked)
{
spGender.SqlValue = false;

}
else
{
spGender.SqlValue = true;
}

if (rbyes.Checked)
{
spGender.SqlValue = false;
}
else
{
spGender.SqlValue = true;
}

if (scon.State == ConnectionState.Closed)
scon.Open();
try
{
scomm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());

85 | P a g e
}

MessageBox.Show("Data saves Sucessfully");


}

private void timer1_Tick(object sender,


EventArgs e)
{
label12.Text =
DateTime.Now.ToLongTimeString();
}

private void Employee_FormClosing(object


sender, FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("Do you
want to really
exit??","Close",MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel=true;
}

private void Employee_Load(object sender,


EventArgs e)
{
Random rr = new Random();
label7.Text = rr.Next(0, 10000).ToString();

private void openFileDialog1_FileOk(object


sender, CancelEventArgs e)

86 | P a g e
{
pictureBox1.ImageLocation =
openFileDialog1.FileName;
}

private void linkLabel1_LinkClicked(object


sender, LinkLabelLinkClickedEventArgs e)
{
openFileDialog1.ShowDialog();
}

private void textBox3_Leave(object sender,


EventArgs e)
{
string ss = textBox3.Text.Trim();
bool isString = true;
foreach (char s in ss)
{
if
(System.Text.RegularExpressions.Regex.IsMatch(s.ToStrin
g(), "\\d+"))
{
isString = false;
}
}
if (!isString)
{
errorProvider1.SetError(textBox3, "Only
Letters Alowwed");
}

private void textBox4_Leave(object sender,


EventArgs e)
{
string ss = textBox4.Text.Trim();
bool isString = true;
foreach (char s in ss)
{

87 | P a g e
if
(System.Text.RegularExpressions.Regex.IsMatch(s.ToStrin
g(), "\\d+"))
{
isString = false;
}
}
if (!isString)
{
errorProvider2.SetError(textBox4, "Only
Letters Alowwed");
textBox4.Text = "";

private void textBox6_Leave(object sender,


EventArgs e)
{

string ss1 = textBox6.Text.Trim();


if (ss1.Length != 11)
{
errorProvider3.SetError(textBox6,
"Contact number not valid");
textBox6.Focus();
return;
}

bool isString = false;


foreach (char s in ss1)
{
if
(!System.Text.RegularExpressions.Regex.IsMatch(s.ToStri
ng(), "\\d+"))
{
isString = true;
}
}

88 | P a g e
if (isString)
{
errorProvider3.SetError(textBox6,
"Letters are there");
}

}
}
}

89 | P a g e
Sales.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;

namespace mobileservicecentre
{
public partial class sales : Form
{
SqlConnection scon;
SqlCommand scomm;
SqlParameter spcustname, spcustphone,
spcustadd, spsalesID, spdate, spchequeno;
public sales()
{
InitializeComponent();
scon = new SqlConnection();
scon.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm = new SqlCommand();


scomm.CommandType=CommandType.Text;
scomm.CommandText = "insert into
Sales_Detals
values(@custname,@custphone,@custadd,@salesID,@date,@ch
equeNo)";
scomm.Connection = scon;

spcustname = new SqlParameter();


spcustname.SqlDbType = SqlDbType.VarChar;

90 | P a g e
spcustname.Direction =
ParameterDirection.Input;
spcustname.ParameterName = "custname";

spcustphone = new SqlParameter();


spcustphone.SqlDbType = SqlDbType.VarChar;
spcustphone.Direction =
ParameterDirection.Input;
spcustphone.ParameterName = "custphone";

spcustadd = new SqlParameter();


spcustadd.SqlDbType = SqlDbType.VarChar;
spcustadd.Direction =
ParameterDirection.Input;
spcustadd.ParameterName = "custadd";

spdate = new SqlParameter();


spdate.SqlDbType = SqlDbType.Date;
spdate.Direction =
ParameterDirection.Input;
spdate.ParameterName = "date";

spsalesID = new SqlParameter();


spsalesID.SqlDbType = SqlDbType.VarChar;
spsalesID.Direction =
ParameterDirection.Input;
spsalesID.ParameterName = "salesID";

spchequeno = new SqlParameter();


spchequeno.SqlDbType = SqlDbType.VarChar;
spchequeno.Direction =
ParameterDirection.Input;
spchequeno.ParameterName = "chequeNO";

scomm.Parameters.Add(spcustname);
scomm.Parameters.Add(spcustphone);
scomm.Parameters.Add(spcustadd);
scomm.Parameters.Add(spdate);
scomm.Parameters.Add(spsalesID);
scomm.Parameters.Add(spchequeno);

91 | P a g e
}

private void sales_Load(object sender,


EventArgs e)
{
Random rr = new Random();
label31.Text = rr.Next(0, 1000).ToString();

// TODO: This line of code loads data into


the 'mobileservicingDataSet5.Sales' table. You can
move, or remove it, as needed.

this.salesTableAdapter3.Fill(this.mobileservicingDataSe
t5.Sales);
// TODO: This line of code loads data into
the 'mobileservicingDataSet4.Sales' table. You can
move, or remove it, as needed.

this.salesTableAdapter2.Fill(this.mobileservicingDataSe
t4.Sales);
// TODO: This line of code loads data into
the 'mobileservicingDataSet3.Sales' table. You can
move, or remove it, as needed.

this.salesTableAdapter1.Fill(this.mobileservicingDataSe
t3.Sales);
// TODO: This line of code loads data into
the 'mobileservicingDataSet2.Sales' table. You can
move, or remove it, as needed.

this.salesTableAdapter.Fill(this.mobileservicingDataSet
2.Sales);

92 | P a g e
private void textBox3_TextChanged(object
sender, EventArgs e)
{

private void
splitContainer1_Panel1_Paint(object sender,
PaintEventArgs e)
{

private void
comboBox2_SelectedIndexChanged(object sender, EventArgs
e)
{
try
{
label14.Text =
comboBox2.SelectedValue.ToString();
}
catch (Exception) { }
}

private void sales_FormClosing(object sender,


FormClosingEventArgs e)
{
DialogResult dr=MessageBox.Show("Do You
Really want to
Exit??","Close",MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;
}
}

93 | P a g e
private void exitToolStripMenuItem_Click(object
sender, EventArgs e)
{
Application.Exit();
}

private void textBox4_Leave(object sender,


EventArgs e)
{
label15.Text=(double.Parse(comboBox3.Text)
* double.Parse(label14.Text)).ToString();
}

private void textBox4_TextChanged(object


sender, EventArgs e)
{

private void btnadd_Click(object sender,


EventArgs e)
{
if (!comboBox5.Visible)
{
comboBox5.Visible = true;
comboBox4.Visible = true;
textBox6.Visible = true;
label24.Visible = true;
label25.Visible = true;
}
else if (!comboBox7.Visible)
{
comboBox7.Visible = true;
comboBox6.Visible = true;
textBox7.Visible = true;
label26.Visible = true;
label27.Visible = true;
}
else
{

94 | P a g e
comboBox9.Visible = true;
comboBox8.Visible = true;
textBox8.Visible = true;
label28.Visible = true;
label29.Visible = true;
}

private void
saveDataToolStripMenuItem_Click(object sender,
EventArgs e)
{
spcustname.SqlValue = textBox1.Text;
spcustadd.SqlValue = textBox2.Text;
spcustphone.SqlValue =
textBox3.Text.Trim();
spsalesID.SqlValue = label31.Text.Trim();
spdate.SqlValue = dateTimePicker1.Value;
spchequeno.SqlValue = textBox5.Text.Trim();

if (scon.State == ConnectionState.Closed)
scon.Open();

try
{
scomm.ExecuteNonQuery();
}

catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}

if (scon.State==ConnectionState.Open)
scon.Close();

95 | P a g e
}

private void timer1_Tick(object sender,


EventArgs e)
{
label32.Text =
DateTime.Now.ToLongTimeString();
}
}
}

96 | P a g e
Show Update.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;

namespace mobileservicecentre
{
public partial class Show_Update : Form
{
SqlConnection sconn;
SqlCommand scomm;
SqlDataAdapter sda;
SqlCommandBuilder scb;
DataSet ds;

public Show_Update()
{
InitializeComponent();

sconn = new SqlConnection("Data


Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005");
scomm = new SqlCommand();
scomm.CommandType=CommandType.Text;
scomm.Connection = sconn;

ds = new DataSet();

sda = new SqlDataAdapter();


sda.SelectCommand = scomm;
97 | P a g e
scb = new SqlCommandBuilder();
scb.DataAdapter = sda;
}

private void Show_Update_FormClosing(object


sender, FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("Do You
Really Want to Exit??", "Close",
MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;
}
}

private void timer1_Tick(object sender,


EventArgs e)
{
label12.Text =
DateTime.Now.ToLongTimeString();
}

private void label12_Click(object sender,


EventArgs e)
{

private void Show_Update_Load(object sender,


EventArgs e)
{
if (sconn.State == ConnectionState.Closed)
sconn.Open();
scomm.CommandText = "select Token_No from
servicing_page";

98 | P a g e
SqlDataReader sdr = scomm.ExecuteReader();

while (sdr.Read())
{

comboBox1.Items.Add(sdr["Token_No"].ToString());
}
if (sconn.State == ConnectionState.Open)
sconn.Close();
}

private void
comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{

//MessageBox.Show(comboBox1.SelectedItem.ToString());
sconn.Open();
scomm.CommandText = "select * from
servicing_page where Token_No='" +
comboBox1.SelectedItem.ToString().Trim() + "'";
SqlDataReader sda = scomm.ExecuteReader();
sda.Read();
textBox4.Text =
sda["Cust_name"].ToString().Trim();
textBox3.Text =
sda["Cust_add"].ToString().Trim();
textBox2.Text =
sda["Cust_pin"].ToString().Trim();
textBox5.Text =
sda["Cust_landline"].ToString().Trim();
textBox1.Text =
sda["Cust_mobile"].ToString().Trim();
textBox6.Text =
sda["cust_Email"].ToString().Trim();
textBox8.Text =
sda["Prod_Model"].ToString().Trim();
textBox9.Text =
sda["Prod_IMEI"].ToString().Trim();

99 | P a g e
sda.Close();
sconn.Close();

}
}
}

100 | P a g e
Update Servicing.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;

namespace mobileservicecentre
{
public partial class Update_servicing : Form
{
SqlConnection sconn;
SqlCommand scomm;
SqlDataAdapter sda;
SqlCommandBuilder scb;
DataSet ds;
SqlParameter spupdate;

public Update_servicing()
{
InitializeComponent();
sconn = new SqlConnection("Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005");
scomm = new SqlCommand();
scomm.CommandType = CommandType.Text;
scomm.Connection = sconn;

ds = new DataSet();

sda = new SqlDataAdapter();


sda.SelectCommand = scomm;
101 | P a g e
scb = new SqlCommandBuilder();
scb.DataAdapter = sda;
}

private void timer1_Tick(object sender,


EventArgs e)
{
label12.Text =
DateTime.Now.ToLongTimeString();
}

private void
Update_servicing_FormClosing(object sender,
FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("Do You
really want to exit??", "Close",
MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
}
else
{
e.Cancel = true;
}
}

private void Update_servicing_Load(object


sender, EventArgs e)
{
if (sconn.State == ConnectionState.Closed)
sconn.Open();
scomm.CommandText = "select Token_No from
servicing_page";
SqlDataReader sdr = scomm.ExecuteReader();

while (sdr.Read())
{

102 | P a g e
comboBox1.Items.Add(sdr["Token_No"].ToString());
}
if (sconn.State == ConnectionState.Open)
sconn.Close();
}

private void
comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{
sconn.Open();
scomm.CommandText = "select * from
servicing_page where Token_No='" +
comboBox1.SelectedItem.ToString().Trim() + "'";
SqlDataReader sda = scomm.ExecuteReader();
sda.Read();
textBox4.Text =
sda["Cust_Name"].ToString().Trim();
textBox3.Text =
sda["Cust_add"].ToString().Trim();
textBox2.Text =
sda["Cust_pin"].ToString().Trim();
textBox5.Text =
sda["Cust_landline"].ToString().Trim();
textBox1.Text =
sda["Cust_mobile"].ToString().Trim();
textBox8.Text =
sda["Prod_Model"].ToString().Trim();
textBox9.Text =
sda["Prod_IMEI"].ToString().Trim();
textBox6.Text =
sda["Cust_Email"].ToString().Trim();
sda.Close();
sconn.Close();

private void button1_Click(object sender,


EventArgs e)

103 | P a g e
{
scomm = new SqlCommand();
scomm.CommandType = CommandType.Text;
scomm.CommandText = "insert into
servicing_page where update_status=@pUpdate";
scomm.Connection = sconn;

spupdate = new SqlParameter();


spupdate.SqlDbType = SqlDbType.VarChar;
spupdate.Direction =
ParameterDirection.Input;
spupdate.ParameterName = "@pUpdate";

scomm.Parameters.Add(spupdate);

spupdate.SqlValue = textBox7.Text;

if (sconn.State == ConnectionState.Closed)
sconn.Open();
try
{
scomm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
if (sconn.State == ConnectionState.Open)
sconn.Close();

private void label22_Click(object sender,


EventArgs e)
{

}
}
}

104 | P a g e
Cost Estimate.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;

namespace mobileservicecentre
{
public partial class costestimate : Form
{
SqlConnection scon;
SqlCommand scomm;
SqlParameter sptoken,spmotherboard, spkeyboard,
spspeaker, spwaterdamage, splcd, sptotal_amount;

int xx = 0;
public costestimate()
{
InitializeComponent();

scon = new SqlConnection();


scon.ConnectionString = "Data
Source=DEWDROP;Initial Catalog=mobileservicing;User
ID=sa;Password=sqlserver2005";

scomm = new SqlCommand();


scomm.CommandType = CommandType.Text;
scomm.CommandText = "insert into
Servicing_estimate

105 | P a g e
values(@Token,@motherboard,@lcd,@speaker,@water_damage,
@keyboard,@total)";
scomm.Connection = scon;

sptoken = new SqlParameter();


sptoken.SqlDbType = SqlDbType.VarChar;
sptoken.Direction =
ParameterDirection.Input;
sptoken.ParameterName = "Token";

spmotherboard = new SqlParameter();


spmotherboard.SqlDbType = SqlDbType.Bit;
spmotherboard.Direction =
ParameterDirection.Input;
spmotherboard.ParameterName =
"motherboard";

spkeyboard = new SqlParameter();


spkeyboard.SqlDbType =SqlDbType.Bit;
spkeyboard.Direction =
ParameterDirection.Input;
spkeyboard.ParameterName = "keyboard";

splcd = new SqlParameter();


splcd.SqlDbType = SqlDbType.Bit;
splcd.Direction = ParameterDirection.Input;
splcd.ParameterName = "lcd";

spspeaker = new SqlParameter();


spspeaker.SqlDbType = SqlDbType.Bit;
spspeaker.Direction =
ParameterDirection.Input;
spspeaker.ParameterName = "speaker";

spwaterdamage = new SqlParameter();


spwaterdamage.SqlDbType = SqlDbType.Bit;
spwaterdamage.Direction =
ParameterDirection.Input;
spwaterdamage.ParameterName =
"water_damage";

106 | P a g e
sptotal_amount = new SqlParameter();
sptotal_amount.SqlDbType =
SqlDbType.VarChar;
sptotal_amount.Direction =
ParameterDirection.Input;
sptotal_amount.ParameterName = "total";

scomm.Parameters.Add(sptoken);
scomm.Parameters.Add(spmotherboard);
scomm.Parameters.Add(spspeaker);
scomm.Parameters.Add(spkeyboard);
scomm.Parameters.Add(splcd);
scomm.Parameters.Add(spwaterdamage);
scomm.Parameters.Add(sptotal_amount);

private void timer1_Tick(object sender,


EventArgs e)
{
label4.Text =
DateTime.Now.ToLongTimeString();
}

private void checkBox1_CheckedChanged(object


sender, EventArgs e)
{
if (checkBox1.Checked)
{
xx = xx + 600;
label5.Visible = true;

}
else
{
xx = xx - 600;
label5.Visible = false;

107 | P a g e
}

private void checkBox2_CheckedChanged(object


sender, EventArgs e)
{

if (checkBox2.Checked)
{
xx = xx + 1000;
label6.Visible = true;

}
else
{
xx = xx - 1000;
label6.Visible = false;

private void checkBox3_CheckedChanged(object


sender, EventArgs e)
{
if (checkBox3.Checked)
{
xx = xx + 2000;
label7.Visible = true;
}
else
{
xx = xx - 2000;
label7.Visible = false;
}

108 | P a g e
}

private void checkBox4_CheckedChanged(object


sender, EventArgs e)
{
if (checkBox4.Checked)
{
xx = xx + 300;
label8.Visible = true;

}
else
{
xx = xx - 300;
label8.Visible = false;
}
}

private void checkBox5_CheckedChanged(object


sender, EventArgs e)
{
if (checkBox5.Checked)
{
xx = xx + 500;
label9.Visible = true;

}
else
{
xx = xx - 500;
label9.Visible = false;
}

private void button1_Click(object sender,


EventArgs e)
{
label2.Text = xx.ToString();
}

109 | P a g e
private void checkBox1_Leave(object sender,
EventArgs e)
{

private void costestimate_Load(object sender,


EventArgs e)
{
// TODO: This line of code loads data into
the 'mobileservicingDataSet14.servicing_page' table.
You can move, or remove it, as needed.

this.servicing_pageTableAdapter1.Fill(this.mobileservic
ingDataSet14.servicing_page);
// TODO: This line of code loads data into
the 'mobileservicingDataSet13.servicing_page' table.
You can move, or remove it, as needed.
//
this.servicing_pageTableAdapter.Fill(this.mobileservici
ngDataSet13.servicing_page);

private void button2_Click(object sender,


EventArgs e)
{
sptoken.SqlValue =
comboBox1.SelectedItem.ToString();

if (checkBox1.Checked)
{
spkeyboard.SqlValue = true;
}
else
{
spkeyboard.SqlValue = false;
}

110 | P a g e
if (checkBox2.Checked)
{
spmotherboard.SqlValue = true;
}
else
{
spmotherboard.SqlValue = false;
}
if (checkBox3.Checked)
{
splcd.SqlValue = true;
}
else
{
splcd.SqlValue = false;
}
if (checkBox4.Checked)
{
spwaterdamage.SqlValue = true;
}
else
{
spwaterdamage.SqlValue = false;
}

if (checkBox5.Checked)
{
spspeaker.SqlValue = true;
}
else
{
spspeaker.SqlValue = false;
}

sptotal_amount.SqlValue =
label2.Text.Trim();

if (scon.State == ConnectionState.Closed)
scon.Open();

111 | P a g e
try
{
scomm.ExecuteNonQuery();

}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
MessageBox.Show("Data is successfully
Saved");
if (scon.State == ConnectionState.Open)
scon.Close();

112 | P a g e
About Box.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;

namespace mobileservicecentre
{
partial class AboutBox1 : Form
{
public AboutBox1()
{
InitializeComponent();

// Initialize the AboutBox to display the


product information from the assembly information.
// Change assembly information settings
for your application through either:
// - Project->Properties->Application-
>Assembly Information
// - AssemblyInfo.cs
this.Text = String.Format("About {0}",
AssemblyTitle);
this.labelProductName.Text =
AssemblyProduct;
this.labelVersion.Text =
String.Format("Version {0}", AssemblyVersion);
this.labelCopyright.Text =
AssemblyCopyright;
this.labelCompanyName.Text =
AssemblyCompany;

#region Assembly Attribute Accessors

public string AssemblyTitle

113 | P a g e
{
get
{
// Get all Title attributes on this
assembly
object[] attributes =
Assembly.GetExecutingAssembly().GetCustomAttributes(typ
eof(AssemblyTitleAttribute), false);
// If there is at least one Title
attribute
if (attributes.Length > 0)
{
// Select the first one
AssemblyTitleAttribute
titleAttribute = (AssemblyTitleAttribute)attributes[0];
// If it is not an empty string,
return it
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// If there was no Title attribute, or
if the Title attribute was the empty string, return the
.exe name
return
System.IO.Path.GetFileNameWithoutExtension(Assembly.Get
ExecutingAssembly().CodeBase);
}
}

public string AssemblyVersion


{
get
{
return
Assembly.GetExecutingAssembly().GetName().Version.ToStr
ing();
}
}

public string AssemblyDescription

114 | P a g e
{
get
{
// Get all Description attributes on
this assembly
object[] attributes =
Assembly.GetExecutingAssembly().GetCustomAttributes(typ
eof(AssemblyDescriptionAttribute), false);
// If there aren't any Description
attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Description attribute,
return its value
return
((AssemblyDescriptionAttribute)attributes[0]).Descripti
on;
}
}

public string AssemblyProduct


{
get
{
// Get all Product attributes on this
assembly
object[] attributes =
Assembly.GetExecutingAssembly().GetCustomAttributes(typ
eof(AssemblyProductAttribute), false);
// If there aren't any Product
attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Product attribute,
return its value
return
((AssemblyProductAttribute)attributes[0]).Product;
}
}

115 | P a g e
public string AssemblyCopyright
{
get
{
// Get all Copyright attributes on this
assembly
object[] attributes =
Assembly.GetExecutingAssembly().GetCustomAttributes(typ
eof(AssemblyCopyrightAttribute), false);
// If there aren't any Copyright
attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Copyright attribute,
return its value
return
((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}

public string AssemblyCompany


{
get
{
// Get all Company attributes on this
assembly
object[] attributes =
Assembly.GetExecutingAssembly().GetCustomAttributes(typ
eof(AssemblyCompanyAttribute), false);
// If there aren't any Company
attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Company attribute,
return its value
return
((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion

116 | P a g e
private void tableLayoutPanel_Paint(object
sender, PaintEventArgs e)
{

}
}
}

117 | P a g e
Testing

Testing a program consists of subjecting the program to a set of


test inputs and observing if the program behaves as expected then
the condition under which failure occurs are noted for letter
debugging and correction.

Testing Principals -

 All tests should be traceable to customer requirements.


 Testing Schedule: An overall testing schedule and
resource planning must be made well in advance.
 The Pareto principle implies that 80% of all errors
uncovered during testing will likely be traceable to 20%
of program modules.
 Testing scheduling begins “in small “ and progress
towards testing “in the large”
 Exhaustive testing is not possible for any system.
 To be most effective an independent third party should
conduct testing.

Types of Testing -

 White box testing


 Black box testing
 Interface testing

118 | P a g e
In “MOBILE STORE MANAGEMENT SYSTEM” white box testing
has been implemented which is concerned with the
implementation of the program .The purpose is to exercise or try
out different programming and database used in the program. The
test concentrates on the examination of the code rather than the
specification (which is left for black box testing).

119 | P a g e
References

1. Professional C# 2005 with .NET 3.0


2. C# 2005 Programming Black Book
3. csharpcorner.com
4. msdn.microsoft.com

120 | P a g e
Conclusion

This software has been made keeping it in mind that software is


made for end users, not for programmers. So user friendliness
keeping eye candy was first in the list. Wish this Student
Admission System will serve satisfactory for which it is made.
Easiness of mastering the whole process – with the use of
Microsoft® Visual Studio® 2005 Visual C#.NET® and Microsoft® SQL
Server® 2005 the process of controlling the whole system would be
much easier and those can keep full control on the overall process
without facing much trouble. With the user friendly GUI the
software is very much user friendly and would be easy to use for
anybody with a meager computer knowledge.

121 | P a g e

You might also like