public async Task PlaceOrder(CreateCurbisdeOrder orderToBePlaced) { var response = await _curbsideMapper.PlaceOrder(orderToBePlaced); await _channel.AddCurbsideOrder(new CurbsideChannelRequest { OrderId = response.Id, ClientId = Context.ConnectionId }); await Clients.Caller.SendAsync("OrderPlaced", _mapper.Map <CurbsideOrder>(response)); }
public async Task <ActionResult> PlaceOrder([FromBody] CreateCurbisdeOrder orderToPlace) { //validate the model (return 400 if bad) CurbsideOrder response = await _curbsideMapper.PlaceOrder(orderToPlace); // this should be wrapped in a try catch and if fails remove it from the database etc. await _channel.AddCurbsideOrder(new CurbsideChannelRequest { OrderId = response.Id }); return(Ok(response)); }
public async Task <CurbsideOrder> PlaceOrder(CreateCurbisdeOrder orderToPlace) { var order = _mapper.Map <OrderForCurbside>(orderToPlace); _context.CurbsideOrders.Add(order); await _context.SaveChangesAsync(); var response = _mapper.Map <CurbsideOrder>(order); //Process each of the items return(response); }
public async Task <ActionResult> PlaceOrderSynchronously([FromBody] CreateCurbisdeOrder orderToPlace) { var temp = await _curbsideMapper.PlaceOrder(orderToPlace); for (var t = 0; t < temp.Items.Count; t++) { Thread.Sleep(1000); } temp.Status = Data.CurbsideOrderStatus.Processed; var order = await _context.SaveChangesAsync(); return(Ok(temp)); // not going to map it... just want you to see. }