mobile store management system

144
m 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) WEST BENGAL UNIVERSITY OF TECHNOLOGY BF, 142, SECTOR-1, SALT LAKE CITY, KOLKATA-700064

Upload: debarun-sen

Post on 25-Oct-2014

202 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Mobile Store Management System

mMOBILE 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)

WEST BENGAL UNIVERSITY OF TECHNOLOGY

BF, 142, SECTOR-1, SALT LAKE CITY,KOLKATA-700064

Page 2: Mobile Store Management System

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 KunduTechnical Trainer (HOD IT Department) HCL Info Systems Ltd. P.C.M.T.Kolkata- 700071.

2 | P a g e

Page 3: Mobile Store Management System

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

3 | P a g e

Page 4: Mobile Store Management System

Date:- Roll No: 15612061076 RegNo: 156101211069

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

4 | P a g e

Page 5: Mobile Store Management System

References......................................................................................................................120

Conclusion......................................................................................................................121

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,

5 | P a g e

Page 6: Mobile Store Management System

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.

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 | P a g e

Page 7: Mobile Store Management System

Synopsis

Team Members

Name Roll Number

7 | P a g e

Project Name: MOBILE STORE MANAGEMENT SYSTEM

Page 8: Mobile Store Management System

1. DEBARUN SEN 15612061076

2. KRISHNENDU SAHA 15612061012

3. SUBHODEEP SINGHA 18112061017

4. SUMAN KARMAKAR 18112061016

5. PRARTHNA PATTANAIK 15612062001

6. BISWAJIT DUTTA 18112061005

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

8 | P a g e

Page 9: Mobile Store Management System

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

9 | P a g e

Page 10: Mobile Store Management System

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

10 | P a g e

Page 11: Mobile Store Management System

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.

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

11 | P a g e

Page 12: Mobile Store Management System

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.

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

12 | P a g e

Page 13: Mobile Store Management System

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 system. Then what the actual need of the feasibility analysis it is described as below.

13 | P a g e

Page 14: Mobile Store Management System

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 finding and recommendation. A list of the

14 | P a g e

Page 15: Mobile Store Management System

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.

15 | P a g e

Page 16: Mobile Store Management System

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.

16 | P a g e

Page 17: Mobile Store Management System

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

17 | P a g e

Page 18: Mobile Store Management System

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 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 HigherMain Memory – 256 MB or higherPlatform – Microsoft® Windows® 2000/2003/XP/VistaMinimum space of 100 MB in the current hard drive.

18 | P a g e

Page 19: Mobile Store Management System

19 | P a g e

Page 20: Mobile Store Management System

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

20 | P a g e

Features of C#.NET

Page 21: Mobile Store Management System

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 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).

21 | P a g e

Page 22: Mobile Store Management System

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

22 | P a g e

Page 23: Mobile Store Management System

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

23 | P a g e

Features of SQL Server

Page 24: Mobile Store Management System

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.

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

24 | P a g e

Page 25: Mobile Store Management System

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.

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.

25 | P a g e

Page 26: Mobile Store Management System

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.

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

26 | P a g e

Page 27: Mobile Store Management System

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:

27 | P a g e

Square represents source or destination of System data also called an external entity

Arrow represents Data flow

Page 28: Mobile Store Management System

28 | P a g e

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

Page 29: Mobile Store Management System

Data Flow Diagram (DFD)

LEVEL -0 DFD (CONTEXT LEVEL DIAGRAM)

29 | P a g e

Page 30: Mobile Store Management System

LEVEL-1 DFD

30 | P a g e

Page 31: Mobile Store Management System

LEVEL 2 DFD

31 | P a g e

Page 32: Mobile Store Management System

LEVEL2 DFD

32 | P a g e

Page 33: Mobile Store Management System

Entity-Relationship Diagram:

33 | P a g e

Page 34: Mobile Store Management System

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

34 | P a g e

Page 35: Mobile Store Management System

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.

35 | P a g e

Page 36: Mobile Store Management System

AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY: (One way of doing it)

1. Identify Entities 

Identify the roles, events, locations, tangible things or concepts about which the end-users want to store data. 

2. Find Relationships 

Find the natural associations between pairs of entities using a relationship matrix.

3. Draw Rough ERD 

Put entities in rectangles and relationships on line segments connecting the entities. 

4. Filling Cardinality 

Determine the number of occurrences of one entity for a single occurrence of the related entity. 

5. Define Primary Keys 

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

6. Draw Key-Based ERD 

Eliminate Many-to-Many relationships and include primary and foreign keys in each entity. 

7. Identify Attributes 

