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