Sei sulla pagina 1di 121

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) 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 Technical Trainer HCL Info Systems Ltd. Kolkata- 700071.

Mr. Sudipta Kundu (HOD IT Department) P.C.M.T.

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 2. KRISHNENDU SAHA 3. SUBHODEEP SINGHA 4. SUMAN KARMAKAR 5. PRARTHNA PATTANAIK 6. BISWAJIT DUTTA

15612061076 15612061012 18112061017 18112061016 15612062001 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 customers 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 customers 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. Its 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 users 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 users 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 HTTPeliminating 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 dictionarys 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. DFDs 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. Entityrelationship 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) 1. Identify Entities Identify the roles, events, locations, tangible things or 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 ERD 4. Cardinality Rough Put entities in rectangles and relationships on line segments connecting the entities. Filling Determine the number of occurrences of one entity for 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. 8. Map Attributes For each attribute, match it with exactly one entity that 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

10. Check Results

Does the final Entity Relationship Diagram accurately 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.Data.SqlClient; 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 using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.IO; 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}\.[09]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[09]{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 using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.Data.SqlClient; System.IO; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.IO; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.Data.SqlClient; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.Data.SqlClient; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; System.Data.SqlClient; 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 = } else { spmotherboard.SqlValue = } if (checkBox3.Checked) { splcd.SqlValue = true; } else { splcd.SqlValue = false; } if (checkBox4.Checked) { spwaterdamage.SqlValue = } else { spwaterdamage.SqlValue = }

true;

false;

true;

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 using using using using using System; System.Collections.Generic; System.ComponentModel; System.Drawing; System.Windows.Forms; 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

Potrebbero piacerti anche