Ejemplo n.º 1
0
        public async Task Update(string fertilizerId, FertilizerForUpdate updatedFertilizer)
        {
            var fertilizer = new Models.Products.Fertilizer
            {
                Id           = fertilizerId,
                Name         = updatedFertilizer.Name,
                Description  = updatedFertilizer.Description,
                ImageUrl     = updatedFertilizer.ImageUrl,
                ProductType  = "fertilizer",
                CoverageArea = updatedFertilizer.CoverageArea,
                CoverageAreaUnitOfMeasure = updatedFertilizer.CoverageAreaUnitOfMeasure,
                PackageSize = updatedFertilizer.PackageSize,
                PackageSizeUnitOfMeasure = updatedFertilizer.PackageSizeUnitOfMeasure,
                CompatibleGrassTypes     = updatedFertilizer.CompatibleGrassTypes,
                ConditionOfLawn          = updatedFertilizer.ConditionOfLawn,
                Features           = updatedFertilizer.Features,
                LongevityInWeeks   = updatedFertilizer.LongevityInWeeks,
                PercentNitrogen    = updatedFertilizer.PercentNitrogen,
                PercentPhosphorous = updatedFertilizer.PercentPhosphorous,
                PercentPotassium   = updatedFertilizer.PercentPotassium,
                IsOrganic          = updatedFertilizer.IsOrganic,
                ContainsPostEmergentWeedControl = updatedFertilizer.ContainsPostEmergentWeedControl,
                ContainsPreEmergentWeedControl  = updatedFertilizer.ContainsPreEmergentWeedControl,
                SeasonsOfUse = updatedFertilizer.SeasonsOfUse,
                UpdatedDate  = DateTime.UtcNow
            };

            var result = await _fertilizers.ReplaceOneAsync(f => f.Id == fertilizerId, fertilizer);

            if (result.MatchedCount == 0)
            {
                throw new FertilizerNotFoundException(fertilizerId);
            }
        }
        public async Task <IActionResult> Update(string fertilizerId, FertilizerForUpdate updatedFertilizer)
        {
            try {
                var fertilizer = await _fertilizerService.GetAsync(fertilizerId);

                await _fertilizerService.Update(fertilizerId, updatedFertilizer);

                return(Ok());
            }
            catch (FertilizerNotFoundException)
            {
                return(NotFound());
            }
        }