Modificar y eliminar participantes
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
<div class="col-2 sidebar">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a href="/registrar_participante.aspx" class="nav-link">Nuevo Participante</a></li>
|
||||
<li class="nav-item"><a href="#" class="nav-link">Modificar o Eliminar</a></li>
|
||||
<li class="nav-item"><a href="/modificar_participante.aspx" class="nav-link">Modificar o Eliminar</a></li>
|
||||
<li class="nav-item"><a href="#" class="nav-link">Listado de Participantes</a></li>
|
||||
<li class="nav-item"><asp:LinkButton runat="server" CssClass="nav-link text-danger" OnClick="onCerrarSesionClick">Cerrar Sesion</asp:LinkButton></li>
|
||||
</ul>
|
||||
|
||||
78
Universidad/modificar_participante.aspx
Normal file
78
Universidad/modificar_participante.aspx
Normal file
@@ -0,0 +1,78 @@
|
||||
<%@ Page Title="" Language="C#" MasterPageFile="~/base_page.master" AutoEventWireup="true" CodeFile="modificar_participante.aspx.cs" Inherits="modificar_participante" %>
|
||||
|
||||
<asp:Content ContentPlaceHolderID="header" runat="Server">
|
||||
<title>Modificar Participante</title>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ContentPlaceHolderID="content" runat="Server">
|
||||
<asp:ScriptManager runat="server"></asp:ScriptManager>
|
||||
|
||||
<h1>Modificar Participante</h1>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-auto">
|
||||
<asp:Label for="id_box" runat="server">ID:</asp:Label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<asp:TextBox ID="id_box" CssClass="form-control" runat="server" />
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<asp:Button CssClass="btn btn-primary" Text="Buscar" runat="server" CausesValidation="false" OnClick="OnBuscarClick" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<p class="invalid-message">
|
||||
<asp:Literal ID="id_error" runat="server" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<asp:Panel ID="form_panel" runat="server" Visible="false">
|
||||
<div class="form-group">
|
||||
<asp:Label for="nombre_box" runat="server">Nombre</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="nombre_box" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="nombre_box" ErrorMessage="Debe ingresar el nombre" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="nombre_validator" CssClass="invalid-message" ControlToValidate="nombre_box" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateNombre" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<asp:Label for="inscripcion_box" runat="server">Fecha Inscripcion</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="inscripcion_box" type="date" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="inscripcion_box" ErrorMessage="Debe ingresar la fecha de inscripcion" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<asp:Label for="pga_box" runat="server">Promedio General Acumulado</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="pga_box" type="number" step="0.01" min="0" max="7" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="pga_box" ErrorMessage="Debe ingresar el PGA" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<asp:Label for="universidad_select" runat="server">Universidad</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="universidad_select" AutoPostBack="true" OnSelectedIndexChanged="IndexChangedUniversidad" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="universidad_select" ErrorMessage="Debe seleccionar la universidad" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="universidad_validator" CssClass="invalid-message" ControlToValidate="universidad_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateUniversidad" />
|
||||
</div>
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="form-group">
|
||||
<asp:Label for="carrera_select" runat="server">Carrera</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="carrera_select" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="carrera_select" ErrorMessage="Debe seleccionar la carrera" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="carrera_validator" CssClass="invalid-message" ControlToValidate="carrera_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateCarrera" />
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:AsyncPostBackTrigger ControlID="universidad_select" EventName="SelectedIndexChanged" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
<div class="form-group">
|
||||
<asp:Label for="seminario_select" runat="server">Seminario</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="seminario_select" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="seminario_select" ErrorMessage="Debe seleccionar el seminario" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="seminario_validator" CssClass="invalid-message" ControlToValidate="seminario_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateSeminario" />
|
||||
</div>
|
||||
<asp:Button CssClass="btn btn-primary" Text="Actualizar" runat="server" OnClick="OnActualizarClick" />
|
||||
<asp:Button CssClass="btn btn-danger" Text="Eliminar" runat="server" OnClick="OnEliminarClick" />
|
||||
</asp:Panel>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ContentPlaceHolderID="script" runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
193
Universidad/modificar_participante.aspx.cs
Normal file
193
Universidad/modificar_participante.aspx.cs
Normal file
@@ -0,0 +1,193 @@
|
||||
using DAL;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
public partial class modificar_participante : System.Web.UI.Page
|
||||
{
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
FillUniversidades();
|
||||
FillSeminarios();
|
||||
inscripcion_box.Text = DateTime.Today.ToString("yyyy-MM-dd");
|
||||
}
|
||||
}
|
||||
|
||||
private void FillUniversidades()
|
||||
{
|
||||
Entities entities = new Entities();
|
||||
var universidades = from u in entities.Universidades select u;
|
||||
universidad_select.DataSource = universidades.ToList();
|
||||
universidad_select.DataTextField = "nombre";
|
||||
universidad_select.DataValueField = "id";
|
||||
universidad_select.DataBind();
|
||||
universidad_select.Items.Insert(0, "Seleccione una Universidad");
|
||||
}
|
||||
|
||||
private void FillSeminarios()
|
||||
{
|
||||
Entities entities = new Entities();
|
||||
var seminarios = from s in entities.Seminarios select s;
|
||||
seminario_select.DataSource = seminarios.ToList();
|
||||
seminario_select.DataTextField = "nombre";
|
||||
seminario_select.DataValueField = "id";
|
||||
seminario_select.DataBind();
|
||||
seminario_select.Items.Insert(0, "Seleccione un Seminario");
|
||||
}
|
||||
|
||||
protected void IndexChangedUniversidad(object sender, EventArgs e)
|
||||
{
|
||||
if (universidad_select.SelectedIndex > 0)
|
||||
{
|
||||
var id = int.Parse(universidad_select.SelectedValue);
|
||||
Entities entities = new Entities();
|
||||
var carreras = from c in entities.Carreras where c.idUniversidad == id select c;
|
||||
carrera_select.DataSource = carreras.ToList();
|
||||
carrera_select.DataTextField = "nombre";
|
||||
carrera_select.DataValueField = "id";
|
||||
carrera_select.DataBind();
|
||||
carrera_select.Items.Insert(0, "Seleccione una Carrera");
|
||||
}
|
||||
}
|
||||
protected void OnBuscarClick(object sender, EventArgs e)
|
||||
{
|
||||
Entities entities = new Entities();
|
||||
int id = 0;
|
||||
try
|
||||
{
|
||||
int.TryParse(id_box.Text, out id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
id_error.Text = "No se encontro un participante con el id entregado";
|
||||
ClearInput();
|
||||
form_panel.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var participante = (from p in entities.Participantes where p.id == id select p).SingleOrDefault();
|
||||
|
||||
if (participante == null)
|
||||
{
|
||||
id_error.Text = "No se encontro un participante con el id entregado";
|
||||
ClearInput();
|
||||
form_panel.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
id_error.Text = "";
|
||||
|
||||
var idUniversidad = (from c in entities.Carreras where c.id == participante.idCarrera select c.idUniversidad).SingleOrDefault();
|
||||
|
||||
nombre_box.Text = participante.nombre;
|
||||
inscripcion_box.Text = participante.fechaInscripcion.ToString("yyyy-MM-dd");
|
||||
pga_box.Text = participante.pga.ToString("0.##");
|
||||
universidad_select.SelectedValue = idUniversidad.ToString();
|
||||
IndexChangedUniversidad(sender, e);
|
||||
carrera_select.SelectedValue = participante.idCarrera.ToString();
|
||||
seminario_select.SelectedValue = participante.idSeminario.ToString();
|
||||
|
||||
form_panel.Visible = true;
|
||||
}
|
||||
|
||||
private void ClearInput()
|
||||
{
|
||||
nombre_box.Text = "";
|
||||
inscripcion_box.Text = "";
|
||||
pga_box.Text = "";
|
||||
universidad_select.SelectedIndex = 0;
|
||||
carrera_select.Items.Clear();
|
||||
seminario_select.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
protected void OnActualizarClick(object sender, EventArgs e)
|
||||
{
|
||||
Entities entities = new Entities();
|
||||
int id = 0;
|
||||
try { int.TryParse(id_box.Text, out id); }
|
||||
catch (Exception ex) { return; }
|
||||
|
||||
var participante = (from p in entities.Participantes where p.id == id select p).SingleOrDefault();
|
||||
if (participante == null) return;
|
||||
|
||||
participante.nombre = nombre_box.Text;
|
||||
participante.fechaInscripcion = DateTime.Parse(inscripcion_box.Text);
|
||||
participante.pga = double.Parse(pga_box.Text);
|
||||
participante.idCarrera = int.Parse(carrera_select.SelectedValue);
|
||||
participante.idSeminario = int.Parse(seminario_select.SelectedValue);
|
||||
|
||||
entities.SaveChanges();
|
||||
Response.Redirect("/index.aspx");
|
||||
}
|
||||
|
||||
protected void OnEliminarClick(object sender, EventArgs e)
|
||||
{
|
||||
Entities entities = new Entities();
|
||||
int id = 0;
|
||||
try { int.TryParse(id_box.Text, out id); }
|
||||
catch (Exception ex) { return; }
|
||||
|
||||
var participante = (from p in entities.Participantes where p.id == id select p).SingleOrDefault();
|
||||
if (participante == null) return;
|
||||
|
||||
entities.Participantes.Remove(participante);
|
||||
entities.SaveChanges();
|
||||
Response.Redirect("/index.aspx");
|
||||
}
|
||||
|
||||
protected void ValidateNombre(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (nombre_box.Text.Trim().Length > 80)
|
||||
{
|
||||
args.IsValid = false;
|
||||
nombre_validator.Text = "El nombre es muy largo, maximo de 80 caracteres";
|
||||
return;
|
||||
}
|
||||
|
||||
args.IsValid = true;
|
||||
}
|
||||
|
||||
protected void ValidateUniversidad(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (universidad_select.SelectedIndex == 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
universidad_validator.Text = "Porfavor seleccionar una universidad";
|
||||
return;
|
||||
}
|
||||
|
||||
args.IsValid = true;
|
||||
}
|
||||
|
||||
protected void ValidateCarrera(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (carrera_select.SelectedIndex == 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
carrera_validator.Text = "Porfavor seleccionar una carrera";
|
||||
return;
|
||||
}
|
||||
|
||||
args.IsValid = true;
|
||||
}
|
||||
|
||||
protected void ValidateSeminario(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (seminario_select.SelectedIndex == 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
seminario_validator.Text = "Porfavor seleccionar un seminario";
|
||||
return;
|
||||
}
|
||||
|
||||
args.IsValid = true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,19 +1,5 @@
|
||||
<%@ Page Title="" Language="C#" MasterPageFile="~/base_page.master" AutoEventWireup="true" CodeFile="registrar_participante.aspx.cs" Inherits="registrar_participante" %>
|
||||
|
||||
<script runat="server">
|
||||
|
||||
protected void Unnamed_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void universidad_select_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<asp:Content ContentPlaceHolderID="header" runat="Server">
|
||||
<title>Nuevo Participante</title>
|
||||
</asp:Content>
|
||||
@@ -23,23 +9,23 @@
|
||||
|
||||
<h1>Nuevo Participante</h1>
|
||||
<div class="form-group">
|
||||
<label for="nombre_box">Nombre</label>
|
||||
<asp:Label for="nombre_box" runat="server">Nombre</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="nombre_box" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="nombre_box" ErrorMessage="Debe ingresar el nombre" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="nombre_validator" CssClass="invalid-message" ControlToValidate="nombre_box" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateNombre" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inscripcion_box">Fecha Inscripcion</label>
|
||||
<asp:Label for="inscripcion_box" runat="server">Fecha Inscripcion</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="inscripcion_box" type="date" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="inscripcion_box" ErrorMessage="Debe ingresar la fecha de inscripcion" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="pga_box">Promedio General Acumulado</label>
|
||||
<asp:Label for="pga_box" runat="server">Promedio General Acumulado</asp:Label>
|
||||
<asp:TextBox CssClass="form-control" ID="pga_box" type="number" step="0.01" min="0" max="7" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="pga_box" ErrorMessage="Debe ingresar el PGA" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="universidad_select">Universidad</label>
|
||||
<asp:Label for="universidad_select" runat="server">Universidad</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="universidad_select" AutoPostBack="true" OnSelectedIndexChanged="IndexChangedUniversidad" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="universidad_select" ErrorMessage="Debe seleccionar la universidad" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="universidad_validator" CssClass="invalid-message" ControlToValidate="universidad_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateUniversidad" />
|
||||
@@ -47,7 +33,7 @@
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="form-group">
|
||||
<label for="carrera_select">Carrera</label>
|
||||
<asp:Label for="carrera_select" runat="server">Carrera</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="carrera_select" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="carrera_select" ErrorMessage="Debe seleccionar la carrera" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="carrera_validator" CssClass="invalid-message" ControlToValidate="carrera_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateCarrera" />
|
||||
@@ -58,7 +44,7 @@
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
<div class="form-group">
|
||||
<label for="seminario_select">Seminario</label>
|
||||
<asp:Label for="seminario_select" runat="server">Seminario</asp:Label>
|
||||
<asp:DropDownList CssClass="form-control" ID="seminario_select" runat="server" />
|
||||
<asp:RequiredFieldValidator CssClass="invalid-message" ControlToValidate="seminario_select" ErrorMessage="Debe seleccionar el seminario" Display="Dynamic" EnableClientScript="false" runat="server" />
|
||||
<asp:CustomValidator ID="seminario_validator" CssClass="invalid-message" ControlToValidate="seminario_select" Display="Dynamic" EnableClientScript="false" runat="server" OnServerValidate="ValidateSeminario" />
|
||||
|
||||
Reference in New Issue
Block a user