/// <summary>
        /// Crear un nuevo objeto ResultadoMaratonParticipante.
        /// </summary>
        /// <param name="idUsuario">Valor inicial de la propiedad IdUsuario.</param>
        /// <param name="idMaraton">Valor inicial de la propiedad IdMaraton.</param>
        /// <param name="nroInscripcion">Valor inicial de la propiedad NroInscripcion.</param>
        public static ResultadoMaratonParticipante CreateResultadoMaratonParticipante(global::System.Int32 idUsuario, global::System.Int32 idMaraton, global::System.Int32 nroInscripcion)
        {
            ResultadoMaratonParticipante resultadoMaratonParticipante = new ResultadoMaratonParticipante();

            resultadoMaratonParticipante.IdUsuario      = idUsuario;
            resultadoMaratonParticipante.IdMaraton      = idMaraton;
            resultadoMaratonParticipante.NroInscripcion = nroInscripcion;
            return(resultadoMaratonParticipante);
        }
        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;
            }
        }
Exemplo n.º 3
0
        public void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
        {
            int         cantidad = 0;
            GridViewRow row      = GVMaratones.SelectedRow;
            // row.FindControl("inscipto").va
            //  if(row.Row.Cells[iEstado].Text = GetLocalResourceObject("CONCILIADO").ToString();)
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            ResultadoMaratonParticipante resultadoMaraton = new ResultadoMaratonParticipante();
            Usuario user = GetIdUsuario(context);

            int IdUsuario = user.IdUsuario;

            int  IdMaraton  = 0;
            bool id_maraton = Int32.TryParse(row.Cells[1].Text, out IdMaraton);

            //Query consulta cantidad total de inscripciones

            try
            {
                var qc = (from rm in context.ResultadoMaratonParticipante
                          where IdMaraton == rm.IdMaraton
                          group rm by rm.IdMaraton into m
                          select m.Count()).First()
                ;

                cantidad = qc;
            }
            catch (Exception ex) {}
            cantidad++; //Incrementa cantidad de inscripciones en 1



            if (id_maraton)
            {
                resultadoMaraton.IdMaraton      = IdMaraton;
                resultadoMaraton.IdUsuario      = IdUsuario;
                resultadoMaraton.NroInscripcion = cantidad;
                context.ResultadoMaratonParticipante.AddObject(resultadoMaraton);
                context.SaveChanges();
            }

            this.GVMaratones_load(); //Recarga GridView
        }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet ResultadoMaratonParticipante. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToResultadoMaratonParticipante(ResultadoMaratonParticipante resultadoMaratonParticipante)
 {
     base.AddObject("ResultadoMaratonParticipante", resultadoMaratonParticipante);
 }
 /// <summary>
 /// Crear un nuevo objeto ResultadoMaratonParticipante.
 /// </summary>
 /// <param name="idUsuario">Valor inicial de la propiedad IdUsuario.</param>
 /// <param name="idMaraton">Valor inicial de la propiedad IdMaraton.</param>
 /// <param name="nroInscripcion">Valor inicial de la propiedad NroInscripcion.</param>
 public static ResultadoMaratonParticipante CreateResultadoMaratonParticipante(global::System.Int32 idUsuario, global::System.Int32 idMaraton, global::System.Int32 nroInscripcion)
 {
     ResultadoMaratonParticipante resultadoMaratonParticipante = new ResultadoMaratonParticipante();
     resultadoMaratonParticipante.IdUsuario = idUsuario;
     resultadoMaratonParticipante.IdMaraton = idMaraton;
     resultadoMaratonParticipante.NroInscripcion = nroInscripcion;
     return resultadoMaratonParticipante;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet ResultadoMaratonParticipante. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToResultadoMaratonParticipante(ResultadoMaratonParticipante resultadoMaratonParticipante)
 {
     base.AddObject("ResultadoMaratonParticipante", resultadoMaratonParticipante);
 }
Exemplo n.º 7
0
        private void GVMaratones_load()
        {
            int i = 0;
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //Obtengo codigo de usuario
            Usuario user      = GetIdUsuario(context);
            int     IdUsuario = user.IdUsuario;
            //------------------------------

            //Query Maratones disponibles para inscripcion. Verifica fecha de inscripcion, solo muestra en caso de haber disponibilidad y ademas verifica si el que el usuario logueado no este previamente inscripto
            var query = from m in context.Maraton
                        where m.FechaHorarioComienzo >= DateTime.Now
                        //&& (m.MaxParticipantes + m.ParticipantesEnEspera) >
                        //                                                  (from rm in context.ResultadoMaratonParticipante
                        //                                                   where rm.IdMaraton == m.IdMaraton
                        //                                                   select rm).Count()
                        //&& !(from rm in context.ResultadoMaratonParticipante
                        //     where rm.IdUsuario == IdUsuario
                        //     select rm.IdMaraton).Contains(m.IdMaraton)

                        select new
            {
                m.IdMaraton,
                m.Nombre,
                m.LugarSalida,
                m.FechaHorarioComienzo,
                m.MaxParticipantes,
                estado = (from rm in context.ResultadoMaratonParticipante
                          where rm.IdMaraton == m.IdMaraton
                          select rm.IdUsuario).Contains(IdUsuario) ? "Inscripto" :
                         (
                    (m.MaxParticipantes + m.ParticipantesEnEspera) <=
                    (from rm in context.ResultadoMaratonParticipante
                     where rm.IdMaraton == m.IdMaraton
                     select rm).Count() ? "Lleno" :
                    ((from rm in context.ResultadoMaratonParticipante
                      where rm.IdMaraton == m.IdMaraton
                      select rm).Count()) >= m.MaxParticipantes ? "En Espera" : "Disponible")
            };
            String mensaje = "No existen maratones disponibles por el momento";

            if (query.Count() > 0)
            {
                mensaje = "Cantidad de maratones disponibles: " + query.Count();
                GVMaratones.DataSource = query;
                GVMaratones.DataBind();
                //   Convert.ToInt32(((HiddenField)e.Row.FindControl("hfReversas")).Value);
                //  GVMaratones
                foreach (var datos in query)
                {
                    if (datos.estado == "Inscripto" || datos.estado == "Lleno")
                    {
                        if (datos.estado == "Inscripto")
                        {
                            ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                             where rm.IdMaraton == datos.IdMaraton && rm.IdUsuario == IdUsuario
                                                                             select rm).First();
                            if (datos.MaxParticipantes < resultadoMaraton.NroInscripcion)
                            {
                                GVMaratones.Rows[i].BackColor     = Color.Orange;
                                GVMaratones.Rows[i].Cells[5].Text = "Inscripto en Espera";
                            }
                        }

                        GVMaratones.Rows[i].Enabled       = false;
                        GVMaratones.Rows[i].Cells[0].Text = "";
                    }
                    i++;
                }
            }
        }
        public void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
        {
           int cantidad = 0;
            GridViewRow row = GVMaratones.SelectedRow;
           // row.FindControl("inscipto").va
          //  if(row.Row.Cells[iEstado].Text = GetLocalResourceObject("CONCILIADO").ToString();)
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            ResultadoMaratonParticipante resultadoMaraton = new ResultadoMaratonParticipante();
            Usuario user = GetIdUsuario(context);

            int IdUsuario = user.IdUsuario;

            int IdMaraton = 0;
            bool id_maraton = Int32.TryParse(row.Cells[1].Text, out IdMaraton);

            //Query consulta cantidad total de inscripciones

            try
            {
                var qc = (from rm in context.ResultadoMaratonParticipante
                          where IdMaraton == rm.IdMaraton
                          group rm by rm.IdMaraton into m
                          select m.Count()).First()
                      ;

                 cantidad = qc;
               
            }
            catch( Exception ex){}
            cantidad++; //Incrementa cantidad de inscripciones en 1
            
        

            if (id_maraton)
            {
                resultadoMaraton.IdMaraton = IdMaraton;
                resultadoMaraton.IdUsuario = IdUsuario;
                resultadoMaraton.NroInscripcion = cantidad;
                context.ResultadoMaratonParticipante.AddObject(resultadoMaraton);
                context.SaveChanges();

            }

            this.GVMaratones_load(); //Recarga GridView

        }