private void ModifyDishQty(int index, decimal qty) { CurorderDetailList[index].Quantity += qty; if (CurorderDetailList[index].Quantity == 0) { CurorderDetailList.RemoveAt(index); } RaisePropertyChanged("OrderedDishQty"); RaisePropertyChanged("OrderedDishAmount"); }
/// <summary> /// 结账逻辑 /// </summary> /// <param name="sender"></param> /// <param name="para"></param> /// <returns></returns> private object DoCheckout(object sender, object para) { MsgArgs arg = para as MsgArgs; if (arg == null) { throw new Exception(string.Format("获取结账返回参数出错!")); } try { string PayCode = arg.Extra["PayCode"].ToString(); PayType = arg.Extra["PayType"].ToString(); int PayChannel = int.Parse(arg.Extra["PayChannel"].ToString()); Curorder order = CreateCurorder(); int index = 0; foreach (var item in CurorderDetailList) { item.CurorderId = order.CurorderId; item.CurrderDetailId = "MX" + DateTime.Now.ToString("yyMMddHHmmss") + (++index).ToString("000"); } CurorderService service = new CurorderService(); //添加账单及付款请求 service.AddOrder(order, CurorderDetailList, PayChannel, PayCode); //生成结账单字符串 string str = BillTemplate.GenerateBill(order, CurorderDetailList, PayType); Application.Current.Dispatcher.Invoke(new Action(() => { CurorderDetailList.Clear(); RaisePropertyChanged("OrderedDishQty"); RaisePropertyChanged("OrderedDishAmount"); } )); return(new MsgArgs(MsgCode.Succ) { Content = str }); } catch (Exception e) { return(new MsgArgs(MsgCode.Faild, e.Message)); } }