public async Task <IActionResult> EditFood(MealFoodViewModel mealFoodView) { if (ModelState.IsValid) { try { bool foodExists = await _mealService.ExistsFood(mealFoodView.Food.Id); if (foodExists) { var canUpdateFood = await _authorizationService.AuthorizeAsync(User, mealFoodView.Food, UserOperations.Update); if (canUpdateFood.Succeeded) { await _mealService.EditFoodAsync(mealFoodView.Food); } else { return(new ChallengeResult()); } } else { return(NotFound()); } } catch (DbUpdateConcurrencyException) { throw; } return(RedirectToAction("Details", "Sesshins", new { id = mealFoodView.SesshinId, mealId = mealFoodView.MealId })); } return(View(mealFoodView)); }
// GET: Meals/EditFood public async Task <IActionResult> EditFood(int mealId, int foodId, int sesshinId) { Food food = await _mealService.GetFoodByIdAsync(foodId); MealFoodViewModel mealFoodView = new MealFoodViewModel { MealId = mealId, SesshinId = sesshinId, Food = food }; return(View(mealFoodView)); }
public MealsControllerTest() { _mockService = new MockMealService(); _controller = GetMealsController(_mockService, true); _controllerWithNoRole = GetMealsController(_mockService, false); _testFood = new Food { Id = 1, Name = "Test Food" }; _testMealFoodViewModel = new MealFoodViewModel { Food = _testFood, MealId = 1, SesshinId = 1 }; }
public async Task <MealFoodViewModel> GetMealFoodViewModel(int mealId, int sesshinId) { //We want the number of people of the day of the meal Meal meal = await GetByIdAsync(mealId); DayOfSesshin day = await _dayOfSesshinRepository.GetByIdAsync(meal.DayOfSesshinId); MealFoodViewModel vm = new MealFoodViewModel { MealId = mealId, SesshinId = sesshinId, Food = new Food { NumberOfPeople = day.NumberOfPeople } }; return(vm); }
public async Task <IActionResult> AddFood(MealFoodViewModel mealFoodView) { if (ModelState.IsValid) { try { var foodExists = await _mealService.ExistsFood(mealFoodView.Food.Id); if (!foodExists) { var canCreateFood = await _authorizationService.AuthorizeAsync(User, mealFoodView.Food, UserOperations.Create); if (canCreateFood.Succeeded) { await _mealService.CreateFoodAsync(mealFoodView.Food); } else { return(new ChallengeResult()); } } MealFood mealFood = new MealFood { FoodId = mealFoodView.Food.Id, MealId = mealFoodView.MealId }; var isAuthorized = await _authorizationService.AuthorizeAsync(User, mealFood, UserOperations.Create); if (isAuthorized.Succeeded) { await _mealService.CreateMealFoodAsync(mealFood); } else { return(new ChallengeResult()); } } catch (DbUpdateConcurrencyException) { throw; } return(RedirectToAction("EditFood", "Meals", new { sesshinId = mealFoodView.SesshinId, mealId = mealFoodView.MealId, foodId = mealFoodView.Food.Id })); } return(View(mealFoodView)); }
private async void OpenEditMealFoodDialogAsync(MealFood mealFood) { var mealFoodClone = mealFood.Clone(); var dialog = _dialogs.For <MealFoodDialogViewModel>(DialogsIdentifier); dialog.Data.DialogTitle = "Modified meal food"; dialog.Data.SubmitButtonTitle = "Save"; dialog.Data.MealFood = MealFoodViewModel.FromModel(mealFoodClone); var dialogResult = await dialog.Show(); if (dialogResult != DialogResult.Ok) { return; } mealFoodClone = dialog.Data.MealFood.ToModel(); Meal.Foods.Edit(mealFood, mealFoodClone); }
private async void OpenAddMealFoodDialogAsync() { var mealFood = new MealFood { Amount = 1d }; var dialog = _dialogs.For <MealFoodDialogViewModel>(DialogsIdentifier); dialog.Data.DialogTitle = "New meal food"; dialog.Data.SubmitButtonTitle = "Add"; dialog.Data.MealFood = MealFoodViewModel.FromModel(mealFood); var dialogResult = await dialog.Show(); if (dialogResult != DialogResult.Ok) { return; } mealFood = dialog.Data.MealFood.ToModel(); Meal.Foods.Add(mealFood); }
// GET: Meals/AddFood public async Task <IActionResult> AddFood(int mealId, int sesshinId) { MealFoodViewModel mealFoodView = await _mealService.GetMealFoodViewModel(mealId, sesshinId); return(View(mealFoodView)); }