Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 19:55, курсовая работа
Мета – спроектувати базу даних, в якій буде зберігатися інформація про номери та послуги, які надаються готелем; про клієнтів, які проживають у готелі; дані про бронювання кімнат; організувати додавання та редагування даних про клієнтів, кімнати, сервіс, проживання, бронювання. Інформація накопичується постійно з кожним днем і може змінюватися.
Ведення довідника проживання. При поселені дані вносяться більш детально, тобто це особисті дані про клієнта що поселяється, кількість осіб, тип кімнати, та інші деталі. Інформація зберігається в базі даних до тих пір коли необхідно буде видалити цю інформацію, що зможе зробити лише обізнаний адміністратор баз даних.
Розділ 1. Постановка задачі обліку готелю ……………..………………3
Опис предметної області………………………………………….3
Специфікація вимог до системи обліку готелю…………………4
Вступ ………………………………………………………………4
Загальний опис ….………………………………………………...4
Характеристики системи ……………………….………………...6
Вимоги зовнішніх інтерфейсів ……………..……...…………….8
Нефункціональні вимоги до проекту ……………………...…….8
Вибір засобів розроблення системи ………………………..…….9
Розділ 2. Проектування бази даних…………….…………………..…....12
2.1. Концептуальне моделювання предметної області ………...……..12
2.2. Логічне проектування бази даних ………………………………....19
Розділ 3. Реалізація програми роботи з базою даних…………...……...20
3.1. Реалізація доступу до даних ………………………………………..21
3.2 Реалізація функціональних характеристик системи ……..………..22
3.3 Опис роботи програми ……………………………………….…..….32
Висновки……………………………………………………………………...39
Додаток А. Скрипт створення бази даних ……………..………………..41
У системі можна переглядати список клієнтів та додавати клієнтів.
Для додавання нового клієнта у базу даних готелю і для його подальшого задіювання в роботі використовується запит:
Client client = new Client();
client.NameSurname = textBox2.Text;
client.Birthday = textBox3.Text;
client.Gender = textBox4.Text;
client.Phone_client = textBox5.Text;
HotelEntities hotel = new HotelEntities();
var id = (from c in hotel.Client
select c.ID_client).Max()+1;
client.ID_client = id;
hotel.AddToClient(client);
hotel.SaveChanges();
В системі реалізовано облік послуг:
У системі можна переглядати список послуг, додавати та редагувати дані про послуги.
Для додавання нової послуги у базу даних готелю та для редагування інформації про послугу і для її подальшого задіювання в роботі використовується запит:
private void button1_Click(object sender, RoutedEventArgs e)
{
string text = Convert.ToString(comboBox1.
if (comboBox1.SelectedIndex != -1 && text != "---")
{
int idC = (from r in hotel.Client
where r.NameSurname == textBox5.Text
select r.ID_client).First();
int id = Convert.ToInt32(text);
var newRes = from r in hotel.Service_rendered
where r.ID_service_rendered == id
select r;
foreach (var i in newRes)
{
i.Service_State = comboBox3.Text;
i.ID_client = idC;
}
}
else
{
int idC = (from r in hotel.Client
where r.NameSurname == textBox5.Text
select r.ID_client).First();
int idServ = (from s in hotel.Service
where s.Name_service == comboBox2.Text
select s.ID_service).First();
int maxId = (from s in hotel.Service_rendered
select s.ID_service_rendered).Max() + 1;
Service_rendered nserv = new Service_rendered();
nserv.ID_client = idC;
nserv.ID_service = idServ;
nserv.ID_service_rendered = maxId;
nserv.Cost = Convert.ToDouble(textBox4.
nserv.Service_State = comboBox3.Text;
hotel.AddToService_rendered(
}
hotel.SaveChanges();
Window11 wind11 = new Window11();
wind11.ShowDialog();
}
int idS = 0;
private void comboBox1_SelectionChanged(obj
{
string text = Convert.ToString(comboBox1.
if (comboBox1.SelectedIndex != -1 && text != "---")
{
textBox3.IsEnabled = false;
textBox4.IsEnabled = false;
int id = Convert.ToInt32(text);
idS = (from r in hotel.Service_rendered
where r.ID_service_rendered == id
select r.ID_service).First();
var res = (from s in hotel.Service
where s.ID_service == idS
select s.Name_service).First();
comboBox2.SelectedItem = (object)res;
comboBox2.IsEnabled = false;
int idC= (from r in hotel.Service_rendered
where r.ID_service_rendered == id
select r.ID_client).First();
var clientName = (from c in hotel.Client
textBox5.Text = clientName;
var state = (from r in hotel.Service_rendered
where r.ID_service_rendered == id
select r.Service_State).First();
comboBox3.SelectedItem = (object)state;
}
else
{
textBox3.IsEnabled = true;
textBox4.IsEnabled = true;
comboBox2.IsEnabled = true;
}
}
HotelEntities hotel = new HotelEntities();
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var i = from s in hotel.Service_rendered
select s.ID_service_rendered;
comboBox1.Items.Add("---");
foreach (var j in i)
{
comboBox1.Items.Add(j);
}
comboBox3.Items.Add("виконано"
comboBox3.Items.Add("очікує");
comboBox3.Items.Add("
var list = (from s in hotel.Service
select s.Name_service).Distinct();
comboBox2.Items.Add("---");
foreach (var j in list)
{
comboBox2.Items.Add(j);
}
}
private void comboBox2_SelectionChanged(obj
{
var res = from s in hotel.Service
where s.ID_service == idS
select s;
foreach (var i in res)
{
textBox3.Text = i.Note;
textBox4.Text = Convert.ToString(i.Price);
}
}
}
Реалізовано бронювання кімнати:
У розділі «Огляд» можна переглядати бронювання в готелі, можна додавати нове бронювання.
Для додавання нового бронювання у базу даних готелю і для його подальшого задіювання в роботі використовується запит:
HotelEntities hotel = new HotelEntities();
private void button1_Click(object sender, RoutedEventArgs e)
{
var client = from clientList in hotel.Client
where clientList.NameSurname.
select clientList;
int id = 0;
if (client.Count() != 0)
{
foreach (var i in client)
{
id = i.ID_client;
break;
}
}
else
{
var clientID = (from clientList in hotel.Client
select clientList.ID_client).Max();
id = clientID + 1;
Client person = new Client();
person.NameSurname = textBox3.Text;
person.Phone_client = "";
person.ID_client = id;
person.Gender = "";
person.Birthday = "";
hotel.AddToClient(person);
hotel.SaveChanges();
}
int rID = 0;
try
{
var ID = (from r in hotel.Reservation
select r.ID_reservation).Max();
rID = ID;
}
catch { }
rID++;
Reservation reserv = new Reservation();
reserv.ID_reservation = rID;
reserv.ID_room = Convert.ToInt32(comboBox1.
var u = (from F in hotel.FreeRoom
where F.Number_room == reserv.ID_room
select F.ID_room).First();
reserv.ID_room = u;
reserv.From_the_date = datePicker1.SelectedDate;
reserv.ID_client = id;
hotel.AddToReservation(reserv)
hotel.SaveChanges();
Window5 wind5 = new Window5();
wind5.ShowDialog();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var query = from br in hotel.FreeRoom
select br;
foreach (var i in query)
{
comboBox1.Items.Add(i.Number_
}
}
}
Реалізовано управління інформацією про проживання:
У розділі «Огляд» можна переглядати проживання в готелі, можна додавати нове проживання або редагувати уже існуюче.
Для додавання нового проживання у базу даних готелю та для редагування інформації про проживання і для його подальшого задіювання в роботі використовується запит:
int id = 0;
private void button1_Click(object sender, RoutedEventArgs e)
{
string text = comboBox1.Text;
if ( text == "---" || comboBox1.SelectedIndex == -1)
{
if (!live)
{
id = (from c in hotel.Client
select c.ID_client).Max() + 1;
Client client = new Client();
client.ID_client = id;
client.NameSurname = textBox5.Text;
client.Phone_client = textBox4.Text;
client.Birthday = textBox7.Text;
client.Gender = textBox8.Text;
}
int res_id = (from r in hotel.Residence
select r.ID_residence).Max() + 1;
Residence resid = new Residence();
resid.ID_residence = res_id;
resid.From_the_date_residence = datePicker1.SelectedDate;
resid.To_date = datePicker2.SelectedDate;
resid.Number_of_persons = Convert.ToInt32(textBox2.Text)
resid.Number_of_children = Convert.ToInt32(textBox3.Text)
string[] g = comboBox2.Text.Split(' ');
int idL = Convert.ToInt32(g[0]);
var listID = from r in hotel.Room
where r.Number_room == idL
select r;
int room_id = 0;
foreach (var i in listID)
{
room_id = i.ID_room;
break;
}
resid.ID_room = room_id;
resid.ID_client = id;
resid.All_Cost = Convert.ToInt32(textBox6.Text)
hotel.AddToResidence(resid);
hotel.SaveChanges();
}
else
{
int temp = Convert.ToInt32(comboBox1.
var res = from r in hotel.Residence
where r.ID_residence == temp
select r;
foreach (var i in res)
{
i.From_the_date_residence = ((DateTime)datePicker1.
i.To_date = ((DateTime)datePicker2.
i.Number_of_persons = Convert.ToInt32(textBox2.Text)
i.Number_of_children = Convert.ToInt32(textBox3.Text)
int tenpN = Convert.ToInt32(comboBox2.
var g = (from r in hotel.LivedRoom
where r.Number_room == tenpN
select r.ID_room).First();
var listID = (from r in hotel.Room
int room_id = 0;
listID.State_room = "зайнята";
room_id = listID.ID_room;
i.ID_room = room_id;
i.ID_client = id;
i.All_Cost = Convert.ToInt32(textBox6.Text)
}
}
hotel.SaveChanges();
Window4 wind4 = new Window4();
wind4.ShowDialog();
}
bool live = false;
HotelEntities hotel = new HotelEntities();
private void textBox5_TextChanged(object sender, TextChangedEventArgs e)
{
var list = from c in hotel.Client
where c.NameSurname.Contains(
select c;
if (list != null)
{
live = true;
foreach (var i in list)
{
id = i.ID_client;
textBox4.Text = Convert.ToString(i.Phone_
textBox7.Text = Convert.ToString(i.Birthday);
textBox8.Text = i.Gender;
}
}
}
private void comboBox1_SelectionChanged(obj
{
comboBox2.IsEnabled = true;
if (comboBox1.SelectedIndex != -1 && comboBox1.SelectedIndex != 0)
{
int y = Convert.ToInt32(comboBox1.
var find = (from r in hotel.Residence
where r.ID_residence == y
select r.ID_room).First();
comboBox2.Items.Clear();
var id = from r in hotel.Room
where r.ID_room == find
select r.Number_room;
foreach (var i in id)
{
comboBox2.Items.Add(i);
}
Residence res = (from r in hotel.Residence
datePicker1.SelectedDate = (DateTime)res.From_the_date_
datePicker2.SelectedDate = (DateTime)res.To_date;
textBox2.Text = Convert.ToString(res.Number_
textBox3.Text = Convert.ToString(res.Number_
textBox6.Text = Convert.ToString(res.All_Cost)
Client client = (from c in hotel.Client
textBox5.Text = client.NameSurname;
textBox4.Text = Convert.ToString(client.Phone_
textBox7.Text = Convert.ToString(client.
textBox8.Text = client.Gender;
comboBox2.SelectedIndex = 0;
comboBox2.IsEnabled = false;
}
else
{
comboBox2.Items.Clear();
var id = from r in hotel.Room
where r.State_room.Contains("вільна"
select r;
foreach (var i in id)
{
if(i.State_room.Contains("
comboBox2.Items.Add(i.Number_
else
comboBox2.Items.Add(i.Number_
}
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var residID = from r in hotel.Residence
select r.ID_residence;
comboBox1.Items.Add("---");
foreach (var r in residID)
{
comboBox1.Items.Add(r);