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