public async Task <bool> RemovePlantInfoAsync(Data.Shared.Models.PlantInfo plantInfo)
        {
            var result = await _plantInfoRepository.RemoveAsync(plantInfo.AsStore());

            if (result)
            {
                var indexResult = await _plantInfoIndex.RemoveAsync(plantInfo.PlantInfoId.ToString());

                if (!indexResult)
                {
                    Console.WriteLine($"Unable to remove document for plantinfo Id: {plantInfo.PlantInfoId}");
                }
            }

            return(result);
        }
        public async Task <Data.Shared.Models.PlantInfo> AddOrUpdatePlantInfoAsync(Data.Shared.Models.PlantInfo plantInfo)
        {
            plantInfo.DateModified = DateTime.UtcNow;
            var plantInfoResult = await _plantInfoRepository.AddOrUpdateAsync(l => l.Id == plantInfo.PlantInfoId, plantInfo.AsStore());

            if (plantInfoResult != null)
            {
                var plantInfoLifeform = await _plantInfoRepository.GetWithIncludesAsync(p => p.Id == plantInfoResult.Id, false,
                                                                                        p => p.Include(p => p.Lifeform)
                                                                                        .Include(p => p.Origin)
                                                                                        .Include(p => p.User)
                                                                                        .Include(p => p.User.Photo)
                                                                                        .Include(p => p.MinimumZone).Include(p => p.MaximumZone));

                await _plantInfoIndex.IndexAsync(plantInfoLifeform.AsSearchModel(null, null));
            }
            return(plantInfoResult.AsModel());
        }