public ActionResult BookCar(string programId) { var prdId = Request.Form["productId"]; var sessionId = Request.Form["sessionId"]; var carPrograms = (SearchCarInfo)Session["SessionCarPrograms"]; var carProgram = new CarProgram(); if (carPrograms != null) { carProgram = carPrograms.RouteOptions.First().ProgramList.CarProgram.First(p => p.id == programId); } var bookCarRequest = new BookCarRequest { SelectedProgram = programId, recordLocatorId = 0, DriverInfo = new Driver() { age = 30, firstName = "FName", lastName = "LName" }, PaymentType = "Obligo", RequestedPrice = (decimal)carProgram.price, DeltaPrice = (decimal)(carProgram.price * 10 / 100), Currency = carProgram.currency }; var resultsInfo = new ResultsInfo(); CarServiceClient carSvc = new CarServiceClient(); var bookRespone = carSvc.BookCar(new LoginHeader { UserName = "******", Password = "******", Culture = "en-US", Version = "1" }, bookCarRequest, out resultsInfo); string fileLoc = @"C:\Temp\BookingHistory.txt"; System.IO.File.AppendAllText(fileLoc, (bookRespone.rgid + "," + bookRespone.Reservation.pickUpDate + "," + bookRespone.Reservation.toDate + "," + bookRespone.Reservation.status + ";")); return View(bookRespone); }
public override async Task <BookCarReply> BookCar(BookCarRequest request, ServerCallContext context) { var endDate = request.EndDate.ToDateTime(); var startDate = request.StartDate.ToDateTime(); var car = await _queryRepository.GetById(request.Id); try { var carReservation = car.Booking(startDate, endDate); await _repository.UpdateAsync(car); return(new BookCarReply() { CarBookingId = carReservation.Id.ToString(), IsSuccess = true }); } catch (DomainException e) { return(new BookCarReply() { IsSuccess = false, Reason = e.Message }); } }
public IActionResult BookCar([FromBody] BookCarRequest bookCarRequest) { try { _bookCarUseCase.Book(bookCarRequest.CarId, bookCarRequest.StartDate, bookCarRequest.EndDate); _logger.Log(LogLevel.Debug, $"Booking created for {bookCarRequest.CarId}"); return(Accepted()); } catch (CarIsAlreadyBookedException e) { return(BadRequest(e.Message)); } catch (CarDoesNotExistsException e) { return(NotFound(bookCarRequest.CarId)); } }
public async Task SetUp() { var request = new BookCarRequest { CarId = 1, StartDate = DateTime.UtcNow.Date, EndDate = DateTime.UtcNow.Date.AddDays(5) }; var car = new Car(); CarRepository.FindById(1).Returns(car); BookingRepository.GetBooking(car, Arg.Any <DateTime>(), Arg.Any <DateTime>()) .Returns(new List <CarBooking> { new CarBooking() }); _message = await HttpClient.PostAsJsonAsync("/booking", request); }
//[MultipleButton(Name = "action", Argument = "Tourico")] public ActionResult BookCar(string programId) { var prdId = Request.Form["productId"]; var sessionId = Request.Form["sessionId"]; var carPrograms = (SearchCarInfo)Session["SessionCarPrograms"]; var carProgram = new CarProgram(); if (carPrograms != null) { carProgram = carPrograms.RouteOptions.First().ProgramList.CarProgram.First(p => p.id == programId); } var bookCarRequest = new BookCarRequest { SelectedProgram = programId, recordLocatorId = 0, DriverInfo = new Driver() { age = 30, firstName = "FName", lastName = "LName" }, PaymentType = "Obligo", RequestedPrice = (decimal)carProgram.price, DeltaPrice = (decimal)(carProgram.price * 10 / 100), Currency = carProgram.currency }; var resultsInfo = new ResultsInfo(); CarServiceClient carSvc = new CarServiceClient(); var bookRespone = carSvc.BookCar(new LoginHeader { UserName = "******", Password = "******", Culture = "en-US", Version = "1" }, bookCarRequest, out resultsInfo); string fileLoc = @"C:\Temp\BookingHistory.txt"; System.IO.File.AppendAllText(fileLoc, (bookRespone.rgid + "," + bookRespone.Reservation.pickUpDate + "," + bookRespone.Reservation.toDate + "," + bookRespone.Reservation.status + ";")); return(View(bookRespone)); }