public async Task <ActionResult <PlantDetailsViewModel> > CreatePlantDetails([FromForm] CreateEditPlantDetailsViewModel plantDetailsViewModel)
        {
            var plantDetails = new PlantDetails();

            GetChangesFromViewModel(plantDetails, plantDetailsViewModel);
            plantDetails.UserId = plantDetailsViewModel.UserId;

            if (!plantDetails.IsValid())
            {
                return(BadRequest());
            }

            if ((plantDetailsViewModel.ImageFile != null && !plantDetailsViewModel.ImageFile.IsValidImage()))
            {
                return(BadRequest(new { Message = $"Invalid image" }));
            }

            if (plantDetailsViewModel.ImageFile != null)
            {
                var plantImageViewModel = await _plantImageService.UploadImageAsync(plantDetailsViewModel.ImageFile);

                plantDetails.ImageName = plantImageViewModel.ImageName;
            }

            _context.PlantDetails.Add(plantDetails);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPlantDetails", new { id = plantDetails.PlantDetailsId }, MapToViewModel(plantDetails)));
        }