Exemplo n.º 1
0
        public void SetToBackBusReservationToNewTravelPackage(TravelPackage travelPackage)
        {
            var reservationBusRequest = new BusReservationsToTravelPackageRequest
            {
                TripID    = travelPackage.ToBackBus.TripID,
                SeatCount = travelPackage.ReservationAmount
            };

            BusCompany BusCompany = UnitOfWork.BusCompanyRepository.GetByID(travelPackage.ToBackBus.IdAPI_Bus);

            var consumerBuss = new Consumer <List <BusReservationsToTravelPackageResponse> >();

            List <BusReservationsToTravelPackageResponse> getSeatsResponse = consumerBuss.ReLoadEntities(BusCompany.APIURLToReserveSeatToTravelPackage, "POST", reservationBusRequest).Result;

            foreach (var item in getSeatsResponse)
            {
                var auxSeat = new BusReservedSeat()
                {
                    IdAPI_Bus          = item.TripID,
                    TripID             = item.TripID,
                    Id_BusReservedSeat = item.BookingID,
                    Bus = UnitOfWork.BusRepository.GetByID(item.TripID)
                };
                auxSeat.Bus.BusReservedSeat.Add(auxSeat);
                UnitOfWork.BusReservedSeatRepository.Insert(auxSeat);
                UnitOfWork.BusRepository.Update(auxSeat.Bus);
            }
            UnitOfWork.Save();
        }
Exemplo n.º 2
0
        public void SetToBackBusReservationToNewTravelPackage(TravelPackage travelPackage)
        {
            var reservationBusRequest = new BusReservationsToTravelPackageRequest
            {
                TripID    = travelPackage.ToBackBus.TripID,
                SeatCount = travelPackage.ReservationAmount
            };

            //BusCompany BusCompany = UnitOfWork.BusCompanyRepository.GetByID(travelPackage.ToBackBus.IdAPI_Bus);

            BusCompany BusCompany = new BusCompany
            {
                APIURLToReserveSeatToTravelPackage = "http://demo4736431.mockable.io/ReserverBusSeat",
            };

            var consumerBuss = new Consumer <List <BusReservationsToTravelPackageResponse> >();

            List <BusReservationsToTravelPackageResponse> getSeatsResponse = consumerBuss.ReLoadEntities(BusCompany.APIURLToReserveSeatToTravelPackage, "GET", reservationBusRequest).Result;

            foreach (var item in getSeatsResponse)
            {
                var auxSeat = new BusReservedSeat()
                {
                    TripID          = item.TripID,
                    Id_ReservedSeat = item.BookingID,
                    Bus             = UnitOfWork.BusRepository.GetByID(item.TripID),
                    TravelPackage   = travelPackage,
                    Available       = true
                };
                auxSeat.Bus.BusReservedSeat.Add(auxSeat);
                UnitOfWork.BusRepository.Update(auxSeat.Bus);
            }
            UnitOfWork.Save();
        }
Exemplo n.º 3
0
        public ActionResult CreateConfirmed([Bind(Include = "Id_TravelPackage")] ReservationViewModel auxreservation)
        //Creo que lo ideal seria enrealidad que se le pase el package
        {
            var travelpackage = Service.UnitOfWork.TravelPackageRepository.Get(filter: p => p.Id_TravelPackage == auxreservation.Id_TravelPackage).FirstOrDefault();
            var room          = Service.UnitOfWork.ReservedRoomRepository.Get(filter: p => p.TravelPackage.Id_TravelPackage == auxreservation.Id_TravelPackage && p.Available == true).FirstOrDefault();

            ReservedSeat seat;

            if (travelpackage.FlightOrBus)
            {
                FlightReservedSeat flightSeat = Service.UnitOfWork.ReservedSeatRepository.Get(filter: p => p.TravelPackage.Id_TravelPackage == auxreservation.Id_TravelPackage && p.Available == true).FirstOrDefault();
                flightSeat.Available = false;
                seat = flightSeat;
                Service.UnitOfWork.ReservedSeatRepository.Update(flightSeat);
            }
            else
            {
                BusReservedSeat busSeat = Service.UnitOfWork.BusReservedSeatRepository.Get(filter: p => p.TravelPackage.Id_TravelPackage == auxreservation.Id_TravelPackage && p.Available == true).FirstOrDefault();
                busSeat.Available = false;
                seat = busSeat;
                Service.UnitOfWork.BusReservedSeatRepository.Update(busSeat);
            };

            var ticket = Service.UnitOfWork.ReservedTicketRepository.Get(filter: p => p.TravelPackage.Id_TravelPackage == auxreservation.Id_TravelPackage && p.Available == true).FirstOrDefault();

            Reservation reservation = new Reservation
            {
                Id_TravelPackage = travelpackage.Id_TravelPackage,
                Client           = Service.UnitOfWork.UserRepository.GetUserDetailByUserName(ControllerContext.HttpContext.User.Identity.Name),
                TravelPackage    = travelpackage,
                ReservedRoom     = room,
                ReservedSeat     = seat,
                ReservedTicket   = ticket,
                Paid             = false
            };

            room.Available   = false;
            ticket.Available = false;

            Service.UnitOfWork.ReservationRepository.Insert(reservation);
            Service.UnitOfWork.ReservedRoomRepository.Update(room);
            Service.UnitOfWork.ReservedTicketRepository.Update(ticket);
            Service.UnitOfWork.Save();

            return(RedirectToAction("~/Reservation/index"));
        }