Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика 2003.doc
Скачиваний:
6
Добавлен:
13.11.2018
Размер:
578.56 Кб
Скачать

5 Блок-схема программы

Для понимания работы алгоритма ниже приведена блок схема, описывающая функциональность программы.

Выход

Рисунок 4 – Обобщенная блок-схема программы

6 Описание интерфейса программы

При запуске программы появляется главное окно которое предоставляет диалог для выбора последующих действий. На главной форме предоставлена возможность перехода в режим бронирования номеров, оформление или удаление забронированных номеров, добавление сведений в базу данных о новых номерах, просмотр текущего состояния номеров, формирование финансовых отчетов.

Рисунок 5 - главное окно программы

При выборе “бронирование” появляется диалоговое окно для регистрации брони. Окно в текущем окне предоставлена информация по забронированным номерам и свободным номерам. При помощи всплывающего списка предоставляется возможность выбора категории номера, даты въезда и даты выезда , также вносится фамилия и имя в соответствующие текстовые поля. После заполнения всех необходимых поле нажать клавишу забронировать.

Рисунок 6 – бронирование номеров

В случае успешного бронирования появится информирующее окно.

Рисунок 7 – окно сообщения

При выборе оформить удалить на экране появится окно оформления номера. Данное окно содержит вкладки оформление, удаление. На вкладке оформления присутствует вложенные вкладки на которых в таблицах отображается информация о свободных и забронированных номерах. При выборе в всплывающем списке категории номеров изменяется и содержимое таблиц которые формируются в соответствии с заданным условием. Для того чтобы оформить заказ необходимо выбрать категорию номера и в поле номер ввести код номера и нажать клавишу оформить. В результате появится форма оформления данных о клиенте.

Рисунок 8 – данные о клиенте

Заполнив все необходимые данные о клиенте нажать клавишу сохранить . в случае удачного сохранения вас проинформирует окно сообщения и программа автоматически сформирует чек оплаты за номер

При выборе добавление номера, появится окно “добавить новый номер”. после заполнения всех полей и сохранении я данных данный номер будет присутствовать в базе данных.

Рисунок 9 – добавление номера

При выборе “состояние/поиск” появится окно с з вкладками. На вкладке - состояние свободных номеров. присутствует информация о номерах цена, кол-во мест, кол-во комнат и т.д.

На вкладке поиск можно найти осуществить поиск по заданным критериям ( по номеру, ФИО, дате проживания)

Рисунок 10 – окно состояние/поиск

Для того чтобы просмотреть финансовый отче необходимо в главном окне программы нажать кнопку “Финансовый отчет”. Появившемся окне выбрать необходимые параметры для формирования отчета : за квартал (указать какой), за месяц. И нажать кнопку вывести

Рисунок 11 – формирование отчета

Рисунок 12 – отчет

Приложение А

Form1.cs

using System.Windows.Formsnamespace Гостиница

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public string user;

private void button1_Click(object sender, EventArgs e)

{

Form2 ii= new Form2();

ii.ShowDialog();

}

private void button4_Click(object sender, EventArgs e)

{

this.Close();

}

private void button2_Click(object sender, EventArgs e)

{

Form3 pp= new Form3();

pp.ShowDialog();

}

private void timer1_Tick(object sender, EventArgs e)

{

maskedTextBox1.Text = DateTime.Now.ToString();

maskedTextBox1.Refresh();

}

rivate void button3_Click(object sender, EventArgs e)

{

Form5 pp = new Form5();

pp.ShowDialog();

}

private void button5_Click(object sender, EventArgs e)

{

Form6 pp = new Form6();

pp.ShowDialog();

}

private void Form1_Load(object sender, EventArgs e)

{

if (user == "Рабочий")

{

button5.Enabled=false;

button6.Enabled = false;

}

}

private void button6_Click(object sender, EventArgs e)

{

Form8 pp = new Form8();

pp.ShowDialog();

}

private void связьСРазработчикомToolStripMenuItem_Click(object sender, EventArgs e)

{

о_программе pp = new о_программе();

pp.ShowDialog();

}

