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)); }
public async Task <IActionResult> AddOrder(OrderDTO_ToAdd input) { return(Ok(await service.AddOrder(input))); }