//商品加到购物车 protected void ImageButtonBuy_Click(object sender, ImageClickEventArgs e) { string str = ((DropDownList)DetailsView1.Rows[5].Cells[1].FindControl("DropDownList1")).SelectedItem.Text;//取出dish名字 int quota = Convert.ToInt32(str); //数量,类型转下 DishQuota dishQuota = new DishQuota(Guid.NewGuid(), dish.name, dish.price, quota, ""); delivery.AddDish(dishQuota);//把new的dish放到session里 的delivery ,相当于加入购物车了 Session["Delivery"] = delivery; //delivery 放到session Response.Write("<Script>alert('Dish is added to your shopping cart')</script>");//提示用户,加入成功 }
//把点的菜 记录下来到对应的table的reservation,传的是table name ,dish是记录到reservation的 //然后跳转会manager主页 protected void ButtonSubmit_Click(object sender, EventArgs e) { foreach (GridViewRow r in GridView1.Rows) { string quotaStr = ((DropDownList)(r.Cells[5].FindControl("DropDownList1"))).SelectedItem.Text.ToString(); if (quotaStr == "0") { } else { string dishName = r.Cells[0].Text; double price = Convert.ToDouble(r.Cells[2].Text.Substring(1)); int quota = Convert.ToInt32(quotaStr); DishQuota dishQuota = new DishQuota(Guid.NewGuid(), dishName, price, quota, ""); manager.AddDish(tableName, dishQuota); } } Response.Redirect(ConfigurationManager.AppSettings["ManagerMain"]); }
protected void ButtonSubmit_Click(object sender, EventArgs e) { List<DishQuota> dishQuotaList = new List<DishQuota>(); foreach (GridViewRow r in GridView1.Rows) { //这个相当于购物车的内容了,这里还可以添加,删除东西 string quotaStr = ((DropDownList)(r.Cells[5].FindControl("DropDownList1"))).SelectedItem.Text.ToString(); //吧数量取出来 if (quotaStr == "0") { } //不用处理 else { string dishName = r.Cells[0].Text; //名字取出来 double price = Convert.ToDouble(r.Cells[2].Text.Substring(1));//价格 int quota = Convert.ToInt32(quotaStr);//数量的数据类型转换下 DishQuota dishQuota = new DishQuota(Guid.NewGuid(), dishName, price, quota, "");//实例化一个dish dishQuotaList.Add(dishQuota);//放到list } } if (dishQuotaList.Count != 0)//list 有东西 { if (Session["Delivery"] != null) //delivery 在session已经有 { ((Delivery)Session["Delivery"]).dishQuotaList = dishQuotaList; //设置session里的delivery的list为刚刚设置的list } else { Delivery delivery = new Delivery(); //new 一个delivery delivery.dishQuotaList = dishQuotaList; Session["Delivery"] = delivery; //把new的放到sesion } Response.Redirect(ConfigurationManager.AppSettings["NewDelivery"]); //转到填写用户信息的页面 } else { Response.Write("<Script>alert('no dishes is selected!')</script>"); //list空的,错误提示 } }
public static List<Delivery> GetAllHistoryDelivery() { List<Delivery> deliveryList = new List<Delivery>(); DataContextDataContext dc = new DataContextDataContext(); ISingleResult<select_all_history_deliveryResult> rs = dc.select_all_history_delivery(); foreach (select_all_history_deliveryResult r in rs) { List<DishQuota> dishQuotaLish = new List<DishQuota>(); ISingleResult<get_dishquota_by_deliveryResult> rs2 = dc.get_dishquota_by_delivery(r.id); foreach (get_dishquota_by_deliveryResult r2 in rs2) { double price = 0; ISingleResult<get_dish_by_nameResult> rs3 = dc.get_dish_by_name(r2.dish_name); foreach (get_dish_by_nameResult r3 in rs3) { price = (double)r3.price; } DishQuota dishQuota = new DishQuota(r2.id, r2.dish_name, price, (int)r2.quota, r2.note); dishQuotaLish.Add(dishQuota); } Delivery delivery = new Delivery( (Guid)r.id, r.user_from, r.customer_name, r.phone, r.address, (DateTime)r.commit_time, (DateTime)r.delivery_time, (DeliveryState)r.state, dishQuotaLish); deliveryList.Add(delivery); } return deliveryList; }
public void AddDish(DishQuota pDishQuota) { dishQuotaList.Add(pDishQuota); DataContextDataContext dc = new DataContextDataContext(); dc.insert_reservation_dish(pDishQuota.id, id, pDishQuota.dishName, pDishQuota.quota,pDishQuota.note); }
public static List<Reservation> GetAllHistoryReservation() { List<Reservation> reservationList = new List<Reservation>(); DataContextDataContext dc = new DataContextDataContext(); ISingleResult<select_all_history_reservationResult> rs = dc.select_all_history_reservation(); foreach (select_all_history_reservationResult r in rs) { List<DishQuota> dishQuotaList = new List<DishQuota>(); ISingleResult<get_dishquota_by_reservationResult> rs2 = dc.get_dishquota_by_reservation(r.id); foreach (get_dishquota_by_reservationResult r2 in rs2) { double price = 0; ISingleResult<get_dish_by_nameResult> rs3 = dc.get_dish_by_name(r2.dish_name); foreach (get_dish_by_nameResult r3 in rs3) { price = (double)r3.price; } DishQuota dishQuota = new DishQuota(r2.id, r2.dish_name, price, (int)r2.quato, r2.note); dishQuotaList.Add(dishQuota); } Reservation reservation = new Reservation( r.id, r.user_from, r.customer_name, r.phone, (DateTime)r.arrive_time, r.table_name, (int)r.seat, (ReservationType)r.type, (ReservationState)r.state, dishQuotaList); reservationList.Add(reservation); } return reservationList; }
//Function: search reservations by keyword //Remarks: if the keyword == null, return all the records public List<Reservation> SearchReservationMatch(string keyword) { List<Reservation> reservationList = new List<Reservation>(); if (keyword == null) { keyword = "%"; } //search all the records else { } DataContextDataContext dc = new DataContextDataContext(); ISingleResult<search_current_reservation_by_keywordResult> rs = dc.search_current_reservation_by_keyword(keyword); foreach (search_current_reservation_by_keywordResult r in rs) { List<DishQuota> dishQuotaList = new List<DishQuota>(); ISingleResult<get_dishquota_by_reservationResult> rs2 = dc.get_dishquota_by_reservation(r.id); foreach (get_dishquota_by_reservationResult r2 in rs2) { double price = 0; ISingleResult<get_dish_by_nameResult> rs3 = dc.get_dish_by_name(r2.dish_name); foreach (get_dish_by_nameResult r3 in rs3) { price = (double)r3.price; } DishQuota tDishQuota = new DishQuota(r2.id, r2.dish_name, price, (int)r2.quato, r2.note); dishQuotaList.Add(tDishQuota); } Reservation reservation = new Reservation( r.id, r.user_from, r.customer_name, r.phone, (DateTime)r.arrive_time, r.table_name, (int)r.seat, (ReservationType)r.type, (ReservationState)r.state, dishQuotaList); reservationList.Add(reservation); } return reservationList; }
//$就餐的时候,在相应的reservation里面把dish加进去 public void AddDish(string pTableName, DishQuota pDishQuota) { foreach (SysTable t in Restaurant.tableList) { if (t.name == pTableName) { t.GetReservation().AddDish(pDishQuota); } else {} } }
public void AddDish(DishQuota pDishQuota) { dishQuotaList.Add(pDishQuota); }
//Function: initiate all the tables with states, by querying the db ////从数据库把桌子信息读出来,带着当前的状态 public static void InitAllTable() { tableList = new List<SysTable>(); DataContextDataContext dc = new DataContextDataContext(); ISingleResult<select_all_tableResult> rs = dc.select_all_table(); foreach (select_all_tableResult r in rs) { Reservation reservation = null; ISingleResult<get_current_reservation_by_tableResult> rs2 = dc.get_current_reservation_by_table(r.name); foreach (get_current_reservation_by_tableResult r2 in rs2) { List<DishQuota> dishQuotaList = new List<DishQuota>(); ISingleResult<get_dishquota_by_reservationResult> rs3 = dc.get_dishquota_by_reservation(r2.id); foreach (get_dishquota_by_reservationResult r3 in rs3) { double price = 0; ISingleResult<get_dish_by_nameResult> rs4 = dc.get_dish_by_name(r3.dish_name); foreach (get_dish_by_nameResult r4 in rs4) { price = (double)r4.price; } DishQuota dishQuota = new DishQuota((Guid)r3.id, r3.dish_name, price, (int)r3.quato, r3.note); dishQuotaList.Add(dishQuota); } reservation = new Reservation( r2.id, r2.user_from, r2.customer_name, r2.phone, (DateTime)r2.arrive_time, r2.table_name, (int)r2.seat, (ReservationType)r2.type, (ReservationState)r2.state, dishQuotaList); } //only one reservation is bound to a table in a certain time // in exact this foreach loop, not outside SysTable table = new SysTable( (Guid)r.id, r.name, (int)r.seat, r.pict_path, (TableState)r.current_state ); table.SetReservation(reservation); tableList.Add(table); } }
public static List<Reservation> GetReservationByDurationAndUser(DateTime pBeginTime, DateTime pEndTime, string pUserFrom) { List<Reservation> reservationList = new List<Reservation>(); DataContextDataContext dc = new DataContextDataContext(); ISingleResult<select_reservation_by_duration_and_userResult> rs = dc.select_reservation_by_duration_and_user((DateTime?)pBeginTime, (DateTime?)pEndTime, pUserFrom); foreach (select_reservation_by_duration_and_userResult r in rs) { List<DishQuota> dishQuotaList = new List<DishQuota>(); ISingleResult<get_dishquota_by_reservationResult> rs2 = dc.get_dishquota_by_reservation(r.id); foreach (get_dishquota_by_reservationResult r2 in rs2) { double price = 0; ISingleResult<get_dish_by_nameResult> rs3 = dc.get_dish_by_name(r2.dish_name); foreach (get_dish_by_nameResult r3 in rs3) { price = (double)r3.price; } DishQuota tDishQuota = new DishQuota(r2.id, r2.dish_name, price, (int)r2.quato, r2.note); dishQuotaList.Add(tDishQuota); } Reservation reservation = new Reservation( r.id, r.user_from, r.customer_name, r.phone, (DateTime)r.arrive_time, r.table_name, (int)r.seat, (ReservationType)r.type, (ReservationState)r.state, dishQuotaList); reservationList.Add(reservation); } return reservationList; }