public IActionResult DoPayment(OrderViewModel model) { if (!ModelState.IsValid) { var viewModel = _mapper.Map <OrderViewModel>(_basketManager.GetBasket()); return(View("MakeOrder", viewModel)); } var basket = _basketManager.GetBasket(); if (model.PaymentMethod == PaymentMethod.Card) { model.OrderDetails = _mapper.Map <List <OrderDetailsViewModel> >(basket.OrderDetails); return(View("CardPayment", model)); } var order = _mapper.Map <Order>(model); order.OrderDetails = basket.OrderDetails; _orderService.CreateOrder(order); _basketManager.ClearBasket(); return(View("OrderPlacing")); }
public IActionResult Charge([FromBody] ChargeViewModel model) { var basket = _basketManager.GetBasket(); basket.Customer = _mapper.Map <Customer>(model.Order.Customer); var paymentResult = _orderService.ProcessPayment(basket, model.Token); if (paymentResult.IsSuccessful) { _basketManager.ClearBasket(); return(Ok(paymentResult)); } return(BadRequest(paymentResult)); }
public async Task <IActionResult> Receipt(int orderId) { Order order = await _ordManager.GetOrder(orderId); if (order is null) { return(NotFound()); } if (!order.Completed) { await SendReceipt(order); order.Completed = true; await _ordManager.UpdateOrder(order, order.ID); Basket basket = await _bsktManager.GetBasket(order.ApplicationUserID); await _bsktManager.ClearBasket(basket.ID); } return(View(order)); }
public async Task <OperationDetails> ClearBasket(string basketId) { return(await basketMng.ClearBasket(basketId)); }
public IActionResult Clear(string buyerId) { _basketManager.ClearBasket(buyerId); return(Ok()); }