public ActionResult Edit([Bind(Include = "Id,MemberId,DvdId")] Lone lone)
 {
     if (ModelState.IsValid)
     {
         db.Entry(lone).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.DvdId    = new SelectList(db.Dvds, "Id", "Id", lone.DvdId);
     ViewBag.MemberId = new SelectList(db.Members, "Id", "FirstName", lone.MemberId);
     return(View(lone));
 }
        // GET: Lones/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Lone lone = db.Lones.Find(id);

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

            if (lone == null)
            {
                return(HttpNotFound());
            }
            ViewBag.DvdId    = new SelectList(db.Dvds, "Id", "Id", lone.DvdId);
            ViewBag.MemberId = new SelectList(db.Members, "Id", "FirstName", lone.MemberId);
            return(View(lone));
        }
        public ActionResult Create(int MemberId, int AlbumId)
        {
            HttpCookie cokie = new HttpCookie("Error");

            if (ModelState.IsValid)
            {
                Album  album     = db.Albums.Find(AlbumId);
                Member member    = db.Members.Find(MemberId);
                int    memberAge = Convert.ToInt32((DateTime.Today - member.DateOfBirth).TotalDays / 365);


                if (album.AgeContent & memberAge < 18)
                {
                    cokie["Error"] = "Age must be 18+ to view this content";
                    Response.Cookies.Add(cokie);

                    return(RedirectToAction("Create"));
                }
                if (album.NoOfStock < 1)
                {
                    cokie["Error"] = "Sorry! we dont have stock";
                    Response.Cookies.Add(cokie);

                    return(RedirectToAction("Create"));
                }
                var lone = (from lon in db.Lones
                            where
                            (lon.ReturnedDate == null &&
                             lon.MemberId == MemberId)
                            select new
                {
                    lon.DvdId,
                    lon.ReturnedDate,
                    lon.MemberId
                }).ToList();


                int noOfDvdsMemberCanLone = member.Catagory.NoOfDvdRent;
                int noOfDaysMemberCanLone = member.Catagory.LoneDays;
                var count = lone.Count();

                if (noOfDvdsMemberCanLone <= lone.Count)
                {
                    cokie["Error"] = "Return Dvd first to take lone!";
                    Response.Cookies.Add(cokie);


                    return(RedirectToAction("Create"));
                }

                Dvd dvd =
                    db.Dvds.FirstOrDefault(X => X.AlbumId == AlbumId & X.OnStock);


                Lone newLone = new Lone
                {
                    DvdId      = dvd.Id,
                    MemberId   = member.Id,
                    LoneDate   = DateTime.Today,
                    ReturnDate = DateTime.Today.AddDays(member.Catagory.LoneDays),
                };
                dvd.OnStock      = false;
                album.NoOfStock -= album.NoOfStock;
                db.Lones.Add(newLone);
                db.SaveChanges();
                cokie["Success"] = "Sucessfully loned";
                Response.Cookies.Add(cokie);
                return(RedirectToAction("Create"));
            }

            cokie["Error"] = "Not Valid Input";
            Response.Cookies.Add(cokie);

            return(RedirectToAction("Create"));
        }