Example #1
0
        public async Task <IActionResult> Post([FromBody] OrderFormOrder orderFormOrder, [FromHeader] String authorization)
        {
            var emailFromJwt = GetValueFromJwtPayload(authorization);

            if (emailFromJwt == null || orderFormOrder.Owner != emailFromJwt)
            {
                return(Unauthorized());
            }
            ;
            Order order = new Order();

            order.OrderName = orderFormOrder.OrderName;
            order.Price     = orderFormOrder.Price;
            order.Category  = orderFormOrder.Category;
            order.Timestamp = DateTime.UtcNow.ToString();
            await _dataAccess.Create(order, emailFromJwt);

            // Construct the return json body and then return it with 201 Created response
            orderFormOrder.Id        = order.Id;
            orderFormOrder.Timestamp = order.Timestamp;
            var    json     = new { order = orderFormOrder };
            string location = order.Id.ToString();

            return(Created(location, json));
        }
Example #2
0
        public async Task <IActionResult> Put(String id, [FromBody] OrderFormOrder orderFormOrder, [FromHeader] String authorization)
        {
            var emailFromJwt = GetValueFromJwtPayload(authorization);

            if (emailFromJwt == null || orderFormOrder.Owner != emailFromJwt)
            {
                return(Unauthorized());
            }
            ;
            Order order = new Order();

            order.Id        = id;
            order.OrderName = orderFormOrder.OrderName;
            order.Price     = orderFormOrder.Price;
            order.Category  = orderFormOrder.Category;
            order.Timestamp = DateTime.UtcNow.ToString();
            await _dataAccess.Update(id, order);

            // Construct the return json body and then return it with 200 Ok response
            orderFormOrder.Id        = order.Id;
            orderFormOrder.Timestamp = order.Timestamp;
            var json = new { order = orderFormOrder };

            return(new OkObjectResult(json));
        }