Example #1
0
        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);
        }
Example #2
0
        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
                });
            }
        }
Example #3
0
 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));
     }
 }
Example #4
0
        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);
        }
Example #5
0
        //[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));
        }