예제 #1
0
        public IActionResult Details(DetailViewModel dvm)
        {
            if (ModelState.IsValid)
            {
                dvm.menuItem = _menuItemRepository.GetMenuItemViewModelById(dvm.test);

                var    loggedInUser = HttpContext.User;
                string userId       = loggedInUser.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Name).Value;
                _OIRepo.AddOrderItem(dvm, Int32.Parse(userId));
            }
            else
            {
                return(View(dvm));
            }



            return(RedirectToAction("AddedToCart"));
        }
예제 #2
0
 /// <summary>
 /// Adds a new order item
 /// </summary>
 /// <param name="item">Item to be added</param>
 /// <returns>DTO of the order item</returns>
 public AlzaAdminDTO <OrderItem> AddOrderItem(OrderItem item)
 {
     try
     {
         var orderItem = _orderItemRepository.AddOrderItem(item);
         return(AlzaAdminDTO <OrderItem> .Data(orderItem));
     }
     catch (Exception e)
     {
         return(AlzaAdminDTO <OrderItem> .Error(e.Message + Environment.NewLine + e.StackTrace));
     }
 }
        public ActionResult <OrderItemDto> AddOrderItem(OrderItemForCreationDto orderItemForCreation)
        {
            var orderItem = _mapper.Map <OrderItem>(orderItemForCreation);

            _orderItemRepository.AddOrderItem(orderItem);
            _orderItemRepository.Save();

            var orderItemDto = _mapper.Map <OrderItemDto>(orderItem);

            return(CreatedAtRoute("GetOrderItem",
                                  new { orderItemDto.OrderItemId },
                                  orderItemDto));
        }
예제 #4
0
        public ActionResult PostOrder(Order orderParam)
        {
            try
            {
                //Order table
                if (orderParam.OrderID == 0)
                {
                    orderParam.OrderID = _orderRepository.AddOrder(_mapper.Map <Demo.Core.Data.Model.Order>(orderParam));
                }
                else
                {
                    _orderRepository.UpdateOrder(_mapper.Map <Demo.Core.Data.Model.Order>(orderParam));
                }

                //OrderItems table
                foreach (var item in orderParam.OrderItems)
                {
                    if (item.OrderItemID == 0)
                    {
                        item.OrderID = orderParam.OrderID;
                        _orderItemRepository.AddOrderItem(_mapper.Map <Demo.Core.Data.Model.OrderItem>(item));
                    }
                    else
                    {
                        item.OrderID = orderParam.OrderID;
                        _orderItemRepository.UpdateOrderItem(_mapper.Map <Demo.Core.Data.Model.OrderItem>(item));
                    }
                }
                // Delete for OrderItems
                if (orderParam.DeletedOrderItemIDs != null && orderParam.DeletedOrderItemIDs != "")
                {
                    foreach (var id in orderParam.DeletedOrderItemIDs.Split(',').Where(x => x != ""))
                    {
                        _orderItemRepository.DeleteOrderItem(Convert.ToInt64(id));
                    }
                }

                return(Ok(200));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public IActionResult Post([FromBody] OrderItemViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newItem = _mapper.Map <OrderItemViewModel, OrderItem>(model);

                    var addedOrderItem = _orderItemRepo.AddOrderItem(newItem);

                    return(Created($"/api/orders/{addedOrderItem.OrderId}/items/{addedOrderItem.Id}", _mapper.Map <OrderItem, OrderItemViewModel>(addedOrderItem)));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to get order: {ex}");

                return(BadRequest("Failed to get order"));
            }
        }
예제 #6
0
 public async Task <long> AddOrderItem(NewOrderItem model, int corpClientId)
 {
     return(await repository.AddOrderItem(model, corpClientId));
 }