public void PruebaConsultarEventoDetalle()
        {
            IDaoResultadoAscenso DAO = FabricaDAOSqlServer.ObtenerDAOResultadoAscenso();
            DominioSKD.Fabrica.FabricaEntidades fabrica = new DominioSKD.Fabrica.FabricaEntidades();
            entidad = DominioSKD.Fabrica.FabricaEntidades.ObtenerEventoM10();

            ((DominioSKD.Entidades.Modulo10.Evento)entidad).Id = 3;
            Assert.NotNull(entidad);
        }
        //public PresentadorAgregarRestriccionCompetencia (IContratoAgregarRestriccionCompetencia laVista)
        //{
        //    this.vista = laVista;
        //}
        public Boolean agregarRestriccionCompetencia()
        {
            Boolean resultado = false;
            try
            {

                DominioSKD.Entidad elObjeto = meterParametrosVistaEnObjeto();
                LogicaNegociosSKD.Fabrica.FabricaComandos fabrica = new LogicaNegociosSKD.Fabrica.FabricaComandos();
                DominioSKD.Fabrica.FabricaEntidades fabricaEntidad = new DominioSKD.Fabrica.FabricaEntidades();
                LogicaNegociosSKD.Comandos.Modulo8.ComandoAgregarRestriccionCompetencia comando =
                (LogicaNegociosSKD.Comandos.Modulo8.ComandoAgregarRestriccionCompetencia)LogicaNegociosSKD.Fabrica.FabricaComandos.CrearComandoAgregarRestriccionCompetencia();
                DominioSKD.Entidades.Modulo8.RestriccionCompetencia restriccionCompetencia = (DominioSKD.Entidades.Modulo8.RestriccionCompetencia)DominioSKD.Fabrica.FabricaEntidades.ObtenerRestriccionCompetencia();
                //comando.Parametro = elObjeto;
                restriccionCompetencia = meterParametrosVistaEnObjeto();
                comando.Parametro = restriccionCompetencia;
                resultado = comando.Ejecutar();
                if (resultado == true)
                    HttpContext.Current.Response.Redirect(RecursoPresentadorM8.AgregarExitoRestriccionCompetencia);

            }
            catch (RestriccionExistenteException ex)
            {

                Alerta(ex.Message);
                return false;

            }
            catch (SqlException ex)
            {

                Alerta(ex.Message);
                return false;

            }
            catch (FormatException ex)
            {
                Alerta(ex.Message);
                return false;

            }
            catch (ExceptionSKDConexionBD ex)
            {

                Alerta(ex.Message);
                return false;

            }
            catch (Exception ex)
            {
                Alerta(ex.Message);
                return false;

            }
            return resultado;
        }
        /// <summary>
        /// Metodo para consultar todas las Restricciones de Eventos.
        /// </summary>
        /// <returns>Lista de todas las RestriccionesEventos que existen</returns>
        public List<DominioSKD.Entidad> ConsultarEventosConRestriccion()
        {
            List<Parametro> parametros = new List<Parametro>();

            List<DominioSKD.Entidad> laListaRestriccionesEvento = new List<DominioSKD.Entidad>();
            DominioSKD.Fabrica.FabricaEntidades fabricaEntidad = new DominioSKD.Fabrica.FabricaEntidades();

            try
            {
                this.Conectar();

                DataTable dt = this.EjecutarStoredProcedureTuplas(
                               RecursosDAORestriccionEvento.ConsultarEventosConRestriccion, parametros);

                foreach (DataRow row in dt.Rows)
                {
                    int IdRestEvento = int.Parse(row[RecursosDAORestriccionEvento.AliasIdRestriccionEvento].ToString());
                    String Descripcion = row[RecursosDAORestriccionEvento.AliasResDescripcion].ToString();
                    int EdadMinima = int.Parse(row[RecursosDAORestriccionEvento.AliasEdadMin].ToString());
                    int EdadMaxima = int.Parse(row[RecursosDAORestriccionEvento.AliasEdadMax].ToString());
                    String Sexo = row[RecursosDAORestriccionEvento.AliasSexo].ToString();
                    int IdEvento = int.Parse(row[RecursosDAORestriccionEvento.AliasIdEvento].ToString());
                    String NombreEvento = row[RecursosDAORestriccionEvento.AliasNombreEve].ToString();
                    int statusResEvento = int.Parse(row[RecursosDAORestriccionEvento.AliasStatus].ToString());

                    Entidad laRestriccionEvento = DominioSKD.Fabrica.FabricaEntidades.ObtenerRestriccionEvento(IdRestEvento, Descripcion, EdadMinima, EdadMaxima, Sexo, IdEvento, NombreEvento, statusResEvento);
                    laListaRestriccionesEvento.Add(laRestriccionEvento);
                }

            }
            catch (SqlException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo,
                    RecursoGeneralBD.Mensaje, ex);
            }
            catch (FormatException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.Modulo8.FormatoIncorrectoException(RecursosDAORestriccionEvento.CodigoErrorFormato,
                     RecursosDAORestriccionEvento.MensajeErrorFormato, ex);
            }
            catch (ExcepcionesSKD.ExceptionSKDConexionBD ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.ExceptionSKD(RecursoGeneralBD.Mensaje_Generico_Error, ex);
            }

            return laListaRestriccionesEvento;
        }
        /// <summary>
        /// Metodo para consultar eventos que puede asistir un atleta.
        /// </summary>
        /// <param name="parametro">int id de la persona a consultar eventos que puede asistir</param>
        /// <returns>Lista de EventoSimple a los que puede asistir(id,nombre)</returns>
        public List<Entidad> EventosQuePuedeAsistirAtleta(int parametro)
        {
            List<Parametro> parametros = new List<Parametro>();

            List<Entidad> laListaEventosSimple = new List<Entidad>();
            DominioSKD.Fabrica.FabricaEntidades fabricaEntidad = new DominioSKD.Fabrica.FabricaEntidades();

            Parametro elParametro = new Parametro(RecursosDAORestriccionEvento.ParamIdPersona, SqlDbType.Int,
                    parametro.ToString(), false);

            parametros.Add(elParametro);

            try
            {
                this.Conectar();

                DataTable dt = this.EjecutarStoredProcedureTuplas(
                               RecursosDAORestriccionEvento.ConsultarEventosCumplaREAtleta, parametros);

                foreach (DataRow row in dt.Rows)
                {
                    EventoSimple elEvento = new EventoSimple();

                    int IdEvento = int.Parse(row[RecursosDAORestriccionEvento.AliasIdEvento].ToString());
                    String NombreEvento = row[RecursosDAORestriccionEvento.AliasNombreEvento].ToString();

                    Entidad elEventoSimple = DominioSKD.Fabrica.FabricaEntidades.ObtenerEventoSimple(IdEvento, NombreEvento);
                    laListaEventosSimple.Add(elEventoSimple);

                }

            }
            catch (SqlException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo,
                    RecursoGeneralBD.Mensaje, ex);
            }
            catch (FormatException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.Modulo8.FormatoIncorrectoException(RecursosDAORestriccionEvento.CodigoErrorFormato,
                     RecursosDAORestriccionEvento.MensajeErrorFormato, ex);
            }
            catch (ExcepcionesSKD.ExceptionSKDConexionBD ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesSKD.ExceptionSKD(RecursoGeneralBD.Mensaje_Generico_Error, ex);
            }

            return laListaEventosSimple;
        }
 public DominioSKD.Entidades.Modulo8.RestriccionCompetencia meterParametrosVistaEnObjeto()
 {
     DominioSKD.Fabrica.FabricaEntidades fabrica = new DominioSKD.Fabrica.FabricaEntidades();
     DominioSKD.Entidades.Modulo8.RestriccionCompetencia restriccionCompetencia = (DominioSKD.Entidades.Modulo8.RestriccionCompetencia)DominioSKD.Fabrica.FabricaEntidades.ObtenerRestriccionCompetencia();
     restriccionCompetencia.EdadMinima = int.Parse(vista.edadMinima.SelectedValue);
     restriccionCompetencia.EdadMaxima = int.Parse(vista.edadMaxima.SelectedValue);
     restriccionCompetencia.RangoMinimo = int.Parse(vista.rangoMinimo.SelectedValue);
     restriccionCompetencia.RangoMaximo = int.Parse(vista.rangoMaximo.SelectedValue);
     restriccionCompetencia.Sexo = vista.sexo.SelectedValue;
     restriccionCompetencia.Modalidad = vista.modalidad.SelectedValue;
     generarDescripcion();
     restriccionCompetencia.Descripcion = vista.descripcion;
     return restriccionCompetencia;
 }