Example #1
0
        public async Task CreateNewOrder()
        {
            var newOrder = new OrderChangeDto()
            {
                Address = "-",
                Phone   = "-",
                Status  = "open"
            };

            var res = await _ordersDataService.AddOrder(newOrder);

            // Success
            if (res.StatusCode == System.Net.HttpStatusCode.Created)
            {
                state.order = JsonSerializer.Deserialize <OrderDto>(
                    await res.Content.ReadAsStringAsync(),
                    new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });
            }
            // Error
            else
            {
                await _helpers.ErrorResponse(res);
            }
        }
        public async Task <HttpResponseMessage> AddOrder(OrderChangeDto order)
        {
            var email = _context.order.Email;

            _context.order = new OrderDto()
            {
                Id         = 1,
                Address    = order.Address,
                Phone      = order.Phone,
                Status     = order.Status,
                Email      = email,
                Time       = DateTime.Now,
                OrderItems = new List <OrderItemDto>()
            };

            await _context.SetOrderAsync(_context.order);

            var jsonString = new StringContent(
                JsonSerializer.Serialize <OrderDto>(_context.order),
                Encoding.UTF8,
                "application/json");

            res = new HttpResponseMessage()
            {
                StatusCode = System.Net.HttpStatusCode.Created,
                Content    = jsonString
            };

            return(res);
        }
        public async Task <IActionResult> PutOrder([FromRoute] int id, [FromBody] OrderChangeDto orderDto)
        {
            try
            {
                var order = await _repository.GetOrder(id);

                if (order == null)
                {
                    return(NotFound());
                }

                orderDto.Email = order.Email;
                _mapper.Map(orderDto, order);

                await _repository.UpdateOrder(order);

                await _repository.Save();

                return(NoContent());
            }
            catch (DbUpdateException e)
            {
                ModelState.AddModelError("database", e.InnerException != null
                    ? e.InnerException.Message
                    : e.Message);
                return(ValidationProblem());
            }
            catch (Exception e)
            {
                return(_helpers.ErrorResponse(e));
            }
        }
        private void ToggleOrderForm()
        {
            order = new OrderChangeDto()
            {
                Address    = _state.order.Address,
                Phone      = _state.order.Phone,
                Status     = "closed",
                OrderItems = JsonSerializer.Deserialize <List <OrderItemChangeDto> >(
                    JsonSerializer.Serialize <List <OrderItemDto> >(_state.order.OrderItems))
            };

            showOrderForm = !showOrderForm;
        }
        public async Task <HttpResponseMessage> UpdateOrder(int id, OrderChangeDto order)
        {
            _context.order.Address = order.Address;
            _context.order.Phone   = order.Phone;
            _context.order.Status  = order.Status;

            await _context.SetOrderAsync(_context.order);

            res = new HttpResponseMessage()
            {
                StatusCode = System.Net.HttpStatusCode.NoContent
            };

            return(res);
        }
        public async Task <IActionResult> PostOrder([FromBody] OrderChangeDto orderDto)
        {
            try
            {
                var user = await _userManager.GetUserAsync(User);

                var email = user?.Email;

                if (email != null)
                {
                    var order = _mapper.Map <Order>(orderDto);
                    order.Email = email;

                    await _repository.AddOrder(order);

                    await _repository.Save();

                    return(CreatedAtAction("GetOrder",
                                           new { id = order.Id },
                                           _mapper.Map <OrderDto>(order)));
                }

                return(Unauthorized());
            }
            catch (DbUpdateException e)
            {
                ModelState.AddModelError("database", e.InnerException != null
                    ? e.InnerException.Message
                    : e.Message);
                return(ValidationProblem());
            }
            catch (Exception e)
            {
                return(_helpers.ErrorResponse(e));
            }
        }
 public async Task <HttpResponseMessage> UpdateOrder(int id, OrderChangeDto order)
 {
     return(await _secureHttp.PutAsJsonAsync($"/api/orders/{id}", order));
 }
 public async Task <HttpResponseMessage> AddOrder(OrderChangeDto order)
 {
     return(await _secureHttp.PostAsJsonAsync("/api/orders", order));
 }