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(); }
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(); }
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")); }