示例#1
0
        public async Task <IActionResult> createOrder(OrderForCreationDTO orderDTO, int custId)
        {
            Console.WriteLine(orderDTO.OrderItems[0]);
            // valdiate customer
            var customer = await _custRepo.getCustomer(orderDTO.CustomerId);

            if (customer != null)
            {
                var prodToSave = _mapper.Map <Order>(orderDTO);
                // TODO : create custom model state to check products
                var IsValid = valdidateItems(prodToSave.OrderItems);

                if (IsValid.Result == false)
                {
                    return(BadRequest("Products were invalid"));
                }

                prodToSave.OrderDate = DateTime.Now;

                _repo.add(prodToSave);

                if (await _repo.SaveAll())
                {
                    return(Ok(prodToSave));
                }
            }

            return(BadRequest());
        }
示例#2
0
        public async Task <IActionResult> CreateOrder([FromBody] OrderForCreationDTO order)
        {
            if (order is null)
            {
                logger.LogError("Order object sent from client is null");
                return(BadRequest("Order object is null"));
            }
            repository.Order.CreateOrder(mapper.Map <OrderForCreationDTO, Order>(order));
            await repository.SaveAsync();

            logger.LogInfo("Order succesfully created");
            return(Ok());
        }