コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            rental rental = db.rental.Find(id);

            db.rental.Remove(rental);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
 public ActionResult Edit([Bind(Include = "rental_id,rental_date,inventory_id,customer_id,return_date,staff_id,last_update")] rental rental)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rental).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.staff_id = new SelectList(db.staff, "staff_id", "first_name", rental.staff_id);
     return(View(rental));
 }
コード例 #3
0
        // GET: Rental/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            rental rental = db.rental.Find(id);

            if (rental == null)
            {
                return(HttpNotFound());
            }
            return(View(rental));
        }
コード例 #4
0
        // GET: Rental/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            rental rental = db.rental.Find(id);

            if (rental == null)
            {
                return(HttpNotFound());
            }
            ViewBag.staff_id = new SelectList(db.staff, "staff_id", "first_name", rental.staff_id);
            return(View(rental));
        }
コード例 #5
0
 public static RentalDTO Create(rental rental)
 {
     return(new RentalDTO
     {
         DateOfRental = rental.date_of_rental?.Date,
         DateOfReturn = rental.date_of_return?.Date,
         Copy = CopyDTO.Create(rental?.copy),
         Client = new ClientDTO
         {
             Id = rental.client.client_id,
             Birthday = rental.client.birthday?.Date,
             LastName = rental.client.last_name,
             FirstName = rental.client.first_name
         }
     });
 }
コード例 #6
0
        public IHttpActionResult createnewrental(rentaldto rental)
        {
            //var customer = db.customers.SingleOrDefault(m => m.id == rental.customerid);
            //foreach (var a in rental.movieid)
            //{
            //    var movie = db.movies.SingleOrDefault(m => m.id == rental.movieid);

            //    var movie = db.movies.SingleOrDefault(m => m.id == a);
            //    if (movie.numberavailable == 0)
            //    {
            //        return BadRequest("movie" + movie.name + "is not available");
            //    }
            //    rental ren = new rental
            //    {
            //        customerid = customer.id,
            //        movieid = movie.id,
            //        rentdate = DateTime.Now,
            //        returndate = DateTime.Now
            //    };
            //    db.rentals.Add(ren);
            //    movie.numberavailable--;
            //}
            //db.SaveChanges();
            //return Ok();
            var customer = db.customers.Single(c => c.id == rental.customerid);
            var movies   = db.movies.Where(m => rental.movieids.Contains(m.id)).ToList();

            foreach (var movie in movies)
            {
                if (movie.numberavailable == 0)
                {
                    return(BadRequest("Movie is not available."));
                }
                movie.numberavailable--;
                var r = new rental
                {
                    customer = customer,
                    movie    = movie,
                    rentdate = DateTime.Now
                };
                db.rentals.Add(r);
            }
            db.SaveChanges();
            return(Ok());
        }
コード例 #7
0
        public void LinkToBookingWindow()
        {
            TBikeDAL  MyDAL       = new TBikeDAL();
            DataTable ResultTable = MyDAL.ShowAllBookingTable();
            int       index       = dataGrid1.Items.IndexOf(dataGrid1.CurrentItem);

            if (index == -1)
            {
                index = 0;
            }
            else
            {
                string Customer = Convert.ToString(ResultTable.Rows[index]["Customer"]);
                string Status   = Convert.ToString(ResultTable.Rows[index]["BookingStatus"]);
                if (Customer != null)
                {
                    if (Status == "A")
                    {
                        rental rent = new rental();

                        rent.PopulateDataFromLogin(username);
                        rent.PopulateID(Customer, Status);
                        rent.ShowDialog();
                    }
                    else if (Status == "R")
                    {
                        Return ret = new Return();

                        ret.PopulateDataFromLogin(username);
                        ret.PopulateID(Customer, Status);
                        ret.ShowDialog();
                    }

                    else if (Status == "N")
                    {
                        Return ret = new Return();

                        ret.PopulateDataFromLogin(username);
                        ret.PopulateID(Customer, Status);
                        ret.ShowDialog();
                    }
                }
            }
        }
