public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var rental = _context.Rental
                         .Include(o => o.Order)
                         .Include(c => c.Order.Rentals)
                         .Include(a => a.Address)
                         .Include(m => m.Machine)
                         .Include(at => at.Attachments)
                         .Include(c => c.Order.Customer)
                         .SingleOrDefault(r => r.Id == id);

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

            var viewModel = new RentalFormViewModel
            {
                Rental       = rental,
                Machinists   = _context.Machinist.ToList(),
                Machines     = _context.Machine.ToList(),
                Order        = rental.Order,
                RentalStatus = Constant.rentalStatus,
                Address      = rental.Address
            };

            return(View("RentalsForm", viewModel));
        }
Example #2
0
        // public async Task<IEnumerable<RentalFormViewModel>> GetAll()
        // {
        //     var listRentals = new List<RentalFormViewModel>();
        //     var resultRentals = await _base_repository_rental.GetAll();
        //     if (resultRentals.Any())
        //     {
        //         foreach (var item in resultRentals)
        //         {
        //             listRentals.Add(
        //                 new RentalFormViewModel()
        //                 {
        //                     Id = item.Id,
        //                     DateRental = item.DateRental,
        //                     UserId = item.UserId
        //                 }
        //             );
        //         }
        //     }

        //     return listRentals;
        // }

        // public async Task<IEnumerable<RentalFormViewModel>> GetAllByUserId()
        // {
        //     var userId = "001122";

        //     var listRentals = new List<RentalFormViewModel>();
        //     var resultRentals = await _base_repository_rental.GetAll();
        //     var retalUser = resultRentals.Where(x => x.UserId == userId);
        //     if (resultRentals.Any())
        //     {
        //         foreach (var item in resultRentals)
        //         {
        //             listRentals.Add(
        //                 new RentalFormViewModel()
        //                 {
        //                     Id = item.Id,
        //                     DateRental = item.DateRental,
        //                     UserId = item.UserId
        //                 }
        //             );
        //         }
        //     }

        //     return listRentals;
        // }
        public async Task <RentalFormViewModel> GetRentalForm(Rental obj)
        {
            var result = new RentalFormViewModel();

            if (obj != null)
            {
                result.Id         = obj.Id;
                result.DateRental = obj.DateRental;
                result.UserId     = obj.UserId;
            }

            var resultMoviesAll = await _base_repository_movie.GetAll();

            var listMovies = new List <RentalFormMovieViewModel>();

            foreach (var item in resultMoviesAll)
            {
                listMovies.Add(new RentalFormMovieViewModel()
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    DateCreated = item.DateCreated,
                    Active      = item.Active,
                    GenreId     = item.GenreId,
                    // Caso o filme pertença a esse Rental, ele vem setado como True
                    Rental = obj == null ? false : obj.MovieRentals.Where(x => x.MovieId == item.Id).Any()
                });
            }
            result.MovieRentals = listMovies;

            return(result);
        }
        public ActionResult Create(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var order = _context.Order
                        .Include(c => c.Customer)
                        .Include(c => c.Rentals)
                        .SingleOrDefault(o => o.Id == id);

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

            var viewModel = new RentalFormViewModel
            {
                Machinists   = _context.Machinist.ToList(),
                Address      = new Address(),
                Machines     = _context.Machine.ToList(),
                Rental       = new Rental(),
                Order        = order,
                RentalStatus = Constant.rentalStatus
            };

            return(View("RentalsForm", viewModel));
        }
Example #4
0
        public ActionResult Save(Rental rental)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new RentalFormViewModel()
                {
                    Rental    = rental,
                    Cars      = _context.Cars.ToList(),
                    Customers = _context.Customers.ToList()
                };

                return(View("RentalForm", viewModel));
            }

            if (rental.Id == 0)
            {
                _context.Rentals.Add(rental);
            }
            else
            {
                var rentalInDb = _context.Rentals.Single(r => r.Id == rental.Id);

                rentalInDb.DateFrom   = rental.DateFrom;
                rentalInDb.DateTo     = rental.DateTo;
                rentalInDb.CarId      = rental.CarId;
                rentalInDb.CustomerId = rental.CustomerId;
            }

            _context.SaveChanges();
            return(RedirectToAction("Index", "Rentals"));
        }
Example #5
0
        public async void UpdateById(Guid id, RentalFormViewModel gameFormViewModel)
        {
            var rental = await _rentalRepository.GetAsync(id);

            if (rental == null)
            {
                throw new Exception("No rental found.");
            }
            var game = await _gameRepository.GetAsync(gameFormViewModel.GameId);

            if (game == null)
            {
                throw new Exception("No game found.");
            }
            CheckIfGameIsCurrentlyRented(game);
            var friend = await _friendRepository.GetAsync(gameFormViewModel.FriendId);

            if (friend == null)
            {
                throw new Exception("No friend found.");
            }
            rental.RentalDate = gameFormViewModel.RentalDate;
            rental.ReturnDate = gameFormViewModel.ReturnDate;
            rental.Friend     = friend;
            rental.Game       = game;
            _rentalRepository.Update(rental);
        }
