Пример #1
0
        // 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));
        }
Пример #2
0
        //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);
            }
        }
Пример #3
0
        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));
        }