private void английскийToolStripMenuItem_Click(object sender, EventArgs e)

{

англ pp = new англ();

pp.ShowDialog();

}

private void экстренныеНомераToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show(" Пожарная служба: 101;\n Милиция: 102;\n Скорая помощ: 103;\n Газовая служба: 104;","Телефоны экстренных служб:", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

private void телефонРуководстваToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show(" Ген.Директор: 077745671;\n Заместитель директора: 0778462711;\n Главный управляющий: 0778664297;\n Служба охраны: 0778953276;","Телефоны:", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}}

Form2.cs

namespace Гостиница

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

public DataTable table;

public OleDbDataAdapter da;

public string kod_klienta;

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

table = new DataTable();

switch (comboBox1.SelectedIndex)

{

case 0:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=1))", con);

break;

case 1:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=2))", con);

break;

case 2:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=3))", con);

break;

}

da.Fill(table);

dataGridView2.DataSource = table;

}

private void timer1_Tick(object sender, EventArgs e)

{

maskedTextBox1.Text = DateTime.Now.ToString();

maskedTextBox1.Refresh();

dateTimePicker1.MaxDate = dateTimePicker2.Value;

dateTimePicker2.MinDate = dateTimePicker1.Value;

}

private void Form2_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'гостиницаDataSet2.Доход' table. You can move, or remove it, as needed.

this.доходTableAdapter.Fill(this.гостиницаDataSet2.Доход);

// TODO: This line of code loads data into the 'гостиницаDataSet.Номер' table. You can move, or remove it, as needed.

this.номерTableAdapter.Fill(this.гостиницаDataSet.Номер);

// TODO: This line of code loads data into the 'гостиницаDataSet.Категория' table. You can move, or remove it, as needed.

this.категорияTableAdapter.Fill(this.гостиницаDataSet.Категория);

table = new DataTable();

switch (comboBox1.SelectedIndex)

{

case 0:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=1))", con);

break;

case 1:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=2))", con);

break;

case 2:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=3))", con);

break;

}

da.Fill(table);

dataGridView2.DataSource = table;

table = new DataTable();

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера], [Вид состояния].Название, Категория.Категория, Клиент.Фамилия,[Состояние номера].[Дата въезда] FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN (Клиент INNER JOIN ([Вид состояния] INNER JOIN [Состояние номера] ON [Вид состояния].[Код состояния] = [Состояние номера].[Код состояния]) ON Клиент.[Код клиента] = [Состояние номера].[Код клиента]) ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Вид состояния].[Код состояния])=3));", con);

da.Fill(table);

dataGridView1.DataSource = table;

con.Open();

OleDbCommand max = new OleDbCommand("SELECT Max(Клиент.[Код клиента]) FROM Клиент", con);

OleDbDataReader read = max.ExecuteReader();

while (read.Read())

{

kod_klienta = Convert.ToString(int.Parse(read[0].ToString()) + 1);

}

con.Close();

textBox1.Text = "";

textBox2.Text = "";

}

private void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text != "" && textBox2.Text != "")

{

con.Open();

OleDbCommand InsertCom1 = new OleDbCommand("INSERT INTO [Клиент] VALUES ('" + kod_klienta + "','" + textBox1.Text + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"+textBox2.Text+")", con);

if (InsertCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

OleDbCommand UpdateCom1 = new OleDbCommand("UPDATE [Состояние номера] SET [Код состояния]=3, [Код клиента]='" + kod_klienta + "', [Дата въезда]='" + dateTimePicker1.Text + "',[Дата выезда]='" + dateTimePicker2.Text + "' WHERE [Код номера]=" + int.Parse(textBox2.Text), con);

if (UpdateCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

con.Close();

Form2_Load(sender, e);

}

else

MessageBox.Show("Не все поля введены","Ошибка",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

private void button2_Click(object sender, EventArgs e)

{ this.Close(); }

Form3.cs

namespace Гостиница

{

public partial class Form3 : Form

{public Form3() { InitializeComponent(); }

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

public DataTable table;

public OleDbDataAdapter da; public string nomer;

private void Form3_Load(object sender, EventArgs e)

{

this.категорияTableAdapter.Fill(this.гостиницаDataSet.Категория);

table = new DataTable();

switch (comboBox1.SelectedIndex)

{

case 0:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=1));", con);

break;

case 1:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=2));", con);

break;

case 2:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=3));", con);

break;

}

