public async Task <IActionResult> Create([FromBody] OrderCreateContract orderCreateContract)
        {
            var command = new CreateOrderCommand
            {
                CreateContract = orderCreateContract
            };

            var result = await _mediatr.Send(command);

            var orderUri = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}/api/order/{result.Id}";

            return(Created(orderUri, result));
        }
Beispiel #2
0
        public async Task <Order> Create(OrderCreateContract orderCreateContract)
        {
            var order = new Order
            {
                Name        = orderCreateContract.Name,
                Description = orderCreateContract.Description,
                CustomerId  = orderCreateContract.CustomerId
            };

            try
            {
                await _context.Orders.AddAsync(order);

                await _context.SaveChangesAsync();

                return(await GetByIdInternal(order.Id));
            }
            catch (DbUpdateException ex)
            {
                throw new DomainException("An erro occured during creating new order", ex);
            }
        }