Пример #1
0
        public async Task <CustomerOrderDto> CreateOrder(CreateOrderQuery createOrderQuery)
        {
            var createOrderReq = new RestRequest(ApiRoutes.Order.Create, Method.POST);
            var str            = await _authenticationClient.AuthenticationToken();

            Console.WriteLine(str);

            createOrderReq.AddHeader("Authorization", str);

            createOrderReq.AddJsonBody(createOrderQuery);

            var response = await _client.ExecuteAsync(createOrderReq);

            if (response.StatusCode != HttpStatusCode.Created)
            {
                return(null);
            }

            return(JsonConvert.DeserializeObject <Response <CustomerOrderDto> >(response.Content).Data);
        }
Пример #2
0
        private void OptionController(string userInput, ActiveCustomer activeCustomer)
        {
            var input = Convert.ToChar(userInput);

            switch (input)
            {
            case '1':                                        //Shop
                var shopView  = new AvailableProductsView(); //class
                var findOrder = new FindOrdersQuery();
                var orderId   = findOrder.FindOpenOrderByCustomerId(activeCustomer.CustomerId);

                do
                {
                    var selectedProduct = shopView.AvailableProducts(activeCustomer);

                    if (orderId == 0)
                    {
                        var newOrder = new CreateOrderQuery();
                        orderId = newOrder.CreateOrder(activeCustomer.CustomerId);
                    }

                    var productOrder = new AddProductToProductOrderQuery();
                    productOrder.AddProductToProductOrder(selectedProduct.ProductId, orderId);
                }while (shopView.productSelection != 0);

                break;

            case '2':
                var paymentView = new PaymentView();
                paymentView.CreatePayment(activeCustomer);
                BuyerMenu(activeCustomer);
                break;

            case '3':     //Checkout
            //TODO: Add Checkout function

            default:     //Default for Buyer Menu
                break;
            }
        }
Пример #3
0
        public async Task <IActionResult> CreateOrder([FromBody] CreateOrderQuery createQuery)
        {
            int accountId = await _authenticationContext.SenderActorId();

            var queryParams = _mapper.Map <CreateOrderParams>(createQuery);

            queryParams.AccountId = accountId;

            CustomerOrderDto createdOrder;

            try
            {
                createdOrder = await _orderService.CreateOrderAsync(queryParams);
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }

            var locationUri = _uriGeneratorService.GetOrderUri(createdOrder.OrderId);

            return(Created(locationUri, new Response <CustomerOrderDto>(createdOrder)));
        }