da.Fill(table);

dataGridView1.DataSource = table;

table = new DataTable();

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=2))", con);

da.Fill(table);

dataGridView3.DataSource = table;

table = new DataTable();

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера], [Вид состояния].Название, Категория.Категория, Клиент.Фамилия FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN (Клиент INNER JOIN ([Вид состояния] INNER JOIN [Состояние номера] ON [Вид состояния].[Код состояния] = [Состояние номера].[Код состояния]) ON Клиент.[Код клиента] = [Состояние номера].[Код клиента]) ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Вид состояния].[Код состояния])=3));", con);

da.Fill(table);

dataGridView2.DataSource = table;

dataGridView4.DataSource = table;

}

private void timer1_Tick(object sender, EventArgs e)

{ maskedTextBox1.Text = DateTime.Now.ToString();

maskedTextBox1.Refresh();

}

private void button1_Click(object sender, EventArgs e)

{if (textBox1.Text == "")

MessageBox.Show("Поле номера не введено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

else

{

Form4 pp = new Form4();

pp.nomer = textBox1.Text;

pp.ShowDialog();

Form3_Load(sender, e);

} }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

table = new DataTable();

switch (comboBox1.SelectedIndex)

{

case 0:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=1))", con);

break;

case 1:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=2))", con);

break;

case 2:

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1) AND ((Номер.[Код категории])=3))", con);

break;

}

da.Fill(table);

dataGridView1.DataSource = table;

}

private void tabPage4_Click(object sender, EventArgs e)

{

table = new DataTable();

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=2))", con);

da.Fill(table);

dataGridView3.DataSource = table;

}

private void button3_Click(object sender, EventArgs e)

{

this.Close();

}

private void button2_Click(object sender, EventArgs e)

{

con.Open();

OleDbCommand UpdateCom1 = new OleDbCommand("UPDATE [Состояние номера] SET [Код состояния]=1, [Код клиента]=NULL, [Дата въезда]=NULL,[Дата выезда]=NULL WHERE ([Состояние номера].[Код номера])="+ int.Parse(textBox2.Text) + "", con);

if (UpdateCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно изменены", "Удаление", MessageBoxButtons.OK, MessageBoxIcon.Information);

con.Close();

Form3_Load(sender, e);

}

private void tabPage3_Click(object sender, EventArgs e)

{

table = new DataTable();

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера], [Вид состояния].Название, Категория.Категория, Клиент.Фамилия FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN (Клиент INNER JOIN ([Вид состояния] INNER JOIN [Состояние номера] ON [Вид состояния].[Код состояния] = [Состояние номера].[Код состояния]) ON Клиент.[Код клиента] = [Состояние номера].[Код клиента]) ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Вид состояния].[Код состояния])=3));", con);

da.Fill(table);

dataGridView2.DataSource = table;

}

private void button4_Click(object sender, EventArgs e)

{

this.Close();

}

private void tabControl1_Selected(object sender, TabControlEventArgs e)

{

TabControl tp = (TabControl)sender;

if (tp.SelectedIndex == 1)

comboBox1.Enabled = false;

else

comboBox1.Enabled = true;

}}}

Form4.cs

public partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

public OleDbDataAdapter da; public string kod_klienta;

public string nomer; public int nomer1, cena1; public string cena;

public DateTime dt1, dt2;

private void Form4_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'гостиницаDataSet.Номер' table. You can move, or remove it, as needed.

this.номерTableAdapter.Fill(this.гостиницаDataSet.Номер);

// TODO: This line of code loads data into the 'гостиницаDataSet.Состояние_номера' table. You can move, or remove it, as needed.

this.состояние_номераTableAdapter.Fill(this.гостиницаDataSet.Состояние_номера);

