体检套餐管理系统

 1  public class HealItem
 2     {
 3         //检查项目
 4         private string name;//项目名
 5         public string Name
 6         {
 7             get { return name; }
 8             set { name = value; }
 9         }
10 
11         private string description;// 描述
12 
13         public string Description
14         {
15             get { return description; }
16             set { description = value; }
17         }
18      
19         private int price;//价格
20         public int Price
21         {
22             get { return price; }
23             set { price = value; }
24         }
25 
26         public HealItem(){ }
27         public HealItem(string name, int price, string description)
28         {
29             this.Name= name;
30             this.Price = price;
31             this.Description = description;
32         }
33 
34         public static Dictionary<string, HealItem> ItemDic = new Dictionary<string, HealItem>()
35         {
36             {"身高",new HealItem("身高",5,"用于测量身高")},
37             {"体重",new HealItem("体重",5,"用于测量体重")},
38             {"视力",new HealItem("视力",5,"用于检查视力")},
39             {"听力",new HealItem("听力",5,"用于检查听力")},
40             {"肝功能",new HealItem("肝功能",200,"用于检测肝功能")},
41             {"B超",new HealItem("B超",60,"用于B超检查")},
42             {"心电图",new HealItem("心电图",100,"用于检查心电图")},
43             {"肺活量",new HealItem("肺活量",8,"用于测量肺活量")}
44         };
 1  public class HealSet
 2     {
 3         //体检套餐
 4         public int  Price { get; set; }//套餐价格
 5 
 6         private string name;//套餐名称
 7         public string Name
 8         {
 9             get { return name; }
10             set { name = value; }
11         }
12         //HealthCheckItem的集合,采用泛型集合List<T>作为储存HealthCheckItem的数据结构
13         public List<HealItem> ItemList = new List<HealItem>();
14         public static Dictionary<string, List<HealItem>> SetDic = new Dictionary<string, List<HealItem>>();
15          /// <summary>
16          /// 默认数据
17          /// </summary>s
18             public HealSet()
19         {
20             this.ItemList = new List<HealItem>();
21             ItemList.Add(HealItem.ItemDic["身高"]);
22             ItemList.Add(HealItem.ItemDic["体重"]);
23             ItemList.Add(HealItem.ItemDic["视力"]);
24             SetDic.Add("入学体检", this.ItemList);
25         }
26         public HealSet(string name)
27         {
28             SetDic.Add(name, this.ItemList);
29         }
30         public static void DicAdd(List<HealItem> list, string str)
31         {
32             list.Add(HealItem.ItemDic[str]);
33         }

  1  #region 初始化数据
  2         /// <summary>
  3         /// 初始化数据
  4         /// </summary>
  5         /// <param name="sender"></param>
  6         /// <param name="e"></param>
  7         private void Form1_Load(object sender, EventArgs e)
  8         {
  9             dataGridView1.AutoGenerateColumns = false;//清除多余的值
 10             cobXiang.Items.Add("请选择");
 11             cobXiang.SelectedIndex = 0;
 12             RenovateItem();// 更新检查项目列表
 13             HealSet set = new HealSet();
 14             RenovateList();//更新套餐列表
 15             cobLie.SelectedIndex = 0;
 16             cobXiang.Enabled = true;
 17             btnAdd.Enabled = true;
 18             btnDelete.Enabled = true;
 19 
 20         }
 21         #endregion
 22 
 23         #region 更新检查项目列表
 24         /// <summary>
 25         /// 更新检查项目列表
 26         /// </summary>
 27         private void RenovateItem()
 28         {
 29             //遍历项目列表
 30             foreach (KeyValuePair<string, HealItem> item in HealItem.ItemDic)
 31             {
 32                 cobXiang.Items.Add(item.Key);
 33             }
 34         }
 35         #endregion
 36 
 37         #region  更新套餐列表
 38         /// <summary>
 39         /// 更新套餐列表
 40        /// </summary>
 41         private void RenovateList()
 42         {
 43             cobLie.Items.Clear();
 44             cobLie.Items.Add("请选择");
 45             foreach (KeyValuePair<string, List<HealItem>> item in HealSet.SetDic)
 46             {
 47                 cobLie.Items.Add(item.Key);
 48             }
 49             if (cobLie.Items.Count > 2)
 50             {
 51                 cobLie.SelectedIndex = cobLie.Items.Count - 1;
 52             }
 53         }
 54         #endregion
 55 
 56         #region 套餐列表下拉框
 57         /// <summary>
 58         /// 套餐列表下拉框
 59         /// </summary>
 60         /// <param name="sender"></param>
 61         /// <param name="e"></param>
 62         private void cobLie_SelectedIndexChanged(object sender, EventArgs e)
 63         {
 64              if (cobLie.SelectedIndex > 0)
 65             {
 66                 lblName2.Text = cobLie.Text;//选择套餐列表时给套餐名赋值
 67                 cobXiang.Enabled = true;
 68                 RenovateDGV();//刷新列表
 69             }
 70              else
 71              {
 72                  cobXiang.Enabled = true;
 73              }
 74 
 75             
 76 
 77         }
 78         #endregion
 79 
 80         #region 刷新RenovateDGV列表
 81         /// <summary>
 82         /// 刷新RenovateDGV列表
 83         /// </summary>
 84         private void RenovateDGV()
 85         {
 86             List<HealItem> list = HealSet.SetDic[cobLie.Text];
 87             dataGridView1.DataSource = new BindingList<HealItem>(HealSet.SetDic[cobLie.Text]);
 88             lblPrice1.Text = Price(cobLie.Text).ToString();//价格
 89         }
 90         #endregion
 91 
 92         #region 项目总金额
 93         /// <summary>
 94         /// 项目总金额
 95         /// </summary>
 96         /// <param name="key"></param>
 97         /// <returns></returns>
 98         private int Price(string key)
 99         {
100             int sum = 0;
101             foreach (HealItem item in HealSet.SetDic[key])
102             {
103                 sum += item.Price;
104             }
105             return sum;
106         }
107         #endregion
108 
109         #region 添加检查项目
110         /// <summary>
111         /// 添加检查项目
112         /// </summary>
113         /// <param name="sender"></param>
114         /// <param name="e"></param>
115         private void btnAdd1_Click(object sender, EventArgs e)
116         {
117             if (HealSet.SetDic[cobLie.Text].Contains(HealItem.ItemDic[cobXiang.Text]))
118             {
119                 MessageBox.Show(cobLie.Text + "套餐中已存在该检查项目!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
120             }
121             else
122             {
123                 HealSet.DicAdd(HealSet.SetDic[cobLie.Text], cobXiang.Text);
124                 RenovateDGV();//刷新列表
125             }
126           
127         }
128         #endregion
129 
130         #region  检查项目列表
131         /// <summary>
132         /// 检查项目列表
133         /// </summary>
134         /// <param name="sender"></param>
135         /// <param name="e"></param>
136         private void cobXiang_SelectedIndexChanged(object sender, EventArgs e)
137         {
138             if (cobXiang.SelectedIndex > 0)
139             {
140                 btnAdd1.Enabled = true;
141             }
142             else
143             {
144                 btnAdd1.Enabled = false;
145                 btnDelete.Enabled = false;
146             }
147 
148 
149         }
150         #endregion
151 
152         #region 删除
153         /// <summary>
154         /// 删除
155         /// </summary>
156         /// <param name="sender"></param>
157         /// <param name="e"></param>
158         private void btnDelete_Click(object sender, EventArgs e)
159         {
160             DialogResult result = MessageBox.Show("您确定要删除吗?", "警告!", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
161             if (result == DialogResult.OK)
162             {
163                 if (dataGridView1.SelectedRows[0] != null && dataGridView1.SelectedRows[0].Cells[0] != null && dataGridView1.SelectedRows[0].Cells[0].Value != null)
164                 {
165                     //删除 套餐中所选的与内置检查项目相匹配的项
166                     HealSet.SetDic[cobLie.Text].Remove(HealItem.ItemDic[dataGridView1.SelectedRows[0].Cells[0].Value.ToString()]);
167                     RenovateDGV();//刷新列表
168                 }
169             }
170 
171         }
172         #endregion
173 
174         #region 新建套餐
175         /// <summary>
176         /// 新建套餐
177         /// </summary>
178         /// <param name="sender"></param>
179         /// <param name="e"></param>
180         private void btnAdd_Click(object sender, EventArgs e)
181         {
182             if (txtName.Text != "")
183             {
184                 foreach (string item in HealSet.SetDic.Keys)
185                 {
186                     if (txtName.Text.Equals(item))
187                     {
188                         MessageBox.Show("已经存在" + txtName.Text + "套餐!");
189                         return;
190                     }
191                 }
192                 HealSet dic = new HealSet(txtName.Text);
193                 RenovateList();//更新套餐列表
194             }
195         
196 
197         }
198         #endregion

猜你喜欢

转载自www.cnblogs.com/aaaaliling/p/8903587.html