/// <summary> /// Método para el acceso a la interfaz de visualización de restaurantes. /// </summary> /// <returns>Retorna un objeto para renderizar la vista parcial.</returns> public ActionResult M10_GestionRestaurantes_Ver(int id = -1) { //Carga Inicial de la vista ver se coloca por defecto un -1 debido a que no hay una ciudad seleccionada por defecto try { ViewBag.Ciudad = FabricaVista.asignarItemsComboBox(cargarComboBoxLugar(), "Id", "Name"); Entidad _lugar = FabricaEntidad.crearLugar(id, "");//Aqui se envia la clave foranea de lugar para realizar la busqueda Command <List <Entidad> > comando = (Command <List <Entidad> >)FabricaComando.comandosRestaurant(FabricaComando.comandosGlobales.CONSULTAR, BOReserva.Controllers.PatronComando.FabricaComando.comandoRestaurant.NULO, _lugar); List <Entidad> restaurantes = comando.ejecutar(); CRestauranteModelo Restaurant = FabricaEntidad.crearRestaurant(); List <CRestauranteModelo> lista = FabricaEntidad.crearListaRestarant(); foreach (Entidad item in restaurantes) { lista.Add((CRestauranteModelo)item); } Restaurant.listaRestaurantes = lista; return(PartialView(Restaurant)); } catch (Exception) { return(PartialView()); } }
/// <summary> /// Metodo para modificar restaurant /// </summary> /// <param name="_restaurant"></param> /// <returns>Se retorna true de ser exitoso</returns> public Boolean Modificar(Entidad _restaurant) { CRestauranteModelo rest = (CRestauranteModelo)_restaurant; List <Parametro> listaParametro = FabricaDAO.asignarListaDeParametro(); try { //Aqui se asignan los valores que recibe el procedimieto para realizar el update, se repite tantas veces como atributos //se requiera en el where, para este caso solo el ID del restaurante @rst_id (parametro que recibe el store procedure) //se coloca true en Input listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_id, SqlDbType.Int, rest._id.ToString(), false)); //Aqui se asignan los valores de cada uno de los atributos perteneciente a la tabla restaurant //estas linea se repite por cada una de las columnas de la tabla, e.g. se tiene el atributo nombre de tipo varchar //primero se obtiene por el archivo de recurso el nombre del parametro @nombre, luego el tipo de dato SQL // varchar, despues el _idHotel a modificar Sabor y Sazon, finalmente el booliano para input (envio de parametro al store procedure)y output(recibir parametro del store procedure) para este caso falso // la tabla restaurant contiene siete columna incluyendo la clave foranea lugar por lo cual son siete lineas de codigo //a;go importante de destacar es que si en la declaracion del store procedures el atributo varchar o cualquier otro //que requiera longitud e.g. Varchar(50) solo se inserta el primer caracter, ya que solo por defecto la longitud es 1 listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_nombre, SqlDbType.VarChar, rest.nombre, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_direccion, SqlDbType.VarChar, rest.direccion, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_descripcion, SqlDbType.VarChar, rest.descripcion, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_hora_apertura, SqlDbType.VarChar, rest.horarioApertura, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_hora_cierre, SqlDbType.VarChar, rest.horarioCierre, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_telefono, SqlDbType.VarChar, rest.Telefono, false)); listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.fk_lugar, SqlDbType.Int, rest.idLugar.ToString(), false)); //el metodo Ejecutar Store procedure recibe la lista de parametros como el query, este ultimo es el nombre del procedimietno en la BD //e.g. dbo.M10_ActualizarRestaruranteimportante ese nombre se coloco en un archivo de recursos por efectos practicos, pero se puede //como String "dbo.M10_ActualizarrRestarurante" EjecutarStoredProcedure(RecursoDAOM10.procedimientoActualizar, listaParametro); } catch (ArgumentNullException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Argumento con _idHotel invalido", ex); } catch (FormatException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Datos con formato invalido", ex); } catch (SqlException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (ExceptionBD ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (Exception ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error al realizar operacion ", ex); } return(true); }
/// <summary> /// Metodo para eliminar restaurante /// </summary> /// <param name="_restaurant"></param> /// <returns>Retorna true si fue exitso</returns> public Boolean Eliminar(Entidad _restaurant) { //Metodo para escribir en el archivo log.xml que se ha ingresado en el metodo Log.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursoDAOM10.MensajeInicioMetodoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); CRestauranteModelo rest = (CRestauranteModelo)_restaurant; List <Parametro> parametro = FabricaDAO.asignarListaDeParametro(); try { //Aqui se asignan los valores que recibe el procedimieto para realizar el delete, se repite tantas veces como atributos //se requiera en el where, para este caso solo el ID del restaurante @rst_id (parametro que recibe el store procedure) //se coloca true en Input parametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_id, SqlDbType.Int, rest._id.ToString(), false)); //el metodo Ejecutar Store procedure recibe la lista de parametros como el query, este ultimo es el nombre del procedimietno en la BD //e.g. dbo.M10_EliminarrRestarurante, importante ese nombre se coloco en un archivo de recursos por efectos practicos, pero se puede //como String "dbo.M10_EliminarRestarurante" EjecutarStoredProcedure(RecursoDAOM10.procedimientoEliminar, parametro); } catch (ArgumentNullException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Argumento con _idHotel invalido", ex); } catch (FormatException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Datos con formato invalido", ex); } catch (SqlException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (ExceptionBD ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (Exception ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error al realizar operacion ", ex); } return(true); //se retorna true en caso de ser exitoso el procedimiento eliminar }
/// <summary> /// Metodo que retorna restauran segun el id /// </summary> /// <param name="_restaurant"></param> /// <returns>Entidad</returns> public Entidad consultarRestaurantId(Entidad _restaurant) { //Metodo para escribir en el archivo log.xml que se ha ingresado en el metodo Log.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursoDAOM10.MensajeInicioMetodoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); //Se castea de tipo Entidad a tipo Restaurant CRestauranteModelo rest = (CRestauranteModelo)_restaurant; List <Parametro> listaParametro = FabricaDAO.asignarListaDeParametro(); //Atributos tabla Restaurant int idRestaurant; String nombreRestaurant; String descripcionRestaurant; String direccionRestaurant; String telefonoRestaurant; String horaIni; String horaFin; String idLugar; Entidad restaurant; try { //Aqui se asignan los valores que recibe el procedimieto para realizar el select, se repite tantas veces como atributos //se requiera en el where, para este caso solo el ID del restaurante @rst_id (parametro que recibe el store procedure) //se coloca true en Input listaParametro.Add(FabricaDAO.asignarParametro(RecursoDAOM10.rst_id, SqlDbType.Int, rest._id.ToString(), false)); //Se devuelve la fila del restaurante consultado segun el Id, para este caso solo se devuelve una fila DataTable filarestaurant = EjecutarStoredProcedureTuplas(RecursoDAOM10.procedimientoConsultarRestaurantId, listaParametro); //Se guarda la fila devuelta de la base de datos DataRow Fila = filarestaurant.Rows[0]; //Se preinicializan los atrubutos de la clase restaurant idRestaurant = int.Parse(Fila[RecursoDAOM10.restaurantId].ToString()); nombreRestaurant = Fila[RecursoDAOM10.restaurantNombre].ToString(); descripcionRestaurant = Fila[RecursoDAOM10.restaurantDescripcion].ToString(); direccionRestaurant = Fila[RecursoDAOM10.restaurantDireccion].ToString(); telefonoRestaurant = Fila[RecursoDAOM10.restaurantTelefono].ToString(); horaIni = Fila[RecursoDAOM10.restaurantHoraApertura].ToString(); horaFin = Fila[RecursoDAOM10.restaurantHoraCierra].ToString(); idLugar = Fila[RecursoDAOM10.LugarIdFk].ToString(); restaurant = FabricaEntidad.crearRestaurant(idRestaurant, nombreRestaurant, direccionRestaurant, telefonoRestaurant, descripcionRestaurant, horaIni, horaFin, int.Parse(idLugar)); //se retorna la entidad de restaurant a mostrar en la vista return(restaurant); } catch (ArgumentNullException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Argumento con _idHotel invalido", ex); } catch (FormatException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Datos con formato invalido", ex); } catch (SqlException ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (ExceptionBD ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error Conexion Base de Datos", ex); } catch (Exception ex) { Log.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ReservaExceptionM10("Reserva-404", "Error al realizar operacion ", ex); } }