// TODO: This line of code loads data into the 'гостиницаDataSet.Клиент' table. You can move, or remove it, as needed.

this.клиентTableAdapter.Fill(this.гостиницаDataSet.Клиент);

textBox2.Text = "1";

textBox1.Text = nomer;

nomer1 = int.Parse(nomer);

con.Open();

OleDbCommand com1 = new OleDbCommand("DELETE * FROM [Доход1]", con);

com1.ExecuteNonQuery();

OleDbCommand cena1 = new OleDbCommand("SELECT Номер.[Стоимость за 1 день]FROM Номер WHERE Номер.[Код номера]="+nomer1,con);

OleDbDataReader read1 = cena1.ExecuteReader();

while (read1.Read())

{

cena = Convert.ToString(int.Parse(read1[0].ToString()));

}

OleDbCommand max = new OleDbCommand("SELECT Max(Клиент.[Код клиента]) FROM Клиент", con);

OleDbDataReader read = max.ExecuteReader();

while (read.Read())

{

kod_klienta = Convert.ToString(int.Parse(read[0].ToString()) + 1);

}

con.Close();

radioButton2.Checked = true;

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

private void button1_Click(object sender, EventArgs e)

{

con.Open();

OleDbCommand InsertCom1 = new OleDbCommand("INSERT INTO [Клиент] VALUES (" + kod_klienta + ",'" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + comboBox1.Text + "','" + textBox8.Text + "'," + textBox9.Text + ",'" + maskedTextBox1.Text + "','" + textBox11.Text + "'," + textBox4.Text + ",'" + dateTimePicker3.Value.ToShortDateString() + "',"+textBox1.Text+")", con); //,'" + dateTimePicker3.Text + "'

if (InsertCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

OleDbCommand UpdateCom1 = new OleDbCommand("UPDATE [Состояние номера] SET [Код состояния]=2, [Код клиента]='" + kod_klienta + "', [Дата въезда]='" + dateTimePicker1.Value.ToShortDateString() + "',[Дата выезда]='" + dateTimePicker2.Value.ToShortDateString() + "' WHERE [Код номера]=" + int.Parse(textBox1.Text), con);

if (UpdateCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

OleDbCommand ChCom1 = new OleDbCommand("INSERT INTO Доход1 (Номер,[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT [Состояние номера].[Код номера],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM [Состояние номера],Клиент WHERE [Состояние номера].[Код клиента]=Клиент.[Код клиента] AND [Состояние номера].[Код номера]=" + textBox1.Text, con);

ChCom1.ExecuteNonQuery();

con.Close();

textBox5.Text = "";

textBox6.Text = "";

textBox7.Text = "";

comboBox1.Text = "";

textBox8.Text = "";

maskedTextBox1.Text = "";

textBox9.Text = "";

textBox11.Text = "";

Form10 pp = new Form10();

pp.ShowDialog();

this.Close();

}

private void timer1_Tick(object sender, EventArgs e)

{

dt1 = DateTime.Parse(dateTimePicker1.Text);

dt2 = DateTime.Parse(dateTimePicker2.Text);

TimeSpan Day = dt2 - dt1;

textBox4.Text = (Day.TotalDays * int.Parse(cena)).ToString();

if (textBox4.Text == "0")

{ textBox4.Text = cena; }

}

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

if (radioButton1.Checked == true)

{

textBox2.Enabled= true;

button3.Enabled = true;

}

else

{

button3.Enabled = false;

textBox2.Enabled = false;

}}

private void radioButton2_CheckedChanged(object sender, EventArgs e)

{

if (radioButton2.Checked == true)

{

textBox2.Enabled = false;

textBox3.Enabled = false;

}}

private void dateTimePicker_ValueChanged(object sender, EventArgs e)

{

dateTimePicker1.MaxDate = dateTimePicker2.Value;

dateTimePicker2.MinDate = dateTimePicker1.Value;

}

private void button3_Click(object sender, EventArgs e)

{

textBox3.Text = (int.Parse(textBox4.Text) / float.Parse(textBox2.Text)).ToString();

}

Form5.cs

namespace Гостиница

{

public partial class Form5 : Form

{

public Form5()

{

InitializeComponent();

}

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

public DataTable table;

public OleDbDataAdapter da;

private void Form5_Load(object sender, EventArgs e)

{ table = new DataTable();

da = new OleDbDataAdapter("SELECT Номер.[Код номера], Категория.Категория, Номер.[Кол-во мест], Номер.[Кол-во комнат], Номер.[Стоимость за 1 день], Номер.[Доп информация]FROM (Категория INNER JOIN Номер ON Категория.[Код категории] = Номер.[Код категории]) INNER JOIN [Состояние номера] ON Номер.[Код номера] = [Состояние номера].[Код номера]WHERE ((([Состояние номера].[Код состояния])=1))", con);

da.Fill(table);

dataGridView1.DataSource = table;

}

private void timer1_Tick(object sender, EventArgs e)

{

maskedTextBox1.Text = DateTime.Now.ToString();

maskedTextBox1.Refresh();

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{}

private void tabPage2_Click(object sender, EventArgs e)

{}

private void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

MessageBox.Show("Поле с данными для поиска не введено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

else

{

table = new DataTable();

switch (comboBox1.SelectedIndex)

{

case 0:

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера],Клиент.[Фамилия], Клиент.[Имя],Клиент.[Отчество] FROM [Состояние номера],Клиент WHERE [Состояние номера].[Код клиента]=Клиент.[Код клиента] AND [Состояние номера].[Код номера]=" + int.Parse(textBox1.Text), con);

break;

case 1:

string[] mas = textBox1.Text.Split(' ');

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера],Клиент.[Фамилия], Клиент.[Имя],Клиент.[Отчество] FROM [Состояние номера],Клиент WHERE [Состояние номера].[Код клиента]=Клиент.[Код клиента] AND Клиент.[Фамилия]='" + mas[0] + "' AND Клиент.[Имя]='" + mas[1] + "' AND Клиент.[Отчество]='" + mas[2] + "'", con);

break;

case 2:

da = new OleDbDataAdapter("SELECT [Состояние номера].[Код номера],Клиент.[Фамилия], Клиент.[Имя],Клиент.[Отчество] FROM [Состояние номера],Клиент WHERE [Состояние номера].[Код клиента]=Клиент.[Код клиента] AND [Состояние номера].[Дата въезда]='" + textBox1.Text + "'", con);

break;

}

da.Fill(table);

dataGridView2.DataSource = table;

}}

private void button2_Click(object sender, EventArgs e)

{ this.Close(); }

private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)

{} }}

