Додаток для автоматизації роботи готелю

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Записка.docx

— 3.34 Мб (Скачать файл)

У системі  можна переглядати список клієнтів та додавати клієнтів.

Для додавання  нового клієнта у базу даних готелю і для його подальшого задіювання в роботі використовується запит:

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

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

                nserv.Service_State = comboBox3.Text;

                hotel.AddToService_rendered(nserv);

            }

 

            hotel.SaveChanges();

            Window11 wind11 = new Window11();

            wind11.ShowDialog();

        }

 

        int idS = 0;

        private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)

        {

            string text = Convert.ToString(comboBox1.SelectedItem);

            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

                                 where c.ID_client == idC

                                 select c.NameSurname).First();

                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(object sender, SelectionChangedEventArgs e)

        {

            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.Contains(textBox3.Text)

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

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

            }

        }

    }

 

Реалізовано управління інформацією про проживання:

У розділі  «Огляд» можна переглядати проживання в готелі, можна додавати нове проживання або редагувати уже існуюче.

Для додавання  нового проживання у базу даних готелю та для редагування інформації про проживання і для його подальшого задіювання в роботі використовується запит:

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

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

                    i.To_date = ((DateTime)datePicker2.SelectedDate);

                    i.Number_of_persons = Convert.ToInt32(textBox2.Text);

                    i.Number_of_children = Convert.ToInt32(textBox3.Text);

                    int tenpN = Convert.ToInt32(comboBox2.Text);

                    var g = (from r in hotel.LivedRoom

                            where r.Number_room == tenpN

                            select r.ID_room).First();

                    var listID = (from r in hotel.Room

                                 where r.ID_room == g

                                 select r).First();

                    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(textBox5.Text)

                       select c;

            if (list != null)

            {

                live = true;

                foreach (var i in list)

                {

                    id = i.ID_client;

                    textBox4.Text = Convert.ToString(i.Phone_client);

                    textBox7.Text = Convert.ToString(i.Birthday);

                    textBox8.Text = i.Gender;

                }

            }

 

        }

 

        private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)

        {

            comboBox2.IsEnabled = true;

            if (comboBox1.SelectedIndex != -1  && comboBox1.SelectedIndex != 0)

            {

                int y = Convert.ToInt32(comboBox1.SelectedItem);

                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

                                 where r.ID_residence == y

                                 select r).First();

 

                datePicker1.SelectedDate = (DateTime)res.From_the_date_residence;

                datePicker2.SelectedDate = (DateTime)res.To_date;

                textBox2.Text = Convert.ToString(res.Number_of_persons);

                textBox3.Text = Convert.ToString(res.Number_of_children);

                textBox6.Text = Convert.ToString(res.All_Cost);

                Client client = (from c in hotel.Client

                                 where c.ID_client == res.ID_client

                                 select c).First();

                textBox5.Text = client.NameSurname;

                textBox4.Text = Convert.ToString(client.Phone_client);

                textBox7.Text = Convert.ToString(client.Birthday);

                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("вільна") || r.State_room.Contains("зарезервована")

                         select r;

                foreach (var i in id)

                {

                    if(i.State_room.Contains("вільна"))

                        comboBox2.Items.Add(i.Number_room);

                    else

                        comboBox2.Items.Add(i.Number_room+"  З");

 

                }

            }

        }

 

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

Информация о работе Додаток для автоматизації роботи готелю