酒店管理系統(tǒng)畢業(yè)設計
《酒店管理系統(tǒng)畢業(yè)設計》由會員分享,可在線閱讀,更多相關《酒店管理系統(tǒng)畢業(yè)設計(33頁珍藏版)》請在裝配圖網上搜索。
1、酒店管理系統(tǒng) 畢業(yè)綜合實踐開題報告 專業(yè)系 軟件技術 專業(yè)班級 學生姓名 學 號 課題題目 酒店管理系統(tǒng) 任務下達時間 2010年 11 月 任務完成期限 2010年 11 月至 2011 年 1 月 選題的目的和意義: 酒店管理系統(tǒng)利用技術的手段提高辦公的效率,進而實現(xiàn)點餐自動化處理。采用c#和sql技術,基于工作流的概念,使酒店內部人員方便快捷地知道點餐信息信息,高效地協(xié)同工作;改變過去復雜、低效的菜單點餐,實現(xiàn)迅速、全方位的信息點餐傳達,為飯店的管理和點餐提供方便吧。一個酒店實現(xiàn)信息化
2、的程度也是衡量其實現(xiàn)現(xiàn)代化管理的標準。 經過分析,我使用c#和sql技術,利用其提供的各種面向對象的開發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成實用方便滿意的可行系統(tǒng)。 隨著人民生活水平的提高和生活節(jié)奏的加快,到飯店就餐的人數(shù)增加,有關飲食食品種類信息量也成倍增長。面對龐大的信息量,就需要有點餐信息管理系統(tǒng)來提飯店管理工作的效率。 指導教師簽字 系主任簽字 摘 要 軟件應用開發(fā)中,安全性是要考慮的關鍵問題,本文通過開發(fā)系統(tǒng)實踐,從系統(tǒng)規(guī)劃階段、設計開發(fā)階段
3、、發(fā)布運行階段三個方面詳細闡述安全策略的實現(xiàn),總結出如何充分利用c#的安全機制、數(shù)據(jù)庫安全控制、增強管理員軟件安全防范意識,構建一個性能安全的軟件應用程序。 現(xiàn)代化的賓館是集客房、餐飲、商務文化及其他各種服務與設施為一體化的消費場所,酒店賓館組織龐大,服務項目多,信息量大,要想提高勞動生產,降低成本,提高服務質量和管理水平,進而促進經濟效益,必須借助計算機來進行現(xiàn)代化的信息管理,本系統(tǒng)是一套適用于中、小型星級賓館使用的優(yōu)秀系統(tǒng),操作簡單,靈活性好、系統(tǒng)安全性高,運行穩(wěn)定。 該酒店管理系統(tǒng),該系統(tǒng)可供用戶進行菜系管理,菜種類查詢、臺號管理以及功能強大的記賬信息管理,可以實現(xiàn)日結帳,月結帳和年
4、結帳的功能,方便了用戶的帳務分析。用戶只需要簡單的輸入,所有數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務器端采用了流行的功能強大的SQLserver2005作為后臺數(shù)據(jù)庫,為數(shù)據(jù)的安全和程序的穩(wěn)定運行提供了保障。 關鍵詞:酒店管理系統(tǒng) VS SQLserver2005 目錄 畢業(yè)綜合實踐開題報告 4 摘 要 5 第一章 緒論 7 1.1研發(fā)背景 7 1.2系統(tǒng)目標 7 第二章 系統(tǒng)分析 9 2.1酒店管理系統(tǒng)可行性分析 9 2.1.1經濟可行性分析 9 2.1.2技術可行性分析 9 2.1.3法律可行性
5、分析 9 2.2系統(tǒng)的功能需求 10 2.3系統(tǒng)數(shù)據(jù)需求分析 10 2.4數(shù)據(jù)庫設計 11 2.4.1需求分析 11 第三章 系統(tǒng)詳細設計 13 3.1系統(tǒng)功能結構 13 3.2管理界面 14 3.2代碼設計 30 第四章 結束語 33 致謝 34 參考文獻 35 第一章 緒論 1.1研發(fā)背景 當今社會,因特網技術的飛速發(fā)展正在迅速地改變著人們的生活方式,因特網正在由科學工作者的工具變?yōu)槠胀ò傩斋@取信息、進行交流的場所,而因特網的商業(yè)應用則尤為引人注目。21世紀的酒店,從內部管理到外部銷售都將發(fā)生質的變化。激烈的市場競爭,要求酒店引入更多、更新、更高的IT技
6、術,非單一的前臺管理軟件甚至傳統(tǒng)的前、后臺軟件所能滿足?,F(xiàn)代化的酒店是集客房、餐飲、通訊、娛樂,商務文化及其他各種服務與設施為一體化的消費場所,酒店組織龐大,服務項目多,信息量大,要想提高勞動生產,降低成本,提高服務質量和管理水平,進而促進經濟效益,必須借助計算機來進行現(xiàn)代化的信息管理。 成功的酒店是將經濟效益作為酒店的運營宗旨,管理的核心是在于如何提高經濟效益。優(yōu)秀的酒店客房信息管理系統(tǒng)以酒店的經濟效益為目標,為酒店管理人員和員工提供簡單易用、功能強大并高度靈活的應用工具,激勵他們的積極性,促使他們向酒店提供更好的服務。這些改進使賓客感到更加滿意,為酒店帶來更多的回頭客和收入。同時,通過
7、對人流、物流、資金流的科學管理和有效控制,提高員工的工作效率,降低各種經營成本,從而獲取持久的利潤,因此酒店行業(yè)對于酒店管理系統(tǒng)的引進勢在必行。 1.2系統(tǒng)目標 此次設計將要模擬完成建立一個酒店管理系統(tǒng)系統(tǒng),實現(xiàn)信息化。通過先進的VS技術實現(xiàn)前臺的智能點菜,獲取菜品,和自動結帳等功能。對于酒店管理者可以實現(xiàn)臺號管理,菜系的管理和菜品的管理,正對財務還可以實現(xiàn)日結帳報表,月結帳報表和年結帳報表等財務分析,節(jié)省了大量的勞力財力,加強了公司的現(xiàn)代化管理和高效的服務。酒店日常管理中所涉及到的大量數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務器端采用了商業(yè)流行的SQLSERVER2005作為后臺數(shù)據(jù)庫
8、,結合SQL語句強大的處理功能實現(xiàn)酒店管理中各個對象的分類、添加、刪除、修改等操作。 經過對酒店管理業(yè)務的具體分析,精心對相關信息的學習和在指導老師的指導下,朋友的幫助下多次改進終于開發(fā)制作了這個酒店管理系統(tǒng),本系統(tǒng)的設計遵循軟件開發(fā)的全過程,在做需求分析的時候實際到酒店企業(yè)中熟悉酒店的業(yè)務流程和管理,然后概要設計,詳細設計和編碼測試。每個過程都按照軟件工程的規(guī)范進行。本系統(tǒng)的設計中運用VS技術和SQL語言操作后臺數(shù)據(jù)庫。由于VS虛擬機,實現(xiàn)了各種平臺的兼容性,體現(xiàn)了良好的跨平臺特點和編程技術的優(yōu)點。該系統(tǒng)的操作界面簡潔,適合各類管理人員應用。在安全性方面,通過數(shù)據(jù)庫的權限管理和VS的優(yōu)秀技
9、術,實現(xiàn)系統(tǒng)的靈活性和系統(tǒng)的安全性。管理者還可以通過修改密碼來進行用戶管理。筆者完成了酒店管理系統(tǒng)的全部制作,從需求分析到編碼測試,從概要設計到詳細設計,通過筆者的努力基本實現(xiàn)了酒店管理系統(tǒng)的基本功能,并對業(yè)務所需要信息進行維護。 本系統(tǒng)有以下特點:系統(tǒng)中模塊劃分明確,模塊功能設計有較強的針對性。系統(tǒng)操作界面簡單,靈活性好、響應時間短,系統(tǒng)安全性高,運行穩(wěn)定。設計完全符合軟件工程中的各個階段的要求,模塊間具有高內聚,低耦合的良好性能。 第二章 系統(tǒng)分析 2.1酒店管理系統(tǒng)可行性分析 2.1.1經濟可行性分析 模擬酒
10、店管理系統(tǒng)的開發(fā)從長遠的角度來看,投資可以完全收回,并可以節(jié)省管理費用,避免了人工填單操作所帶來的一系列不必要的麻煩,節(jié)省了用戶和相關工作人員的時間,能夠很好地提高工作效率,改進決策質量。同時也對酒店的靈活管理有了很大的提升,有利于提高酒店的運營和服務效率,其開發(fā)前景良好并能產生很好的經濟和社會效益。 本系統(tǒng)采用VS技術和微軟商業(yè)數(shù)據(jù)庫,在服務器端和客戶端都必須有對應的運行環(huán)境。數(shù)據(jù)庫SQLserver2005也是個成熟的數(shù)據(jù)庫管理軟件,其安全性,可靠性和實用性滿足酒店管理系統(tǒng)的設計要求,估計利用現(xiàn)有技術條件應完全可以達到該系統(tǒng)的功能目標。 2.1.2技術可行性分析 技術上的可行性分析要
11、考慮將來要采用的硬件和軟件技術能否滿足用戶(這里是飯店經營方)提出的要求(如計算機的容量、速度等)。此外,還要考慮開發(fā)人員的水平,作為計算機信息管理專業(yè)畢業(yè)的學生,數(shù)據(jù)庫設計方面對于我們應該還過得去,在學校里生活了五年,對這個管理模式應該比較熟悉。 我們掌握了數(shù)據(jù)庫及其應用技術、數(shù)據(jù)庫原理、計算機網絡技術等課程,對數(shù)據(jù)庫的設計、應用、維護及局域網的組成有了深刻的認識與一定的動手實踐能力,從一定程度上具備了開發(fā)一個小型系統(tǒng)的能力。 2.1.3法律可行性分析 本系統(tǒng)的開發(fā)作為計算機畢業(yè)設計以鞏固先前所學的知識,此程序以個人為單位,僅供個人所用,沒有侵犯任何版權,也沒有違反國家相關法律法規(guī)及
12、相關方面的規(guī)定,與業(yè)界有關規(guī)定也無矛盾之處,所以法律方面可行 。 2.2系統(tǒng)的功能需求 酒店管理信息管理系統(tǒng)是以顧客訂房信息為基礎建立的管理系統(tǒng), 是管理酒店客房業(yè)務的重要方法、手段、技術和操作過程的集合。作為一個管理信息系統(tǒng),其服務的對象是雙方面的:酒店和顧客。因此,一個好的酒店管理系統(tǒng),必須讓雙方在使用時都快捷方便。 顧客通過輸入姓名、密碼等基本信息,由系統(tǒng)自行生成酒店相應的統(tǒng)計數(shù)據(jù)及各類統(tǒng)計報表以供用戶查詢、打印,另外操作人員還可以對這些基本信息進行定期的更新和刪除, 酒店管理系統(tǒng)力求給用戶方便快捷的途徑去管理這些繁瑣的數(shù)據(jù)。為酒店帶來方便,也為顧客帶來方便,實現(xiàn)信息化。 根據(jù)可
13、行性研究的結果和客戶的要求,分析現(xiàn)有情況及問題,采用兩級管理結構,將酒店管理系統(tǒng)劃分為兩個子系統(tǒng):酒店管理人員,酒店前臺收銀員。 2.3系統(tǒng)數(shù)據(jù)需求分析 圖1總流程圖 2.4數(shù)據(jù)庫設計 數(shù)據(jù)庫設計是利用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)為具體的應用對象構造適合的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能有效地收集、存儲、操作、和管理數(shù)據(jù),滿足各類用戶的應用需求 2.4.1需求分析 (1)功能需求 1)基本功能需求 系統(tǒng)能正確的對用戶身份進行辨識,從數(shù)據(jù)庫中提取登錄密碼并驗證身份真實性。 系統(tǒng)
14、能準確的顯示數(shù)據(jù)庫中記錄的各類數(shù)據(jù)。 系統(tǒng)應能將用戶在系統(tǒng)中錄入的各類信息傳送到數(shù)據(jù)庫中并儲存。 系統(tǒng)應具備錯誤處理功能,出現(xiàn)錯誤的時候能夠清楚地返回相應錯誤提示。 系統(tǒng)數(shù)據(jù)庫之間能有效地相互關聯(lián)。 2)用戶界面需求 用戶界面應簡潔明快,各功能按鈕明顯,位置擺放合理。字體大小適中,風格統(tǒng)一規(guī)范,界面美觀。 (2)性能需求 1)系統(tǒng)靈活性:管理員編寫人員、商品等信息都將在系統(tǒng)中進行編號處理,保障了每一條信息的單一性,同時也對數(shù)據(jù)的讀取提供了方便。服務員所生成的訂單有著單一的帳單號并準確無誤存儲在數(shù)據(jù)庫中。系統(tǒng)應能準確地將管理員提交和修改的信息寫入數(shù)據(jù)庫,而且能夠及時地更新。數(shù)據(jù)庫中
15、的各項表之間有著很好的相互關聯(lián),并能及時顯示。 2)系統(tǒng)安全性:每個相應權限登錄時,系統(tǒng)都會自動的辨別他所輸入的賬戶與密碼,正確進入相應界面,錯誤則登錄失敗。 3)系統(tǒng)易用性:系統(tǒng)界面簡明,明細清楚,實用簡單。 酒店在正常的運營中需要對客房資源、顧客信息、結算信息進行管理,利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。開放性的、應用系統(tǒng)可靈活伸縮的、面向最終用戶的現(xiàn)代TIMS(旅游信息管理系統(tǒng))的服務性系統(tǒng),不斷滿足酒店業(yè)務需求、市場環(huán)境的拓展和管理模式的變化應用酒店管理系統(tǒng)通過節(jié)省大量的人力物力,增加酒店的服務項目,提高酒店的服務檔次,減少管理上的漏洞,從整體
16、上提高酒店的經濟效益。如完善的預訂功能可防止有房不能租或滿房重訂的情況出現(xiàn),可隨時提供準確的房間使用和預訂情況,從而提高客房出租率。正確控制房價,可以給予客人最優(yōu)惠的房價,從而減少管理漏洞,提高客房收入。 邏輯設計;主要工作是將現(xiàn)實世界的概念數(shù)據(jù)模型設計成數(shù)據(jù)庫的一種邏輯模式,即適應于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。與此同時,可能還需為各種數(shù)據(jù)處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂“邏輯數(shù)據(jù)庫”。 1系統(tǒng)關系模型 賬單表(賬單編號、客房編號、消費內容、消費金額、消費時間、備注) 預訂單表(預訂單號、客房類型、入住時間、離店時間、客房編號、客房價格、單據(jù)狀
17、態(tài)、預定人) 2系統(tǒng)優(yōu)化: 一個實體表示成一個關系: 這一轉化規(guī)則是指將E-R圖中的每個實體轉化成一個關系數(shù)據(jù)模型,尸體的所有屬性轉換成相應關系模型中的數(shù)據(jù)項,尸體的關鍵字就是相應關系數(shù)據(jù)模型的關鍵字例如:酒店管理賬單尸體轉化成的關系數(shù)據(jù)模型課表示為:賬單表(賬單編號、客房編號、消費內容、消費金額、消費時間、備注)從這一轉換可以看出,實體的名稱轉換為關系數(shù)據(jù)模型的名稱,關系數(shù)據(jù)模型原括號內的數(shù)據(jù)項就是實體的屬性 一個聯(lián)系表示成一個關系: 這一轉換規(guī)則是指將E-R圖中每一個帶有屬性的聯(lián)系轉化成一個關系數(shù)據(jù)模型。關系模型的數(shù)據(jù)項有聯(lián)系的全部屬性和生產此聯(lián)系的每一個實體的關鍵字段轉換而來,
18、構成此聯(lián)系的每一個實體的關鍵字組合就構成該關系模型的關鍵字。有E-R圖轉換導出的所有關系數(shù)據(jù)模型就構成了數(shù)據(jù)可的邏輯模型。在建立邏輯模型時,通常要根據(jù)模型的范式理論,對數(shù)據(jù)模型進行優(yōu)化處理,并符合第三范式。 第三章 系統(tǒng)詳細設計 3.1系統(tǒng)功能結構 系統(tǒng)主要功能結構如下圖所示: 圖2主要功能機構圖 3.2管理界面 圖3 登陸界面運行圖 1.登錄頁面的功能主要是供合法的用戶根據(jù)自己的用戶類型及用戶名和密碼來進行登錄,如果輸入錯誤則會有提示
19、。 如果用戶在沒有登錄的情況下選擇其它功能模塊會退回到登錄界面。如果用戶已經登錄,可以在登錄模塊進行退出登錄的操作。如果用戶類型錯誤將會有錯誤提示。 在登錄到這個頁面或者刷新這個頁面的時候,首先要進行一次session的判斷。在輸入用戶名密碼后,先確認輸入框中有數(shù)據(jù),將把輸入框中的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)進行比較驗證。如果一切通過,將產生兩個session分別用來存放用戶名和用戶類型。之后跳轉到相應的登錄成功的頁面。主要運行代碼: using System; using System.Collections.Generic; using System.ComponentModel; u
20、sing System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace HotelManager { public partial class frmdenglu : Form { public frmdenglu() { InitializeComponent(); } private void button1_Click(object send
21、er, EventArgs e) { if (textBox1.Text == "admin" && textBox2.Text == "11111") { HotelTypeForm f = new HotelTypeForm(); f.ShowDialog(); } else { MessageBox.Show("用戶名或密碼輸入錯誤請重新輸入
22、", "提示"); textBox1.Focus(); textBox1.Text = ""; textBox2.Text = ""; } } private void button2_Click(object sender, EventArgs e) { textBox1.Focus(); textBox1.Text = "";
23、 textBox2.Text = ""; } private void button3_Click(object sender, EventArgs e) { this.Close(); } private void frmdenglu_Load(object sender, EventArgs e) { textBox1.Focus(); } } }
24、 圖4 客房管理運行界面 在類型名稱內輸入相應的房間類型名稱,點擊查詢按鈕,便可看到對應類型房間的詳細信息。點擊新增按鈕,可以對房間類型進行添加,點擊修改按鈕,可以對對應房間類型信息進行修改,修改完后點擊保存,便可保存修改后信息,提示“修改完成”。點擊刪除按鈕,可對房間類型信息做刪除。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; us
25、ing System.Windows.Forms; using HotelManager.BLL; using HotelManager.Models; namespace HotelManager { public partial class RoomTypeSettingForm : Form { public RoomTypeSettingForm() { InitializeComponent(); } //605, 516 597, 175
26、 RoomTypeManager roomTypeManager = new RoomTypeManager(); #region 加載事件 //加載事件 private void HotelTypeForm_Load(object sender, EventArgs e) { this.Size = new Size(605, 341); this.dgvHotelType.AutoGenerateColumns = false; this.d
27、gvHotelType.DataSource = roomTypeManager.GetAllRoomType(); } #endregion #region 工具欄中新增類型 //新增房間類型 private void tsbAddHotelType_Click(object sender, EventArgs e) { this.Size = new Size(605, 516); this.pnlAddType.Visible =
28、 true; this.txtName.Enabled = true; this.txtPrice.Enabled = true; this.txtAddPrice.Enabled = true; this.chbAddPrice.Enabled = true; this.txtReMark.Enabled = true; this.txtName.Text = ""; this.txtPrice.Text = "
29、"; this.txtAddPrice.Text = ""; this.chbAddPrice.Checked = true; this.txtReMark.Text = ""; this.txtName.Focus(); this.btnAdd.Visible = false; this.btnSave.Visible = true; } #endregion #region 工具欄中
30、取消按鈕點擊事件 private void tsbConcel_Click(object sender, EventArgs e) { this.Size = new Size(605, 341); } #endregion #region 查詢類型 //根據(jù)類型名稱查詢房間類型 private void btnSelect_Click(object sender, EventArgs e) { if
31、 (this.txtTypeName.Text.Trim() == "") return;
this.dgvHotelType.AutoGenerateColumns = false;
this.dgvHotelType.DataSource = roomTypeManager.GetRoomTypesByTypeName(this.txtTypeName.Text.Trim());
}
#endregion
#region 雙擊顯示詳細信息
///
32、 /// datagradview的雙擊事件 /// private void dgvHotelType_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { string typeName = this.dgvHotelType.Rows[e.RowIndex].Cells["Column1"].Value.ToString(); if (typeName.Trim() == ""
33、) return; RoomType roomType = roomTypeManager.GetRoomTypeByTypeName(typeName); this.txtName.Text = roomType.TypeName; this.txtPrice.Text = roomType.TypePrice.ToString(); this.txtAddPrice.Text = roomType.AddBedPrice.ToString(); this.txt
34、ReMark.Text = roomType.Remark; switch (roomType.IsAddBed) { case "是": this.chbAddPrice.Checked = true; break; case "否": this.chbAddPrice.Checked = false; br
35、eak; } this.Size = new Size(605, 475); this.pnlAddType.Visible = true; this.txtName.Enabled = false; this.txtPrice.Enabled = false; this.txtAddPrice.Enabled = false; this.chbAddPrice.Enabled = false;
36、 this.txtReMark.Enabled = false; } #endregion //保存修改 private void tsbSave_Click(object sender, EventArgs e) { } #region 保存按鈕 private void btnSave_Click(object sender, EventArgs e) { #region 驗證用戶輸入
37、 if (this.txtName.Text.Trim() == "") { MessageBox.Show("類型名稱不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtName.Focus(); return; } if (this.txtPrice.Text.Trim() == "")
38、 { MessageBox.Show("價格不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtPrice.Focus(); return; } if (this.chbAddPrice.Checked) { if (this.txtAddPrice.Tex
39、t.Trim() == "") { MessageBox.Show("加床價格不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtAddPrice.Focus(); return; } } if (this.txtReMark.Text.Trim() == "
40、") { MessageBox.Show("備注信息不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtReMark.Focus(); return; } #endregion RoomType roomType = new RoomType(); roomType.Typ
41、eName = this.txtName.Text.Trim(); roomType.TypePrice = double.Parse(this.txtPrice.Text.Trim()); if (this.chbAddPrice.Checked) { roomType.IsAddBed = "是"; roomType.AddBedPrice = double.Parse(this.txtAddPrice.Text.Trim());
42、 } else { roomType.IsAddBed = "否"; roomType.AddBedPrice = 0.00; } roomType.Remark = this.txtReMark.Text.Trim(); int number = roomTypeManager.AddRoomType(roomType); if (number != 0)
43、 { MessageBox.Show("添加成功!", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.dgvHotelType.AutoGenerateColumns = false; this.dgvHotelType.DataSource = roomTypeManager.GetAllRoomType(); } else
44、 { MessageBox.Show("添加失??!", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.txtName.Text = ""; this.txtPrice.Text = ""; this.txtAddPrice.Text = ""; this.chbAddPrice.Checked = true; t
45、his.txtReMark.Text = ""; this.txtName.Focus(); } #endregion #region 判斷是否可以加床 從而得到是否啟用加床價格文本框 private void chbAddPrice_CheckedChanged(object sender, EventArgs e) { if (this.chbAddPrice.Checked) { this
46、.txtAddPrice.Enabled = true; } else { this.txtAddPrice.Text = ""; this.txtAddPrice.Enabled = false; } } #endregion #region 關閉頁面 private void tsbExit_Click(object sender, EventArg
47、s e) { this.Close(); } #endregion #region 取消按鈕點擊事件 private void btnConcel_Click(object sender, EventArgs e) { this.Size = new Size(605, 341); this.txtName.Text = ""; this.txtPrice.Text = "";
48、 this.txtAddPrice.Text = ""; this.chbAddPrice.Checked = true; this.txtReMark.Text = ""; this.txtName.Focus(); } #endregion #region 快捷菜單——刪除 private void tsmClear_Click(object sender, EventArgs e) {
49、 string roomTypeName = this.dgvHotelType.SelectedRows[0].Cells["Column1"].Value.ToString(); string str = string.Format("您確定要刪除" + "{0}" + "這個類型嗎?", roomTypeName); DialogResult dia = MessageBox.Show(str, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Error); i
50、f (dia == DialogResult.No) { return; } else { int number = roomTypeManager.DeleteRoomType(roomTypeName); if (number == 1) MessageBox.Show("刪除成功!", "提示", MessageBoxButtons.OK, M
51、essageBoxIcon.Information); else MessageBox.Show("刪除失??!可能原因是存在此類型的房間!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.dgvHotelType.AutoGenerateColumns = false; this.dgvHotelType.DataSource = roomTypeManage
52、r.GetAllRoomType(); } #endregion #region 修改類型 string roomTypeName; private void tsmUpdateType_Click(object sender, EventArgs e) { #region 界面布局 this.Size = new Size(605, 516); this.pnlAddType.Visible = true;
53、 this.txtName.Enabled = true; this.txtPrice.Enabled = true; this.txtAddPrice.Enabled = true; this.chbAddPrice.Enabled = true; this.txtReMark.Enabled = true; this.btnAdd.Visible = true; this.btnSave.Visible = fa
54、lse; roomTypeName = this.dgvHotelType.SelectedRows[0].Cells["Column1"].Value.ToString(); if (roomTypeName == "") return; RoomType roomType = roomTypeManager.GetRoomTypeByTypeName(roomTypeName); this.txtName.Text = roomType.TypeName; th
55、is.txtPrice.Text = roomType.TypePrice.ToString(); this.txtAddPrice.Text = roomType.AddBedPrice.ToString(); this.txtReMark.Text = roomType.Remark; switch (roomType.IsAddBed) { case "是": this.chbAddPrice.Checked
56、= true; break; case "否": this.chbAddPrice.Checked = false; this.txtAddPrice.Text = ""; this.txtAddPrice.Enabled = false; break; } #endregion
57、 } #endregion #region 價格文本框的輸入限制 private void txtPrice_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = (e.KeyChar > 9 || e.KeyChar < 0) && e.KeyChar != 8&&e.KeyChar!=46; } #endregion #region 確定按鈕點擊事件
58、 private void btnAdd_Click(object sender, EventArgs e) { RoomType roomType = new RoomType(); roomType.TypeName = this.txtName.Text.Trim(); roomType.TypePrice = double.Parse(this.txtPrice.Text.Trim()); if (this.chbAddPrice.Checked)
59、 { roomType.IsAddBed = "是"; roomType.AddBedPrice = double.Parse(this.txtAddPrice.Text.Trim()); } else { roomType.IsAddBed = "否"; roomType.AddBedPrice = 0.00; }
60、 roomType.Remark = this.txtReMark.Text.Trim(); int number = roomTypeManager.UpdateRoomTypeByTypeName(roomType, roomTypeName); if (number == 1) MessageBox.Show("修改成功!", "修改", MessageBoxButtons.OK, MessageBoxIcon.Information); else
61、 MessageBox.Show("修改失?。?, "修改", MessageBoxButtons.OK, MessageBoxIcon.Information); this.dgvHotelType.AutoGenerateColumns = false; this.dgvHotelType.DataSource = roomTypeManager.GetAllRoomType(); this.txtName.Text = ""; this.txtPrice.Text = "";
62、 this.txtAddPrice.Text = ""; this.chbAddPrice.Checked = true; this.txtReMark.Text = ""; this.txtName.Focus(); } #endregion } } 圖5 入住管理運行界面 在房間號內輸入相應的房間號,點擊查詢按鈕,便可看到對應房間號的詳細信息。點擊新增按鈕,可以對房間進行添加
63、,點擊修改按鈕,可以對對應房間信息進行修改,修改完后點擊保存,便可保存修改后信息,提示“修改完成”。點擊刪除按鈕,可對房間信息做刪除。代碼如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using HotelManager.Models; using HotelManager.BLL;
64、 namespace HotelManager { public partial class RoomSettingForm : Form { public RoomSettingForm() { InitializeComponent(); } RoomManager roomManager = new RoomManager(); RoomTypeManager roomTypeManager = new RoomTypeManager();
65、 #region 新增房間時的控件布局 private void tsbAddRoomType_Click(object sender, EventArgs e) { this.tsbUpdateRoom.Enabled = false; this.tsbClearRoom.Enabled = false; this.Size = new Size(605, 465); this.pnlAddType.Visible = true;
66、 this.txtRoomNumber.ReadOnly = false; this.cboState.SelectedIndex = -1; this.cboTypeName.SelectedIndex = -1; this.txtRoomNumber.Text = ""; this.txtPrice.Text = ""; this.txtPeopleNo.Text = ""; this.txtReMark.Text = ""; this.txtBedNo.Text = ""; this.txtRoomNumber.Enabled = true; this.txtPrice.Enabled = true; this.txtPeopleNo.Enabled = true; this.c
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Storytime (2)
- 【四清導航】秋八年級數(shù)學上冊 3.3 一元一次不等式(第3課時)課件 (新版)浙教版
- 海淀區(qū)域P4P實操診斷課件
- 三年級記事作文指導
- 醫(yī)院內感染的預防和控制
- 機械設計第十章習題
- 華泰汽車“全心服務_貼心關懷”管理知識分析方案
- Unit 11 Lesson 2 What's the matter 課件 1
- 創(chuàng)業(yè)大賽設計中財務分析方法與技巧
- 從現(xiàn)在開始課件 (4)(精品)
- 蛋白質促降解與氨基酸代謝
- (精品)電視原理第1章1
- 術中病情觀察小講課
- 日系汽車研發(fā)質量管控
- 6Sigma的管理理論(ppt 30頁)