コード例 #1
0
        public async Task <ActionResult> AsyncCurbsideOrders([FromBody] PostSyncCurbsideOrdersRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                var orderToSave = new CurbSideOrder
                {
                    For    = request.For,
                    Items  = request.Items,
                    Status = CurbSideOrderStatus.Processing
                };

                _context.CurbSide.Add(orderToSave);
                await _context.SaveChangesAsync();

                var response = new GetCurbsideOrderResponse
                {
                    Id         = orderToSave.Id,
                    For        = orderToSave.For,
                    Items      = orderToSave.Items,
                    PickupDate = null,
                    Status     = orderToSave.Status
                };
                await _channel.AddCurbside(new CurbsideChannelRequest { ReservationId = response.Id });

                return(CreatedAtRoute("curbsideorders#getbyid", new { id = response.Id }, response));
            }
        }
コード例 #2
0
        public async Task <ActionResult> AsyncCurbsideOrders([FromBody] PostSyncCurbsideOrdersRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                // Save it to the DB
                var orderToSave = new CurbsideOrder
                {
                    For    = request.For,
                    Items  = request.Items,
                    Status = CurbsideOrderStatus.Processing
                };

                // return 201, Location Header, Copy of the Entity

                _context.CurbsideOrders.Add(orderToSave);

                await _context.SaveChangesAsync();

                var response = new GetCurbsideOrderResponse
                {
                    Id         = orderToSave.Id,
                    For        = orderToSave.For,
                    Items      = orderToSave.Items,
                    PickupDate = null,
                    Status     = orderToSave.Status
                };
                var didWrite = await _channel.AddCurbside(new CurbsideChannelRequest { ReservationId = response.Id });

                if (!didWrite)
                {
                    // what to do?
                }
                return(CreatedAtRoute("curbsideorders#getbyid", new { id = response.Id }, response));
            }
        }
コード例 #3
0
        public async Task PlaceOrder(PostSyncCurbsideOrdersRequest request)
        {
            var orderToSave = new CurbSideOrder
            {
                For    = request.For,
                Items  = request.Items,
                Status = CurbSideOrderStatus.Processing
            };

            _context.CurbSide.Add(orderToSave);
            await _context.SaveChangesAsync();

            var response = new GetCurbsideOrderResponse
            {
                Id         = orderToSave.Id,
                For        = orderToSave.For,
                Items      = orderToSave.Items,
                PickupDate = null,
                Status     = orderToSave.Status
            };
            await _channel.AddCurbside(new CurbsideChannelRequest { ReservationId = response.Id, ConnectionId = Context.ConnectionId });

            await Clients.Caller.SendAsync("OrderPlaced", response);
        }