예제 #1
0
        public async Task <Result <FoodDto> > EditFoodAsync(int foodId, FoodForUpdateDto food)
        {
            var isFoodExists = await IsFoodExistsAsync(foodId);

            if (!isFoodExists)
            {
                return(Result <FoodDto> .Failure(new List <string> {
                    string.Format(FoodsConstants.UnexistingFoodById, foodId)
                }));
            }

            var foodFromDb = await context
                             .Foods
                             .Include(x => x.FoodCategory)
                             .FirstOrDefaultAsync(food => food.Id == foodId);

            var updatedFood = food
                              .MapTo <FoodForUpdateDto, Food>(foodFromDb);

            await context
            .SaveChangesAsync();

            var foodToReturn = updatedFood
                               .MapTo <FoodDto>();

            return(Result <FoodDto> .SuccessWith(foodToReturn));
        }
예제 #2
0
        public async Task <ActionResult> EditFood(int foodId, FoodForUpdateDto food)
        {
            var isFoodExists = await this.foodsService
                               .IsFoodExistsAsync(foodId);

            if (!isFoodExists)
            {
                return(NotFound(FoodsConstants.UnexistingFoodById));
            }

            var isFoodCategoryExists = await this.foodsService
                                       .IsFoodCategoryExistsAsync(food.FoodCategoryId);

            if (!isFoodCategoryExists)
            {
                return(NotFound(FoodCategoriesConstants.UnexistingFoodCategoryId));
            }

            var result = await this.foodsService
                         .EditFoodAsync(foodId, food);

            return(CreatedAtRoute("GetFood",
                                  new { foodId },
                                  result.Data));
        }
예제 #3
0
파일: Api.cs 프로젝트: KurbakovIS/HM21
        public void UpdateFood(FoodForUpdateDto food)
        {
            string url = @"http://localhost:5000/api/Foods/wpf";

            _ = HttpClient.PutAsync(
                requestUri: url,
                content: new StringContent(JsonConvert.SerializeObject(food), Encoding.UTF8,
                                           mediaType: "application/json")
                ).Result;
        }