public ActionResult <int> Post([FromBody] reservationRestaurant resAux) { try{ Restaurant_res reserva = new Restaurant_res(resAux.fecha_res, resAux.cant_people, resAux.date, resAux.user_id, resAux.rest_id); AddResRestaurantCommand command = CommandFactory.AddResRestaurantCommand(reserva); command.Execute(); // var id = ResRestaurantRepository.addReservation(reserva); //Console.WriteLine(id); return(Ok()); } catch (DatabaseException) { Console.WriteLine("Estoy en el databaseException"); return(StatusCode(500)); } catch (InvalidStoredProcedureSignatureException) { Console.WriteLine("Estoy en el InvalidStoredProcedureSignatureException"); return(StatusCode(500)); } catch (AvailabilityException e) { ErrorMessage errorMessage = new ErrorMessage(e.Message); return(BadRequest(errorMessage)); } }
public void addReservationTest() { restaurantId = RestaurantRepository.AddRestaurant(prueba); res = new Restaurant_res( "2019-07-28 00:00", 1, "2019-05-30 00:17", 5, restaurantId); addId = ResRestaurantRepository.addReservation(res); Assert.True(addId > 0); }
public void deleteResRestaurantTest() { restaurantId = RestaurantRepository.AddRestaurant(restaurant); reservation = new Restaurant_res( "2019-07-28 00:00", 1, "2019-05-30 00:17", 5, restaurantId); addId = ResRestaurantRepository.addReservation(reservation); ActionResult <string> res = controller.Delete(addId); Assert.NotNull(res); }
/// <summary> /// Metodo para listar Restaurantes reservas no pagadas /// </summary> /// <param name="user"></param> public List <Restaurant_res> getReservationNotPay(int user) { var ReservationList = new List <Restaurant_res>(); var table = PgConnection.Instance.ExecuteFunction("getReservationNotPay(@usuario)", user); for (var i = 0; i < table.Rows.Count; i++) { //Orden del SP id, ciudad, pais, restaurant, direccion, fecha_res, cant_persona var id = Convert.ToInt32(table.Rows[i][0].ToString()); var fecha_reservacion = table.Rows[i][1].ToString(); var tipo = "Restaurantes"; var Restaurant_res = new Restaurant_res(id, fecha_reservacion, tipo); ReservationList.Add(Restaurant_res); } ; return(ReservationList); }
// VARIABLES PARA LA DEFINICION DE LOS SP /// <summary> /// Metodo para agregar una reserva de restaurant /// </summary> /// <param name="reserva"></param> public int addReservation(Restaurant_res reserva) { var table = PgConnection.Instance.ExecuteFunction("getAvailability(@res_id, @res_date)", reserva.rest_id, reserva.fecha_res); var capacidad = Convert.ToInt32(table.Rows[0][0]); var tableRest = PgConnection.Instance.ExecuteFunction("getAvailabilityRest(@res_id)", reserva.rest_id); var capacidadRest = Convert.ToInt32(tableRest.Rows[0][0]); if (capacidad == 0 && reserva.cant_people < capacidadRest) { //Eso indica que puede reservar porque no hay reservas para esa hora y el numero no excede de lo disponible var resRest = PgConnection.Instance.ExecuteFunction( "addreservationrestaurant(@fecha, @people, @fecha_reservacion, @userId, @restaurantId)", reserva.fecha_res, reserva.cant_people, reserva.date, reserva.user_id, reserva.rest_id); var idRest = Convert.ToInt32(resRest.Rows[0][0]); Console.WriteLine("Id: "); Console.WriteLine(idRest); return(idRest); } else { if (capacidad < reserva.cant_people) { //Este if indica que se quiere reservar una cantidad mayor a la que hay disponible para ese restaurant para esa fecha throw new AvailabilityException("Sorry, not availability at this hour"); } else { //if capacidad != 0 && capacidad >= reserva.cant_people var resRest = PgConnection.Instance.ExecuteFunction( "addreservationrestaurant(@fecha, @people, @fecha_reservacion, @userId, @restaurantId)", reserva.fecha_res, reserva.cant_people, reserva.date, reserva.user_id, reserva.rest_id); var idRest = Convert.ToInt32(resRest.Rows[0][0]); Console.WriteLine("Id: "); Console.WriteLine(idRest); return(idRest); } } }
/// <summary> /// Metodo para listar Restaurantes reservados por id usuario /// </summary> /// <param name="user"></param> public List <Restaurant_res> getResRestaurant(int user) //operative with design patterns { var ReservationList = new List <Restaurant_res>(); var table = PgConnection.Instance.ExecuteFunction("getResRestaurant(@usuario)", user); for (var i = 0; i < table.Rows.Count; i++) { //Orden del SP id, ciudad, pais, restaurant, direccion, fecha_res, cant_persona var id = Convert.ToInt32(table.Rows[i][0].ToString()); var locationName = table.Rows[i][1].ToString(); var pais = table.Rows[i][2].ToString(); var restName = table.Rows[i][3].ToString(); var address = table.Rows[i][4].ToString(); var fecha_reservacion = table.Rows[i][5].ToString(); var cant_persona = Convert.ToInt32(table.Rows[i][6].ToString()); var Restaurant_res = new Restaurant_res(id, locationName, pais, restName, address, fecha_reservacion, cant_persona); ReservationList.Add(Restaurant_res); } ; return(ReservationList); }
public static AddResRestaurantCommand AddResRestaurantCommand(Restaurant_res restaurantDTO) { return(new AddResRestaurantCommand(restaurantDTO)); }
public AddResRestaurantCommand(Restaurant_res _resRestaurant) { this._resRestaurant = _resRestaurant; }