Example #1
0
        public async Task <ActionResult> DeleteFood(string name, int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (name == null)
            {
                ModelState.AddModelError("name", "Nie wybrałeś jedzenia");
            }
            if (ModelState.IsValid)
            {
                Food food = await db.Foods.Where(x => x.name == name).SingleOrDefaultAsync();

                Spiece spiece = await db.Spieces.FindAsync(id);

                spiece.Foods.Remove(food);
                food.Spieces.Remove(spiece);
                await db.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = spiece.id }));
            }
            else
            {
                Spiece spiece = await db.Spieces.FindAsync(id);

                ViewBag.name = new SelectList(db.Foods.Where(x => spiece.Foods.Contains(x)), "name", "name");
                return(View(spiece));
            }
        }
Example #2
0
        public async Task <ActionResult> DeleteConfirmed(int?id)
        {
            Spiece spiece = await db.Spieces.FindAsync(id);

            db.Spieces.Remove(spiece);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #3
0
        // GET: Spieces/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Spiece spiece = await db.Spieces.FindAsync(id);

            if (spiece == null)
            {
                return(HttpNotFound());
            }
            return(View(spiece));
        }
Example #4
0
        public async Task <ActionResult> Edit([Bind(Include = "id,name,howMany,appetite")] Spiece spiece)
        {
            if (db.Spieces.Any(x => x.name == spiece.name && x.id != spiece.id))
            {
                ModelState.AddModelError("name", "Taki gatunek już istnieje");
            }
            if (ModelState.IsValid)
            {
                db.Entry(spiece).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(spiece));
        }
Example #5
0
        // GET: Spieces/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Spiece spiece = await db.Spieces.FindAsync(id);

            spiece.howMany = spiece.Animals.Where(x => x.spiece == spiece.id).Count();
            await db.SaveChangesAsync();

            if (spiece == null)
            {
                return(HttpNotFound());
            }
            return(View(spiece));
        }
Example #6
0
        // GET: Spieces/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Spiece spiece = await db.Spieces.FindAsync(id);

            spiece.howMany = spiece.Animals.Where(x => x.spiece == spiece.id).Count();
            foreach (var item in spiece.Foods)
            {
                item.requirement = item.Spieces.Select(x => x.appetite * x.howMany / x.Foods.Count()).Sum();
            }
            await db.SaveChangesAsync();

            if (spiece == null)
            {
                return(HttpNotFound());
            }
            return(View(spiece));
        }
Example #7
0
        //GET: Spieces/DeleteFood/5
        public async Task <ActionResult> DeleteFood(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Spiece spiece = await db.Spieces.FindAsync(id);

            if (spiece == null)
            {
                return(HttpNotFound());
            }
            var spieceFood = spiece.Foods.Select(x => x.name).ToList();
            IEnumerable <Food> availableFood = db.Foods.
                                               Where(x => spieceFood.
                                                     Contains(x.name));


            ViewBag.name = new SelectList(availableFood, "name", "name");
            return(View(spiece));
        }
Example #8
0
        public async Task <ActionResult> AddFood(string name, int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (name == null)
            {
                ModelState.AddModelError("name", "Nie wybrałeś jedzenia");
            }
            if (ModelState.IsValid)
            {
                Food food = await db.Foods.Where(x => x.name == name).SingleOrDefaultAsync();

                Spiece spiece = await db.Spieces.FindAsync(id);

                spiece.Foods.Add(food);
                food.Spieces.Add(spiece);
                db.Entry(spiece).State = EntityState.Modified;
                db.Entry(food).State   = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = spiece.id }));
            }
            else
            {
                Spiece spiece = await db.Spieces.FindAsync(id);

                var spieceFood = spiece.Foods.Select(x => x.name).ToList();
                IEnumerable <Food> availableFood = db.Foods.
                                                   Where(x => !spieceFood.
                                                         Contains(x.name));

                ViewBag.name = new SelectList(availableFood, "name", "name");
                return(View(spiece));
            }
        }