Form6.cs

namespace Гостиница

{

public partial class Form6 : Form

{

public Form6()

{

InitializeComponent();

}

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

public string kod_nomera;

private void Form6_Load(object sender, EventArgs e)

{

this.состояние_номераTableAdapter.Fill(this.гостиницаDataSet.Состояние_номера);

if (comboBox1.Text == "люкс")

textBox2.Text = "1";

if (comboBox1.Text == "полулюкс")

textBox2.Text = "2";

if(comboBox1.Text == "эконом")

textBox2.Text = "3";

textBox6.Text = "1";

con.Open();

OleDbCommand max = new OleDbCommand("SELECT Max(Номер.[Код номера]) FROM Номер", con);

OleDbDataReader read = max.ExecuteReader();

while (read.Read())

{

kod_nomera = Convert.ToString(int.Parse(read[0].ToString()) + 1);

}

con.Close();

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

private void button1_Click(object sender, EventArgs e)

{

con.Open();

OleDbCommand InsertCom1 = new OleDbCommand("INSERT INTO [Номер] VALUES ('" + kod_nomera + "','" + int.Parse(textBox2.Text) + "','" + int.Parse(textBox3.Text) + "','" + int.Parse(textBox4.Text) + "','" + int.Parse(textBox5.Text) + "','" + richTextBox1.Text + "')", con);

if (InsertCom1.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

OleDbCommand InsertCom2 = new OleDbCommand("INSERT INTO [Состояние номера] VALUES ('" + kod_nomera + "','" + int.Parse(textBox6.Text) + "',NULL,NULL,NULL)", con);

if (InsertCom2.ExecuteNonQuery() > 0)

MessageBox.Show("Сведения успешно добавлены", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information);

con.Close();

this.Close();

}

private void timer1_Tick(object sender, EventArgs e)

{

if (comboBox1.Text == "люкс")

textBox2.Text = "1";

if (comboBox1.Text == "полулюкс")

textBox2.Text = "2";

if (comboBox1.Text == "эконом")

textBox2.Text = "3";

comboBox1.Refresh();

textBox2.Refresh();

} }}

Form7.cs

namespace Гостиница

{

public partial class Form7 : Form

{

public Form7()

{

InitializeComponent();

}

public string user;

private void button1_Click(object sender, EventArgs e)

{

StreamReader sr = new StreamReader("pass.txt");

string st;

st = sr.ReadToEnd();

if ((textBox1.Text == st.Substring(0, st.Length-2 )) && (comboBox1.Text == "Администратор"))

{

sr.Close();

Form1 ff = new Form1();

ff.user = comboBox1.Text;

ff.Show();

}

else if ((textBox1.Text == st.Substring(2, st.Length-2 )) && (comboBox1.Text == "Рабочий"))

{

sr.Close();

Form1 ff = new Form1();

ff.user=comboBox1.Text;

ff.Show();

}

else

MessageBox.Show("Вы ввели неверный пароль");

}

Form8.cs

public partial class Form8 : Form

{

public Form8()

{

InitializeComponent();

}

public OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

private void Form8_Load(object sender, EventArgs e)

{}

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

if (radioButton1.Checked == true)

{

panel1.Enabled = true;

}

else

{

panel1.Enabled = false;

}

}

private void radioButton2_CheckedChanged(object sender, EventArgs e)

{

if (radioButton2.Checked == true)

{

panel2.Enabled = true;

}

else

{

panel2.Enabled = false;

}

}

private void button1_Click(object sender, EventArgs e)

{

con.Open();

OleDbCommand com1 = new OleDbCommand("DELETE * FROM [Доход]", con);

com1.ExecuteNonQuery();

switch (comboBox1.SelectedIndex)

{

case 0:

{

OleDbCommand ChCom1 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT [Клиент].[Number],Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #01/01/2010# AND #02/01/2010#", con);

/* OleDbCommand kod_klienta = new OleDbCommand("Select [Код клиента] From [Клиент] WHERE [Дата оплаты] Between #01/01/2010# AND #02/01/2010#", con);

OleDbDataReader kod_read = kod_klienta.ExecuteReader();

while (kod_read.Read())

{

OleDbCommand sena = new OleDbCommand("Select [Клиент].[Оплата за номер] From [Клиент] Where [Клиент].[Код клиента]=" + Convert.ToInt32(kod_read[0].ToString()), con);

OleDbDataReader sena_read = sena.ExecuteReader();

int cena = 0;

while (sena_read.Read())

cena = Convert.ToInt32(sena_read[0].ToString());

OleDbCommand data = new OleDbCommand("Select [Клиент].[Дата оплаты] From [Клиент] Where [Клиент].[Код клиента]=" + Convert.ToInt32(kod_read[0].ToString()), con);

OleDbDataReader data_read = data.ExecuteReader();

string data1 ="";

while (data_read.Read())

data1 = data_read[0].ToString().Split(' ')[0];

OleDbCommand FIO = new OleDbCommand("Select [Фамилия],[Имя],[Отчество] From [Клиент] Where [Клиент].[Код клиента]=" + Convert.ToInt32(kod_read[0].ToString()), con);

OleDbDataReader FIO_read = FIO.ExecuteReader();

string fam= "";

string ima = "";

string ot4estvo = "";

while (FIO_read.Read())

{

fam = FIO_read[0].ToString();

ima= FIO_read[1].ToString();

ot4estvo= FIO_read[2].ToString();

}

OleDbCommand add = new OleDbCommand("Insert into [Доход] VALUES ("+cena+",'"+data1+"','"+fam+"','"+ima+"','"+ot4estvo+"')", con);

add.ExecuteNonQuery();*/

ChCom1.ExecuteNonQuery();

}

break;

case 1:

OleDbCommand ChCom2 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #02/01/2010# AND #03/01/2010#", con);

ChCom2.ExecuteNonQuery();

break;

case 2:

OleDbCommand ChCom3 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #03/01/2010# AND #04/01/2010#", con);

ChCom3.ExecuteNonQuery();

break;

case 3:

OleDbCommand ChCom4 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #04/01/2010# AND #05/01/2010#", con);

ChCom4.ExecuteNonQuery();

break;

case 4:

OleDbCommand ChCom5 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #05/01/2010# AND #06/01/2010#", con);

ChCom5.ExecuteNonQuery();

break;

case 5:

OleDbCommand ChCom6 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #06/01/2010# AND #07/01/2010#", con);

ChCom6.ExecuteNonQuery();

break;

case 6:

OleDbCommand ChCom7 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #07/01/2010# AND #08/01/2010#", con);

ChCom7.ExecuteNonQuery();

break;

case 7:

OleDbCommand ChCom8 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #08/01/2010# AND #09/01/2010#", con);

ChCom8.ExecuteNonQuery();

break;

case 8:

OleDbCommand ChCom9 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #09/01/2010# AND #10/01/2010#", con);

ChCom9.ExecuteNonQuery();

break;

case 9:

OleDbCommand ChCom10 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #10/01/2010# AND #11/01/2010#", con);

ChCom10.ExecuteNonQuery();

break;

case 10:

OleDbCommand ChCom11 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #11/01/2010# AND #12/01/2010#", con);

ChCom11.ExecuteNonQuery();

break;

case 11:

OleDbCommand ChCom12 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #12/01/2010# AND #12/31/2010#", con);

ChCom12.ExecuteNonQuery();

break;

}

if (comboBox2.Enabled == true)

{

OleDbCommand com2 = new OleDbCommand("DELETE * FROM [Доход]", con);

com2.ExecuteNonQuery();

switch (comboBox2.SelectedIndex)

{

case 0:

{

OleDbCommand ChCom1 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #01/01/2010# AND #03/31/2010#", con);

ChCom1.ExecuteNonQuery();

}

break;

case 1:

OleDbCommand ChCom2 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #04/01/2010# AND #06/30/2010#", con);

ChCom2.ExecuteNonQuery();

break;

case 2:

OleDbCommand ChCom3 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #07/01/2010# AND #09/30/2010#", con);

ChCom3.ExecuteNonQuery();

break;

case 3:

OleDbCommand ChCom4 = new OleDbCommand("INSERT INTO Доход (Номер,Категория,[Код категории],[Цена],[Дата],[Фамилия], Имя, Отчество) SELECT Клиент.Number,Категория.Категория,Номер.[Код категории],[Клиент].[Оплата за номер],[Клиент].[Дата оплаты],Клиент.Фамилия, Клиент.Имя, Клиент.Отчество FROM Клиент,Номер,Категория WHERE Клиент.Number=Номер.[Код номера] AND Номер.[Код категории]=Категория.[Код категории] AND [Клиент].[Дата оплаты] BETWEEN #10/01/2010# AND #12/31/2010#", con);

ChCom4.ExecuteNonQuery();

break;

}

}

con.Close();

Form9 pp = new Form9();

pp.Show();

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

} }

Form9.cs

namespace Гостиница

{

public partial class Form9 : Form

{

public Form9()

{

InitializeComponent();

OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"гостиница.mdb");

гостиницаDataSet3 mm = new гостиницаDataSet3();

OleDbDataAdapter DatAdapTable = new OleDbDataAdapter("Select * FROM [Доход]", con);

DatAdapTable.Fill(mm.Tables["Доход"]);

CrystalReport11.SetDataSource(mm);

crystalReportViewer1.Update();

}}

29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]