public void AddCoffeeOrder(CoffeeOrder coffeeOrder) { if (coffeeOrder is null) { throw new ArgumentNullException(nameof(coffeeOrder)); } _coffeeOrder = coffeeOrder; }
public void OrderCoffee(CupSize size) { _currentCup = new CoffeeOrder() { Coffee = new Coffee() { Size = size, Price = CoffeePrice(size) } }; }
public PaymentResult CompleteOrderAndPay(decimal payment) { var result = _paymentService.RemitPayment(Total(), payment); if (result.PaymentStatus == PaymentStatus.Success) { _orders = new List <CoffeeOrder>(); _currentCup = null; } return(result); }
protected void Button1_Click(object sender, EventArgs e) { if (Request.Form["id"] == null) { Response.Redirect("/Coffee.aspx"); } var order = new CoffeeOrder(Request.Form["id"].ToString()); Session["order"] = order; Response.Redirect("Order.aspx"); }
public bool CompleteCup() { if (_currentCup == null) { return(false); } _orders.Add(_currentCup); _currentCup = null; return(true); }
public CoffeeOrder PlaceOrder() { var coffeeOrder = new CoffeeOrder( Size.ToString(), _extraQtyByExtra[Extra.Cream], _extraQtyByExtra[Extra.Sugar], GetPrice()); Reset(); return(coffeeOrder); }
private CoffeeOrder CreateCoffeeOrder() { var sizes = Enum.GetValues(typeof(CoffeeSize)); var size = (CoffeeSize)sizes.GetValue(_rnd.Next(sizes.Length)); var creamQty = _rnd.Next(5); var sugarQty = _rnd.Next(5); var price = _rnd.Next(1, 5); var coffeeOrder = new CoffeeOrder(size.ToString(), creamQty, sugarQty, price); return(coffeeOrder); }
protected void Page_Load(object sender, EventArgs e) { string apiLogin = ConfigurationManager.AppSettings["ApiLogin"]; string transactionKey = ConfigurationManager.AppSettings["TransactionKey"]; if ((string.IsNullOrEmpty(apiLogin)) || (apiLogin.Trim().Length == 0) || (apiLogin == "ApiLogin") || (string.IsNullOrEmpty(transactionKey)) || (transactionKey.Trim().Length == 0) || (transactionKey == "TransactionKey")) { CoffeeOrder order = new CoffeeOrder(""); order.OrderMessage = "Please replace the ApiLogin and TransactionKey values in Web.config file with your Authorize.Net account!"; Session["order"] = order; Response.Redirect("Error.aspx"); } }
private void btnOk_Click(object sender, RoutedEventArgs e) { CoffeeOrder coffee = new CoffeeOrder(); coffee.coffeeType = tbxCoffeeType.Text; coffee.cupSize = tbxCoffeeSize.Text; SaveCoffee(coffee); MessageBox.Show("Coffee Ordered Successfully"); clearCoffeeDetails(); tbxCoffeeType.Text = ""; tbxCoffeeSize.Text = ""; }
public ActionResult OrderPost(CoffeeOrder ord) { var clientInfo = this.TempData["ClientInfo"] as ClientInfo; ord.CreateIP = clientInfo.Ip; ord.OrderETMID = clientInfo.EtmCode; //ord.OrderETMID = "ETM0027"; //ord.OrderFrom = 1; const string takedateUrl = "api/Coffee/OrderPost"; var fullPath = ETong.Coffee.Web.Models.Config.GetApiFullPath(takedateUrl); var client = new HttpClientUtility(new Uri(fullPath)); Logger.Write(Log.Log_Type.Info, string.Format("调用{0}", fullPath)); var result = SecurityHttpClient.Post <CoffeeOrder, OrderGroupResult>(fullPath, ord); Logger.Write(Log.Log_Type.Info, string.Format("{0}结束,result={1}", fullPath, Json(result.dataMap))); return(Json(result)); }
public OrderGroupResult OrderPost([FromBody] CoffeeOrder ord) { var result = new OrderGroupResult() { }; Logger.Write(Log.Log_Type.Info, "Create Order:" + JsonConvert.SerializeObject(ord)); try { var logc = new CoffeeLogc(); result = logc.CreateOrder(ord); } catch (Exception ex) { Logger.Write(Log.Log_Type.Error, ex.ToString()); throw ex; }; return(result); }
public CoffeeOrder Vend() { if (_coffeeOrder is null) { throw new InvalidOperationException("No coffee order placed."); } if (_availableFunds < _coffeeOrder.Price) { throw new InsufficientFundsException(_availableFunds, _coffeeOrder.Price); } _availableFunds -= _coffeeOrder.Price; var coffeeOrder = _coffeeOrder; _coffeeOrder = null; return(coffeeOrder); }
public override Task <CoffeeOrder> CreateOrder(CreateOrderRequest request, ServerCallContext context) { this._logger.LogInformation($"Creating order: {request.Size} {request.CoffeeType}"); var coffeeOrder = new CoffeeOrder { Id = _orders.Count() + 1, CoffeeType = request.CoffeeType, Size = request.Size }; _orders[coffeeOrder.Id] = coffeeOrder; _subscribers.ForEach(async s => { await s.WriteAsync(coffeeOrder); }); return(Task.FromResult(coffeeOrder)); }
public CoffeeOrder OrderCoffee(int CoffeeId) { var Coffee = FindCoffee(CoffeeId); foreach (KeyValuePair <Ingredient, int> IngredientsNeeded in Coffee.Ingredients) { var IngredientStocksNumber = Stocks[IngredientsNeeded.Key]; if (IngredientStocksNumber < IngredientsNeeded.Value) { throw new Exception("Cannot make this coffee, not enough " + IngredientsNeeded.Key.Name); } } foreach (KeyValuePair <Ingredient, int> IngredientsNeeded in Coffee.Ingredients) { Stocks[IngredientsNeeded.Key] = Stocks[IngredientsNeeded.Key] - IngredientsNeeded.Value; } var CoffeeOrder = new CoffeeOrder(Guid.NewGuid().ToString(), DateTime.Now, Coffee.Name); CoffeeOrders.Add(CoffeeOrder); return(CoffeeOrder); }
/// <summary> /// 创建订单 /// </summary> /// <param name="ord"></param> /// <returns></returns> public OrderGroupResult CreateOrder(CoffeeOrder ord) { if (ord == null) { throw new ArgumentNullException("order"); } var s = new OrderManager(); string orderDescribe = ""; //验证产品单价 var list = ObjectXmlSerializer.LoadFromXml <List <CoffeeInit> >(System.Web.HttpContext.Current.Server.MapPath("~/cache/Coffee.xml")); var ordDetails = ord.DrinkList.GroupBy(o => o.Value).Select(o => (new Drink() { Name = o.Min(item => item.Name), Value = o.Key, Number = o.Sum(item => item.Number), Price = o.Sum(item => item.Number * item.Price), Materials = null })); foreach (var item in ordDetails) { if (item.Price != list[0].DrinkList.Find(o => o.Value == item.Value).Price *item.Number) { throw new Exception("产品单价有误!"); } orderDescribe = orderDescribe == "" ? orderDescribe : orderDescribe + "@#"; orderDescribe += String.Format("名称:{0}@#金额:{1}元@#数量:{2}", item.Name, item.Price, item.Number); } //验证订单金额金额 if (ord.TotalAmount != ord.DrinkList.Sum(o => o.Price * o.Number) + ord.Fee) { throw new Exception("订单金额有误!"); } var orderinfo = new OrderInfo { memberId = ord.MemberId, message = "", orderAmount = ord.Amount.ToString(CultureInfo.InvariantCulture), orderDescribe = orderDescribe, orderFrom = ord.OrderFrom.ToString(), orderType = OrderType.ToString(), storeId = this.GetStoreInfo().StoreId, storeName = this.GetStoreInfo().StoreName, totalAmount = (ord.TotalAmount).ToString(CultureInfo.InvariantCulture), orderEtm = ord.OrderETMID, deleiveryFee = ord.Fee, memberName = ord.MemberName }; var mresult = s.CreateOrder(orderinfo); Logger.Write(Log.Log_Type.Info, string.Format("主订单创建成功,order={0}", JsonConvert.SerializeObject(mresult))); var context = new CoffeeOrderContext(); for (int i = 0; i < ord.DrinkList.Count; i++) { var item = ord.DrinkList[i]; var coffeeDetail = new BM_COFFEE_DETAIL() { ORDER_ID = mresult.dataMap.orderId, ID = mresult.dataMap.orderId + i.ToString(), ADD_FEE = 0, AMOUNT = item.Number * item.Price, CAPACITY = item.Capacity, COFFEE_TYPE = item.Value, COFFEE_TYPENAME = item.Name, CREATE_DATE = DateTime.Now, PRICE = item.Price, DESCRIPTION = "", QUANTITY = item.Number, TOTAL = item.Number * item.Price, MATERIALS = JsonConvert.SerializeObject(item.Materials), ISSUED = 0 }; Logger.Write(Log.Log_Type.Info, string.Format("订单详情,Detail={0}", JsonConvert.SerializeObject(coffeeDetail))); context.BM_COFFEE_DETAIL.Add(coffeeDetail); } context.SaveChanges(); OrderGroupResult result = new OrderGroupResult(); result.GroupId = mresult.dataMap.orderId; result.Items = new List <OrderItemResult>(); result.Items.Add(new OrderItemResult() { Amount = ord.TotalAmount, ItemName = orderinfo.orderDescribe, OrderId = mresult.dataMap.orderId, Qty = ord.Quantity, StoreId = orderinfo.storeId, StoreName = orderinfo.storeName }); result.TotalAmount = ord.TotalAmount; return(result); }
public decimal CompleteOrder() { _coffeeOrder = null; return(DispenseChange()); }
public void CancelCurrentCup() { _currentCup = null; }
public void SaveCoffee(CoffeeOrder coffee) { db.Entry(coffee).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); }