public async Task <IActionResult> CreateNew([FromBody] ApiV1OrderCreateRequestModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var userId = loginService.GetLoggedInUserId();

                var orderEntity = new OrderEntity
                {
                    CurrencyId = model.CurrencyId,
                    UserId     = userId
                };

                var orderProductList = new List <OrderProductEntity>();
                var totalPrice       = decimal.Zero;

                foreach (var keyValuePair in model.ProductList)
                {
                    if (!await productService.DoesProductExistByIdAsync(keyValuePair.Key))
                    {
                        logger.LogDebug(
                            $"Failed to add product with id {keyValuePair.Key} to the order. The given Product id doesn't exist at all.");
                        return(BadRequest("The product Id doesn't exist"));
                    }

                    var currentProduct = await productService.GetByIdAsync(keyValuePair.Key);

                    var orderProductEntity = new OrderProductEntity
                    {
                        Amount    = keyValuePair.Value,
                        OrderId   = orderEntity.Id,
                        ProductId = currentProduct.Id
                    };
                    orderProductList.Add(orderProductEntity);

                    totalPrice += currentProduct.Prices.Find(x => x.CurrencyId == model.CurrencyId).Price *
                                  keyValuePair.Value;
                }

                orderEntity.TotalPrice = totalPrice;
                await orderService.AddOrderAsync(orderEntity);

                orderProductList.ForEach(x => x.OrderId = orderEntity.Id);

                logger.LogInformation($"Successfully added new order.");

                await orderService.AddAllOrderProductsAsync(orderProductList);

                logger.LogInformation($"Successfully added new orderProductEntity.");
                return(Ok(orderEntity.ToApiV1OrderResponseModel()));
            }
            else
            {
                logger.LogWarning($"Erorr while adding Order. Validation failed");

                return(BadRequest(ModelState.ToApiV1ErrorResponseModel()));
            }
        }