public async Task <ActionResult <Order> > PostOrder([FromBody] CartCheckoutModel cartCheckoutModel) { // bool isModelValid = !TryValidateModel(cartCheckoutModel, nameof(CartCheckoutModel)); if (!ModelState.IsValid) { return(BadRequest(new NotValidDataResponse())); } var makeOrdersResponseResult = await new OrdersService(_context, cartCheckoutModel).ProcessOrderRequest(); if (makeOrdersResponseResult.status) { return(Ok(makeOrdersResponseResult)); } return(BadRequest(makeOrdersResponseResult)); }
private async Task <bool> RegisterOrdersForCustomer(CartCheckoutModel cartCheckoutModel, Customer customer) { foreach (var orderModel in cartCheckoutModel.orders) { var product = _context.Products.Find(orderModel.productId); product.ordersCount += 1; product.consumedCount += orderModel.quantity; _context.Entry(product).Property(p => p.ordersCount).IsModified = true; _context.Entry(product).Property(p => p.consumedCount).IsModified = true; var newOrder = new Order { id = Guid.NewGuid(), address = cartCheckoutModel.customer.address, customerId = customer.id, productId = orderModel.productId, quantity = orderModel.quantity, sizeIndex = orderModel.sizeIndex }; _context.Orders.Add(newOrder); } return((await _context.SaveChangesAsync()) > 0); }
public OrdersService(Atlob_dent_Context context, CartCheckoutModel cartCheckoutModel) { _context = context; _cartCheckoutModel = cartCheckoutModel; }