public IActionResult CreateMaterial([FromBody] MaterialCreationRequest materialCreationRequest)
        {
            if (materialCreationRequest == null ||
                string.IsNullOrWhiteSpace(materialCreationRequest.Name) ||
                string.IsNullOrWhiteSpace(materialCreationRequest.Manufacturer) ||
                string.IsNullOrWhiteSpace(materialCreationRequest.ManufacturerId) ||
                string.IsNullOrWhiteSpace(materialCreationRequest.Type))
            {
                return(HandleBadRequest("Incomplete or invalid material data submitted for creation."));
            }

            // Check for material type validity
            Plastic plastic = null;

            try
            {
                plastic = PlasticsService.GetPlastic(materialCreationRequest.Type);
            }
            catch (PlasticNotFoundException exception)
            {
                return(HandleBadRequest(exception.Message));
            }

            // Proceed with creation
            try
            {
                Material material = MaterialsService.CreateMaterial(materialCreationRequest.Name, materialCreationRequest.Manufacturer, materialCreationRequest.ManufacturerId, plastic);
                return(Created(GetNewResourceUri(material.Id), material));
            }
            catch (Exception exception)
            {
                return(HandleUnexpectedException(exception));
            }
        }