Exemplo n.º 1
0
        /// <summary>
        /// Método que accede a Base de Datos para consultar la lista
        /// de requerimientos asociados con un caso de uso
        /// </summary>
        /// <param name="idCasoDeUso">Id del Caso de Uso</param>
        /// <returns>Lista de Requerimientos asociados al caso de uso</returns>
        public List<Entidad> ConsultarRequerimientosXCasoDeUso(int idCasoDeUso)
        {
            List<Entidad> listaRequerimientos = new List<Entidad>();
            DataTable resultado = new DataTable();
            List<Parametro> parametros = new List<Parametro>();
            Parametro parametro = new Parametro(RecursosDAOModulo6.ID_CU, SqlDbType.Int, idCasoDeUso.ToString(), false);
            parametros.Add(parametro);

            try
            {
                resultado = EjecutarStoredProcedureTuplas(RecursosDAOModulo6.PROCEDURE_LEER_REQUERIMIENTO_DEL_CU, parametros);
                FabricaEntidades fabricaEntidades =
                                new FabricaEntidades();

                foreach (DataRow row in resultado.Rows)
                {

                    Entidad laEntidad = fabricaEntidades.ObtenerRequerimiento();
                    Requerimiento req = (Requerimiento)laEntidad;
                    req.Descripcion = row[RecursosDAOModulo6.AliasRequerimiento].ToString();
                    listaRequerimientos.Add(req);
                }
            }
            #region Captura de Excepciones
            catch (SqlException e)
            {

                BDDAOException exDaoCasoUso = new BDDAOException(
                 RecursosDAOModulo6.CodigoExcepcionBDDAO,
                 RecursosDAOModulo6.MensajeExcepcionBD,
                 e);

                Logger.EscribirError(RecursosDAOModulo6.ClaseDAOCasoDeUso,
                    exDaoCasoUso);

                throw exDaoCasoUso;

            }
            catch (NullReferenceException e)
            {
                ObjetoNuloDAOException exDaoCasoUso = new ObjetoNuloDAOException(
                    RecursosDAOModulo6.CodigoExcepcionObjetoNuloDAO,
                    RecursosDAOModulo6.MensajeExcepcionObjetoNulo,
                    e);
                Logger.EscribirError(RecursosDAOModulo6.ClaseDAOCasoDeUso,
                       exDaoCasoUso);

                throw exDaoCasoUso;

            }

            catch (FormatException e)
            {
                TipoDeDatoErroneoDAOException exDaoCasoUso = new TipoDeDatoErroneoDAOException(
                    RecursosDAOModulo6.CodigoExcepcionTipoDeDatoErroneo,
                    RecursosDAOModulo6.MensajeTipoDeDatoErroneoException,
                    e);
                Logger.EscribirError(RecursosDAOModulo6.ClaseDAOCasoDeUso,
                       exDaoCasoUso);

                throw exDaoCasoUso;

            }
            catch (Exception e)
            {
                ErrorDesconocidoDAOException exDaoCasoUso = new ErrorDesconocidoDAOException(
                    RecursosDAOModulo6.CodigoExcepcionErrorDAO,
                    RecursosDAOModulo6.MensajeExcepcionErrorDesconocido,
                    e);

                Logger.EscribirError(RecursosDAOModulo6.ClaseDAOCasoDeUso,
                      exDaoCasoUso);

                throw exDaoCasoUso;
            }
            #endregion
            return listaRequerimientos;
        }