コード例 #8
0
        public override SRental GetRentalByPayment(int id)
        {
            //a deliberate inefficient query

            List <SRental> srentlist         = new List <SRental>();
            SRental        lightweightrental = new SRental();

            using (SakilaEntities dc = new SakilaEntities())
            {
                var model = from r in dc.payments
                            where r.payment_id == id
                            select r;

                List <payment> pList = model.ToList <payment>();
                payment        p     = pList[0];

                var rentalModel = from r in dc.rentals
                                  where r.rental_id == p.rental_id
                                  orderby(r.return_date)   //this is not neccessary but put in here for analysis (SQL end)
                                  select r;

                List <rental> rentalList = rentalModel.ToList <rental>();

                simulator.PerformanceSimulation();

                rental hwrental = rentalList[0];
                if (hwrental.return_date.HasValue)
                {
                    lightweightrental = lightweightrental.Createrental(hwrental.rental_id, hwrental.rental_date, hwrental.return_date, hwrental.inventory_id, hwrental.customer_id, hwrental.staff_id, hwrental.last_update);
                }
                else
                {
                    lightweightrental = lightweightrental.Createrental(hwrental.rental_id, hwrental.rental_date, hwrental.inventory_id, hwrental.customer_id, hwrental.staff_id, hwrental.last_update);
                }
                lightweightrental.Filmtitle = hwrental.inventory.film.title;
            }
            return(lightweightrental);
        }
コード例 #9
0
        protected void gvMovies_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                int vID = Int32.Parse(e.CommandArgument.ToString());

                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    video selectedVid = entity.videos.Where(v => v.videoID == vID && v.rented == true).SingleOrDefault();
                    if (selectedVid != null)
                    {
                        selectedVid.rented = false;
                    }

                    rental selectedRental = entity.rentals.Where(r => r.videoID == vID && r.returned == false).SingleOrDefault();
                    if (selectedRental != null)
                    {
                        selectedRental.returned = true;

                        if (selectedRental.dayDue.Value.CompareTo(DateTime.Today) < 0)
                        {
                            customer cust = entity.customers.Where(c => c.custID == selectedRental.custID).SingleOrDefault();

                            if (cust != null)
                            {
                                cust.balance = cust.balance + 3;
                            }
                        }
                    }

                    entity.SaveChanges();

                    lblMessage.Text = selectedVid.title + " has been returned";
                }

                reloadMovies();
            }
        }
コード例 #10
0
        public IHttpActionResult CreateNewRental(NewRentalDto newRental)
        {
            var customer = _context.Customers.Single(c => c.Id == newRental.CustomerId);
            var movies   = _context.Movies.Where(m => newRental.MoviesIds.Contains(m.Id)).ToList();

            foreach (var movie in movies)
            {
                if (movie.numberAvailable == 0)
                {
                    return(BadRequest("Movie is not available."));
                }

                movie.numberAvailable--;
                var rental = new rental
                {
                    customer   = customer,
                    movie      = movie,
                    dateRented = DateTime.Now
                };
                _context.Rentals.Add(rental);
            }
            _context.SaveChanges();
            return(Ok());
        }
コード例 #11
0
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                custID = Int32.Parse(Request.QueryString["ID"]);
                //Determine the RowIndex of the Row whose Button was clicked.
                int vID = Int32.Parse(e.CommandArgument.ToString());

                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    video selectedVid = entity.videos.Where(v => v.videoID == vID).SingleOrDefault();
                    if (selectedVid != null)
                    {
                        selectedVid.rented = true;
                        entity.SaveChanges();
                    }

                    rental r = new rental();
                    r.custID    = custID;
                    r.dayRented = DateTime.Today;
                    r.dayDue    = DateTime.Today.AddDays(3);
                    r.empID     = 0; //Need to add later from logged in user
                    r.videoID   = vID;
                    r.returned  = false;

                    entity.rentals.Add(r);

                    entity.SaveChanges();
                }

                hfTotal.Value = (Int32.Parse(hfTotal.Value) + 3).ToString();
                lblTotal.Text = String.Format("{0:C}", Int32.Parse(hfTotal.Value));

                reloadMovies();
            }
        }
コード例 #12
0
        public ObjectResponse <bool> AddRental(int clientId, int copyId)
        {
            try
            {
                var copy = _copiesLogic.GetCopy(x => x.copy_id == copyId && x.available.Value == true);
                if (!copy.Success)
                {
                    return(new ObjectResponse <bool> {
                        Success = false, Error = "Copy Does not Exist In Shop"
                    });
                }

                var rental = new rental
                {
                    client_id      = clientId,
                    copy_id        = copyId,
                    date_of_rental = DateTime.Now
                };

                _unitOfWork.RentalsRepository.Add(rental);
                var result = _copiesLogic.AddOrUpdate(copy.Data.Id, copy.Data.Movie.Id, false);

                return(result.Success ? new ObjectResponse <bool> {
                    Success = true, Data = true
                } :
                       new ObjectResponse <bool> {
                    Success = false, Error = result.Error, Info = result.Info
                });
            }
            catch (Exception ex)
            {
                return(new ObjectResponse <bool> {
                    Success = false, Error = ex.GetBaseException().Message, Info = DB_SAVE_ERROR
                });
            }
        }