Exemplo n.º 1
0
        public async Task <IActionResult> Create([Bind("CarId,LicenseNumber,CarType")] Car car)
        {
            if (ModelState.IsValid)
            {
                car.CarId = Guid.NewGuid();
                _carRepository.AddCar(car);

                _entityFrameworkRepository.SaveChangesAsync();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(car));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("CustomerId,PersonNumber,FirstName,LastName")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                customer.CustomerId = Guid.NewGuid();
                _customerRepository.AddCustomer(customer);

                _entityFrameworkRepository.SaveChangesAsync();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(customer));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Create([Bind("BookingId,CustomerId,CarId,StartDate")] Booking booking)
        {
            booking.ReturnDate = booking.StartDate.AddDays(1);
            booking.OnGoing    = true;

            //Hämtar bilen vi har att göra med och sätter den till bokad. Om den redan är bokad så berättar vi det
            booking.Car = _carRepository.GetCarById(booking.CarId);


            if (booking.Car.Booked == false)
            {
                booking.Car.Booked = true;
            }
            else
            {
                ViewBag.Message = "Bilen är redan bokad, vänligen välj en annan";
                BookingVm error_bookingVm = new BookingVm();
                error_bookingVm.Cars      = FillCarListOfSelectListItems();
                error_bookingVm.Customers = FillCustomerListOfSelectListItems();
                return(View(error_bookingVm));
            }

            if (ModelState.IsValid)
            {
                //Lägger till bokningen i systemet
                booking.BookingId = Guid.NewGuid();
                _bookingRepository.AddBooking(booking);

                //Uppdaterar bilen till bokad
                _carRepository.UpdateCar(booking.Car);

                _entityFrameworkRepository.SaveChangesAsync();
                return(RedirectToAction(nameof(Index)));
            }

            BookingVm bookingVm = new BookingVm();

            //Om det misslyckas så hämtar vi bilarna på nytt
            bookingVm.Cars = FillCarListOfSelectListItems();

            ////Om det misslyckas så hämtar vi kunderna på nytt
            bookingVm.Customers = FillCustomerListOfSelectListItems();

            return(View(bookingVm));
        }