Name the information details (fields) which are essential to the system under development. 

8. Map Attributes 

For each attribute, match it with exactly one entity that it describes. 

36 | P a g e

Page 37: Mobile Store Management System

9. Draw fully attributed ERD 

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

10. Check Results 

Does the final Entity Relationship Diagram accurately depict the system data? 

37 | P a g e

Page 38: Mobile Store Management System

38 | P a g e

Page 39: Mobile Store Management System

39 | P a g e

Page 40: Mobile Store Management System

Project Snapshots

40 | P a g e

Login Page

Page 41: Mobile Store Management System

41 | P a g e

Servicing Page:

Main Page

Page 42: Mobile Store Management System

42 | P a g e

Cost Estimate Page:

Page 43: Mobile Store Management System

43 | P a g e

Sales page:

Page 44: Mobile Store Management System

44 | P a g e

Manager Page

Page 45: Mobile Store Management System

45 | P a g e

Manager Page Showing Employee:

Page 46: Mobile Store Management System

46 | P a g e

Update Servicing:

Page 47: Mobile Store Management System

47 | P a g e

Show Update:

Page 48: Mobile Store Management System

48 | P a g e

Employee Page

Page 49: Mobile Store Management System

49 | P a g e

About Us:

Page 50: Mobile Store Management System

Table Snapshots

Mobile Servicing Table

50 | P a g e

Page 51: Mobile Store Management System

Customer Sales Table:

Sales Details

51 | P a g e

Page 52: Mobile Store Management System

Employee Table:

Login Page Table:

52 | P a g e

Page 53: Mobile Store Management System

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());

}

53 | P a g e

Page 54: Mobile Store Management System

}}

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();

54 | P a g e

Page 55: Mobile Store Management System

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"; 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) {

55 | P a g e

Page 56: Mobile Store Management System

}

private void button1_Click(object sender, EventArgs e) { spUserName.SqlValue = textBox1.Text; spUserName1.SqlValue = textBox1.Text; sconn.Open(); object objPassWord; 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

56 | P a g e

Page 57: Mobile Store Management System

{ MessageBox.Show("Invalid password"); } } else { MessageBox.Show("Invalid username"); } 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();

}

}

}

57 | P a g e

Page 58: Mobile Store Management System

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(); }

58 | P a g e

Page 59: Mobile Store Management System

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

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();

59 | P a g e

Page 60: Mobile Store Management System

}

private void updateDataToolStripMenuItem_Click(object sender, EventArgs e) { Update_servicing achildform = new Update_servicing(); 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;

60 | P a g e

Page 61: Mobile Store Management System

} }

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

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

} } }

61 | P a g e

Page 62: Mobile Store Management System

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();

62 | P a g e

Page 63: Mobile Store Management System

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_pin,Cust_landline,Cust_mobile,Cust_Email,Prod_Model,Prod_IMEI,Prod_problem,Prod_DOP,Warranty,Rec_Phone,Rec_battery,Rec_Charger,Rec_MMC) values(@token,@date,@Custname,@custadd,@custpin,@custlandline,@custmobile,@custemail,@prodmodel,@prodIMEI,@prodproblem,@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";

63 | P a g e

Page 64: Mobile Store Management System

spCust_pin = new SqlParameter(); spCust_pin.SqlDbType = SqlDbType.VarChar; spCust_pin.Direction = ParameterDirection.Input; spCust_pin.ParameterName = "custpin";

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();

64 | P a g e

Page 65: Mobile Store Management System

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

spProd_DOP = new SqlParameter(); spProd_DOP.SqlDbType = SqlDbType.VarChar; 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;

65 | P a g e

Page 66: Mobile Store Management System

spRec_MMC.ParameterName = "recMMC";

spRec_Phone = new SqlParameter(); spRec_Phone.SqlDbType = SqlDbType.Bit; spRec_Phone.Direction = ParameterDirection.Input; spRec_Phone.ParameterName = "recphone";

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();

66 | P a g e

Page 67: Mobile Store Management System

spCust_Email.SqlValue = textBox6.Text.Trim(); spCust_landline.SqlValue = textBox5.Text.Trim(); spCust_mobile.SqlValue = textBox1.Text.Trim(); spCust_name.SqlValue = textBox4.Text; 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; }

67 | P a g e

Page 68: Mobile Store Management System

else spRec_battery.SqlValue = false;

if (radioButton6.Checked) { spRec_Charger.SqlValue = true; } 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");

68 | P a g e

Page 69: Mobile Store Management System

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"); 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);

69 | P a g e

Page 70: Mobile Store Management System

