예제 #1
0
        public async Task <ServiceResponse <OrderDTO_ToReturn> > AddOrder(OrderDTO_ToAdd input)
        {
            //TODO: Validate input

            var order = new Order();

            order.CreatedBy   = GetUsername();
            order.CreatedDate = DateTime.Now;
            order.IsActive    = true;
            order.NetTotal    = input.NetTotal;
            order.Total       = input.Total;
            order.Discount    = input.Discount;

            _context.Orders.Add(order);
            await _context.SaveChangesAsync();

            var orderDetails = new List <OrderDetail>();

            foreach (var item in input.OrderDetails)
            {
                orderDetails.Add(new OrderDetail()
                {
                    PricePerUnit = item.PricePerUnit,
                    ProductId    = item.ProductId,
                    Quantity     = item.Quantity,
                    TotalPrice   = item.TotalPrice,
                    OrderId      = order.Id
                });
            }

            await _context.OrderDetails.AddRangeAsync(orderDetails);

            await _context.SaveChangesAsync();

            var resultToReturn = _mapper.Map <OrderDTO_ToReturn>(order);

            return(ResponseResult.Success <OrderDTO_ToReturn>(resultToReturn));
        }
예제 #2
0
 public async Task <IActionResult> AddOrder(OrderDTO_ToAdd input)
 {
     return(Ok(await service.AddOrder(input)));
 }