Example #6
0
        public async Task AddOrUpdate(RentalFormViewModel obj)
        {
            obj.UserId = "001122";


            var moviesRental = new List <MovieRental>();

            foreach (var item in obj.MovieRentals.Where(x => x.Rental == true))
            {
                moviesRental.Add(new MovieRental()
                {
                    MovieId  = item.Id,
                    RentalId = obj.Id
                });
            }
            var itemAdd = new Rental()
            {
                Id           = obj.Id,
                DateRental   = DateTime.Now,
                UserId       = obj.UserId,
                MovieRentals = moviesRental
            };

            if (itemAdd.Id == 0)
            {
                itemAdd.DateRental = DateTime.Now;
                await _base_repository_rental.Add(itemAdd);
            }
            else
            {
                await _base_repository_rental.Update(itemAdd);
            }
        }
Example #7
0
        public ActionResult New()
        {
            var viewModel = new RentalFormViewModel
            {
                Vehicles = _context.Vehicles.ToList()
            };

            return(View(viewModel));
        }
Example #8
0
 private static Rental ViewModelToDomain(RentalFormViewModel rentalFormViewModel, Friend friend, Game game)
 {
     return(new Rental
     {
         RentalDate = rentalFormViewModel.RentalDate,
         ReturnDate = rentalFormViewModel.ReturnDate,
         Friend = friend,
         Game = game
     });
 }
Example #9
0
        public ActionResult New()
        {
            var viewModel = new RentalFormViewModel()
            {
                Rental    = new Rental(),
                Cars      = _context.Cars.ToList(),
                Customers = _context.Customers.ToList()
            };

            return(View("RentalForm", viewModel));
        }
        // GET: MovieRental
        public ActionResult New()
        {
            var model = new RentalFormViewModel();

            model.Customers = _context.Customers.ToList();

            model.Movies = _context.Movies.ToList();


            return(View("RentalForm", model));
        }
Example #11
0
        public ActionResult RentBook()
        {
            var rentalViewModel = new RentalFormViewModel
            {
                Rental    = new Rental(),
                Books     = dbContext.Books.Where(b => b.NumberInStock > 0).ToList(),
                Customers = dbContext.Customers.ToList()
            };

            return(View(rentalViewModel));
        }
Example #12
0
        public ActionResult Save(RentalFormViewModel rental)
        {
            if (!ModelState.IsValid)
            {
                return(View("RentalForm", rental));
            }

            new MovieAPI().decrementMovieStock(rental.RentalDto.MovieId);
            new RentalApi().CreateRental(rental.RentalDto);


            return(RedirectToAction("Details", "Customers", new { id = rental.RentalDto.CustomerId }));
        }
Example #13
0
        public ViewResult New()
        {
            var customers = customer.GetAllCustomers();
            var cars      = car.GetAllCars();

            var rentalFormViewModel = new RentalFormViewModel
            {
                Customers = customers,
                Cars      = cars
            };

            return(View("NewRentalForm", rentalFormViewModel));
        }
Example #14
0
        public void AddTest()
        {
            var mock = new Mock <IRentalService>();
            var rentalFormViewModel = new RentalFormViewModel
            {
                FriendId   = Guid.NewGuid(),
                GameId     = Guid.NewGuid(),
                RentalDate = DateTime.Now,
                ReturnDate = DateTime.Now.AddDays(5)
            };

            mock.Setup(e => e.Add(rentalFormViewModel));
            mock.Object.Add(rentalFormViewModel);
        }
Example #15
0
        public ActionResult Index()
        {
            var rentals   = _context.Rentals.ToList();
            var customers = _context.Customers.ToList();
            var vehicles  = _context.Vehicles.ToList();

            var viewModel = new RentalFormViewModel
            {
                Rentals   = rentals,
                Customers = customers,
                Vehicles  = vehicles
            };

            return(View(viewModel));
        }
        // GET: Rentals/Create
        public ActionResult Create()
        {
            var customers = db.Customers.ToList();
            var movies    = db.Movies.ToList();


            var viewModel = new RentalFormViewModel
            {
                Customers = customers,
                Movies    = movies,
                Rental    = new Rental()
            };

            return(View("RentalForm", viewModel));
            //return View();
        }
