public async Task PlaceOrder(CreateCurbsideOrder orderToBePlaced) { var response = await CurbsideMapper.PlaceOrder(orderToBePlaced); await TheChannel.AddCurbsideOrder(new CurbsideChannelRequest { OrderId = response.Id, ClientId = Context.ConnectionId }); await Clients.Caller.SendAsync("OrderPlaced", Mapper.Map <CurbsideOrder>(response)); }
async Task <CurbsideOrder> IMapCurbsideOrders.PlaceOrder(CreateCurbsideOrder orderToPlace) { var order = Mapper.Map <OrderForCurbside>(orderToPlace); DataContext.CurbsideOrders.Add(order); await DataContext.SaveChangesAsync(); var response = Mapper.Map <CurbsideOrder>(order); return(response); }
public async Task <ActionResult> PlaceOrder([FromBody] CreateCurbsideOrder orderToPlace) { // 1. Validate It (bad? return 400) // 2. Save it to the database - (e.g. do domain stuff) // 3. Return // 201 Created // Location Header with the location of the new resource // A copy of the entity they would get if they did a GET to the location CurbsideOrder response = await CurbsideMapper.PlaceOrder(orderToPlace); return(Ok(response)); }
public async Task <ActionResult> PlaceOrderSynchronously([FromBody] CreateCurbsideOrder orderToPlace) { var temp = await CurbsideMapper.PlaceOrder(orderToPlace); for (var t = 0; t < temp.Items.Count; t++) { Thread.Sleep(1000); } temp.Status = CurbsideOrderStatus.Processed; var order = await Context.SaveChangesAsync(); return(Ok(temp)); // not going to map it... just want you to see. }
public async Task <ActionResult> PlaceOrder([FromBody] CreateCurbsideOrder orderToPlace) { // 1. Validate It (bad? return 400) // 2. Save it to the database - (e.g. do domain stuff) // 3. Return // 201 Created // Location Header with the location of the new resource // A copy of the entity they would get if they did a GET to the location CurbsideOrder response = await CurbsideMapper.PlaceOrder(orderToPlace); await TheChannel.AddCurbsideOrder(new CurbsideChannelRequest { OrderId = response.Id }); // this could possibly throw.. await TheHub.Clients.All.SendAsync("ApiOrderPlaced", response); return(Ok(response)); }
async Task <CurbsideOrder> IMapCurbsideOrders.PlaceOrder(CreateCurbsideOrder orderToPlace) { var order = Mapper.Map <OrderForCurbside>(orderToPlace); DataContext.CurbsideOrders.Add(order); await DataContext.SaveChangesAsync(); var response = Mapper.Map <CurbsideOrder>(order); response.Items = order.Items.Split(",").ToList(); // Process each of the items. foreach (var item in response.Items) { Thread.Sleep(1000); } return(response); }