The Restaurant Management System Using Net
The Restaurant Management System Using Net
The Restaurant Management System Using Net
OBJECTIVE
If we are trying to cope with QuickBooks or a series of Excel Spreadsheets, we a
re undoubtedly spending countless hours making crucial decisions with questionab
le data. If we are struggling with some other very expensive and complicated for
m of software, Restaurant Management System will give us something that desperat
ely needs MORE TIME TO GROW YOUR BUSINESS! It is designed to avoid paper work. It
is designed to increase operational efficiency, saving our money and time, maxim
izing profit and provide more security. This software is developed to manage the
restaurant more effectively and efficiently by computerizing Meal Ordering, Bil
ling, and Stock Maintenance & Accounting. This application is also designed for
inventory control, menu, recipe and liquor costing, sales management.
SCOPE
Our software can be used in any kind of restaurant like Bar, Sandwich Shop, Pizz
eria, Steak House, and Cafe Shop, Deli, Buffet, and Catering business, Doughnut
or Pastry Shop, Hotel restaurant/kitchen and more. It is not Web Based Applicati
on, it is standby Application.
10
MODULES
The Restaurant Management Software is a Powerful Database Application which help
s the restaurant manager to manage the restaurant more effectively and efficient
ly by computerizing Meal Ordering, Billing, and Stock Maintenance & Accounting.
This application is also designed for inventory control, menu, recipe and liquor
costing, sales management. It includes the following Modules as:
User Management
Menu Management
Customer Management
Reservation Management
ng and Printing
Accountancy and Sales
Integration and Testing
13
Billi
MANAGER
SERVICE MANAGER
BILLING MANAGEMENT
FORMS Billing ADMINISTRATOR
MANAGER
SERVICE MANAGER
Software Requirements
Software Requirement during Development
C# 2010 on Visual Studio 2010 Express Edition. SQL Server 2008 Express Edition.
Windows XP (Service Pack 3), Window 7, Window Vista (Service Pack 1). .NET Frame
work 4.0
Software Requirement after Development
SQL Server 2008 Express Edition.
Windows XP (Service Pack 3), Window 7, Window V
ista (Service Pack 1). .NET Framework 4.0
17
Hardware Requirements
Hardware Requirement during Development
Colored Monitor. Keyboard. RAM (1GB). Hard disk (20 GB). CD ROM. Intel Core 2 DU
O 1.6 GHZ Processor. Mouse.
Hardware Requirement after Development
Colored Monitor. Keyboard. RAM (1GB). Hard disk (20 GB). CD ROM. Intel Core 2 DU
O 1.6 GHZ Processor. Mouse. Printer.
18
.NET Framework
The Microsoft .NET Framework is a software framework that can be installed on co
mputers running Microsoft Windows operating systems. It includes a large library
of coded solutions to common programming problems and a virtual machine that ma
nages the execution of programs written specifically for the framework. The .NET
framework supports multiple programming languages in a manner that allows langu
age interoperability, whereby each language can utilize code written in other la
nguages; in particular, the .NET library is available to all the programming lan
guages that .NET encompasses. The .NET Framework is a Microsoft offering and is
intended to be used by most new applications created for the Windows platform. T
he framework s Base Class Library provides a large range of features including u
ser interface, data access, database connectivity, cryptography, web application
development, numeric algorithms, and network communications. The class library
is used by programmers, who combine it with their own code to produce applicatio
ns.
.NET Framework version 4.0
The latest version of the .NET Framework which was released with Visual Studio 2
010. The .NET Framework is an integral Windows component that supports building
and running the next generation of applications and Web services. The key compon
ents of the .NET Framework are the common language runtime (CLR) and the .NET Fr
amework class library, which includes ADO.NET, ASP.NET, Windows Forms, and Windo
ws Presentation Foundation (WPF). The .NET Framework provides a managed executio
n environment, simplified development and deployment, and integration with a wid
e variety of programming languages.
21
Type bool sbyte byte short ushort int uint long ulong char float double decimal
object string
Size in Bytes 1 1 1 2 2 4 4 8 8 2 4
Description Boolean value. The only valid literals are true and false. Signed by
te integer. Unsigned byte integer. Signed short integer. Unsigned short integer.
Signed integer. Literals may be in decimal (default) or hexadecimal notation (w
ith a 0x prefix). Examples: 26, 0x1A Unsigned integer. Examples: 26U, 0x1AU (man
datory U suffix) Signed long integer. Examples: 26L, 0x1AL (mandatory L suffix)
Unsigned long integer. Examples: 26UL, 0x1AUL (mandatory UL suffix) Unicode char
acter. Example: A (contained within single quotes) IEEE 754 single precision f
loating point number. Examples: 1.2F, 1E10F (mandatory F suffix) IEEE 754 double
precision floating point number. Examples: 1.2, 1E10, 1D (optional D suffix) Nu
meric data type suitable for financial and monetary calculations, exact to the 2
8th decimal place. Example: 123.45M (mandatory M suffix) Ultimate base type for
both value and reference types. Has no literal representation. Immutable sequenc
e of Unicode characters. Example: "hello world!\n" (contained within double quot
es)
8
16
8+
20+
24
Different Phases
System planning
The system planning is used to determine if the project should get the go-ahead.
If the project is to proceed, the system plan will produce a project plan and b
udget estimates for the future stages of development.
Requirement Analysis and Design
Analysis gathers the requirements for the system. Design focuses on high level d
esign like, what programs are needed and how are they going to interact. During
these phases, the software s overall structure is defined. Analysis and Design a
re very crucial in the whole development cycle. The logical system of the produc
t is developed in this phase.
Development and Coding
In this phase the designs are translated into code. Computer programs are writte
n using a conventional programming language. Various Programming tools are used
to generate the code. Different high level programming languages like PHP, Java
are used for coding.
Integration and Testing
In this phase the system is tested. Normally programs are written as a series of
individual modules, this subject to separate and detailed test. The system is t
hen tested as a whole. The separate modules are brought together and tested as a
complete system. The system is tested to ensure that interfaces between modules
work together.
Maintenance
Inevitably the system will need maintenance. Software will definitely undergo ch
ange once it is delivered to the customer. Change could happen because of some u
nexpected input values into the system. In addition, the changes in the system c
ould directly affect the software operations. The software should be developed t
o accommodate changes that could happen during the post implementation period.
28
PROJECT PLANNING
29
Project Planning
The planning stage establishes a bird s eye view of the intended software product
, and uses this to establish the basic project structure, evaluate feasibility a
nd risks associated with the project, and describe appropriate management and te
chnical approaches Project planning is part of Project Management. It is a well-e
stablished approach to managing and controlling the introduction of new initiati
ves or organizational changes. Projects are finite in length, usually one-time p
ieces of work involving a number of activities that must be completed within a g
iven time frame, and often on a fixed budget. While the very simplest projects c
an be managed easily by applying common sense and just getting on with things, p
rojects that are more complex need a great deal of planning, and benefit from a
formal, disciplined management approach. From making sure that activities will a
ctually meet the specified need, to devising a workable schedule, developing sys
tems for reporting progress, and managing requests for changes all of these issu
es require thoughtful consideration. Managing projects well requires a great dea
l of time, skill, and finesse. There are many sides to project management and th
is is what makes it so interesting and demanding
Application Goals
Profile Management of three categories of users(Administrator, Manager, Service
Manager)
Providing different access to different categories of user.
Creating ac
counts of Customer by using unique Customer ID.
Giving Facility of Home Delivery
to Customers. Giving Facility of Discount.
30
32
Requirements Analysis
Requirements Analysis in systems engineering and software engineering, encompass
es those tasks that go into determining the needs or conditions to meet for a ne
w or altered product, taking account of the possibly conflicting requirements of
the various stakeholders, such as beneficiaries or users. Requirements analysis
is critical to the success of a development project. Requirements must be docum
ented, actionable, measurable, testable, related to identified business needs or
opportunities, and defined to a level of detail sufficient for system design. R
equirements can be functional and non-functional.
Conceptually, requirements analysis includes three types of activity:
manage, and exchange customer information for efficient and effective management
. It is a broadly recognized, widely-implemented strategy for managing and nurtu
ring a companys interactions with customers, clients and sales prospects. Custome
r Management is done by using following features Add Customer In this we can make
a New Customer Account which provides full information about the customer like
Customer Name, Address, Customer Type, Phone no, etc. We also allot a unique Cus
tomer ID to each customer for future use. This customer ID is useful in the case
of home delivery. View all Customers It includes the display of the full inform
ation of all the Customers. It is a read-only operation, no editing can be perfo
rmed. Only outlook of all the customers is displayed, no changes are performed.
Edit Customer If any information about the customer has been changed or incorrec
t then editing can be performed. If we have large number of customers then we ca
n find the customer by using search operation. Then editing will be performed. T
his saves our lots of time. Search Customer Here searching is performed either b
y customer name or phone number. When we enter customer name or phone number ful
l information of the customer is displayed. Only customers outlook is there, no c
hanges can be performed in the displayed information.
Delete Customer We can del
ete the customer account by using this option. Deletion is also performed by sea
rching, In case we have large number of customer. RESERVATION MANAGEMENT
36
The process of sending a bill to customers for goods or services is called billi
ng. Restaurant Billing System is a new generation of restaurant management softw
are for Windows. It is a complete solution starting from taking orders from clie
nts in producing bills, bookings and closing bills with different payment option
s. User interface is carefully optimized for high speed entering of client order
s. The system represents rich set of reports that shows whole picture about rest
aurant operations and life cycles. In this module we can create a bill by assign
ing a unique bill number to each and every bill. In this we prepare bill for two
type of customers they are Walk in
Home delivery We also provide a facility of d
iscount to our customer. Our bill includes Total Price, Total VAT and Payable Am
ount. At last bill is raised and we can print out a bill.
ACCOUNTANCY & SALES Accounting is called "the language of business". Accountancy
is a branch of mathematical science that is useful in discovering the causes of
success and failure in business. Sales is defined as a amount a company receive
s from the sale of its products, after deducting discounts, returns of products
by customers, and damaged, missing, or stolen products. Value added tax (VAT) is
similar to a sales tax. It is a tax on the estimated market value added to a pr
oduct or material at each stage of its manufacture or distribution, ultimately p
assed on to the consumer. VAT was invented because very high sales taxes and tar
iffs encourage cheating and smuggling.
This module contains following features38
View Home Delivery This feature provides us full information about all the Home
Deliveries. The information includes Address of Customer, Phone Number, Customer
Name, Home Delivery ID, Total Amount etc. It only provides outlook of home deli
very, no editing can be performed. We can also find information by using searchi
ng operation. When we enter date of home delivery then the full information is d
isplayed.
View Sales We can view Total Sales of restaurant by using this feature
. Sales can be viewed in three ways-per day, per month, per year. It only provid
es outlook of sales according to day. When we enter date of sales then full info
rmation of sales of that particular day is displayed.
View Sales Graph In this w
e have the Graphical View of Sales. When we enter the starting and the last date
to View Sales then the Total Sales of per day is displayed, according to that a
Graph is prepared. This graph tells us on which day sales were maximum and mini
mum. View Tax Collection By using this feature we can View the Tax Collection. W
e can view tax collection in two ways- according to Month and Year. When we ente
r a particular month or year, then Total Tax of that particular month or year is
displayed.
39
DESIGN
40
DESIGN PHASE
In systems, design functions and operations are described in detail, including s
creen layouts, business rules, process diagrams and other documentation. The out
put of this stage will describe the new system as a collection of modules or sub
systems. The design stage takes as its initial input the requirements identified
in the approved requirements document. For each requirement, a set of one or mo
re design elements will be produced as a result of interviews, workshops, and/or
prototype efforts. Design elements describe the desired software features in de
tail, and generally include functional hierarchy diagrams, screen layout diagram
s, tables of business rules, business process diagrams, pseudo code, and a compl
ete entity-relationship diagram with a full data dictionary. These design elemen
ts are intended to describe the software in sufficient detail that skilled progr
ammers may develop the software with minimal additional input.
Requirements Document
DESIGN STAGE
Design Document
Updated Project Plan & Schedule
Updated Requirements Traceability Matrix
41
ER Diagram
43
DFD Level-1
LOGIN
Login Not Successful
Administrator/ Manager/ Service Manager
UserName Password UserType
All Fields Matched
Login Successful
SECURITY
User Access Control
Close Window
45
DFD Level-1
CREATE USER
UserName Cannot Contain Space & Must Starts With An Alphabet Invalid Email ID In
valid Password
Fields Marked * Are Mandatory
Administrator/ Manager
UserName, Password, Confirm Password, LastName, FirstName, DateofBirth, Location
, Contact No, Email ID, UserType.
Check All Fields Are Mandatory
Check Password
Check Email ID
Check UserName
Add Code Follows
Create User
SECURITY
New User Created Successfully
SECURITY
46
DFD Level-1
ADD MENU ITEMS
Price Must Be In Numerics Item Name Must Contain Alphabets Fields Marked * Are M
andatory
Administrator/ Manager
ItemCode, ItemName, Category, Description, Price, Tax, Type
Check All Fields Are Mandatory
Check Item Name
Item Added
Check Price
Add Menu Items
LISTOFITEMS
47
DFD Level-1
BILLING
Item Code & Quantity Should Be Numeric Invalid Item Code OR Quantity
Administrator/ Manager/ Service Manager
ADD/ CHECKOUT/ REMOVE
Add Item
Select Type of Customer
Choose Type of Customer
Check Item Code & Quantity Mandatory
Select The Item First
Remove Item
Check Out
Fetch
Check Item Code & Quantity Numeric
Add Items To Cart
Check Item Is Selected
Bill Raised
Add to/ Remove from Cart
BILL TABLE BILL DETAIL HOME DELIVERY
Print Bill
Printer
Remove Items From Cart
48
MAIN SCREEN
50
Coding
public partial class Main_Screen : Form { public Main_Screen() { InitializeCompo
nent(); } private void Main_Screen_Load(object sender, EventArgs e) { Form1 f1 =
new Form1(); f1.ShowDialog(); Login log=new Login(); log.receive(this); log.Sho
wDialog();
}
private void createUserToolStripMenuItem_Click(object sender, EventArgs e) { Cre
ate_User cu = new Create_User(); cu.MdiParent = this; cu.Show(); } private void
alterUserToolStripMenuItem_Click(object sender, EventArgs e) { Edit_User ed = ne
w Edit_User(); ed.MdiParent = this; ed.Show(); } private void changePasswordTool
StripMenuItem_Click(object sender, EventArgs e) { Change cp = new Change(); cp.M
diParent = this; cp.Show(); } private void quitToolStripMenuItem_Click(object se
nder, EventArgs e) { Environment.Exit(0); } private void addToolStripMenuItem_Cl
ick(object sender, EventArgs e) { Add_menu_items ami = new Add_menu_items(); ami
.MdiParent = this; ami.Show(); } private void deleteUserToolStripMenuItem_Click(
object sender, EventArgs e) { Edit_User ed = new Edit_User(); ed.MdiParent = thi
s; ed.Show();
51
}
sg.Show();
private void viewTaxCollectionToolStripMenuItem_Click(object sender, EventArgs e
) { tax tx = new tax(); tx.MdiParent = this; tx.Show(); } private void signOutTo
olStripMenuItem_Click(object sender, EventArgs e) { Login log = new Login(); log
.receive(this); log.ShowDialog(); }
}
54
LOGIN
55
Coding
public partial class Login : Form { Main_Screen obj; public void receive(Main_Sc
reen o1) { obj = o1; } public Login() { InitializeComponent(); } private void bu
tton1_Click(object sender, EventArgs e) { try { restdatabaseDataSetTableAdapters
.SecurityTableAdapter ta = new restdatabaseDataSetTableAdapters.SecurityTableAda
pter(); restdatabaseDataSet ds = new restdatabaseDataSet(); ta.Fill(ds.Security)
; int flag = 0; int i = 0; string p, q; for (i = 0; i <= ds.Security.Rows.Count
- 1; i++) { p = Convert.ToString(ds.Security.Rows[i]["UserName"]); q = Convert.T
oString(ds.Security.Rows[i]["Password"]); if ((textBox1.Text == p) && (textBox2.
Text == q) && (comboBox1.SelectedItem.ToString() == ds.Security.Rows[i]["UserTyp
e"].ToString())) { flag = 1; break; } } if (flag == 1) { MessageBox.Show("Login
Successful"); if (comboBox1.SelectedItem.ToString() == "Manager") { obj.createUs
erToolStripMenuItem.Visible = true; obj.viewToolStripMenuItem.Visible = false; o
bj.alterUserToolStripMenuItem.Visible = false; obj.deleteUserToolStripMenuItem.V
isible = false; obj.changePasswordToolStripMenuItem.Visible = true; obj.signOutT
oolStripMenuItem.Visible = true; obj.quitToolStripMenuItem.Visible = true; obj.a
ddToolStripMenuItem.Visible = true; obj.viewFullMenuToolStripMenuItem.Visible =
true; obj.searchItemToolStripMenuItem.Visible = true; obj.editToolStripMenuItem.
Visible = true;
56
Logged In Screen
59
CREATE USER
60
Coding
public partial class Create_User : Form { public Create_User() { InitializeCompo
nent(); } private void button1_Click_1(object sender, EventArgs e) { try { char
ch =
; if (textBoxusername.Text != "") { ch = textBoxusername.Text[0]; } if (
(textBoxusername.Text == "") || (textBoxpassword.Text == "") || (textBoxconfirmp
assword.Text == "") || (textBoxfirstname.Text == "") || (textBoxlocation.Text ==
"") || (comboBoxusertype.SelectedIndex == -1)||(textBoxemailid.Text=="")) { Mes
sageBox.Show("Fields Marked * are Mandatory"); } else if ((textBoxconfirmpasswor
d.Text != textBoxpassword.Text)) { MessageBox.Show("Invalid Password"); } else i
f (!((textBoxemailid.Text.Contains("@")) && (textBoxemailid.Text.Contains(".")))
) { MessageBox.Show("Invalid E-mail ID"); } else if ((textBoxemailid.Text.IndexO
f("@")) > (textBoxemailid.Text.LastIndexOf("."))) { MessageBox.Show("Invalid E-m
ail ID"); } else if (textBoxusername.Text.Contains(" ")) { MessageBox.Show("User
name Cannot Contain Space"); } else if (!(((Convert.ToInt16(ch) >= 65) && (Conve
rt.ToInt16(ch) <= 90)) || ((Convert.ToInt16(ch) >= 97) && (Convert.ToInt16(ch) <
= 122)))) { MessageBox.Show("Username Must starts with an Alphabet"); } else { r
estdatabaseDataSetTableAdapters.SecurityTableAdapter ta = new restdatabaseDataSe
tTableAdapters.SecurityTableAdapter(); restdatabaseDataSet ds = new restdatabase
DataSet(); ta.Fill(ds.Security); DataTable dt; DataRow dr; dt = ds.Security; dr
= dt.NewRow(); dr["UserName"] = textBoxusername.Text; dr["Password"] = textBoxpa
ssword.Text; dr["Last_Name"] = textBoxlastname.Text;
61
}
}
} } catch(Exception ex) { MessageBox.Show(ex.Message); }
dr["First_Name"] = textBoxfirstname.Text; dr["DateofBirth"] = dateTimePickerdate
ofbirth.Value.ToShortDateString(); dr["Location"] = textBoxlocation.Text; dr["Co
ntact_No"] = textBoxcontactno.Text; dr["Email_ID"] = textBoxemailid.Text; dr["Us
erType"] = comboBoxusertype.SelectedItem; dt.Rows.Add(dr); ta.Update(ds.Security
); MessageBox.Show("New User Created Successfully"); ta.Fill(ds.Security); textB
oxusername.Text = ""; textBoxpassword.Text = ""; textBoxconfirmpassword.Text = "
"; textBoxlastname.Text = ""; textBoxfirstname.Text = ""; dateTimePickerdateofbi
rth.Value = DateTime.Now; textBoxlocation.Text = ""; textBoxcontactno.Text = "";
textBoxemailid.Text = ""; comboBoxusertype.SelectedIndex = -1; textBoxusername.
Focus();
62
USERS OUTLOOK
63
Coding
public partial class User_Outlook : Form { public User_Outlook() { InitializeCom
ponent(); } private void User_Outlook_Load(object sender, EventArgs e) { // TODO
: This line of code loads data into the restdatabaseDataSet.Security table. Yo
u can move, or remove it, as needed. this.securityTableAdapter.Fill(this.restdat
abaseDataSet.Security); } }
64
EDIT/DELETE USER
65
Coding
public partial class Edit_User : Form { DataRow dr; restdatabaseDataSetTableAdap
ters.SecurityTableAdapter ta = new restdatabaseDataSetTableAdapters.SecurityTabl
eAdapter(); restdatabaseDataSet ds = new restdatabaseDataSet(); public Edit_User
() { InitializeComponent(); } private void Edit_User_Load(object sender, EventAr
gs e) { // TODO: This line of code loads data into the restdatabaseDataSet.Secu
rity table. You can move, or remove it, as needed. this.securityTableAdapter.Fi
ll(this.restdatabaseDataSet.Security); ta.Fill(ds.Security); } private void butt
onfirst_Click_1(object sender, EventArgs e) { securityBindingSource.MoveFirst();
} private void buttonprevious_Click_1(object sender, EventArgs e) { securityBin
dingSource.MovePrevious(); } private void buttonnext_Click_1(object sender, Even
tArgs e) { securityBindingSource.MoveNext(); } private void buttonlast_Click_1(o
bject sender, EventArgs e) { securityBindingSource.MoveLast(); } private void bu
ttonedit_Click_1(object sender, EventArgs e) { textBoxusername.ReadOnly = true;
textBoxpassword.ReadOnly = true; textboxlastname.ReadOnly = false; textBoxfirstn
ame.ReadOnly = false; dateTimePickerdateofbirth.Enabled = true; textBoxlocation.
ReadOnly = false; textBoxcontactno.ReadOnly = false; textBoxemailid.ReadOnly = f
alse; comboBoxusertype.Enabled = true; buttonfirst.Enabled = false; buttonprevio
us.Enabled = false; buttonnext.Enabled = false;
66
}
buttonlast.Enabled = false;
private void buttonsave_Click(object sender, EventArgs e) { try { if ((textBoxus
ername.Text == "") || (textBoxpassword.Text == "") || (textBoxfirstname.Text ==
"") || (textBoxlocation.Text == "") || (comboBoxusertype.SelectedIndex == -1)||(
textBoxemailid.Text=="")) { MessageBox.Show("Fields Marked * are Mandatory"); }
else if (!((textBoxemailid.Text.Contains("@")) && (textBoxemailid.Text.Contains(
".")))) { MessageBox.Show("Invalid E-mail ID"); } else if ((textBoxemailid.Text.
IndexOf("@")) > (textBoxemailid.Text.LastIndexOf("."))) { MessageBox.Show("Inval
id E-mail ID"); } else { dr = restdatabaseDataSet.Security.Rows[securityBindingS
ource.Position]; dr.BeginEdit(); dr["UserName"] = textBoxusername.Text; dr["Pass
word"] = textBoxpassword.Text; dr["Last_Name"] = textboxlastname.Text; dr["First
_Name"] = textBoxfirstname.Text; dr["DateofBirth"] = dateTimePickerdateofbirth.V
alue.ToShortDateString(); dr["Location"] = textBoxlocation.Text; dr["Contact_No"
] = textBoxcontactno.Text; dr["Email_ID"] = textBoxemailid.Text; dr["UserType"]
= comboBoxusertype.SelectedItem; dr.EndEdit(); securityTableAdapter.Update(restd
atabaseDataSet.Security); MessageBox.Show("Record Updated"); securityTableAdapte
r.Fill(restdatabaseDataSet.Security); textBoxusername.ReadOnly = true; textBoxpa
ssword.ReadOnly = true; textboxlastname.ReadOnly = true; textBoxfirstname.ReadOn
ly = true; dateTimePickerdateofbirth.Enabled = false; textBoxlocation.ReadOnly =
true; textBoxcontactno.ReadOnly = true; textBoxemailid.ReadOnly = true; comboBo
xusertype.Enabled = false; buttonfirst.Enabled = true; buttonprevious.Enabled =
true; buttonnext.Enabled = true; buttonlast.Enabled = true;
} } catch (Exception ex) {
67
}
}
MessageBox.Show(ex.Message);
private void buttondelete_Click(object sender, EventArgs e) { try { DialogResult
ans; ans = MessageBox.Show("Are you sure you want to delete the User s account?
", "Delete Confirmation", MessageBoxButtons.YesNo); if (ans == DialogResult.Yes)
{ dr = this.restdatabaseDataSet.Security.Rows[securityBindingSource.Position];
dr.Delete(); this.securityTableAdapter.Update(this.restdatabaseDataSet.Security)
; MessageBox.Show("User Deleted"); this.securityTableAdapter.Fill(this.restdatab
aseDataSet.Security); } } catch (Exception ex) { MessageBox.Show(ex.Message); }
} }
68
CHANGE PASSWORD
69
Coding
public partial class Change : Form { public Change() { InitializeComponent(); }
private void changepassword_Click(object sender, EventArgs e) { try { restdataba
seDataSetTableAdapters.SecurityTableAdapter ta = new restdatabaseDataSetTableAda
pters.SecurityTableAdapter(); restdatabaseDataSet ds = new restdatabaseDataSet()
; ta.Fill(ds.Security); int flag = 0, pos = 0, i; string p, q; for (i = 0; i <=
(ds.Security.Rows.Count - 1); i++) { p = Convert.ToString(ds.Security.Rows[i]["U
serName"]); q = Convert.ToString(ds.Security.Rows[i]["Password"]); if ((textBoxu
sername.Text == p) && (textBoxoldpassword.Text == q)) { flag = 1; pos = i; break
; } } if ((textBoxusername.Text == "") || (textBoxoldpassword.Text == "") || (te
xtBoxnewpassword.Text == "") || (textBoxconfirmpassword.Text == "")) { MessageBo
x.Show("All fields are Mandatory"); } else if (textBoxnewpassword.Text != textBo
xconfirmpassword.Text) { MessageBox.Show("New Password and Confirm new Password
does not match"); } else if (flag == 0) { MessageBox.Show("Username and Old Pass
word does not match"); } else { DataRow dr; dr = ds.Security.Rows[pos]; dr.Begin
Edit(); dr["Password"] = textBoxnewpassword.Text; dr.EndEdit(); ta.Update(ds.Sec
urity); ta.Fill(ds.Security); MessageBox.Show("Password changed successfully");
textBoxusername.Text = ""; textBoxoldpassword.Text = "";
70
}
}
} } catch (Exception ex) { MessageBox.Show(ex.Message); }
textBoxnewpassword.Text = ""; textBoxconfirmpassword.Text = ""; textBoxusername.
Focus();
71
Coding
public partial class Add_menu_items : Form { int temp = 0; restdatabaseDataSetTa
bleAdapters.listofitemsTableAdapter ta = new restdatabaseDataSetTableAdapters.li
stofitemsTableAdapter(); restdatabaseDataSet ds = new restdatabaseDataSet(); pub
lic Add_menu_items() { InitializeComponent(); } private void buttonadditem_Click
(object sender, EventArgs e) { try { char ch =
; if (textBoxitemname.Text !=
"") { ch = textBoxitemname.Text[0]; } if ((textBoxitemname.Text == "") || (combo
Boxcategory.SelectedIndex == -1) || (textBoxdescription.Text == "") || (textBoxp
rice.Text == "") || (comboBoxtax.SelectedIndex == 1) || (comboBoxtype.SelectedIn
dex == -1)) { MessageBox.Show("Fields Marked * Are Mandatory"); } else if (!(((C
onvert.ToInt16(ch) >= 65) && (Convert.ToInt16(ch) <= 90)) || ((Convert.ToInt16(c
h) >= 97) && (Convert.ToInt16(ch) <= 122)))) { MessageBox.Show("Item Name Must C
ontain Alphabets"); } else if (!int.TryParse(textBoxprice.Text, out temp) == tru
e) { MessageBox.Show("Price Must Be In Numerics"); } else { DataRow dr; dr = ds.
listofitems.NewRow(); //ta.Fill(ds.listofitems); dr["item_code"] = Convert.ToInt
32(textBoxitemcode.Text); dr["item_name"] = textBoxitemname.Text; dr["category"]
= comboBoxcategory.SelectedItem; dr["description"] = textBoxdescription.Text; d
r["price"] = textBoxprice.Text; dr["tax"] = comboBoxtax.SelectedItem; dr["type"]
= comboBoxtype.SelectedItem; ds.listofitems.Rows.Add(dr); ta.Update(ds.listofit
ems); MessageBox.Show("Item Added"); ta.Fill(ds.listofitems); if (ds.listofitems
.Rows.Count == 0) { textBoxitemcode.Text = Convert.ToString(100);
73
Coding
public partial class View_Menu : Form { public View_Menu() { InitializeComponent
(); } private void View_Menu_Load(object sender, EventArgs e) { // TODO: This li
ne of code loads data into the restdatabaseDataSet.listofitems table. You can
move, or remove it, as needed. this.listofitemsTableAdapter.Fill(this.restdataba
seDataSet.listofitems); } }
76
Coding
public partial class search_item : Form { public search_item() { InitializeCompo
nent(); } private void search_item_Load(object sender, EventArgs e) { // TODO: T
his line of code loads data into the restdatabaseDataSet.listofitems table. Yo
u can move, or remove it, as needed. this.listofitemsTableAdapter.Fill(this.rest
databaseDataSet.listofitems); } private void buttongo_Click(object sender, Event
Args e) { try { listofitemsTableAdapter.FillBy(restdatabaseDataSet.listofitems,
textBoxsearch.Text); dataGridView1.DataSource = restdatabaseDataSet.listofitems;
} catch (Exception ex) { MessageBox.Show(ex.Message); } } }
78
Coding
public partial class Edit : Form { int temp = 0; restdatabaseDataSetTableAdapter
s.listofitemsTableAdapter ta = new restdatabaseDataSetTableAdapters.listofitemsT
ableAdapter(); restdatabaseDataSet ds = new restdatabaseDataSet(); public Edit()
{ InitializeComponent(); } private void Edit_Load(object sender, EventArgs e) {
// TODO: This line of code loads data into the restdatabaseDataSet.listofitems
table. You can move, or remove it, as needed. this.listofitemsTableAdapter.Fil
l(this.restdatabaseDataSet.listofitems); } private void buttonfirst_Click(object
sender, EventArgs e) { listofitemsBindingSource. MoveFirst(); } private void bu
ttonprevious_Click(object sender, EventArgs e) { listofitemsBindingSource.MovePr
evious(); } private void buttonnext_Click(object sender, EventArgs e) { listofit
emsBindingSource.MoveNext(); } private void buttonlast_Click(object sender, Even
tArgs e) { listofitemsBindingSource.MoveLast(); } private void buttonedit_Click(
object sender, EventArgs e) { textBoxitemname.ReadOnly = false; comboBoxcategory
.Enabled = true; textBoxdescription.ReadOnly = false; textBoxprice.ReadOnly = fa
lse; comboBoxtax.Enabled = true; comboBoxtype.Enabled = true; buttonfirst.Enable
d = false; buttonprevious.Enabled = false; buttonnext.Enabled = false; buttonlas
t.Enabled = false;
} private void buttonsave_Click(object sender, EventArgs e) { try { char ch =
; if (textBoxitemname.Text != "") { ch = textBoxitemname.Text[0]; }
80
ADD CUSTOMER
83
Coding
public partial class Add_Customer : Form { restdatabaseDataSetTableAdapters.Cust
omerTableAdapter ta = new restdatabaseDataSetTableAdapters.CustomerTableAdapter(
); restdatabaseDataSet ds = new restdatabaseDataSet(); DataRow dr; long temp = 0
; public Add_Customer() { InitializeComponent(); } private void buttonaddcust_Cl
ick(object sender, EventArgs e) { try { ta.Fill(ds.Customer); char ch =
; int
flag = 0; if (textBoxcustomername.Text != "") { ch = textBoxcustomername.Text[0
]; } for (int i = 0; i <= ds.Customer.Rows.Count - 1; i++) { if (ds.Customer.Row
s[i]["Phone"].ToString() == textBoxphoneno.Text) { flag = 1; break; } } if ((tex
tBoxcustomername.Text == "") || (textBoxaddress.Text == "") || (textBoxphoneno.T
ext == "") || (comboBoxcustomertype.SelectedIndex == -1)) { MessageBox.Show("Fie
lds Marked * Are Mandatory"); } else if (!long.TryParse(textBoxphoneno.Text, out
temp) == true) { MessageBox.Show("Invalid Phone Number"); } else if (flag == 1)
{ MessageBox.Show("Phone Number Already Exist"); textBoxphoneno.Text = ""; text
Boxphoneno.Focus(); } else if ((textBoxemailid.Text.IndexOf("@")) > (textBoxemai
lid.Text.LastIndexOf("."))) { MessageBox.Show("Invalid E-mail ID"); } else if (!
(((Convert.ToInt16(ch) >= 65) && (Convert.ToInt16(ch) <= 90)) || ((Convert.ToInt
16(ch) >= 97) && (Convert.ToInt16(ch) <= 122)))) { MessageBox.Show("Customer Nam
e Must starts with an Alphabet");
84
}
}
} catch (Exception ex) { MessageBox.Show(ex.Message); }
} else { dr = ds.Customer.NewRow(); dr["Cust_name"] = textBoxcustomername.Text;
dr["address"] = textBoxaddress.Text; dr["phone"] = textBoxphoneno.Text; dr["emai
l_id"] = textBoxemailid.Text; dr["cust_type"] = comboBoxcustomertype.SelectedIte
m; dr["DOB"] = dateTimePickerdob.Value.ToShortDateString(); dr["maritalstatus"]
= comboBoxmaritalstatus.SelectedItem; ds.Customer.Rows.Add(dr); ta.Update(ds.Cus
tomer); MessageBox.Show("New Customer Added Successfully"); ta.Fill(ds.Customer)
; textBoxcustomername.Text = ""; textBoxaddress.Text = ""; textBoxphoneno.Text =
""; textBoxemailid.Text = ""; comboBoxcustomertype.SelectedIndex = -1; dateTime
Pickerdob.Value = DateTime.Now; comboBoxmaritalstatus.SelectedIndex = -1; textBo
xcustomername.Focus(); }
85
Coding
public partial class View_Customer : Form { public View_Customer() { InitializeC
omponent(); } private void View_Customer_Load(object sender, EventArgs e) { // T
ODO: This line of code loads data into the restdatabaseDataSet.Customer table.
You can move, or remove it, as needed. this.customerTableAdapter.Fill(this.rest
databaseDataSet.Customer); } }
87
EDIT/DELETE CUSTOMER
88
Coding
public partial class Edit_Customer : Form { long temp=0; restdatabaseDataSetTabl
eAdapters.CustomerTableAdapter ta = new restdatabaseDataSetTableAdapters.Custome
rTableAdapter(); restdatabaseDataSet ds = new restdatabaseDataSet(); public Edit
_Customer() { InitializeComponent(); } private void Edit_Customer_Load(object se
nder, EventArgs e) { // TODO: This line of code loads data into the restdatabas
eDataSet.Customer table. You can move, or remove it, as needed. this.customerTa
bleAdapter.Fill(this.restdatabaseDataSet.Customer); } private void buttonfirst_C
lick(object sender, EventArgs e) { customerBindingSource.MoveFirst(); } private
void buttonprevious_Click(object sender, EventArgs e) { customerBindingSource.Mo
vePrevious(); } private void buttonnext_Click(object sender, EventArgs e) { cust
omerBindingSource.MoveNext(); } private void buttonlast_Click(object sender, Eve
ntArgs e) { customerBindingSource.MoveLast(); } private void buttonedit_Click(ob
ject sender, EventArgs e) { textBoxcustomername.ReadOnly = false; textBoxaddress
.ReadOnly = false; textBoxphoneno.ReadOnly = false; textBoxemailid.ReadOnly = fa
lse; comboBoxcustomertype.Enabled = true; dateTimePickerdob.Enabled = true; comb
oBoxmaritalstatus.Enabled = true; buttonfirst.Enabled = false; buttonprevious.En
abled = false; buttonnext.Enabled = false; buttonlast.Enabled = false;
}
private void buttonsave_Click(object sender, EventArgs e) { try
89
{
char ch =
; int flag = 0; if (textBoxcustomername.Text != "") { ch = textBoxc
ustomername.Text[0]; }
for (int i = 0; i <= ds.Customer.Rows.Count - 1; i++) { if (ds.Customer.Rows[i][
"Phone"].ToString() == textBoxphoneno.Text) { flag = 1; break; } } if ((textBoxc
ustomername.Text == "") || (textBoxaddress.Text == "") || (textBoxphoneno.Text =
= "") || (comboBoxcustomertype.SelectedIndex == -1)) { MessageBox.Show("Fields M
arked * Are Mandatory"); } else if (!long.TryParse(textBoxphoneno.Text, out temp
) == true) { MessageBox.Show("Invalid Phone Number"); } else if (flag == 1) { Me
ssageBox.Show("Phone Number Already Exist"); textBoxphoneno.Text = ""; textBoxph
oneno.Focus(); } else if ((textBoxemailid.Text.IndexOf("@")) > (textBoxemailid.T
ext.LastIndexOf("."))) { MessageBox.Show("Invalid E-mail ID"); } else if (!(((Co
nvert.ToInt16(ch) >= 65) && (Convert.ToInt16(ch) <= 90)) || ((Convert.ToInt16(ch
) >= 97) && (Convert.ToInt16(ch) <= 122)))) { MessageBox.Show("Customer Name Mus
t starts with an Alphabet"); } else { restdatabaseDataSetTableAdapters.CustomerT
ableAdapter ta = new restdatabaseDataSetTableAdapters.CustomerTableAdapter(); re
stdatabaseDataSet ds = new restdatabaseDataSet(); DataRow dr; dr = restdatabaseD
ataSet.Customer.Rows[customerBindingSource.Position]; dr.BeginEdit(); dr["cust_n
ame"] = textBoxcustomername.Text; dr["address"] = textBoxaddress.Text; dr["phone
"] = textBoxphoneno.Text; dr["email_id"] = textBoxemailid.Text; dr["cust_type"]
= comboBoxcustomertype.SelectedItem; dr["DOB"] = dateTimePickerdob.Value.ToShort
DateString(); dr["maritalstatus"] = comboBoxmaritalstatus.SelectedItem; dr.EndEd
it();
90
int i, count, pos = -1; count = ds.Customer.Rows.Count; for (i = 0; i <= count 1; i++) { if (ds.Customer.Rows[i]["phone"].ToString() == n) { pos = i; break; }
} if (pos == -1) { MessageBox.Show("No such Record Found"); } else { textBoxcus
tomername.Text = ds.Customer.Rows[pos]["cust_name"].ToString(); textBoxaddress.T
ext = ds.Customer.Rows[pos]["address"].ToString(); textBoxphoneno.Text = ds.Cust
omer.Rows[pos]["phone"].ToString(); textBoxemailid.Text = ds.Customer.Rows[pos][
"email_id"].ToString(); comboBoxcustomertype.SelectedItem = ds.Customer.Rows[pos
]["cust_type"].ToString(); dateTimePickerdob.Value = Convert.ToDateTime(ds.Custo
mer.Rows[pos]["dob"]); comboBoxmaritalstatus.SelectedItem = ds.Customer.Rows[pos
]["maritalstatus"].ToString(); textBoxsearch.Text = ""; textBoxsearch.Focus(); }
} catch (Exception ex) { MessageBox.Show(ex.Message); } } }
92
SEARCH CUSTOMER
93
Coding
public partial class Search_Customer : Form { public Search_Customer() { Initial
izeComponent(); } private void Search_Customer_Load(object sender, EventArgs e)
{ // TODO: This line of code loads data into the restdatabaseDataSet.Customer
table. You can move, or remove it, as needed. this.customerTableAdapter.Fill(thi
s.restdatabaseDataSet.Customer); } private void fillByToolStripButton_Click(obje
ct sender, EventArgs e) { try { // this.customerTableAdapter.FillBy(this.restdat
abaseDataSet.Customer); } catch (System.Exception ex) { System.Windows.Forms.Mes
sageBox.Show(ex.Message); } } private void button1_Click(object sender, EventArg
s e) { try { if (radioButton1.Checked == true) { customerTableAdapter.FillBy(res
tdatabaseDataSet.Customer, textBox1.Text); dataGridView1.DataSource = restdataba
seDataSet.Customer; textBox1.Text = ""; textBox1.Focus(); } else { customerTable
Adapter.FillBy1(restdatabaseDataSet.Customer, Convert.ToInt64(textBox1.Text)); d
ataGridView1.DataSource = restdatabaseDataSet.Customer; textBox1.Text = ""; text
Box1.Focus(); } } catch (Exception) { MessageBox.Show("First Select the Type of
Search & then Enter it in the Text Box"); } } private void radioButton1_CheckedC
hanged(object sender, EventArgs e)
94
{
if (radioButton1.Checked == true) { label3.Text = "Enter Customer Name :"; label
3.Visible = true; } else { label3.Text = "Enter Phone No :"; label3.Visible = tr
ue; }
}
}
95
ADD RESERVATION
96
Coding
public partial class Table_Reservation : Form { int temp = 0; public Table_Reser
vation() { InitializeComponent(); } private void Table_Reservation_Load(object s
ender, EventArgs e) { // TODO: This line of code loads data into the restdataba
seDataSet.Reservation table. You can move, or remove it, as needed. this.reserv
ationTableAdapter.Fill(this.restdatabaseDataSet.Reservation); // TODO: This line
of code loads data into the restdatabaseDataSet.Customer table. You can move,
or remove it, as needed. this.customerTableAdapter.Fill(this.restdatabaseDataSe
t.Customer); } private void buttonbook_Click(object sender, EventArgs e) { try {
if ((comboBoxoccasion.SelectedIndex == -1) || (textBoxgathering.Text == "") ||
(comboBoxcustid.SelectedIndex == -1) || (comboBoxspot.SelectedIndex == -1)) { Me
ssageBox.Show(" Fields Marked * Are Mandatory"); } else if (!int.TryParse(textBo
xadvance.Text, out temp) == true) { MessageBox.Show("Invalid Advance Amount"); }
else { DataRow dr; dr = this.restdatabaseDataSet.Reservation.NewRow(); dr["type
"] = comboBoxoccasion.SelectedItem; dr["noofpeople"] = textBoxgathering.Text; dr
["customer_id"] = comboBoxcustid.SelectedValue.ToString(); dr["dateofbooking"] =
dateTimePickerdob.Value.ToShortDateString(); dr["advance"] = textBoxadvance.Tex
t; dr["splinstruction"] = textBoxsplinst.Text; dr["location"] = comboBoxspot.Sel
ectedItem; dr["status"] = "ACTIVE"; this.restdatabaseDataSet.Reservation.Rows.Ad
d(dr); MessageBox.Show("Reservation Done"); this.reservationTableAdapter.Update(
dr); this.reservationTableAdapter.Fill(this.restdatabaseDataSet.Reservation); co
mboBoxoccasion.SelectedIndex = -1; textBoxgathering.Text = ""; comboBoxcustid.Te
xt = ""; dateTimePickerdob.Value = DateTime.Now; textBoxadvance.Text = ""; textB
oxsplinst.Text = "";
97
}
} } catch (Exception ex) { MessageBox.Show(ex.Message); }
comboBoxspot.SelectedIndex = -1; comboBoxoccasion.Focus();
private void button1_Click(object sender, EventArgs e) { } }
98
SEARCH RESERVATION
99
Coding
public partial class search_reservations : Form { public search_reservations() {
InitializeComponent(); } private void search_reservations_Load(object sender, E
ventArgs e) { // TODO: This line of code loads data into the restdatabaseDataSe
t.Reservation table. You can move, or remove it, as needed. this.reservationTab
leAdapter.Fill(this.restdatabaseDataSet.Reservation); } private void on_doublecl
ick(object sender, EventArgs e) { Edit_Reservation er = new Edit_Reservation();
er.Show(); er.receive(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
} private void button1_Click(object sender, EventArgs e) { try { reservationTabl
eAdapter.FillBy(restdatabaseDataSet.Reservation, dateTimePicker1.Value.ToShortDa
teString()); dataGridView1.DataSource = restdatabaseDataSet.Reservation; } catch
(Exception ex) { MessageBox.Show(ex.Message); } } }
100
EDIT RESERVATION
101
Coding
public partial class Edit_Reservation : Form { int temp = 0; restdatabaseDataSet
ds = new restdatabaseDataSet(); restdatabaseDataSetTableAdapters.ReservationTab
leAdapter ta = new restdatabaseDataSetTableAdapters.ReservationTableAdapter(); i
nt pos; public Edit_Reservation() { InitializeComponent(); } private void Edit_R
eservation_Load(object sender, EventArgs e) { // TODO: This line of code loads d
ata into the restdatabaseDataSet.Reservation table. You can move, or remove it
, as needed. this.reservationTableAdapter.Fill(this.restdatabaseDataSet.Reservat
ion); // TODO: This line of code loads data into the restdatabaseDataSet.Custom
er table. You can move, or remove it, as needed. this.customerTableAdapter.Fill
(this.restdatabaseDataSet.Customer); } public void receive(string rid) { ta.Fill
(ds.Reservation); for (int i = 0; i <= ds.Reservation.Rows.Count - 1; i++) { if
(rid == ds.Reservation.Rows[i]["reservationID"].ToString()) { textBoxreservation
id.Text = ds.Reservation.Rows[i]["reservationid"].ToString(); comboBoxoccasion.S
electedItem = ds.Reservation.Rows[i]["type"].ToString(); textBoxgathering.Text =
ds.Reservation.Rows[i]["noofpeople"].ToString(); comboBoxcustid.SelectedItem =
ds.Reservation.Rows[i]["customer_id"].ToString(); dateTimePickerdob.Value = Conv
ert.ToDateTime(ds.Reservation.Rows[i]["dateofbooking"]); textBoxadvance.Text = d
s.Reservation.Rows[i]["advance"].ToString(); textBoxsplinst.Text = ds.Reservatio
n.Rows[i]["splinstruction"].ToString(); comboBoxstatus.SelectedItem = ds.Reserva
tion.Rows[i]["status"].ToString(); comboBoxspot.SelectedItem = ds.Reservation.Ro
ws[i]["location"].ToString(); pos = i; break; } } } private void buttonedit_Clic
k(object sender, EventArgs e) { textBoxreservationid.ReadOnly = true; comboBoxoc
casion.Enabled = true; textBoxgathering.ReadOnly = false; comboBoxcustid.Enabled
= false; dateTimePickerdob.Enabled = true; textBoxadvance.ReadOnly = false; tex
tBoxsplinst.ReadOnly = false;
102
}
comboBoxstatus.Enabled = true; comboBoxspot.Enabled = true;
private void buttonsave_Click(object sender, EventArgs e) { try { if ((comboBoxo
ccasion.SelectedIndex == -1) || (textBoxgathering.Text == "") || (comboBoxcustid
.SelectedIndex == -1) || (comboBoxspot.SelectedIndex == -1)) { MessageBox.Show("
Fields Marked * Are Mandatory"); } else if (!int.TryParse(textBoxadvance.Text,
out temp) == true) { MessageBox.Show("Invalid Advance Amount"); } else { DataRow
dr; dr = this.restdatabaseDataSet.Reservation.Rows[pos]; dr.BeginEdit(); //dr["
reservationid"]=textBoxreservationid.Text; dr["type"] = comboBoxoccasion.Selecte
dItem; dr["noofpeople"] = textBoxgathering.Text; //dr["customer_id"] = comboBoxc
ustid.SelectedItem; dr["dateofbooking"] = dateTimePickerdob.Value.ToShortDateStr
ing(); dr["advance"] = textBoxadvance.Text; dr["splinstruction"] = textBoxsplins
t.Text; dr["status"] = comboBoxstatus.SelectedItem; dr["location"] = comboBoxspo
t.SelectedItem; dr.EndEdit(); this.reservationTableAdapter.Update(this.restdatab
aseDataSet.Reservation); MessageBox.Show("Reservation Updated"); this.reservatio
nTableAdapter.Fill(this.restdatabaseDataSet.Reservation); textBoxreservationid.R
eadOnly = true; comboBoxoccasion.Enabled = false; textBoxgathering.ReadOnly = tr
ue; comboBoxcustid.Enabled = false; dateTimePickerdob.Enabled = false; textBoxad
vance.ReadOnly = true; textBoxsplinst.ReadOnly = true; comboBoxstatus.Enabled =
false; comboBoxspot.Enabled = false;
}
}
} } catch (Exception ex) { MessageBox.Show(ex.Message); }
103
BILLING
104
Coding
public partial class Billing : Form { double totalprice, totalvat, amountpayable
,discount; int srno = 1; restdatabaseDataSet ds = new restdatabaseDataSet(); res
tdatabaseDataSetTableAdapters.listofitemsTableAdapter ta = new restdatabaseDataS
etTableAdapters.listofitemsTableAdapter(); int pos = -1; int temp1 = 0, temp2 =
0; restdatabaseDataSetTableAdapters.bill_tableTableAdapter ta1 = new restdatabas
eDataSetTableAdapters.bill_tableTableAdapter(); restdatabaseDataSetTableAdapters
.bill_detailTableAdapter ta2 = new restdatabaseDataSetTableAdapters.bill_detailT
ableAdapter(); restdatabaseDataSetTableAdapters.CustomerTableAdapter ta3 = new r
estdatabaseDataSetTableAdapters.CustomerTableAdapter(); restdatabaseDataSet dsc
= new restdatabaseDataSet(); restdatabaseDataSetTableAdapters.homedeliveryTableA
dapter ta4 = new restdatabaseDataSetTableAdapters.homedeliveryTableAdapter(); pu
blic Billing() { InitializeComponent(); } private void buttonadd_Click(object se
nder, EventArgs e) { try { ta.Fill(ds.listofitems); int flag = 0; for (int i = 0
; i <= ds.listofitems.Rows.Count - 1; i++) { if (textBoxitemcode.Text == ds.list
ofitems.Rows[i]["item_code"].ToString()) { flag = 1; pos = i; break; } } if ((te
xtBoxitemcode.Text == "") || (textBoxquantity.Text == "")) { MessageBox.Show("In
valid Item Code or Quantity"); } else if ((!int.TryParse(textBoxitemcode.Text, o
ut temp1) == true) || (!int.TryParse(textBoxquantity.Text, out temp2) == true))
{ MessageBox.Show("Item Code and Quantity should be Numeric"); } else if (flag =
= 0) { MessageBox.Show("Invalid Item Code"); } else { ListViewItem lt = new List
ViewItem(srno.ToString()); lt.SubItems.Add(ds.listofitems.Rows[pos]["item_code"]
.ToString());
105
lt.SubItems.Add(ds.listofitems.Rows[pos]["item_name"].ToString()); lt.SubItems.A
dd(ds.listofitems.Rows[pos]["price"].ToString()); lt.SubItems.Add(textBoxquantit
y.Text); double vat, p; vat = Convert.ToDouble(ds.listofitems.Rows[pos]["price"]
) * Convert.ToDouble(ds.listofitems.Rows[pos]["tax"]) / 100; lt.SubItems.Add(vat
.ToString()); p = (Convert.ToDouble(ds.listofitems.Rows[pos]["price"]) + Convert
.ToDouble(vat)) * Convert.ToDouble(textBoxquantity.Text); lt.SubItems.Add(p.ToSt
ring()); listViewbilling.Items.Add(lt); updatebill(); srno = srno + 1; } } catch
(Exception ex) { MessageBox.Show(ex.Message); } } private void buttonremove_Cli
ck(object sender, EventArgs e) { try { if (listViewbilling.Items.Count > 0) { if
(listViewbilling.SelectedItems.Count > 0) { listViewbilling.Items.RemoveAt(list
Viewbilling.SelectedIndices[0]); serialgen(); updatebill(); } } } catch (Excepti
on ex) { MessageBox.Show(ex.Message); } } public void serialgen() { for (int i =
0; i <= listViewbilling.Items.Count - 1; i++) { listViewbilling.Items[i].Text =
Convert.ToString(i + 1); } srno = listViewbilling.Items.Count + 1; } public voi
d updatebill() { totalprice = 0; totalvat = 0; amountpayable = 0; for (int i = 0
; i <= listViewbilling.Items.Count - 1; i++) {
106
}
} } catch (Exception ex) { MessageBox.Show(ex.Message); }
} else { textBoxcustname.Text = dsc.Customer.Rows[pos1]["cust_name"].ToString();
textBoxaddress.Text = dsc.Customer.Rows[pos1]["address"].ToString(); textBoxpho
neno.Text = dsc.Customer.Rows[pos1]["phone"].ToString(); }
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.Pri
ntPageEventArgs e) { Font heading = new Font("lucida handwriting", 22); Font hea
ding1 = new Font("Bradley Hand ITC", 28,FontStyle.Bold); Font letter = new Font(
"times new roman", 14); Font letter1 =new Font ("times new roman",14, FontStyle.
Bold); e.Graphics.DrawString("WELCOME", heading, Brushes.DarkGreen,330, 70); e.G
raphics.DrawString("THE SPICY HUT", heading1, Brushes.Firebrick, 280, 120); e.Gr
aphics.DrawImage(Image.FromFile("C:\\Documents and Settings\\Administrator\\Desk
top\\FOODVILLA\\restaurant pic\\spice1.jpg"),70,60); e.Graphics.DrawImage(Image.
FromFile("C:\\Documents and Settings\\Administrator\\Desktop\\FOODVILLA\\restaur
ant pic\\spinach1.jpg"), 650, 50); e.Graphics.DrawString("Bill No :", letter1, B
rushes.Black, 100, 250); e.Graphics.DrawString(textBoxbillno.Text,letter , Brush
es.Black, 180, 250); e.Graphics.DrawString("Dated :", letter1, Brushes.Black, 60
0, 250); e.Graphics.DrawString(textBoxdateofbilling.Text, letter, Brushes.Black,
670, 250); e.Graphics.DrawString("Sr No.", letter1, Brushes.Black, 60, 350); e.
Graphics.DrawString("Item Code", letter1, Brushes.Black, 140, 350); e.Graphics.D
rawString("Item Name", letter1, Brushes.Black, 250, 350); e.Graphics.DrawString(
"Price", letter1, Brushes.Black, 460, 350); e.Graphics.DrawString("Qauntity", le
tter1, Brushes.Black, 550, 350); e.Graphics.DrawString("VAT", letter1, Brushes.B
lack, 650, 350); e.Graphics.DrawString("Total", letter1, Brushes.Black, 740, 350
); int q=400; int p; int i; for (i = 0; i <= listViewbilling.Items.Count - 1; i+
+) { p = q + i * 25; e.Graphics.DrawString(listViewbilling.Items[i].Text, letter
, Brushes.Black, 80,
e.Graphics.DrawString(listViewbilling.Items[i].SubItems[1].Text, letter, Brushes
.Black, 150, p); e.Graphics.DrawString(listViewbilling.Items[i].SubItems[2].Text
, letter, Brushes.Black, 250, p); e.Graphics.DrawString(listViewbilling.Items[i]
.SubItems[3].Text, letter, Brushes.Black, 460, p);
p);
112
BILL PRINTING
114
Coding
public partial class Form3 : Form { public Form3() { InitializeComponent(); } pr
ivate void Form3_Load(object sender, EventArgs e) { // TODO: This line of code l
oads data into the restdatabaseDataSet.DataTable1 table. You can move, or remo
ve it, as needed. this.dataTable1TableAdapter.Fill(this.restdatabaseDataSet.Data
Table1); } private void buttongo_Click(object sender, EventArgs e) { try { dataT
able1TableAdapter.FillBy(restdatabaseDataSet.DataTable1, dateTimePicker1.Value.D
ay, dateTimePicker1.Value.Month, dateTimePicker1.Value.Year); dataGridView1.Data
Source = restdatabaseDataSet.DataTable1; } catch (Exception ex) { MessageBox.Sho
w(ex.Message); } } }
116
VIEW SALES
117
Coding
public partial class Sales : Form { public Sales() { InitializeComponent(); } pr
ivate void Sales_Load(object sender, EventArgs e) { // TODO: This line of code l
oads data into the restdatabaseDataSet.bill_table table. You can move, or remo
ve it, as needed. this.bill_tableTableAdapter.Fill(this.restdatabaseDataSet.bill
_table); } private void buttongo_Click(object sender, EventArgs e) { try { long
p; p = Convert.ToInt64(bill_tableTableAdapter.ScalarQuery1(dateTimePicker1.Value
.Day, dateTimePicker1.Value.Month, dateTimePicker1.Value.Year)); bill_tableTable
Adapter.FillBy(restdatabaseDataSet.bill_table, dateTimePicker1.Value.Day, dateTi
mePicker1.Value.Month, dateTimePicker1.Value.Year); textBoxsales.Text = Convert.
ToString(p); dataGridView1.DataSource = restdatabaseDataSet.bill_table; } catch
(Exception ex) { MessageBox.Show(ex.Message); } } }
118
Coding
public partial class sales_graph : Form { public sales_graph() { InitializeCompo
nent(); } private void buttongraph_Click(object sender, EventArgs e) { graph gr;
gr = new graph(dateTimePicker1.Value.ToShortDateString(), dateTimePicker2.Value
.ToShortDateString()); gr.Show(); } private void buttongo_Click(object sender, E
ventArgs e) { try { bill_table1TableAdapter.Fill(restdatabaseDataSet.bill_table1
, dateTimePicker1.Value.ToShortDateString(), dateTimePicker2.Value.ToShortDateSt
ring()); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
120
VIEW GRAPH
121
Coding
public partial class graph : Form { string start, enddate; public graph(string a
, string b) { start = a; enddate = b; InitializeComponent(); } private void grap
h_Load(object sender, EventArgs e) { restdatabaseDataSet ds = new restdatabaseDa
taSet(); restdatabaseDataSetTableAdapters.bill_table1TableAdapter ta = new restd
atabaseDataSetTableAdapters.bill_table1TableAdapter(); ta.Fill(ds.bill_table1, s
tart, enddate); chart1.DataSource = ds.bill_table1; chart1.Series[0].XValueMembe
r = "dateofbilling"; chart1.Series[0].YValueMembers = "total_sales";
}
}
122
Coding
public partial class tax : Form { public tax() { InitializeComponent(); } privat
e void radioButtonmonth_CheckedChanged(object sender, EventArgs e) { if (radioBu
ttonmonth.Checked == true) { label3.Text = "Enter Month :"; label3.Visible = tru
e; } else { label3.Text = "Enter Year :"; label3.Visible = true; } } private voi
d buttongo_Click(object sender, EventArgs e) { try { if (radioButtonmonth.Checke
d == true) { long p; p = Convert.ToInt64(bill_tableTableAdapter.ScalarQuery2(dat
eTimePicker1.Value.Month, dateTimePicker1.Value.Year)); bill_tableTableAdapter.F
illBy1(restdatabaseDataSet.bill_table, dateTimePicker1.Value.Month, dateTimePick
er1.Value.Year); textBoxtotalvat.Text = Convert.ToString(p); dataGridView1.DataS
ource = restdatabaseDataSet.bill_table; } else { long q; q = Convert.ToInt64(bil
l_tableTableAdapter.ScalarQuery3(dateTimePicker1.Value.Year)); bill_tableTableAd
apter.FillBy2(restdatabaseDataSet.bill_table, dateTimePicker1.Value.Year); textB
oxtotalvat.Text = Convert.ToString(q); dataGridView1.DataSource = restdatabaseDa
taSet.bill_table; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } pr
ivate void tax_Load(object sender, EventArgs e) { // TODO: This line of code loa
ds data into the restdatabaseDataSet.bill_table table. You can move, or remove
it, as needed. this.bill_tableTableAdapter.Fill(this.restdatabaseDataSet.bill_t
able); } }
124
125
127
Conclusion
In our Project entitled RESTAURANT MANAGEMENT SYSTEM we have tried our best to ful
fill all the requirements of restaurant. The project being simple and flexible i
s running successfully. The main advantage of our project is that its simplicity
attracts a lot of users. It can be easily run by a novice user. Our software ca
n be used in any kind of restaurant (Bar, Sandwich Shop, Pizzeria, Steak House,
Caf Shop, Deli, Buffet, and Catering business, Doughnut or Pastry Shop, Hotel res
taurant/kitchen and more). The Restaurant Management System helps the restaurant
manager to manage the restaurant more effectively and efficiently by computeriz
ing meal ordering, billing and inventory control. The system processes transacti
on and stores the resulting data. Reports will be generated from these data whic
h help the manager to make appropriate business decisions for the restaurant. Fo
r example, knowing the number of customers for a particular time interval, the m
anager can decide whether more waiters and chefs are required. This project when
implemented it will remove all the security issues. Also, there will be speedy
and secured authentication procedure for the maintenance of records. Data entry
is fast and simple because it automatically picks up information about a custome
r from the database on subsequent visits. Therefore, our software will definitel
y prove to be a successful stepping stone in replacing the outdated manual metho
d of maintaining secure records. The work plan also includes the detailed featur
es of the technology used in the project defining the front end and back end. Th
e objectives and scope of the project in future have been elaborated.
128
BIBLIOGRAPHY
129
Bibliography
Books
SQL Notes .NET Notes Visual Basic 2010 Black Book By Steven Holzner Teach
Yourself T-SQL 21 days Beginning Visual Basic 2010 By Thearon Willis, Bryan News
ome
Websites
www.wikipedia.org
130
(O_0)Abee(0_O)
www.ebooks.com