예제 #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);
        }