public async Task <IActionResult> UpdateByIdAsync(
            [FromRoute, SwaggerParameter("Id of Colour to update", Required = true)] int colourId,
            [FromBody, SwaggerRequestBody("Colours to update", Required = true)] ColoursItem coloursItemUpdate)
        {
            if (colourId < 0 || colourId > 1000)
            {
                return(UnprocessableEntity(new ProblemDetails {
                    Status = 422, Title = "Unprocessable Entity - {id} must be between 0 and 1000"
                }));
            }
            if (coloursItemUpdate.Name == null || coloursItemUpdate.Name.Length == 0)
            {
                return(UnprocessableEntity(new ProblemDetails {
                    Status = 422, Title = "Unprocessable Entity - Needs a Colour Name"
                }));
            }
            if (coloursItemUpdate.Id != colourId)
            {
                return(UnprocessableEntity(new ProblemDetails {
                    Status = 422, Title = "Unprocessable Entity - payload Id doesnt match {colourId}"
                }));
            }

            ColoursItem coloursItemReturn = await _ColoursService.UpdateById(colourId, coloursItemUpdate);

            return(Created("Colours/" + colourId, coloursItemReturn));
        }
        public async Task <IActionResult> GetByNameAsync(
            [FromQuery, SwaggerParameter("Name of Colour to return", Required = true)] string colourName)
        {
            ColoursItem _ColoursItem = await _ColoursService.GetByName(colourName);

            if (_ColoursItem == null)
            {
                return(NotFound(new ProblemDetails {
                    Status = 404, Title = "Not Found - {colourName}: " + colourName
                }));
            }

            return(Ok(_ColoursItem));
        }
        public async Task <IActionResult> GetByIdAsync(
            [FromRoute, SwaggerParameter("Id of Colour to return", Required = true)] int colourId)
        {
            if (colourId < 1 || colourId > 1000)
            {
                return(UnprocessableEntity(new ProblemDetails {
                    Status = 422, Title = "{colourId} must be between 1 and 1000"
                }));
            }

            ColoursItem _ColoursItem = await _ColoursService.GetById(colourId);

            if (_ColoursItem == null)
            {
                return(NotFound(new ProblemDetails {
                    Status = 404, Title = "Not Found - {colourId}: " + colourId
                }));
            }

            return(Ok(_ColoursItem));
        }
        public async Task <IActionResult> UpdateAsync(
            [FromBody, SwaggerRequestBody("Colours to update", Required = true)] List <ColoursItem> coloursItems)
        {
            List <ColoursItem> _ColoursInserted = new() { };

            foreach (ColoursItem coloursItem in coloursItems) // Loop through List with foreach
            {
                if (coloursItem.Name == null || coloursItem.Name.Length == 0)
                {
                    return(UnprocessableEntity(new ProblemDetails {
                        Status = 422, Title = "Missing a Colour Name"
                    }));
                }

                ColoursItem coloursItemReturn = await _ColoursService.UpdateById(0, coloursItem);

                _ColoursInserted.Add(coloursItemReturn);
            }

            List <ColoursItem> _ColoursList = await _ColoursService.GetAll();

            return(Created("Colours/", _ColoursInserted));
        }