private List <Box> GetBoxesListFromRequest(PlacingModelRequest placingModelRequest)
        {
            var boxes = new List <Box>();

            placingModelRequest.Boxes.ForEach(requset =>
            {
                var box           = _predefinedDataProvider.GetBoxByName(requset.Key);
                box.OrderQuantity = requset.Value;
                boxes.Add(box);
            });

            return(boxes);
        }
        public IHttpActionResult GetPlacingPlan(PlacingModelRequest placingModelRequest)
        {
            if (placingModelRequest == null || placingModelRequest.Boxes == null || placingModelRequest.Container == null)
            {
                throw new ArgumentNullException("Null passed data.");
            }

            var boxes     = GetBoxesListFromRequest(placingModelRequest);
            var container = _predefinedDataProvider.GetContainerByName(placingModelRequest.Container);

            var modelingResult = _modelingResultsProvider.GetLoadingAndPlacingPrograms(boxes, container);

            var placingPlan = _visualizationDataProvider.GetDataForRendering(modelingResult);

            return(Ok(placingPlan));
        }