private List <int> UpdateProductInventories(List <OrderItemDto> orderItemDtos)
        {
            List <int> results = new List <int>();

            foreach (var orderItemDto in orderItemDtos)
            {
                int productId = orderItemDto.product.ProductId;

                Products_audit productsAudit =
                    _context.ProductsAudits.Where(n => n.ProductId == productId).ToList().Last();
                int result = productsAudit.Product_AuditId;
                results.Add(result);
            }
            return(results);
        }
        public void MakeProductsAvailable(int OrderId)
        {
            List <OrderItem> items = _context.OrderItems.Where(n => n.OrderId == OrderId).ToList();

            for (int i = 0; i < items.Count; i++)
            {
                int            productAuditId = items[i].Product_AuditId;
                Products_audit productAudit   = _context.ProductsAudits.FirstOrDefault(n => n.Product_AuditId == productAuditId);

                Product product = new Product();

                product.ProductId = productAudit.ProductId;
                product.Inventory = items[i].Quantity;

                AddInventory(product);
            }
        }
        private List <OrderItemDto> GetOrderItemsDto(string status, int orderId)
        {
            List <OrderItemDto> orderItemDto = new List <OrderItemDto>();

            List <OrderItem> orderItems = _context.OrderItems.Where(n => n.OrderId == orderId).ToList();

            for (int i = 0; i < orderItems.Count; i++)
            {
                OrderItemDto orderItem = new OrderItemDto();
                Product      product   = new Product();
                orderItem.product = product;

                int            productAuditId = orderItems[i].Product_AuditId;
                Products_audit productAudit   = new Products_audit();
                if (status == "PENDING")
                {
                    string ProductAuditQuery = "SELECT  o.Product_AuditId,o.ProductId,o.Name,o.Description,o.ImageRef,o.Price, p.Inventory, o.Updated_at,o.Operation" +
                                               "  FROM dbo.Products_audit o" +
                                               "  JOIN dbo.Products p" +
                                               "     ON p.Productid = o.ProductId" +
                                               "  WHERE o.Product_AuditId = " + productAuditId;
                    productAudit = _context.ProductsAudits.SqlQuery(ProductAuditQuery).ToList().First();
                }
                else
                {
                    productAudit = _context.ProductsAudits.FirstOrDefault(n => n.Product_AuditId == productAuditId);
                }

                orderItem.product.ProductId   = productAudit.ProductId;
                orderItem.product.Description = productAudit.Description;
                orderItem.product.ImageRef    = null;
                orderItem.product.Name        = productAudit.Name;
                orderItem.product.ProductId   = productAudit.ProductId;
                orderItem.product.Price       = productAudit.Price;
                orderItem.product.Inventory   = productAudit.Inventory;

                orderItem.Quantity = orderItems[i].Quantity;
                orderItemDto.Add(orderItem);
            }
            return(orderItemDto);
        }