Example #17
0
        // GET: Rentals
        public ActionResult Index(int customerId)
        {
            var rentalDto = new RentalDto
            {
                CustomerId = customerId,
                MovieId    = 0
            };

            var viewModel = new RentalFormViewModel
            {
                RentalDto = rentalDto,
                Movies    = _context.Movies.ToList()
            };

            return(View("RentalForm", viewModel));
        }
Example #18
0
        public async Task <IActionResult> CreateOrUpdate(RentalFormViewModel model)
        {
            await _base_repository.AddOrUpdate(model);

            // if (model.Id != 0)
            // {
            //     await _base_repository.Update(model);
            // }
            // else
            // {
            //     model.DateRental = DateTime.Now;
            //     await _base_repository.Add(model);

            // }

            return(RedirectToAction("Index"));
        }
Example #19
0
        public ActionResult Update(RentalDto rentalToBeSaved)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new RentalFormViewModel(rentalToBeSaved)
                {
                    Customers = customer.GetAllCustomers(),
                    Cars      = car.GetAllCars()
                };

                return(View("EditCarForm", viewModel));
            }

            rental.UpdateSingleRental(rentalToBeSaved);

            return(RedirectToAction("Index", "Rentals"));
        }
Example #20
0
        public async void Add(RentalFormViewModel gameFormViewModel)
        {
            var game = await _gameRepository.GetAsync(gameFormViewModel.GameId);

            if (game == null)
            {
                throw new Exception("No game found.");
            }
            CheckIfGameIsCurrentlyRented(game);
            var friend = await _friendRepository.GetAsync(gameFormViewModel.FriendId);

            if (friend == null)
            {
                throw new Exception("No friend found.");
            }
            _rentalRepository.Add(ViewModelToDomain(gameFormViewModel, friend, game));
        }
Example #21
0
        public ActionResult Edit(int id)
        {
            var rental = _context.Rentals.SingleOrDefault(r => r.Id == id);

            if (rental == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new RentalFormViewModel()
            {
                Rental    = rental,
                Cars      = _context.Cars.ToList(),
                Customers = _context.Customers.ToList()
            };

            return(View("RentalForm", viewModel));
        }
        //Get : Rentals/Create
        public ActionResult Create(int id, string searchString)
        {
            var viewModel = new RentalFormViewModel();

            viewModel.Customer = _context.Customers.Find(id);

            if (viewModel.Customer == null)
            {
                return(HttpNotFound());
            }

            if (!String.IsNullOrWhiteSpace(searchString))
            {
                viewModel.Medias = _context.Medias.Where(m => m.Name.Contains(searchString)).ToList();
            }

            return(View(viewModel));
        }
Example #23
0
        public ActionResult Save(Rental rental)
        {
            if (!ModelState.IsValid)
            {
                var vehicles = _context.Vehicles
                               .Include(c => c.VehicleType)
                               .Where(c => c.IsRented == false)
                               .ToList();

                var viewModel = new RentalFormViewModel
                {
                    CustomerId = rental.CustomerId,
                    Vehicles   = vehicles
                };

                return(View("New", viewModel));
            }

            var vehicle  = _context.Vehicles.Include(v => v.VehicleType).Single(v => v.Id == rental.VehicleId);
            var customer = _context.Customers.Include(c => c.MembershipType).Single(c => c.Id == rental.CustomerId);

            rental.Vehicle  = vehicle;
            rental.Customer = customer;

            if (rental.Id == 0)
            {
                rental.calculateLength();
                rental.calculateTotalCost();

                rental.Vehicle.IsRented = true;
                _context.Rentals.Add(rental);
            }
            else
            {
                var rentalInDb = _context.Rentals.Single(v => v.Id == rental.Id);

                Mapper.Map(rental, rentalInDb);
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "Rentals"));
        }
Example #24
0
        public ActionResult Edit(int id)
        {
            var chooseRentalForUpdate = rental.GetSingleRental(id);
            var allCars      = car.GetAllCars();
            var allCustomers = customer.GetAllCustomers();


            if (chooseRentalForUpdate == null)
            {
                return(View("RentalNotFound"));
            }

            var viewModel = new RentalFormViewModel(chooseRentalForUpdate)
            {
                Cars      = allCars,
                Customers = allCustomers
            };

            return(View("EditRentalForm", viewModel));
        }
 public ActionResult Create(RentalFormViewModel rentalForm)
 {
     if (!ModelState.IsValid)
     {
         return(View("RentalForm", rentalForm));
     }
     if (rentalForm.Rental.Id == 0)
     {
         db.Rentals.Add(rentalForm.Rental);
     }
     else
     {
         var rentalInDb = db.Rentals.Single(m => m.Id == rentalForm.Rental.Id);
         rentalInDb.DateRented   = rentalForm.Rental.DateRented;
         rentalInDb.DateReturned = rentalForm.Rental.DateReturned;
         rentalInDb.IdCustomer   = rentalForm.Rental.IdCustomer;
         rentalInDb.IdMovie      = rentalForm.Rental.IdMovie;
     }
     db.SaveChanges();
     return(RedirectToAction("Index", "Rentals"));
 }
        // GET: Rentals/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Rental rental = db.Rentals.Find(id);

            if (rental == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new RentalFormViewModel(rental)
            {
                Customers = db.Customers.ToList(),
                Movies    = db.Movies.ToList()
            };

            return(View("RentalForm", viewModel));
            //return View(rental);
        }
