internal bool AllMealIngredientsInFridge(MealViewModel mealToTest, Fridge fridgeToTest) { var fridgeIngredients = new HashSet <int>(); var mealIngredients = new HashSet <int>(); //Populate meal ingredients foreach (var ingredient in mealToTest.Ingredients) { mealIngredients.Add(ingredient.IngredientId); } //Populate fridge ingredients foreach (var ingredient in fridgeToTest.Contents) { fridgeIngredients.Add(ingredient.IngredientId); } //Test if all meal ingredients are present in fridge ingredients if (mealIngredients.IsProperSubsetOf(fridgeIngredients)) { return(true); } return(false); }
public ActionResult <MealViewModel> Get(Guid id) { var res = _bo.Read(id); if (res.Success) { var mvm = new MealViewModel(); if (res.Result == null) { return(NotFound()); } mvm.Id = res.Result.Id; mvm.Name = res.Result.Name; mvm.Starting = res.Result.StartingHours; mvm.Ending = res.Result.EndingHours; return(mvm); } else { return(StatusCode((int)HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> Index() { var listOperation = await _bo.ListAsync(); if (!listOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = listOperation.Exception.Message })); } var lst = new List <MealViewModel>(); foreach (var item in listOperation.Result) { if (!item.IsDeleted) { lst.Add(MealViewModel.Parse(item)); } } return(View(lst)); }
public JsonResult Insert(MealViewModel mViewModel) { try { Set_Date_Session(mViewModel.Meal); mViewModel.Meal.MealId = _mRepo.Insert(mViewModel.Meal); mViewModel.FriendlyMessage.Add(MessageStore.Get("M01")); Logger.Debug("Meal Controller Insert"); } catch (Exception ex) { mViewModel.FriendlyMessage.Add(MessageStore.Get("SYS01")); Logger.Error("Meal Controller - Insert " + ex.Message); } return(Json(mViewModel)); }
public ActionResult Update([FromBody] MealViewModel vm) { var res = _bo.Read(vm.Id); if (!res.Success) { return(new ObjectResult(HttpStatusCode.InternalServerError)); } var current = res.Result; if (current == null) { return(NotFound()); } if (current.Name == vm.Name && current.StartingHours == vm.Starting && current.EndingHours == vm.Ending) { return(StatusCode((int)HttpStatusCode.NotModified)); } if (current.Name != vm.Name) { current.Name = vm.Name; } if (current.StartingHours != vm.Starting) { current.StartingHours = vm.Starting; } if (current.EndingHours != vm.Ending) { current.EndingHours = vm.Ending; } var updateResult = _bo.Update(current); if (!updateResult.Success) { return(StatusCode((int)HttpStatusCode.InternalServerError)); } return(Ok()); }
public void PostMeals_ShouldRenderMealsViewModel() { // Arrange Mapper.Initialize(cfg => { cfg.CreateMap <Meal, MealViewModel>(); cfg.CreateMap <MealViewModel, Meal>(); }); var mockedMapper = new Mock <IMapper>(); var mockedMealsService = new Mock <IMealService>(); var mockedOrdersService = new Mock <IOrderService>(); var controller = new MealController(mockedMealsService.Object, mockedMapper.Object, mockedOrdersService.Object); var meal = new MealViewModel { }; //Act and Assert controller .WithCallTo(c => c.Meals(meal)) .ShouldRedirectToRoute(""); }
public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var getOperation = await _bo.ReadAsync((Guid)id); if (!getOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = getOperation.Exception.Message })); } if (getOperation.Result == null) { return(NotFound()); } var vm = MealViewModel.Parse(getOperation.Result); return(View(vm)); }
public IActionResult CreateMeal(MealViewModel mealViewModel) { if (!ModelState.IsValid) { HttpContext.Session.SetString("NewMealStatus", "Partial"); return(RedirectToAction("CreateMeal")); } List <Recipe> recipes = new List <Recipe>(); List <string> recipeStrArr = mealViewModel.ModelList; Meal meal = new Meal { Name = recipeStrArr[0] }; for (int i = 1; i < recipeStrArr.Count; i++) { Recipe recipe = new Recipe { RecipeId = Convert.ToInt32(mealViewModel.ModelList[i]) }; recipes.Add(recipe); } meal.Recipes = recipes; int mealId = mealPlanDAL.CreateMeal(meal); if (mealId > 0) { return(RedirectToAction("MealDetail", "Meal", new { id = Convert.ToInt32(mealId) })); } return(RedirectToAction("CreateMeal")); }
/// <summary> /// Creates the meal. /// </summary> /// <param name="meal">The meal.</param> /// <returns> /// True or false. /// </returns> public async Task <MealViewModel> CreateMeal(MealViewModel meal) { Guid correlationId = Guid.NewGuid(); meal.CorrelationId = correlationId; var json = JsonConvert.SerializeObject(meal); StringContent content = Util.CreateStringContent(json, correlationId, null); var uri = this.config["MealsUri"]; HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, uri) { Content = content, }; httpRequestMessage.Headers.Clear(); Util.AddDefaultEsbHeaders(httpRequestMessage, correlationId, this.config["FunctionsKey"]); var result = await this.httpClient.SendAsync(httpRequestMessage); result.EnsureSuccessStatusCode(); MealViewModel responseModel = JsonConvert.DeserializeObject <MealViewModel>(result.Content.ReadAsStringAsync().Result); return(responseModel); }
public async Task <ActionResult <MealViewModel> > EditMeal(int id, MealViewModel model) { try { var existingMeal = _repository.GetMealById(id); if (existingMeal == null) { return(NotFound($"Could not fine meal with id of {id}.")); } _mapper.Map(model, existingMeal); var saveChanges = await _repository.SaveAll(); if (saveChanges) { return(_mapper.Map <MealViewModel>(existingMeal)); } } catch (Exception) { return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database failure.")); } return(BadRequest("Unable to edit meal.")); }
public ActionResult Index(MealViewModel mViewModel) { return(View("Index", mViewModel)); }
public AddEditMealView() { InitializeComponent(); ViewModel = new MealViewModel(); DataContext = ViewModel.Meal; }
public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var getOperation = await _bo.ReadAsync((Guid)id); if (!getOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = getOperation.Exception.Message })); } if (getOperation.Result == null) { return(NotFound()); } var vm = MealViewModel.Parse(getOperation.Result); var flistOperation = await _fbo.ListAsync(); if (!flistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = flistOperation.Exception.Message })); } var foods = new List <SelectListItem>(); foreach (var item in flistOperation.Result) { foods.Add(new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }); } ViewBag.Foods = foods; var todlistOperation = await _todbo.ListAsync(); if (!todlistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = todlistOperation.Exception.Message })); } var tods = new List <SelectListItem>(); foreach (var item in todlistOperation.Result) { tods.Add(new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }); } ViewBag.TimesOfDay = tods; return(View(vm)); }
public MealController() { model = new MealViewModel(); }
private async Task <MealViewModel> GetMealViewModel(Guid id) { var getOperation = await _mbo.ReadAsync(id); return(MealViewModel.Parse(getOperation.Result)); }
public async Task <IActionResult> Index() { var listOperation = await _bo.ListAsync(); if (!listOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = listOperation.Exception.Message })); } var fIds = listOperation.Result.Select(x => x.FoodId).Distinct().ToList(); var todIds = listOperation.Result.Select(x => x.TimeOfDayId).Distinct().ToList(); var lst = new List <MealViewModel>(); foreach (var item in listOperation.Result) { lst.Add(MealViewModel.Parse(item)); } var flistOperation = await _fbo.ListAsync(); if (!flistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = flistOperation.Exception.Message })); } var foods = new List <SelectListItem>(); foreach (var item in flistOperation.Result) { foods.Add(new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }); } ViewBag.Foods = foods; var todlistOperation = await _todbo.ListAsync(); if (!todlistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = todlistOperation.Exception.Message })); } var tods = new List <SelectListItem>(); foreach (var item in todlistOperation.Result) { tods.Add(new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }); } ViewBag.TimesOfDay = tods; ViewData["Food"] = await GetFoodViewModels(fIds); ViewData["TimeOfDay"] = await GetTimeOfDayViewModels(); return(View(lst)); }
public IEnumerable <int> getSelectedIds(MealViewModel model) { // Return an Enumerable containing the Id's of the selected people: return((from p in model.AvailableRecipes where p.IsSelected select p.Id).ToList()); }
public static void UpdateMeal(List <RecipeViewModel> mealRecipes, Meal updatedMeal, MealViewModel originalMealView) { var originalMeal = originalMealView.GetMeal(); var database = new SQLiteDataService(); database.Initialize(); database.UpdateMeal(updatedMeal); database.DeleteRecipesByMeal(originalMeal.Id); mealRecipes.Select(recipe => new RecipeByMeal { RecipeId = recipe.GetRecipe().Id, MealId = originalMeal.Id, CreatedDate = DateTime.Now, CreatedBy = currentUser.Username }).ToList().ForEach(rbm => { database.AddRecipeByMeal(rbm); }); database.Close(); var allUserMealsList = AllUsersMeals.ToList(); AllUsersMeals.Clear(); var index = allUserMealsList.IndexOf(originalMealView); allUserMealsList.RemoveAt(index); allUserMealsList.Insert(index, new MealViewModel(updatedMeal)); allUserMealsList.ForEach(mVM => AllUsersMeals.Add(mVM)); }
public ViewResult Create() { MealViewModel mealViewModel = Mapper.Map <Meal, MealViewModel>(new Meal()); return(View(mealViewModel)); }
public ActionResult Meals(MealViewModel model) { //this.postsService.Update() return(this.RedirectToAction("Meals")); }
public MealViewModel Post([FromBody] MealViewModel value) { return(_mealAppService.Insert(value)); }
public ViewTrayPageViewModel(MealViewModel meal) { Meal = meal; }
public ActionResult AddMeal() { var MealToAdd = new MealViewModel(); return(View("MealCreateForm", MealToAdd)); }
public ActionResult Create(MealViewModel model) { return(RedirectToAction("Index")); }
// GET: Meals/Details/5 public async Task <IActionResult> Details(int?id, int?ingredientID) { if (id == null) { return(NotFound()); } if (ingredientID != null) { ViewBag.ingredientID = ingredientID; } else { ViewBag.ingredientID = -1; } ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); var meal = await _context.Meal .Include(m => m.MealType) .Include(m => m.UserMeals) .SingleOrDefaultAsync(m => m.MealID == id); var Ingredients = await _context.Ingredient.Where(i => i.MealID == id).ToListAsync(); int count = meal.UserMeals.Count(us => us.Stars != null && us.Stars != 0); if (count <= 0) { count = 1; } MealViewModel mealView = new MealViewModel(); mealView.Ingredients = Ingredients; mealView.Description = meal.Description; mealView.Difficulty = meal.Difficulty; mealView.MakeTime = meal.MakeTime; mealView.MealID = meal.MealID; mealView.MealTypeName = meal.MealType.Name; mealView.Name = meal.Name; mealView.Picture = meal.Picture; mealView.Stars = meal.UserMeals.Sum(um => (float)(um.Stars)) / count; if (meal == null) { return(NotFound()); } var ratingStars = new List <SelectListItem>(); for (int i = 1; i <= 5; i++) { ratingStars.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() }); } if (user != null) { ViewBag.In = true; UserMeal userMeal = await _context.UserMeal.Where(us => us.MealID == meal.MealID && us.RecipeBook == true).SingleOrDefaultAsync(); UserMeal userMeal2 = await _context.UserMeal.Where(us => us.MealID == meal.MealID && us.UserID == user.Id).SingleOrDefaultAsync(); if (userMeal2 != null) { if (userMeal2.Stars != null && userMeal2.Stars <= 0) { ViewBag.Stars = true; ViewBag.Ratings = ratingStars; } else { ViewBag.Stars = false; } if (userMeal2.Favourite == true) { ViewBag.Favourite = false; } else { ViewBag.Favourite = true; } if (userMeal2.AlreadyMade == true) { ViewBag.AlreadyMade = false; } else { ViewBag.AlreadyMade = true; } } else { ViewBag.Stars = true; ViewBag.Ratings = ratingStars; ViewBag.Favourite = true; ViewBag.AlreadyMade = true; } if (userMeal != null && userMeal.UserID == user.Id) { ViewBag.owner = true; } else { ViewBag.owner = false; } } else { ViewBag.owner = false; ViewBag.Favourite = false; ViewBag.AlreadyMade = false; ViewBag.In = false; } return(View(mealView)); }
public async Task <IActionResult> Index(int?week = 0) { //var fIds = listOperation.Result.Select(x => x.FoodId).Distinct().ToList(); //var todIds = listOperation.Result.Select(x => x.TimeOfDayId).Distinct().ToList(); DateTime today = DateTime.Today; int currentDayOfWeek = (int)today.DayOfWeek; DateTime sunday = today.AddDays(-currentDayOfWeek); DateTime monday = sunday.AddDays(1 + (double)week * 7); if (currentDayOfWeek == 0) { monday = monday.AddDays(-7); } var weekDays = Enumerable.Range(0, 7).Select(days => monday.AddDays(days)).ToList(); ViewBag.WeekDay = weekDays; var dlistOperation = await _bo.FilterAsync(x => x.ProfileId == new Guid("00000000-0000-0000-0000-000000000001") && x.Day >= weekDays[0] && x.Day <= weekDays[6] && x.IsDeleted == false); if (!dlistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = dlistOperation.Exception.Message })); } var lst = new List <MealViewModel>(); foreach (var item in dlistOperation.Result) { lst.Add(MealViewModel.Parse(item)); } var flistOperation = await _fbo.ListAsync(); if (!flistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = flistOperation.Exception.Message })); } var foods = new List <FoodViewModel>(); foreach (var item in flistOperation.Result) { foods.Add(FoodViewModel.Parse(item)); } ViewBag.Foods = foods; var todlistOperation = await _todbo.ListAsync(); if (!todlistOperation.Success) { return(View("Error", new ErrorViewModel() { RequestId = todlistOperation.Exception.Message })); } var tods = new List <TimeOfDayViewModel>(); foreach (var item in todlistOperation.Result) { tods.Add(TimeOfDayViewModel.Parse(item)); } ViewBag.TimesOfDay = tods.ToList(); ViewData["week"] = week; return(View(lst)); }