/// <summary> /// Search Booking /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <List <Booking> > SearchBooking(SearchBookingModel search) { var sql = @"SELECT * FROM [flightbooking].[dbo].[vwbookingdetails] WHERE pnr = @pnr or firstname= @fname or lastname = @lname or flight_number = @fn or departure_city_code = @dcc or arrival_city_code = @acc or departure_city_name = @dcn or arrival_city_name = @acn or convert(date,booking_date) = @bdate"; using (var db = dbManager.GetOpenConnection()) { var results = await db.QueryAsync <Booking>(new CommandDefinition(sql, new { pnr = search.PNR, fname = search.FirstName, lname = search.LastName, fn = search.FlightNumber, dcc = search.DepartureCityCode, acc = search.ArrivalCityCode, dcn = search.DepartureCityName, acn = search.ArrivalCityName, bdate = search.BookingDate })); if (results != null && results.Count() > 0) { return(results.ToList()); } else { return(null); } } }
public void BookingController_SEARCHBOOKING_IS_NOT_NUll() { //Arrange var mockRepository = new Mock <IBookingManager>(); SearchBookingModel moqdata = new SearchBookingModel(); List <Booking> returnData = new List <Booking>(); returnData.Add(new Booking() { DepartureCityCode = "DXB", ArrivalCityCode = "DEL", FlightNumber = "101", }); mockRepository.Setup(x => x.SearchBooking(moqdata)).ReturnsAsync(returnData); var controller = new BookingsController(mockRepository.Object); //Act var result = controller.SearchBooking(moqdata); var contentResult = result.Result as OkNegotiatedContentResult <List <Booking> >; //Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(contentResult.Content.Count, 1); Assert.AreEqual(contentResult.Content[0].DepartureCityCode, "DXB"); }
public async Task <IHttpActionResult> SearchBooking(SearchBookingModel booking) { var result = await bookingManager.SearchBooking(booking); if (result != null && result.Count > 0) { return(Ok(result)); } else { return(NotFound()); } }
public void BookingController_SEARCHBOOKING_IS_NOT_NUll_NOT_FOUND() { //Arrange var mockRepository = new Mock <IBookingManager>(); SearchBookingModel moqdata = new SearchBookingModel(); List <Booking> returnData = new List <Booking>(); mockRepository.Setup(x => x.SearchBooking(moqdata)).ReturnsAsync(returnData); var controller = new BookingsController(mockRepository.Object); //Act var result = controller.SearchBooking(moqdata); var contentResult = result.Result as NotFoundResult; //Assert Assert.IsInstanceOfType(contentResult, typeof(NotFoundResult)); }