// GET: Posilek/AddComponent/5 public async Task <IActionResult> AddComponent(int?id, string category) { if (id == null) { return(NotFound()); } var posilek = await _context.posilki.FindAsync(id); if (posilek == null) { return(NotFound()); } if (posilek.id_uzytkownika != int.Parse(User.Identity.GetUserId())) { return(RedirectToAction("Details", new { id = posilek.id_posilku })); } PosilekSzczegoly pszczegoly = new PosilekSzczegoly(); pszczegoly.id_posilku = posilek.id_posilku; ViewBag.posilekId = id; SelectList categories = new SelectList(_context.kategoriaSkladnikow, "id_kategorii", "nazwa"); List <SelectListItem> _categories = categories.ToList(); _categories.Insert(0, new SelectListItem() { Value = "-1", Text = "Wszystkie" }); ViewBag.category = new SelectList((IEnumerable <SelectListItem>)_categories, "Value", "Text"); if (!String.IsNullOrEmpty(category) && category != "-1") { int idc = int.Parse(category); ViewData["id_skladnika"] = new SelectList(_context.skladnik.Where(k => k.id_kategorii == idc), "id_skladnika", "nazwa"); } else { ViewData["id_skladnika"] = new SelectList(_context.skladnik, "id_skladnika", "nazwa"); } this.isDietician(); return(View(pszczegoly)); }
//podliczanie kalorii public void editCalories(bool dzialanie, PosilekSzczegoly pszczegoly) { int id_skladnika = pszczegoly.id_skladnika; List <Skladnik> skladniki = _context.skladnik.Where(k => k.id_skladnika == id_skladnika).ToList(); double waga = (double)skladniki[0].waga; double kalorie = (double)skladniki[0].kalorie; if (dzialanie) { //dodwanie pszczegoly.posilek.kalorie += (int)((double)pszczegoly.porcja / waga * kalorie); } else { //usuwanie pszczegoly.posilek.kalorie -= (int)((double)pszczegoly.porcja / waga * kalorie); } }
public async Task <IActionResult> AddComponent(int id, [Bind("id_skladnika,porcja")] PosilekSzczegoly pszczegoly) { Posilek posilek = _context.posilki.FirstOrDefault(x => x.id_posilku == id); if (posilek == null) { return(NotFound()); } if (posilek.id_uzytkownika != int.Parse(User.Identity.GetUserId())) { return(RedirectToAction("Details", new { id = posilek.id_posilku })); } if (ComponentAlreadyInMeal(posilek.id_posilku, pszczegoly.id_skladnika)) { return(View("AlreadyExists")); } pszczegoly.id_posilku = id; if (pszczegoly.porcja <= 0) { pszczegoly.porcja = 1; } if (ModelState.IsValid) { _context.Add(pszczegoly); editCalories(true, pszczegoly); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(AddComponent), new { id = posilek.id_posilku })); } ViewBag.posilekId = id; ViewData["id_skladnika"] = new SelectList(_context.skladnik, "id_skladnika", "nazwa", pszczegoly.id_skladnika); this.isDietician(); return(View(pszczegoly)); }