体验套餐系统

来源:互联网 发布:淘宝切图模块切图失败 编辑:程序博客网 时间:2024/04/29 08:47
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 体验套餐管理系统
{
    public partial class Form1 : Form
    {
        //采用泛型集合List保存所有的体检项目
        List<HealthCheakItem> AllItems = new List<HealthCheakItem>();
        //采用泛型集合List保存套餐中的体检项目
        List<HealthCheakItem> items = new List<HealthCheakItem>();
        //定义一个默认套餐
        HealthCheakSet setA;
        HealthCheakItem height, weight, shi, ting, gan, chao, tu;
      
        Dictionary<string,HealthCheakSet> HealthSet=new Dictionary<string ,HealthCheakSet>();
        public Form1()
        {
            InitializeComponent();
        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string setName = this.comboBox1.Text;
            if (setName == "请选择")
            {
                this.dataGridView1.DataSource = new BindingList<HealthCheakItem>();
                label5.Text = "";
                label7.Text = " ";
                return;
            }
            //设置套餐名称
            label5.Text = this.HealthSet[setName].setName;
            //设置套餐价格
            label7.Text = this.HealthSet[setName].Price.ToString();
            //更新套餐体检项目
           
            //设置删除按钮为可用状态
            this.button3.Enabled = true;
          
          
        }
       
       
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
        public void InilSet()
        {
            height = new HealthCheakItem("身高", "用来检查身高", 5);
            weight = new HealthCheakItem("体重", "用来检查体重", 15);
            shi = new HealthCheakItem("视力", "用来检查视力", 25);
            ting = new HealthCheakItem("听力", "用来检查听力", 25);
            gan = new HealthCheakItem("肝功能", "用来检查肝功能", 85);
            chao = new HealthCheakItem("B超", "用来检查B超", 45);
            tu = new HealthCheakItem("心电图", "用来检查心电图", 75);
            AllItems.Add(height);
            AllItems.Add(weight);
            AllItems.Add(shi);
            AllItems.Add(ting);
            AllItems.Add(gan);
            AllItems.Add(chao);
            AllItems.Add(tu);
          
        }
        public void Init()
        {
            //清空下拉列表
            this.comboBox2.Items.Clear();
            //添加请选择
            //this.comboBox2.Items.Add("请选择");
            foreach (HealthCheakItem key in AllItems)
            {
                this.comboBox2.Items.Add(key.Name);
                this.button2.Enabled = true;
                //   MessageBox.Show(key);
            }
            this.comboBox2.SelectedIndex = 0;
        }
        //        在套餐列表中的默认一个“入学体检”并给此套餐设置制定的检查项目
        public void MoRen()
        {
            items = new List<HealthCheakItem>();
            items.Add(height);
            items.Add(weight);
            items.Add(gan);
            setA = new HealthCheakSet("入学体检", items);
            this.HealthSet.Add("入学体检", setA);
            setA.CalcPrice();
            dgvAdd(setA);
            foreach (var item in HealthSet)
            {
                this.comboBox1.Items.Add(item.Key);
            }
         

        }
        //体检套餐下拉列表
        //public void InitHealthSet()
        //{
        //    //清空下拉列表
        //    this.comboBox1.Items.Clear();
        //    //添加请选择
        //    this.comboBox1.Items.Add("请选择");
        //    foreach (HealthCheakItem key in HealthSet)
        //    {
        //        this.comboBox1.Items.Add(key.Name);
        //    }
        //    this.comboBox1.SelectedIndex = 0;
        //}
    
        //把数据绑定到DataGridView中显示套餐的检查项目 
        public void dgvAdd(HealthCheakSet set)
        {
            dataGridView1.DataSource = new BindingList<HealthCheakItem>(set.items);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
         
            InilSet();
            Init();
            MoRen();
            //InitHealthSet();
           
         
           
          
        }
        //点击添加按钮可以在数据列表中显示出来
        private void button2_Click(object sender, EventArgs e)
        {
int index = this.comboBox2.SelectedIndex;
                MessageBox.Show(index .ToString ());
            try
            {
                if (this.comboBox1.SelectedIndex == -1)
                {
                    MessageBox.Show("请选择一个项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                string newName = this.comboBox1.Text;
                if (newName == "请选择")
                {
                    MessageBox.Show("请选择一个套餐", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
               
                if (!this.HealthSet[newName].items.Contains(AllItems[index]))
                {
                    this.HealthSet[newName].items.Add(AllItems[index]);
                    this.HealthSet[newName].CalcPrice();
                    dgvAdd(HealthSet[newName]);
                    //刷新窗体中显示套餐名称
                    this.label5.Text = this.HealthSet[newName].setName;
                    //刷新窗体中显示套餐价格
                    this.label7.Text = this.HealthSet[newName].Price.ToString();
                    MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("该项目已经存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        //点击删除按钮将选中项从套餐中删除
        private void button3_Click(object sender, EventArgs e)
        {
            string setName = this.comboBox1.Text;
            MessageBox.Show(setName);
            if (this.dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("请选择一项删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                //获得所删除项的索引
                int index = this.dataGridView1.SelectedRows[0].Index;
                MessageBox.Show(index.ToString());
                //删除所选中的项
                this.HealthSet[setName].items.RemoveAt(index);
                //重新计算价格
                this.HealthSet[setName].CalcPrice();
                //更新数据
                dgvAdd(HealthSet[setName]);
                label5.Text = setA.setName;
                string cboSetText = this.comboBox2.Text;
                this.label7.Text = setA.Price.ToString(); ;
                MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        //添加套餐检查项目
        private void but_Click(object sender, EventArgs e)
        {
            if (this.txtName.Text == "")
            {
                MessageBox.Show("请输入要添加的套餐名称");
                return;
            }
          
            this.HealthSet.Add(this.txtName.Text, setA);
            this.AddSet();
          
           this.comboBox1.SelectedIndex = this.HealthSet.Count;
            MessageBox.Show("添加成功");
        }
        public void AddSet()
        {
            this.comboBox1.Items.Clear();
            this.comboBox1.Items.Add("请选择");
            foreach (string item in HealthSet.Keys)
            {
                this.comboBox1.Items.Add(item);
            }
            this.comboBox1.SelectedIndex = 0;
       

        }
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 体验套餐管理系统
{
   public  class HealthCheakSet
    {
        public string setName { get; set; }
        public int Price { get; set; }
        public List<HealthCheakItem> items { get; set; }
        //套餐价格计算方法
        public void CalcPrice()
        {
            int totalPrice = 0;
            foreach (HealthCheakItem item in this.items)
            {
                totalPrice += item.Price;
            }
            this.Price = totalPrice;
        }
        public HealthCheakSet(string setname, List<HealthCheakItem> items)
        {
            this.setName = setname;
            this.items = items;
        }
    }
}




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 体验套餐管理系统
{
  public    class HealthCheakItem
    {
        public string Description { get; set; }
        public string Name { get; set; }
        public int   Price { get; set; }
       
        public  HealthCheakItem(string name, string description, int  price)
        {
            this.Name = name;
            this.Description = description;
            this.Price = price;
        }
    }
}

0 0
原创粉丝点击