public async Task <IActionResult> PostOrderItem([FromBody] OrderItemChangeDto itemDto) { try { var item = _mapper.Map <OrderItem>(itemDto); var order = await _repository.AddOrderItem(item); await _repository.Save(); return(CreatedAtAction("GetOrder", new { controller = "orders", id = item.OrderId }, _mapper.Map <OrderDto>(order))); } catch (DbUpdateException e) { ModelState.AddModelError("database", e.InnerException != null ? e.InnerException.Message : e.Message); return(ValidationProblem()); } catch (Exception e) { return(_helpers.ErrorResponse(e)); } }
public IActionResult OrderCreating(OrderDTO orderDto) { if (!ModelState.IsValid) { return(BadRequest()); } Order order = new Order(); order.CustomerId = _userManager.GetUserId(HttpContext.User); order = _orderItemsRepository.AddOrder(order); var orderItem = _mappingProfile.MappingDTOtoOrderItem(orderDto); orderItem.OrderId = order.Id; orderItem = _orderItemsRepository.AddOrderItem(orderItem); return(RedirectToAction("GetOrder", new { orderId = orderItem.Id })); }
public async Task <IActionResult> CreateOrderItem([FromBody] OrderItemForCreation orderItem) { var orderItemEntity = _mapper.Map <OrderItem>(orderItem); var search = _orderItemsRepository.GetOrderItemAsync(orderItemEntity.Id); if (search != null) { return(BadRequest("Item already exists")); } _orderItemsRepository.AddOrderItem(orderItemEntity); await _orderItemsRepository.SaveChangesAsync(); await _orderItemsRepository.GetOrderItemAsync(orderItemEntity.Id); return(CreatedAtRoute("GetOrderItem", new { id = orderItemEntity.Id }, orderItemEntity)); }
public void Checkout(string email) { Guid orderId = Guid.NewGuid(); Order o = new Order(); o.Id = orderId; o.MemberEmail = email; o.OrderDate = DateTime.UtcNow; _repo.AddOrder(o); var cartId = _cartsRepo.GetCartId(email); var cartItems = _cartItemsRepo.GetCartItems(cartId).ToList(); foreach (CartItem cartItem in cartItems) { OrderItem orderItem = new OrderItem(); orderItem.OrderId = orderId; orderItem.ProductId = cartItem.ProductId; orderItem.Quantity = cartItem.Quantity; _orderItemsRepo.AddOrderItem(orderItem); _cartItemsRepo.DeleteCartItem(cartItem); } }
public void AddOrderItem(OrderItemViewModel orderItem) { var newOrderItem = _mapper.Map <OrderItemViewModel, OrderItem>(orderItem); _repo.AddOrderItem(newOrderItem); }