/// <summary> /// Método que se encarga de ejecutar el SP que agrega un avance a una solicitud /// </summary> /// <param name="idSolicitud">id de la solicitud</param> /// <param name="descripcion">descripción del avance</param> /// <param name="postBy">la identificación de la persona que agregó el avance</param> /// <returns>Un valor de true si la inserción fue exitosa, false si no se logró</returns> public Boolean agregarAvance(Avance avance) { Boolean resultado = false; SqlCommand agregar = new SqlCommand("SP_SOL_AgregarAvance", _conexion); agregar.CommandType = CommandType.StoredProcedure; SqlParameter[] parametros = new SqlParameter[3]; parametros[0] = new SqlParameter("@idSolicitud", SqlDbType.Int); parametros[0].Value = avance.ID; parametros[1] = new SqlParameter("@descripcion", SqlDbType.NText); parametros[1].Value = avance.Descripcion; parametros[2] = new SqlParameter("@postBy", SqlDbType.VarChar); parametros[2].Value = avance.PostBy; agregar.Parameters.AddRange(parametros); if (_conexion.State == ConnectionState.Closed) _conexion.Open(); try { SqlDataReader reader = agregar.ExecuteReader(); reader.Read(); resultado = !(reader.HasRows); _conexion.Close(); } catch (Exception) { if (_conexion.State == ConnectionState.Open) _conexion.Close(); } return resultado; }
/// <summary> /// Crea un objeto avance y se lo envía el método de la capa de datos que agrega el avance a la BD /// </summary> /// <param name="idSolicitud">ID de la solicitud a la que se le desea agregar un avance</param> /// <param name="descripcion">Descripción del avance</param> public void agregarAvance(int idSolicitud, String descripcion, String postBy) { Avance _avance = new Avance(); _avance.ID = idSolicitud; _avance.Descripcion = descripcion; _avance.PostBy = postBy; _manejoBD.agregarAvance(_avance); _avances.Add(_avance); }
/// <summary> /// Método que ejecuta un SP que recupera de la BD los avance de una solicitud /// </summary> /// <param name="idSolicitud">identificador de la solicitud</param> /// <returns>Lista de Avances</returns> public List<Avance> recuperarAvances(int idSolicitud) { List<Avance> _resultado = new List<Avance>(); SqlCommand buscar = new SqlCommand("SP_SOL_RecuperarAvancesPorSolicitud", _conexion); buscar.CommandType = CommandType.StoredProcedure; SqlParameter[] parametros = new SqlParameter[1]; parametros[0] = new SqlParameter("@idSolicitud", SqlDbType.Int); parametros[0].Value = idSolicitud; buscar.Parameters.AddRange(parametros); if (_conexion.State == ConnectionState.Closed) _conexion.Open(); try { SqlDataReader reader = buscar.ExecuteReader(); while (reader.Read()) { Avance _avance = new Avance(); _avance.ID = reader.GetInt32(0); //ID del Avance _avance.fecha = reader.GetDateTime(1); //Fecha del Avance _avance.Descripcion = reader.GetString(2); //Descripción del Avance _resultado.Add(_avance); } _conexion.Close(); } catch (Exception) { if (_conexion.State == ConnectionState.Open) _conexion.Close(); } return _resultado; }