/// <summary> /// Actualiza una Categoria de la base de datos /// </summary> /// <param name="categoria"></param> /// <remarks></remarks> public void Update(Entidades.Tipo oTipo) { //Utiliza la capa de datos para la operación //Si hay alguna validación extra a realizar este es el momento de hacerla Presentación.Tipos oDatos; try { //Crea una instancia de la clase Categoria de la capa de datos para realizar la operación y delegar la tarea oDatos = new Presentación.Tipos(); oDatos.Update(oTipo); } finally { oDatos = null; } }
/// <summary> /// Actualiza una categoria de torneo de la base de datos /// </summary> /// <param name="categoria"></param> public void Update(Entidades.Tipo oTipo) { //Creamos la conexión a utilizar. //Utilizamos la sentencia Using para asegurarnos de cerrar la conexión y liberar el objeto al salir de esta sección de manera automática SqlConnection oCnn = Presentación.Conexion.CrearConexion(); try { using (oCnn) { //Abrimos conexion oCnn.Open(); //Creamos un comando para realizar la modificación de la categoria en la base de datos SqlCommand oCmd = new SqlCommand(); using (oCmd) { //Asignamos la conexion de trabajo oCmd.Connection = oCnn; //Indicamos la sentencia SQL oCmd.CommandText = "UPDATE Tipos SET descripcion = @descripcion WHERE idTipo = @idTipo"; //Asignamos los parámetros oCmd.Parameters.Add("@descripcion", SqlDbType.VarChar, 50).Value = oTipo.descripcion; oCmd.Parameters.Add("@idTipo", SqlDbType.Int).Value = oTipo.idTipo; //Ejecutamos el comando oCmd.ExecuteNonQuery(); } } } catch (Exception Ex) { Exception ExcepcionManejada = new Exception("Error al actualizar datos del tipo de torneo.", Ex); throw ExcepcionManejada; } }
/// <summary> /// Agrega una categoria de torneo a la base de datos /// </summary> /// <param name="oTipo">Un objeto Categoria de clase Entidades</param> /// <returns>Un entero correspondiente al ID de la nueva Categoria agregada</returns> public int Add(Entidades.Tipo oTipo) { //Creamos la conexión a utilizar. //Utilizamos la sentencia Using para asegurarnos de cerrar la conexión y liberar el objeto al salir de esta sección de manera automática SqlConnection oCnn = Presentación.Conexion.CrearConexion(); try { using (oCnn) { //Abrimos conexion oCnn.Open(); //Creamos un comando para realizar el alta de la categoria en la base de datos SqlCommand oCmd = new SqlCommand(); using (oCmd) { //Asignamos la conexion de trabajo oCmd.Connection = oCnn; //Indicamos la sentencia SQL oCmd.CommandText = "INSERT INTO Tipos (descripcion) VALUES (@descripcion) SELECT @@identity"; //Asignamos los parámetros oCmd.Parameters.Add("@descripcion", SqlDbType.VarChar, 50).Value = oTipo.descripcion; //Ejecutamos el comando y retornamos el id generado return(Convert.ToInt32(oCmd.ExecuteScalar())); } } } catch (Exception Ex) { Exception ExcepcionManejada = new Exception("Error al guardar el tipo de torneo.", Ex); throw ExcepcionManejada; } }
/// <summary> /// Retorna todas las categorias de la base de datos /// </summary> /// <returns></returns> public Entidades.Tipos GetAll() { //Creamos la conexión a utilizar. //Utilizamos la sentencia Using para asegurarnos de cerrar la conexión y liberar el objeto al salir de esta sección de manera automática SqlConnection oCnn = Presentación.Conexion.CrearConexion(); try { using (oCnn) { //Abrimos conexion oCnn.Open(); //Creamos un comando para obtener todas las categorias de la base de datos SqlCommand oCmd = new SqlCommand(); using (oCmd) { //Asignamos la conexion de trabajo oCmd.Connection = oCnn; //Indicamos la sentencia SQL oCmd.CommandText = "SELECT * FROM Tipos"; //Siempre devolvemos una colección. Es más fácil de manipular y controlar Entidades.Tipos oCategoriasTorneos = new Entidades.Tipos(); //No retornamos DataSets, siempre utilizamos objetos para hacernos independientes de la estructura de las tablas en el resto de las capas. //Para esto, leemos con el DataReader y creamos los objetos asociados que se esperan try { //Ejecutamos el comando y retornamos los valores SqlDataReader oReader = oCmd.ExecuteReader(); using (oCnn) { while (oReader.Read()) { //Si existe algun valor, creamos el objeto y lo almacenamos en la colección Entidades.Tipo oCategoriaTorneo = new Entidades.Tipo(); oCategoriaTorneo.idTipo = Convert.ToInt32(oReader["idTipo"]); oCategoriaTorneo.descripcion = Convert.ToString(oReader["descripcion"]); //Agregamos el objeto a la coleccion de resultados oCategoriasTorneos.Add(oCategoriaTorneo); oCategoriaTorneo = null; } //Retornamos los valores encontrados return(oCategoriasTorneos); } } finally { //El Finally nos da siempre la oportunidad de liberar la memoria utilizada por los objetos oCategoriasTorneos = null; } } } } catch (Exception Ex) { Exception ExcepcionManejada = new Exception("Error al obtener los datos de los tipos de torneo.", Ex); throw ExcepcionManejada; } }