private void savebutton_Click(object sender, EventArgs e) { //Console.WriteLine(this.id, this.customer_name, this.customer_id); int id_int = Convert.ToInt32(id); ordertest.Customer c = new ordertest.Customer(Convert.ToUInt32(customer_id), customer_name); ordertest.Goods goods = new ordertest.Goods(Convert.ToInt32(goods_id), goods_name, Convert.ToDouble(price)); ordertest.OrderDetail de = new ordertest.OrderDetail(goods, Convert.ToUInt32(amount)); if (op == 1) { if (service.GetById(id_int) == null) { ordertest.Order o = new ordertest.Order(id_int, c); service.AddOrder(o); o.AddDetails(de); } else { service.GetById(id_int).AddDetails(de); } } else if (op == 2) { ordertest.Order o = service.GetById(id_int); var d = o.Details; foreach (var i in d) { if (i.Goods.Id == Convert.ToInt32(goods_id)) { i.Amount = Convert.ToUInt32(amount); i.Goods.Price = Convert.ToDouble(price); } } } else if (op == 3) { if (service.GetById(id_int) == null) { throw new Exception("无此账单"); } else { service.RemoveOrder(id_int); } } MessageBox.Show("信息改变已保存"); this.Close(); }
// 按ID查询// 按客户查询//按数量查询//按商品查询//查询全部 private void querybutton_Click(object sender, EventArgs e) { Console.WriteLine(this.message); switch (Query_Way) { case "按ID查询": this.orderbindingSource.DataSource = service.GetById(Convert.ToInt32(message)); if (service.GetById(Convert.ToInt32(message)) != null) { this.detailbindingSource.DataSource = service.GetById(Convert.ToInt32(message)).Details; } else { this.detailbindingSource.DataSource = null; } break; case "按客户查询": this.orderbindingSource.DataSource = service.QueryByCustomerName(message); break; case "按数量查询": this.orderbindingSource.DataSource = service.QueryByTotalAmount(Convert.ToDouble(message)); break; case "按商品查询": this.orderbindingSource.DataSource = service.QueryByGoodsName(message); break; case "查询全部": this.orderbindingSource.DataSource = service.QueryAll(); break; default: break; } if (Query_Way != "按ID查询") { List <ordertest.Order> o = (List <ordertest.Order>)orderbindingSource.DataSource; List <ordertest.OrderDetail> de = new List <ordertest.OrderDetail>(); if (o != null) { foreach (var i in o) { List <ordertest.OrderDetail> p = i.Details; foreach (var j in p) { de.Add(j); } } detailbindingSource.DataSource = de; } } }