if (dr == DialogResult.OK) { } else { e.Cancel = true; } }

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) {

}

70 | P a g e

Page 71: Mobile Store Management System

private void textBox1_Validating(object sender, CancelEventArgs e) { try { long x = long.Parse(textBox1.Text); } 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.ToString(), "\\d+"))

71 | P a g e

Page 72: Mobile Store Management System

{ isString = false; } } if (!isString) { 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.ToString(), "\\d+")) { isString=true; } } if (isString) { MessageBox.Show("string is there"); } }

private void textBox2_Leave(object sender, EventArgs e)

72 | P a g e

Page 73: Mobile Store Management System

{ bool notValid = false; string ss = textBox2.Text.Trim(); if (ss.Length != 6 && ss.Length>0) { MessageBox.Show("pin no is only six"); 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,@"^([\

73 | P a g e

Page 74: Mobile Store Management System

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; } 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.ToString(), "\\d+")) { isString = true; } } if (isString) { MessageBox.Show(" Letters is there"); } }

74 | P a g e

Page 75: Mobile Store Management System

private void label22_Click(object sender, EventArgs e) {

}

private void label20_Click(object sender, EventArgs e) {

}

private void label21_Click(object sender, EventArgs e) {

}

}}

75 | P a g e

Page 76: Mobile Store Management System

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";

76 | P a g e

Page 77: Mobile Store Management System

scomm = new SqlCommand(); scomm.CommandType = CommandType.Text; scomm.Connection = sconn;

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; }

77 | P a g e

Page 78: Mobile Store Management System

private void Manager_Load(object sender, EventArgs 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();

78 | P a g e

Page 79: Mobile Store Management System

scomm.CommandText = "select Token_No from servicing_page"; SqlDataReader sdr = scomm.ExecuteReader(); while (sdr.Read()) { 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");

79 | P a g e

Page 80: Mobile Store Management System

}

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());

80 | P a g e

Page 81: Mobile Store Management System

DataView dv = new DataView(); dv.Table = ds.Tables["Employee"]; 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);

81 | P a g e

Page 82: Mobile Store Management System

if (dr == DialogResult.Yes) { 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(); }

82 | P a g e

Page 83: Mobile Store Management System

}

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; } }}

83 | P a g e

Page 84: Mobile Store Management System

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,@EmpGender,@EmpCntcNo,@EmpPstExp,@EmpJD,@EmpSal,@EmpPhoto)"; scomm.Connection = scon;

spEmpID = new SqlParameter(); spEmpID.SqlDbType = SqlDbType.VarChar;

84 | P a g e

Page 85: Mobile Store Management System

spEmpID.Direction = ParameterDirection.Input; 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;

85 | P a g e

Page 86: Mobile Store Management System

spPstExp.Direction = ParameterDirection.Input; 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();

86 | P a g e

Page 87: Mobile Store Management System

spFName.SqlValue = textBox3.Text.Trim(); splName.SqlValue = textBox4.Text.Trim(); 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)

87 | P a g e

Page 88: Mobile Store Management System

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

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();

}

88 | P a g e

Page 89: Mobile Store Management System

private void openFileDialog1_FileOk(object sender, CancelEventArgs 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.ToString(), "\\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)

89 | P a g e

Page 90: Mobile Store Management System

{ if (System.Text.RegularExpressions.Regex.IsMatch(s.ToString(), "\\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.ToString(), "\\d+")) { isString = true; } }

90 | P a g e

Page 91: Mobile Store Management System

if (isString) { errorProvider3.SetError(textBox6, "Letters are there"); } } }}

91 | P a g e

Page 92: Mobile Store Management System

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,@chequeNo)"; scomm.Connection = scon;

spcustname = new SqlParameter(); spcustname.SqlDbType = SqlDbType.VarChar;

92 | P a g e

Page 93: Mobile Store Management System

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);

93 | P a g e

Page 94: Mobile Store Management System

}

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.mobileservicingDataSet5.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.mobileservicingDataSet4.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.mobileservicingDataSet3.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.mobileservicingDataSet2.Sales);

}

private void textBox3_TextChanged(object sender, EventArgs e)

94 | P a g e

Page 95: Mobile Store Management System

{

}

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; } }

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

95 | P a g e

Page 96: Mobile Store Management System

{ 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 { comboBox9.Visible = true; comboBox8.Visible = true; textBox8.Visible = true;

96 | P a g e

Page 97: Mobile Store Management System

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();

}

private void timer1_Tick(object sender, EventArgs e)

97 | P a g e

Page 98: Mobile Store Management System

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

Show Update.cs

98 | P a g e

Page 99: Mobile Store Management System

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;

scb = new SqlCommandBuilder(); scb.DataAdapter = sda; }

