/// <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; } }
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<T> 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; }
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 }