Fecha Inicial : 13/04/2018
Fecha Final : 14/04/2018
Hora Inicio: 10:36 PM
Hora Final: 4:07AM
Horas invertidas(Minutos): 331
Colaboradores: Oscar Cortés
Actividad:
Crear los stored procedure para mostrar la información de los rubros del grupo
Crear la página "Evaluaciones" donde se muestran los rubros evaluados en cada grupo (para que el profesor pueda evaluar y el est)

Codigo:
SP para ver los datos del curso
create procedure GRSP_RubrosDelGrupo
@pIdGrupo int
as
begin
select E.Nombre + ' ' + E.Apellido as 'Estudiante', EE.Nota
from Evaluacion EV
inner join GrupoxRubro GR on GR.ID = EV.FK_Grupo_Rubro
inner join EvaluacionxEstudiante EE on EV.ID = EE.FK_Evaluacion
inner join GrupoxEstudiante GE on Ge.ID = EE.FK_Grupo_Estudiante
inner join Estudiante E on E.ID = GE.FK_Estudiante
inner join Grupo G on G.ID = GE.FK_Grupo
inner join Rubros R on GR.FK_Rubro = R.ID
Where GR.FK_Grupo = @pIdGrupo
and 'y' in (EV.Visible, GR.Visible, EE.Visible, GE.Visible, E.Visible, G.Visible, R.Visible)
end
go
create procedure EGSP_EvaluacionesDelGrupo
@pIdGrupo int
as
begin
select EV.Nombre 'Nombre', EV.ValorPorcentual, EV.Descripcion
from Evaluacion EV
inner join GrupoxRubro GR on GR.ID = EV.FK_Grupo_Rubro
inner join EvaluacionxEstudiante EE on EV.ID = EE.FK_Evaluacion
inner join GrupoxEstudiante GE on Ge.ID = EE.FK_Grupo_Estudiante
inner join Grupo G on G.ID = GE.FK_Grupo
WHERE g.id = @pIdGrupo
Group by EV.Nombre, EV.ValorPorcentual, EV.Descripcion
end
-----------
Código pagina evaluaciones (front):
----------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Evaluaciones.aspx.cs" Inherits="ProyectoEvaluaciones_BDI.Evaluaciones" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
$('[data-toggle="popover"]').popover();
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Evaluaciones</title>
</head>
<body>
<form id="form1" runat="server">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="Inicio.aspx">Mis Evaluaciones</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="LogIn.aspx">Salir</a></li>
</ul>
</div>
</nav>
<div class ="container">
<h2>Tabla de evaluaciones para el grupo</h2>
<asp:Panel runat="server" ID="PL_TablaEvaluaciones">
</asp:Panel>
</div>
</form>
</body>
</html>
Comentarios:
[blank]
Problemas:
Pasar datos entre paginas (pagina inicio y pagina evaluaciones)
Solución: Ingresar el id del grupo en el url de la página para luego tomarlo.

