protected void btnRegistrarResultados_Click(object sender, EventArgs e)
        {
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            int id_maraton = Int32.Parse(DDLMaraton.SelectedValue);
            int id_usuario = Int32.Parse(DDLParticipante.SelectedValue);

            bool estado = bool.Parse(DDLCarreraStatus.SelectedValue);

            try
            {
                int posicion         = Int32.Parse(txtPosicion.Text);
                var consultaPosicion = (from rm in context.ResultadoMaratonParticipante
                                        where rm.IdMaraton == id_maraton && rm.PosicionFinal == posicion
                                        select rm).ToList();



                if (consultaPosicion.Count() == 0)
                {
                    ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                     where rm.IdMaraton == id_maraton && rm.IdUsuario == id_usuario
                                                                     select rm).First();

                    Maraton maraton = (from m in context.Maraton where m.IdMaraton == id_maraton select m).First();

                    if (resultadoMaraton.NroInscripcion <= maraton.MaxParticipantes)
                    {
                        resultadoMaraton.PosicionFinal = posicion;
                        resultadoMaraton.TiempoLlegada = Int32.Parse(txtTiempo.Text);
                        resultadoMaraton.Finalizo      = estado;

                        context.SaveChanges();

                        txtPosicion.Text       = "";
                        txtTiempo.Text         = "";
                        ErrorMessage.Text      = null;
                        SuccessMessage.Visible = true;
                    }
                    else
                    {
                        ErrorMessage.Text      = "El participante se encuentra en lista de espera";
                        SuccessMessage.Visible = false;
                    }
                }
                else
                {
                    ErrorMessage.Text      = "La posición ya fue ingresada para otro participante";
                    SuccessMessage.Visible = false;
                }
            }
            catch (Exception ex)
            {
                ErrorMessage.Text      = "El Participante seleccionado no corresponde con el maraton";
                SuccessMessage.Visible = false;
            }
        }
        /// <summary>
        /// Crear un nuevo objeto Maraton.
        /// </summary>
        /// <param name="idMaraton">Valor inicial de la propiedad IdMaraton.</param>
        /// <param name="nombre">Valor inicial de la propiedad Nombre.</param>
        /// <param name="maxParticipantes">Valor inicial de la propiedad MaxParticipantes.</param>
        /// <param name="lugarSalida">Valor inicial de la propiedad LugarSalida.</param>
        /// <param name="participantesEnEspera">Valor inicial de la propiedad ParticipantesEnEspera.</param>
        /// <param name="primerPremio">Valor inicial de la propiedad PrimerPremio.</param>
        /// <param name="segundoPremio">Valor inicial de la propiedad SegundoPremio.</param>
        /// <param name="tercerPremio">Valor inicial de la propiedad TercerPremio.</param>
        public static Maraton CreateMaraton(global::System.Int32 idMaraton, global::System.String nombre, global::System.Int32 maxParticipantes, global::System.String lugarSalida, global::System.Int32 participantesEnEspera, global::System.Int32 primerPremio, global::System.Int32 segundoPremio, global::System.Int32 tercerPremio)
        {
            Maraton maraton = new Maraton();

            maraton.IdMaraton             = idMaraton;
            maraton.Nombre                = nombre;
            maraton.MaxParticipantes      = maxParticipantes;
            maraton.LugarSalida           = lugarSalida;
            maraton.ParticipantesEnEspera = participantesEnEspera;
            maraton.PrimerPremio          = primerPremio;
            maraton.SegundoPremio         = segundoPremio;
            maraton.TercerPremio          = tercerPremio;
            return(maraton);
        }
        protected void btnCrearMaraton_Click(object sender, EventArgs e)
        {
            int cantidadMaximaParticipantes = 0, primerPremio = 0, segundoPremio = 0, tercerPremio = 0, cantidadListaEspera = 0;
            Maraton maraton = new Maraton();
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            DateTime fecha;

            bool parseParticipantes = Int32.TryParse(txtCantParticipantes.Text, out  cantidadMaximaParticipantes);
            bool parseLista = Int32.TryParse(txtCantLista.Text, out  cantidadListaEspera);
            bool parsePrimerPremio = Int32.TryParse(txtPuesto1.Text, out  primerPremio);
            bool parseSegundoPremio = Int32.TryParse(txtPuesto2.Text, out  segundoPremio);
            bool parseTercerPremio = Int32.TryParse(txtPuesto3.Text, out  tercerPremio);
            bool dateConvert = DateTime.TryParse(txtFechaHora.Text, out fecha);
            

            if (parseParticipantes || parseLista || parsePrimerPremio || parseSegundoPremio || parseTercerPremio)
            {
                maraton.Nombre = txtNombre.Text;
                maraton.MaxParticipantes = cantidadMaximaParticipantes;
                maraton.LugarSalida = txtLugarSalida.Text;
                maraton.ParticipantesEnEspera = cantidadListaEspera;
                maraton.PrimerPremio = primerPremio;
                maraton.SegundoPremio = segundoPremio;
                maraton.TercerPremio = tercerPremio;
                maraton.FechaHorarioComienzo = fecha;

            }
            context.Maraton.AddObject(maraton);
            context.SaveChanges();

            /**/
            txtNombre.Text = null;
            txtCantLista.Text = null;
            txtLugarSalida.Text = null;
            txtCantParticipantes.Text = null;
            txtPuesto1.Text = null;
            txtPuesto2.Text = null;
            txtPuesto3.Text = null;
            txtFechaHora.Text = null;

            SuccessMessage.Visible = true;
        }
        protected void btnCrearMaraton_Click(object sender, EventArgs e)
        {
            int     cantidadMaximaParticipantes = 0, primerPremio = 0, segundoPremio = 0, tercerPremio = 0, cantidadListaEspera = 0;
            Maraton maraton = new Maraton();
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            DateTime fecha;

            bool parseParticipantes = Int32.TryParse(txtCantParticipantes.Text, out cantidadMaximaParticipantes);
            bool parseLista         = Int32.TryParse(txtCantLista.Text, out cantidadListaEspera);
            bool parsePrimerPremio  = Int32.TryParse(txtPuesto1.Text, out primerPremio);
            bool parseSegundoPremio = Int32.TryParse(txtPuesto2.Text, out segundoPremio);
            bool parseTercerPremio  = Int32.TryParse(txtPuesto3.Text, out tercerPremio);
            bool dateConvert        = DateTime.TryParse(txtFechaHora.Text, out fecha);


            if (parseParticipantes || parseLista || parsePrimerPremio || parseSegundoPremio || parseTercerPremio)
            {
                maraton.Nombre                = txtNombre.Text;
                maraton.MaxParticipantes      = cantidadMaximaParticipantes;
                maraton.LugarSalida           = txtLugarSalida.Text;
                maraton.ParticipantesEnEspera = cantidadListaEspera;
                maraton.PrimerPremio          = primerPremio;
                maraton.SegundoPremio         = segundoPremio;
                maraton.TercerPremio          = tercerPremio;
                maraton.FechaHorarioComienzo  = fecha;
            }
            context.Maraton.AddObject(maraton);
            context.SaveChanges();

            /**/
            txtNombre.Text            = null;
            txtCantLista.Text         = null;
            txtLugarSalida.Text       = null;
            txtCantParticipantes.Text = null;
            txtPuesto1.Text           = null;
            txtPuesto2.Text           = null;
            txtPuesto3.Text           = null;
            txtFechaHora.Text         = null;

            SuccessMessage.Visible = true;
        }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet Maraton. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToMaraton(Maraton maraton)
 {
     base.AddObject("Maraton", maraton);
 }
 /// <summary>
 /// Crear un nuevo objeto Maraton.
 /// </summary>
 /// <param name="idMaraton">Valor inicial de la propiedad IdMaraton.</param>
 /// <param name="nombre">Valor inicial de la propiedad Nombre.</param>
 /// <param name="maxParticipantes">Valor inicial de la propiedad MaxParticipantes.</param>
 /// <param name="lugarSalida">Valor inicial de la propiedad LugarSalida.</param>
 /// <param name="participantesEnEspera">Valor inicial de la propiedad ParticipantesEnEspera.</param>
 /// <param name="primerPremio">Valor inicial de la propiedad PrimerPremio.</param>
 /// <param name="segundoPremio">Valor inicial de la propiedad SegundoPremio.</param>
 /// <param name="tercerPremio">Valor inicial de la propiedad TercerPremio.</param>
 public static Maraton CreateMaraton(global::System.Int32 idMaraton, global::System.String nombre, global::System.Int32 maxParticipantes, global::System.String lugarSalida, global::System.Int32 participantesEnEspera, global::System.Int32 primerPremio, global::System.Int32 segundoPremio, global::System.Int32 tercerPremio)
 {
     Maraton maraton = new Maraton();
     maraton.IdMaraton = idMaraton;
     maraton.Nombre = nombre;
     maraton.MaxParticipantes = maxParticipantes;
     maraton.LugarSalida = lugarSalida;
     maraton.ParticipantesEnEspera = participantesEnEspera;
     maraton.PrimerPremio = primerPremio;
     maraton.SegundoPremio = segundoPremio;
     maraton.TercerPremio = tercerPremio;
     return maraton;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet Maraton. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToMaraton(Maraton maraton)
 {
     base.AddObject("Maraton", maraton);
 }