namespace Day05体检套餐{ public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } PRivate void NewMethod() { this.dgv.AutoGenerateColumns = false; if (this.cmbName.SelectedIndex == 0) { this.dgv.DataSource = null; this.label5.Text = ""; this.label7.Text = ""; return; } this.label5.Text = this.cmbName.Text; List<TaoCanItems> list = HealthheckSet.FindItems(this.cmbName.Text); this.dgv.DataSource = new BindingList<TaoCanItems>(list); TaoCan tc = new TaoCan(); foreach (TaoCanItems item in list) { tc.canPrice = item.Price + tc.canPrice; } this.label7.Text = tc.canPrice.ToString(); } //窗体 private void Form1_Load(object sender, EventArgs e) { //下拉框 this.cmbName.Items.Add("请选择"); this.cmbName.SelectedIndex = 0; List<string> list = HealthheckSet.FindAll(); foreach (string item in list) { this.cmbName.Items.Add(item); } List<string> itemList = HealthCheckItem.FindAllItems(); foreach (string item in itemList) { this.comboBox2.Items.Add(item); this.comboBox2.SelectedIndex = 0; } } //添加1 private void button1_Click_1(object sender, EventArgs e) { string result = HealthheckSet.AddTaoCao(this.txtName.Text); if (result == "已存在该套餐") { MessageBox.Show("已存在该套餐"); return; } MessageBox.Show("添加成功"); this.cmbName.Items.Add(this.txtName.Text); } //添加2 private void button2_Click_1(object sender, EventArgs e) { //判断是否整行选中 if (this.cmbName.SelectedIndex == 0) { MessageBox.Show("请选择一个套餐"); return; } TaoCanItems ietmes = HealthCheckItem.AllItem(this.comboBox2.Text); MessageBox.Show(HealthheckSet.addItem(this.cmbName.Text, ietmes)); NewMethod(); } //删除 private void button3_Click_1(object sender, EventArgs e) { //判断是否整行选中 if (this.dgv.RowCount == 0) { MessageBox.Show("没有数据无需删除"); return; } MessageBox.Show(HealthheckSet.deleteItem(this.cmbName.Text, this.dgv.SelectedRows[0].Cells[0].Value.ToString())); //刷新 NewMethod(); } //刷新套餐列表 private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e) { NewMethod(); } }}namespace Day05体检套餐{ public class HealthCheckItem //检查项目管理类 { private static Dictionary<string, TaoCanItems> canDi = null; public static void INit() { canDi = new Dictionary<string, TaoCanItems>() { {"身高",new TaoCanItems(){Name="身高",Description="检查身高",Price=5}}, {"体重",new TaoCanItems(){Name="体重",Description="检查体重",Price=15}}, {"视力",new TaoCanItems(){Name="视力",Description="检查视力",Price=25}}, {"听力",new TaoCanItems(){Name="听力",Description="检查听力",Price=35}}, {"肝功能",new TaoCanItems(){Name="肝功能",Description="检查肝功能",Price=45}}, }; } public static List<string> FindAllItems() { if (canDi == null) { INit(); } return canDi.Keys.ToList(); } //根据套餐项目的项目名获取到该项目名的一个对象 public static TaoCanItems AllItem(string name) { return canDi[name]; } }}namespace Day05体检套餐{ public class HealthheckSet { private static Dictionary<string, TaoCan> taoDi = null; //所有套餐集合 public static void Init() //初始化一个套餐 { taoDi = new Dictionary<string, TaoCan>() { {"入学体检",new TaoCan(){canName="入学体检", canDi = new Dictionary<string, TaoCanItems>() //项目集合 { {"身高",new TaoCanItems(){Name="身高",Description="检查升高",Price=5}}, {"体重",new TaoCanItems(){Name="体重",Description="检查体重",Price=15}}, {"视力",new TaoCanItems(){Name="视力",Description="检查视力",Price=25}} }}} }; } public static List<string> FindAll() { if (taoDi == null) { Init(); } return taoDi.Keys.ToList(); } //根据选择名称获取相应的套餐项目 public static List<TaoCanItems> FindItems(string name) { if (taoDi == null) { Init(); } return taoDi[name].canDi.Values.ToList(); } //通过传递的套餐名为该套餐添加新的项目 public static string addItem(string cName, TaoCanItems item) { //判断添加是否重复 if (taoDi[cName].canDi.ContainsKey(item.Name)) { return "重复"; } taoDi[cName].canDi.Add(item.Name, item); return "添加成功"; } //通过选择的项目删除该套餐里面的该项目 public static string deleteItem(string tName, string iName) { taoDi[tName].canDi.Remove(iName); return "删除成功"; } //添加一个新套餐 public static string AddTaoCao(string name) { //先判断是否存在改套餐 if (taoDi.ContainsKey(name)) { return "已存在该套餐"; } taoDi.Add(name, new TaoCan() { canName = name, canDi = new Dictionary<string, TaoCanItems>() }); return "添加成功"; } }}namespace Day05体检套餐{ public class TaoCan { public string canName { get; set; } public int canPrice { get; set; } public Dictionary<string, TaoCanItems> canDi { get; set; } }}namespace Day05体检套餐{ public class TaoCanItems //套餐项目 { public string Name { get; set; } public string Description { get; set; } public int Price { get; set; } }}
新闻热点
疑难解答