public void CheckAvalibilityTestForWrongMovie() { CheckAvalibilityRequest avalibityRequest = new CheckAvalibilityRequest() { MovieName = "KGF456", Cinema = "Mega Multiplex", Location = "Marthalli", City = "Banglore", ShowTime = "11:00 AM", }; MockDALLayer dllLayer = new MockDALLayer(); var controller = new BookingController(dllLayer); CheckAvalibilityResponse result = controller.CheckAvalibility(avalibityRequest); Assert.IsNull(result); }
public CheckAvalibilityResponse CheckAvalibility([FromBody] CheckAvalibilityRequest request) { try { if (string.IsNullOrEmpty(request.Cinema) || string.IsNullOrEmpty(request.Location) || string.IsNullOrEmpty(request.MovieName) || string.IsNullOrEmpty(request.ShowTime) || string.IsNullOrEmpty(request.City) || string.IsNullOrEmpty(request.Date)) { throw new Exception("MovieName, Cinema,Location,City,Date,Time are mandatory to CheckAvalibility"); } DataTable dt = _dALLayer.CheckAvalibility(request); DataRow dr = dt.Rows[0]; CheckAvalibilityResponse response = FormCheckAvalibilityResponse(dr); return(response); } catch (Exception) { throw; } }
public Response Booking([FromBody] BookingRequest request) { try { if (string.IsNullOrEmpty(request.Cinema) || string.IsNullOrEmpty(request.Location) || string.IsNullOrEmpty(request.MovieName) || string.IsNullOrEmpty(request.ShowTime) || string.IsNullOrEmpty(request.City) || string.IsNullOrEmpty(request.BookingDate)) { throw new Exception("MovieName,Cinema,Location,City,Date,Time are mandatory to request"); } DBHelper dBHelper = new DBHelper(); CheckAvalibilityRequest avalibityRequest = new CheckAvalibilityRequest() { Date = request.BookingDate, ShowTime = request.ShowTime, Cinema = request.Cinema, City = request.City, Location = request.Location, MovieName = request.MovieName }; DataTable dt = dBHelper.CheckAvalibility(avalibityRequest); DataRow dr = dt.Rows[0]; CheckAvalibilityResponse avalibilityResponse = FormCheckAvalibilityResponse(dr); if (avalibilityResponse != null) { if (avalibilityResponse.Avaliable != 0 && request.NumberOfTickets <= avalibilityResponse.Avaliable) { if (!Enum.GetNames(typeof(SeatingClass)).Contains(request.Class)) { return(new Response { Status = "Fail", Message = "Select proper seating class" }); } return(BookTicket(request, avalibilityResponse)); } } return(new Response { Status = "Success", Message = "Booking Successfull" }); } catch (Exception) { throw; } }
DataTable IDALLayer.CheckAvalibility(CheckAvalibilityRequest request) { try { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand("dbo.CheckAvalibility", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@MovieName", SqlDbType.VarChar).Value = request.MovieName; command.Parameters.Add("@Cinema", SqlDbType.VarChar).Value = request.Cinema; command.Parameters.Add("@Location", SqlDbType.VarChar).Value = request.Location; command.Parameters.Add("@City", SqlDbType.VarChar).Value = request.City; command.Parameters.Add("@Date", SqlDbType.NVarChar).Value = request.Date; command.Parameters.Add("@ShowTime", SqlDbType.NVarChar).Value = request.ShowTime; DataTable dt = new DBHelper().ExecuteDataTable(command); return(dt); } } catch (Exception) { throw; } }