// GET: Fabrics/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Fabric fabric = db.Frabrics.Find(id);

            if (fabric == null)
            {
                return(HttpNotFound());
            }

            var Results = from b in db.FabricRestrictions
                          select new
            {
                b.Id,
                b.Name,
                Checked = ((from ab in db.Fabric_Restrictions
                            where (ab.FabricId == id) && (ab.FabricRestrictionId == b.Id)
                            select ab).Count() > 0)
            };

            var MyViewModel = new FabricViewModel();

            MyViewModel.FabricId     = id.Value;
            MyViewModel.Name         = fabric.Name;
            MyViewModel.ImageUrl     = fabric.ImageUrl;
            MyViewModel.FabricBookId = fabric.FabricBookId;

            FabricBook fb = db.FabricBooks.Find(MyViewModel.FabricBookId);

            if (fb == null)
            {
                return(HttpNotFound());
            }
            else
            {
                MyViewModel.FabricBooks = new FabricBook()
                {
                    Id   = fb.Id,
                    Name = fb.Name
                };
            }

            var MyCheckBoxList = new List <CheckBoxViewModel>();

            foreach (var item in Results)
            {
                MyCheckBoxList.Add(new CheckBoxViewModel {
                    Id = item.Id, Name = item.Name, Checked = item.Checked
                });
            }

            MyViewModel.Restrictions = MyCheckBoxList;

            ViewBag.FabricBookId = new SelectList(db.FabricBooks, "Id", "Name", fabric.FabricBookId);
            return(View(MyViewModel));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            FabricBook fabricBook = db.FabricBooks.Find(id);

            db.FabricBooks.Remove(fabricBook);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Name,FabricCategoryId")] FabricBook fabricBook)
 {
     if (ModelState.IsValid)
     {
         db.Entry(fabricBook).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.FabricCategoryId = new SelectList(db.FabricCategories, "Id", "Name", fabricBook.FabricCategoryId);
     return(View(fabricBook));
 }
        public ActionResult Create([Bind(Include = "Id,Name,FabricCategoryId")] FabricBook fabricBook)
        {
            if (ModelState.IsValid)
            {
                db.FabricBooks.Add(fabricBook);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.FabricCategoryId = new SelectList(db.FabricCategories, "Id", "Name", fabricBook.FabricCategoryId);
            return(View(fabricBook));
        }
        // GET: FabricBooks/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FabricBook fabricBook = db.FabricBooks.Find(id);

            if (fabricBook == null)
            {
                return(HttpNotFound());
            }
            return(View(fabricBook));
        }
        // GET: FabricBooks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FabricBook fabricBook = db.FabricBooks.Find(id);

            if (fabricBook == null)
            {
                return(RedirectToAction("NotFound"));
            }
            ViewBag.FabricCategoryId = new SelectList(db.FabricCategories, "Id", "Name", fabricBook.FabricCategoryId);
            return(View(fabricBook));
        }