首页 > 技术文章 > C#实现体验套餐管理系统

wenlonghui 2018-02-18 16:27 原文

体验套餐类!!

/// <summary>
/// 体验套餐类!!
/// </summary>
public class HealthCheckSet
{
private List<HealthCheckItem> _items; //HealthCheckItem的集合!
internal List<HealthCheckItem> Items
{
get { return _items; }
set { _items = value; }
}
private int _price; //套餐价格!!
public int Price
{
get { return _price; }
set { _price = value; }
}
private string _name; //套餐名称!!
public string Name
{
get { return _name; }
set { _name = value; }
}
//采用泛型集合List保存所有的体验项目!!
List<HealthCheckItem> _AllItems = new List<HealthCheckItem>();

//采用泛型集合List保存套餐中的体验项目!!
List<HealthCheckItem> items = new List<HealthCheckItem>();

/// <summary>
/// 套餐价格计算方法!!
/// </summary>
public void CalcPrice()
{
int totalPrice = 0;
foreach (HealthCheckItem item in this.Items)
{
totalPrice += item.Price;
}
this.Price = totalPrice;
}

}

 

检查项目类!

/// <summary>
/// 检查项目类!!
/// </summary>
public class HealthCheckItem
{
/// <summary>
/// 带参构造方法!!
/// </summary>
public HealthCheckItem(string name,string desc,int price)
{
this.Description = desc;
this.Name = name;
this.Price = price;
}

private string _description; //项目描述!!
public string Description
{
get { return _description; }
set { _description = value; }
}

private string _name; //项目名称!!
public string Name
{
get { return _name; }
set { _name = value; }
}

private int _price; //项目价格!!
public int Price
{
get { return _price; }
set { _price = value; }
}
}

 

主窗体!

 

using System;
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 Chapter05
{
public partial class FrmMain : Form
{
public HealthCheckSet healthset;

 

//采用泛型集合List保存所有的体验项目!!
public List<HealthCheckItem> AllItem = new List<HealthCheckItem>();

 

//保存套餐中的体验项目!!
public List<HealthCheckItem> Item = new List<HealthCheckItem>();

 

//字典存套餐!!
public Dictionary<string, HealthCheckSet> HealthSet = new Dictionary<string, HealthCheckSet>();

 

public FrmMain()
{
InitializeComponent();
}

 

#region 初始化信息!!
/// <summary>
/// 初始化信息!!
/// </summary>
public void Init()
{
HealthCheckItem hci = new HealthCheckItem( "身高","用于检查身高", 5);
HealthCheckItem hci1 = new HealthCheckItem( "体重","用于检查体重", 5);
HealthCheckItem hci2 = new HealthCheckItem("肝功能","用于检查肝功能", 30);
HealthCheckItem hci3 = new HealthCheckItem("B超","用于B超检查", 50);
HealthCheckItem hci4 = new HealthCheckItem( "视力","用于检查眼睛", 5);
HealthCheckItem hci5 = new HealthCheckItem( "听觉","用于检查听觉", 5);
HealthCheckItem hci6 = new HealthCheckItem( "11","肝功能", 30);
HealthCheckItem hci7 = new HealthCheckItem( "B213","B超检查", 50);

 

AllItem.Add(hci);
AllItem.Add(hci1);
AllItem.Add(hci2);
AllItem.Add(hci3);
AllItem.Add(hci4);
AllItem.Add(hci5);
AllItem.Add(hci6);
AllItem.Add(hci7);

 

healthset = new HealthCheckSet();
healthset.Name = "请选择";
healthset.Name = "入学体验";
//healthset.Items.Add(hci4);
//healthset.Items.Add(hci5);
//healthset.Items.Add(hci6);
//healthset.Items.Add(hci7);
//healthset.CalcPrice();

HealthSet.Add("请选择", healthset);
HealthSet.Add("入学体验", healthset);
}
#endregion

 

#region 刷新方法!!
/// <summary>
/// 刷新方法!!
/// </summary>
/// <param name="set"></param>
public void Update(HealthCheckSet set)
{
this.dgvHealthList.DataSource = new BindingList<HealthCheckItem>(set.Items);
set.CalcPrice();
}
#endregion

 

#region 套餐列表下拉事件!!
/// <summary>
/// 套餐列表下拉事件!!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cboLiebiao_SelectedIndexChanged(object sender, EventArgs e)
{
string setName = this.cboLiebiao.SelectedItem.ToString();
if(setName == "请选择")
{
this.dgvHealthList.DataSource = new BindingList<HealthCheckItem>();

 

lblTaoCanM.Text = "";
lblJiaGe.Text = "";
//控件:删除为不可用状态!!
this.btnQuXiao.Enabled = false;
return;
}
else
{
//设置套餐名称!!
lblTaoCanM.Text = this.HealthSet[setName].Name;
//设置套餐总价!!
lblJiaGe.Text = this.HealthSet[setName].Price.ToString();
//控件:删除为可用状态!!
this.btnQuXiao.Enabled = true;
//绑定DataGirlView!!
this.dgvHealthList.DataSource = new BindingList<HealthCheckItem>(AllItem);
}
}
#endregion

 

#region 窗体加载事件!
/// <summary>
/// 窗体加载事件!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmMain_Load(object sender, EventArgs e)
{
//初始化信息!!
Init();

 

//项目绑定!!
this.cboPgriom.DisplayMember = "name";
this.cboPgriom.DataSource = AllItem;

 

//套餐循环绑定!
foreach (string key in HealthSet.Keys)
{
this.cboLiebiao.Items.Add(key);
}
//默认选中一行!!
this.cboLiebiao.SelectedIndex = 0;
}
#endregion

 

private void btnQuXiao_Click(object sender, EventArgs e)
{
//获取选中的项!!
string _key = this.dgvHealthList.SelectedRows[0].Cells[0].Value.ToString();

 

}

 

}
}

 

推荐阅读