体验套餐管理系统
1.3/////定義幾個檢查項目CheckItem sg, tz, sl, tl, ggn, bc, xdt;//定義一個系統默認的檢查套餐“入學體檢”CheckSet cset;//記錄套餐中的體檢項目List<CheckItem> list = new List<CheckItem>();//記錄所有體檢項目Dictionary<String, CheckItem> Items = new Dictionary<string, CheckItem>();//使用字典保存項目套餐Dictionary<string, CheckSet> set = new Dictionary<string, CheckSet>();1.4///創建一個存儲數據的方法// 初始化體檢項目private void InsertItems(){sg = new CheckItem("身高", "用于檢查身高", 5);tz = new CheckItem("體重", "用于檢查體重", 5);sl = new CheckItem("視力", "用于檢查視力", 10);tl = new CheckItem("聽力", "用于檢查聽力", 50);ggn = new CheckItem("肝功能", "用于檢查肝功能", 50);bc = new CheckItem("B超", "用于檢查B超", 30);xdt = new CheckItem("心電圖", "用于檢查心電圖", 50);Items.Add(sg.Name, sg);Items.Add(tz.Name, tz);Items.Add(sl.Name, sl);Items.Add(tl.Name, tl);Items.Add(ggn.Name, ggn);Items.Add(bc.Name, bc);Items.Add(xdt.Name, xdt);}1.5///// 初始化體檢項目列表private void InsertItemsList(){cbo02.Items.Clear();cbo02.Items.Add("請選擇");foreach (string key in Items.Keys){cbo02.Items.Add(key);}cbo02.SelectedIndex = 0;}1.6 //初始化套餐private void InitSets(){list.Add(sg);list.Add(tz);list.Add(ggn);cset = new CheckSet("入學體檢", list);cset.CalcPrice();set.Add("入學體檢", cset);}1.7 // 添加套餐下拉列表private void InitSetsList(){cbo01.Items.Clear();cbo01.Items.Add("請選擇");foreach (string key in set.Keys){cbo01.Items.Add(key);}cbo01.SelectedIndex = 0;}1.8 //顯示方法private void UpdateSet(CheckSet set){//判斷套餐中檢查項目集合為空的時候DataGridView就不顯示信息if (set.list == null){dgvList.DataSource = new BindingList<CheckItem>();}else{dgvList.DataSource = new BindingList<CheckItem>(set.list);}}1.9///在主窗體load事件里加載private void FrmMain_Load(object sender, EventArgs e){InsertItems(); //初始化體檢項目InsertItemsList(); //初始化體檢項目列表InitSets(); //初始化套餐InitSetsList(); //添加套餐下拉列表}2.0///private void btn02_Click(object sender, EventArgs e){//判斷套餐是否存在要添加的體檢項目if (!set[cbo01.Text].list.Contains(Items[cbo02.Text])){set[cbo01.Text].list.Add(Items[cbo02.Text]);MessageBox.Show("添加成功");//綁定dgvListdgvList.DataSource = new BindingList<CheckItem>(set[cbo01.Text].list);set[cbo01.Text].CalcPrice(); //計算套餐價格lbl000.Text = set[cbo01.Text].Prices.ToString();}else{MessageBox.Show("已經有該項目的存在了", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}}2.1private void cbo01_SelectedIndexChanged(object sender, EventArgs e){//套餐列表等于請選擇的時候刪除按鈕Enabled就為falseif (cbo01.Text == "請選擇"){this.btn03.Enabled = false;}else{this.btn03.Enabled = true;lbl00.Text = this.set[cbo01.Text].Name;lbl000.Text = this.set[cbo01.Text].Prices.ToString();if (set[cbo01.Text] != null){UpdateSet(set[cbo01.Text]); //調用顯示方法}}}2.2private void btn01_Click(object sender, EventArgs e){string name = txt01.Text;if (!txt01.Text.Equals(string.Empty)){//判斷是否在體檢套餐中存在if (set.Keys.Contains(name)){MessageBox.Show("已經有該套餐了", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);return;}else{//添加新的體檢項目list = new List<CheckItem>();cset = new CheckSet(name, list);cset.CalcPrice(); //體檢套餐價格set.Add(name, cset);InitSetsList(); //刷新體檢套餐下拉列表cbo01.Text = name; //體檢套餐下拉列表等于新添加的套餐名稱txt01.Text = "";}}else{MessageBox.Show("添加條件不能為空!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}}2.3///刪除按鈕的事件里private void btn03_Click(object sender, EventArgs e){//判斷是否選中一行if (dgvList.SelectedRows.Count == 1){string key = dgvList.SelectedRows[0].Cells[1].Value.ToString();set[cbo01.Text].list.Remove(Items[key]);MessageBox.Show("刪除成功!");UpdateSet(set[cbo01.Text]);set[cbo01.Text].CalcPrice();lbl000.Text = set[cbo01.Text].Prices.ToString();}else{MessageBox.Show("請選擇選中一行!");}}2.4///在下拉列表框里判斷private void cbo02_SelectedIndexChanged(object sender, EventArgs e){if (cbo02.Text == "請選擇"){this.btn02.Enabled = false;}else{btn02.Enabled = true;}}2.5///創建CheckItem類public class CheckItem{public string Description { get; set; }public string Name { get; set; }public int Price { get; set; }//創建無參構造public CheckItem() { }//創建有參構造public CheckItem(string name, string description, int price){this.Description = description;this.Name = name;this.Price = price;}}2.6///創建CheckSet類public class CheckSet{//檢查項目的集合public List<CheckItem> list { get; set; }public int Prices { get; set; }public string Name { get; set; }//無參構造public CheckSet(){list = new List<CheckItem>();}//帶參構造public CheckSet(string name, List<CheckItem> list){this.Name = name;this.list = list;}//套餐價格計算public void CalcPrice(){int StratPrice = 0;foreach (CheckItem item in list){StratPrice += item.Price;}Prices = StratPrice;}}
轉載于:https://www.cnblogs.com/xieweikai/p/6826427.html
總結
- 上一篇: Linux目录结构及作用
- 下一篇: SparkProgrammingRDDs