Beispiel #1
0
        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.
        }