Problemas al hacer los joins para tener los datos de los grupos
Mostrar el valor de cada evaluación
Solución: Se muestra al presionar el enunciado, junto con la descripción.
Fecha Final : 14/04/2018
Hora Inicio: 10:36 PM
Hora Final: 4:07AM
Horas invertidas(Minutos): 331
Colaboradores: Oscar Cortés
Actividad:
Crear los stored procedure para mostrar la información de los rubros del grupo
Crear la página "Evaluaciones" donde se muestran los rubros evaluados en cada grupo (para que el profesor pueda evaluar y el est)
Codigo:
SP para ver los datos del curso
create procedure GRSP_RubrosDelGrupo
@pIdGrupo int
as
begin
select E.Nombre + ' ' + E.Apellido as 'Estudiante', EE.Nota
from Evaluacion EV
inner join GrupoxRubro GR on GR.ID = EV.FK_Grupo_Rubro
inner join EvaluacionxEstudiante EE on EV.ID = EE.FK_Evaluacion
inner join GrupoxEstudiante GE on Ge.ID = EE.FK_Grupo_Estudiante
inner join Estudiante E on E.ID = GE.FK_Estudiante
inner join Grupo G on G.ID = GE.FK_Grupo
inner join Rubros R on GR.FK_Rubro = R.ID
Where GR.FK_Grupo = @pIdGrupo
and 'y' in (EV.Visible, GR.Visible, EE.Visible, GE.Visible, E.Visible, G.Visible, R.Visible)
end
go
create procedure EGSP_EvaluacionesDelGrupo
@pIdGrupo int
as
begin
select EV.Nombre 'Nombre', EV.ValorPorcentual, EV.Descripcion
from Evaluacion EV
inner join GrupoxRubro GR on GR.ID = EV.FK_Grupo_Rubro
inner join EvaluacionxEstudiante EE on EV.ID = EE.FK_Evaluacion
inner join GrupoxEstudiante GE on Ge.ID = EE.FK_Grupo_Estudiante
inner join Grupo G on G.ID = GE.FK_Grupo
WHERE g.id = @pIdGrupo
Group by EV.Nombre, EV.ValorPorcentual, EV.Descripcion
end
-----------
Código pagina evaluaciones (front):
----------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Evaluaciones.aspx.cs" Inherits="ProyectoEvaluaciones_BDI.Evaluaciones" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
$('[data-toggle="popover"]').popover();
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Evaluaciones</title>
</head>
<body>
<form id="form1" runat="server">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="Inicio.aspx">Mis Evaluaciones</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="LogIn.aspx">Salir</a></li>
</ul>
</div>
</nav>
<div class ="container">
<h2>Tabla de evaluaciones para el grupo</h2>
<asp:Panel runat="server" ID="PL_TablaEvaluaciones">
</asp:Panel>
</div>
</form>
</body>
</html>
Código pagina evaluaciones (back):
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
namespace ProyectoEvaluaciones_BDI
{
public partial class Evaluaciones : System.Web.UI.Page
{
String connection = "Data Source=Backbone;Initial Catalog=algoDePrueba;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework";
protected void Page_Load(object sender, EventArgs e)
{
/*
if (Session["Tipo"].ToString() == "Profesor")
else if (Session["Tipo"].ToString() == "Estudiante")
*/
cargarEvaluaciones();
}
protected void cargarEvaluaciones(string pIdCurso = "3")
{
SqlConnection sqlConnection1 = new SqlConnection(connection);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
cmd.CommandText = "EGSP_EvaluacionesDelGrupo " + pIdCurso;
sqlConnection1.Open();
SqlDataReader reader;
reader = cmd.ExecuteReader();
//Leer las evaluaciones con el dato de valor y descripción
String staticHTML = "<table class=\"table table-bordered table-hover\" style=\"max-width: 100 %; \"> <thead> <tr> <th>Estudiante</th>";
if (reader.HasRows)
{
while (reader.Read())
{
staticHTML += "<th><a data-toggle=\"popover\" data-placement=\"top\" data-content=\"Valor: " + reader.GetSqlString(1).ToString()
+ "\nDescripción: " + reader.GetSqlString(2).ToString() + "\">" + reader.GetSqlString(0).ToString() + "</a></th>";
}
}
staticHTML += "</tr> </ thead > ";
//Leer la nota de cada estudiante (en el mismo orden que las evaluaciones arriba)
cmd.CommandText = "GRSP_RubrosDelGrupo " + pIdCurso;
reader.Close();
reader = cmd.ExecuteReader();
string estudiante = "";
if (reader.HasRows)
{
while (reader.Read())
{
if (estudiante == "")
{
estudiante = reader.GetSqlString(0).ToString();
staticHTML += "<tbody> <tr> <td>" + estudiante + "</td>";
} else if (estudiante != reader.GetSqlString(0).ToString())
{
estudiante = reader.GetSqlString(0).ToString();
staticHTML += "</tr> <tr> <td>" + estudiante + "</td>";
}
staticHTML += " <td>" + reader.GetSqlString(1).ToString() + "</td>";
}
staticHTML += "</tr> </tbody>";
}
reader.Close();
sqlConnection1.Close();
PL_TablaEvaluaciones.Controls.Add(new LiteralControl(staticHTML));
}
}
}
[blank]
Problemas:
Pasar datos entre paginas (pagina inicio y pagina evaluaciones)
Solución: Ingresar el id del grupo en el url de la página para luego tomarlo.
Problemas al hacer los joins para tener los datos de los grupos
Mostrar el valor de cada evaluación
Solución: Se muestra al presionar el enunciado, junto con la descripción.
Preguntas:
[blank]
[blank]
Referencias:
Música: https://youtu.be/ji1tCcIgH5U
Información:
https://www.w3schools.com/bootstrap/bootstrap_tables.asp
https://www.w3schools.com/bootstrap/bootstrap_popover.asp
Música: https://youtu.be/ji1tCcIgH5U
Información:
https://www.w3schools.com/bootstrap/bootstrap_tables.asp
https://www.w3schools.com/bootstrap/bootstrap_popover.asp
Comentarios
Publicar un comentario