Example #27
0
        public ActionResult New()
        {
            string accountId  = User.Identity.GetUserId();
            var    customer   = _context.Customers.Single(c => c.AccountId == accountId);
            int    customerId = customer.Id;

            if (customerId == 0)
            {
                return(HttpNotFound());
            }

            var vehicles = _context.Vehicles
                           .Include(c => c.VehicleType)
                           .Where(c => c.IsRented == false)
                           .ToList();

            var viewModel = new RentalFormViewModel
            {
                Vehicles   = vehicles,
                CustomerId = customerId
            };

            return(View("New", viewModel));
        }
Example #28
0
 public IActionResult Add(RentalFormViewModel model)
 {
     _logger.LogInformation("Started method Add");
     _rentalService.Add(model);
     return(Ok());
 }
Example #29
0
 public IActionResult Update(Guid id, RentalFormViewModel model)
 {
     _logger.LogInformation("Started method Update");
     _rentalService.UpdateById(id, model);
     return(Ok());
 }
        public ActionResult Save(
            [Bind(Include = "Id, TimeStartRentalDate, TimeEndRentalDate, SiteManager, " +
                            "ManagerPhoneNumber, Subcontractor, ClientPrice, ClientTransferPrice, SubcontractorPrice, SubcontractorTransferPrice, " +
                            "Equipment, RentalStatus, SiteManagerEmail, MachineId, MachinistId, AddressId")] Rental rental,
            [Bind(Include = "Id, Address1, Address2, City, Country, ZipCode")] Address address,
            [Bind(Include = "Id")] Order order)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new RentalFormViewModel
                {
                    Rental     = rental,
                    Machinists = _context.Machinist.ToList(),
                    Machines   = _context.Machine.ToList(),
                    Order      = _context.Order
                                 .Include(c => c.Customer)
                                 .Include(c => c.Rentals)
                                 .SingleOrDefault(o => o.Id == order.Id),
                    RentalStatus = Constant.rentalStatus,
                    Address      = address
                };

                return(View("RentalsForm", viewModel));
            }

            // if new rental
            if (rental.Id == 0)
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    _context.Address.Add(address);
                    _context.SaveChanges();

                    rental.OrderId   = order.Id;
                    rental.AddressId = address.Id;
                    _context.Rental.Add(rental);
                    _context.SaveChanges();

                    transaction.Commit();

                    TempData[Constant.Success] = Constant.New;
                }
            }

            // if modify existing rental
            else
            {
                var rentalDB  = _context.Rental.Single(a => a.Id == rental.Id);
                var addressDB = _context.Address.Single(a => a.Id == address.Id);

                addressDB.Address1 = address.Address1;
                addressDB.Address2 = address.Address2;
                addressDB.ZipCode  = address.ZipCode;
                addressDB.City     = address.City;
                addressDB.Country  = address.Country;

                rentalDB.TimeStartRentalDate        = rental.TimeStartRentalDate;
                rentalDB.TimeEndRentalDate          = rental.TimeEndRentalDate;
                rentalDB.SiteManager                = rental.SiteManager;
                rentalDB.SiteManagerEmail           = rental.SiteManagerEmail;
                rentalDB.ManagerPhoneNumber         = rental.ManagerPhoneNumber;
                rentalDB.Subcontractor              = rental.Subcontractor;
                rentalDB.SubcontractorPrice         = rental.SubcontractorPrice;
                rentalDB.SubcontractorTransferPrice = rental.SubcontractorTransferPrice;
                rentalDB.ClientPrice                = rental.ClientPrice;
                rentalDB.ClientTransferPrice        = rental.ClientTransferPrice;
                rentalDB.Equipment    = rental.Equipment;
                rentalDB.RentalStatus = rental.RentalStatus;
                rentalDB.MachineId    = rental.MachineId;
                rentalDB.MachinistId  = rental.MachinistId;

                _context.SaveChanges();
                TempData[Constant.Success] = Constant.Update;
            }

            return(RedirectToAction("Index", "Rental"));
        }