99 | P a g e

Page 100: Mobile Store Management System

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"; SqlDataReader sdr = scomm.ExecuteReader();

while (sdr.Read()) {

100 | P a g e

Page 101: Mobile Store Management System

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();

sda.Close(); sconn.Close(); } }

101 | P a g e

Page 102: Mobile Store Management System

}

Update Servicing.cs

using System;

102 | P a g e

Page 103: Mobile Store Management 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;

scb = new SqlCommandBuilder(); scb.DataAdapter = sda; }

103 | P a g e

Page 104: Mobile Store Management System

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()) { comboBox1.Items.Add(sdr["Token_No"].ToString()); } if (sconn.State == ConnectionState.Open) sconn.Close(); }

104 | P a g e

Page 105: Mobile Store Management System

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) { scomm = new SqlCommand(); scomm.CommandType = CommandType.Text; scomm.CommandText = "insert into servicing_page where update_status=@pUpdate"; scomm.Connection = sconn;

105 | P a g e

Page 106: Mobile Store Management System

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) {

} }}

Cost Estimate.cs

using System;using System.Collections.Generic;using System.ComponentModel;

106 | P a g e

Page 107: Mobile Store Management System

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 values(@Token,@motherboard,@lcd,@speaker,@water_damage,@keyboard,@total)"; scomm.Connection = scon;

sptoken = new SqlParameter(); sptoken.SqlDbType = SqlDbType.VarChar; sptoken.Direction = ParameterDirection.Input;

107 | P a g e

Page 108: Mobile Store Management System

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";

sptotal_amount = new SqlParameter(); sptotal_amount.SqlDbType = SqlDbType.VarChar; sptotal_amount.Direction = ParameterDirection.Input; sptotal_amount.ParameterName = "total";

108 | P a g e

Page 109: Mobile Store Management System

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; }

}

private void checkBox2_CheckedChanged(object sender, EventArgs e)

109 | P a g e

Page 110: Mobile Store Management System

{

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; } }

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

110 | P a g e

Page 111: Mobile Store Management System

} 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(); }

private void checkBox1_Leave(object sender, EventArgs e) { }

private void costestimate_Load(object sender, EventArgs e) {

111 | P a g e

Page 112: Mobile Store Management System

// 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.mobileservicingDataSet14.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.mobileservicingDataSet13.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; }

if (checkBox2.Checked) { spmotherboard.SqlValue = true; } else { spmotherboard.SqlValue = false; } if (checkBox3.Checked)

112 | P a g e

Page 113: Mobile Store Management System

{ 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(); try { scomm.ExecuteNonQuery();

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

113 | P a g e

Page 114: Mobile Store Management System

MessageBox.Show("Data is successfully Saved"); if (scon.State == ConnectionState.Open) scon.Close();

}

About Box.cs:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Windows.Forms;using System.Reflection;

114 | P a g e

Page 115: Mobile Store Management System

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 { get { // Get all Title attributes on this assembly object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); // If there is at least one Title attribute

115 | P a g e

Page 116: Mobile Store Management System

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.GetExecutingAssembly().CodeBase); } }

public string AssemblyVersion { get { return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } }

public string AssemblyDescription { get { // Get all Description attributes on this assembly object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); // If there aren't any Description attributes, return an empty string

116 | P a g e

Page 117: Mobile Store Management System

if (attributes.Length == 0) return ""; // If there is a Description attribute, return its value return ((AssemblyDescriptionAttribute)attributes[0]).Description; } }

public string AssemblyProduct { get { // Get all Product attributes on this assembly object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(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; } }

public string AssemblyCopyright { get { // Get all Copyright attributes on this assembly object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);

117 | P a g e

Page 118: Mobile Store Management System

// 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(typeof(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

private void tableLayoutPanel_Paint(object sender, PaintEventArgs e) {

} }}

118 | P a g e

Page 119: Mobile Store Management System

Testing

Testing a program consists of subjecting the program to a set of test inputs and observing if the program behaves

119 | P a g e

Page 120: Mobile Store Management System

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

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

120 | P a g e

Page 121: Mobile Store Management System

examination of the code rather than the specification (which is left for black box testing).

References

121 | P a g e

Page 122: Mobile Store Management System

1.Professional C# 2005 with .NET 3.02.C# 2005 Programming Black Book3.csharpcorner.com4.msdn.microsoft.com

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.

122 | P a g e

Page 123: Mobile Store Management System

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.

123 | P a g e