Esempio n. 1
0
 private void ModifyDishQty(int index, decimal qty)
 {
     CurorderDetailList[index].Quantity += qty;
     if (CurorderDetailList[index].Quantity == 0)
     {
         CurorderDetailList.RemoveAt(index);
     }
     RaisePropertyChanged("OrderedDishQty");
     RaisePropertyChanged("OrderedDishAmount");
 }
Esempio n. 2
0
        /// <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));
            }
        }