Пример #1
0
        protected void btn_imprimir_derivacion_biblioteca_Click(object sender, EventArgs e)
        {
            int id_mesa = Convert.ToInt32(((Button)sender).CommandArgument);

            bool mesa_cerrada = false;

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);

                if (mesa != null && mesa.mesa_estado == "Cerrada")
                {
                    Reportes.reporte_mesa ds = new Reportes.reporte_mesa();

                    Reportes.reporte_mesa.t_mesaRow mr = ds.t_mesa.Newt_mesaRow();
                    mr.mesa_fecha          = mesa.mesa_fecha;
                    mr.mesa_estado         = mesa.mesa_estado;
                    mr.mesa_codigo_carrera = mesa.mesa_codigo_carrera.ToString();
                    mr.mesa_codigo_materia = mesa.mesa_codigo_materia.ToString();
                    mr.mesa_codigo_plan    = mesa.mesa_codigo_plan.ToString();
                    mr.mesa_licenciatura   = mesa.Tesinas.First().Tesista.Persona.Licenciatura.licenciatura_nombre;
                    ds.t_mesa.Addt_mesaRow(mr);

                    foreach (Tesina tesina in mesa.Tesinas)
                    {
                        if (tesina.tesina_calificacion >= 6)
                        {
                            Reportes.reporte_mesa.t_tesinasRow tr = ds.t_tesinas.Newt_tesinasRow();
                            tr.tesina_titulo                  = tesina.tesina_tema;
                            tr.tesina_tesista                 = tesina.Tesista.Persona.persona_nomyap;
                            tr.tesina_director                = tesina.Director.Persona.persona_nomyap;
                            tr.tesina_calificacion            = tesina.tesina_calificacion.ToString();
                            tr.tesina_calificacion_director   = tesina.tesina_calificacion_director.ToString();
                            tr.tesina_calificacion_codirector = tesina.Codirector != null?tesina.tesina_calificacion_codirector.ToString() : "0";

                            tr.tesista_legajo = tesina.Tesista.tesista_legajo;
                            ds.t_tesinas.Addt_tesinasRow(tr);
                        }
                    }
                    mesa_cerrada = true;

                    Session["ds_mesa"] = ds;
                }
            }

            if (mesa_cerrada)
            {
                RenderReport_derivacion_tesinas_aprobadas_a_biblioteca();
            }
            else
            {
                MessageBox.Show(this, "No se pueden derivar los las tesinas mientras la mesa no este cerrada.", MessageBox.Tipo_MessageBox.Danger);
            }
        }
Пример #2
0
        protected void btn_imprimir_Click(object sender, EventArgs e)
        {
            int id_mesa = Convert.ToInt32(((Button)sender).CommandArgument);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);

                Reportes.reporte_mesa ds = new Reportes.reporte_mesa();

                Reportes.reporte_mesa.t_mesaRow mr = ds.t_mesa.Newt_mesaRow();
                mr.mesa_fecha          = mesa.mesa_fecha;
                mr.mesa_estado         = mesa.mesa_estado;
                mr.mesa_codigo_carrera = mesa.mesa_codigo_carrera.ToString();
                mr.mesa_codigo_materia = mesa.mesa_codigo_materia.ToString();
                mr.mesa_codigo_plan    = mesa.mesa_codigo_plan.ToString();
                mr.mesa_licenciatura   = mesa.Tesinas.First().Tesista.Persona.Licenciatura.licenciatura_nombre;
                ds.t_mesa.Addt_mesaRow(mr);

                foreach (Jurado jurado in mesa.Jueces)
                {
                    Reportes.reporte_mesa.t_juradosRow jr = ds.t_jurados.Newt_juradosRow();
                    jr.jurado_dni    = jurado.Persona.persona_dni.ToString();
                    jr.jurado_nombre = jurado.Persona.persona_nomyap;
                    jr.jurado_mail   = jurado.Persona.persona_email;

                    ds.t_jurados.Addt_juradosRow(jr);
                }

                foreach (Tesina tesina in mesa.Tesinas)
                {
                    Reportes.reporte_mesa.t_tesinasRow tr = ds.t_tesinas.Newt_tesinasRow();
                    tr.tesina_titulo                  = tesina.tesina_tema;
                    tr.tesina_tesista                 = tesina.Tesista.Persona.persona_nomyap;
                    tr.tesina_director                = tesina.Director.Persona.persona_nomyap;
                    tr.tesina_calificacion            = tesina.tesina_calificacion.ToString();
                    tr.tesina_calificacion_director   = tesina.tesina_calificacion_director.ToString();
                    tr.tesina_calificacion_codirector = tesina.Codirector != null?tesina.tesina_calificacion_codirector.ToString() : "0";

                    tr.tesista_legajo = tesina.Tesista.tesista_legajo;
                    ds.t_tesinas.Addt_tesinasRow(tr);
                }

                Session["ds_mesa"] = ds;
            }

            RenderReport_mesa();
        }
Пример #3
0
        protected void btn_cerrar_mesa_ServerClick(object sender, EventArgs e)
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                int id_mesa = Convert.ToInt32(((Button)sender).CommandArgument);

                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);
                if (mesa != null && mesa.mesa_estado == "Generada")
                {
                    lbl_estado.Text             = mesa.mesa_estado;
                    lbl_ver_mesa_fecha.Text     = mesa.mesa_fecha.ToShortDateString();
                    hidden_cerrar_mesa_id.Value = mesa.mesa_id.ToString();

                    string jurados = string.Empty;
                    foreach (Jurado jurado in mesa.Jueces)
                    {
                        jurados = jurados + jurado.Persona.persona_nomyap + ",";
                    }

                    lbl_cerrar_mesa_jurado.Text = jurados;

                    var tesinas = (from t in mesa.Tesinas
                                   select new
                    {
                        tesina_id = t.tesina_id,
                        tesina_tema = t.tesina_tema,
                        tesina_director = t.Director.Persona.persona_nomyap,
                        tesina_tesista = t.Tesista.Persona.persona_nomyap,
                        tesina_nota = t.tesina_calificacion,
                        tesina_nota_director = t.tesina_calificacion_director,
                        tiene_codirector = t.codirector_id != null
                    });

                    gv_cerrar_mesa_tesinas.DataSource = tesinas;
                    gv_cerrar_mesa_tesinas.DataBind();

                    string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#panel_cerrar_mesa').modal('show')});</script>";
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
                }
                else
                {
                    MessageBox.Show(this, "Solo se pueden cerrar mesas en estado Generadas", MessageBox.Tipo_MessageBox.Danger);
                }
            }
        }
Пример #4
0
        protected void btn_imprimir_certificado_jurados_Click(object sender, EventArgs e)
        {
            int  id_mesa      = Convert.ToInt32(((Button)sender).CommandArgument);
            bool mesa_cerrada = false;

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);

                if (mesa.mesa_estado == "Cerrada")
                {
                    Reportes.reporte_jurado ds = new Reportes.reporte_jurado();

                    foreach (Jurado jurado in mesa.Jueces)
                    {
                        foreach (Tesina tesina in mesa.Tesinas)
                        {
                            Reportes.reporte_jurado.t_juradoRow jr = ds.t_jurado.Newt_juradoRow();
                            jr.jurado_id  = jurado.juez_id;
                            jr.jurado_dni = jurado.Persona.persona_dni.ToString();
                            jr.jurado_licenciatura_nombre = jurado.Persona.Licenciatura.licenciatura_nombre;
                            jr.jurado_mesa_fecha          = mesa.mesa_fecha.ToShortDateString();
                            jr.jurado_nombre         = jurado.Persona.persona_nomyap;
                            jr.jurado_tesina_tema    = tesina.tesina_tema;
                            jr.jurado_tesina_tesista = tesina.Tesista.Persona.persona_nomyap;

                            ds.t_jurado.Rows.Add(jr);
                        }
                    }

                    mesa_cerrada          = true;
                    Session["ds_jurados"] = ds;
                }
            }

            if (mesa_cerrada)
            {
                RenderReport_jurados();
            }
            else
            {
                MessageBox.Show(this, "No se pueden imprimir los certificados mientras la mesa no este cerrada.", MessageBox.Tipo_MessageBox.Warning);
            }
        }
Пример #5
0
        protected void btn_crear_mesa_Click(object sender, EventArgs e)
        {
            Validate();
            if (IsValid)
            {
                string str_mesa_id = Request.QueryString["m"];
                int    mesa_id     = 0;
                if (str_mesa_id == null || int.TryParse(str_mesa_id, out mesa_id))
                {
                    using (HabProfDBContainer cxt = new Aplicativo.HabProfDBContainer())
                    {
                        Mesa mesa = new Mesa();
                        if (str_mesa_id == null)
                        {
                            //mesa nueva
                            mesa = new Aplicativo.Mesa();
                            cxt.Mesas.Add(mesa);
                        }
                        else
                        {
                            mesa = cxt.Mesas.FirstOrDefault(mm => mm.mesa_id == mesa_id);
                            //elimino los jueces y tesinas que tenia asignada para cargar los nuevos
                            List <int> id_jueces = mesa.Jueces.Select(jj => jj.juez_id).ToList();
                            foreach (int id_juez in id_jueces)
                            {
                                Jurado j = cxt.Jueces.FirstOrDefault(jj => jj.juez_id == id_juez);
                                mesa.Jueces.Remove(j);
                            }

                            List <int> id_tesinas = mesa.Tesinas.Select(tt => tt.tesina_id).ToList();
                            foreach (int id_tesina in id_tesinas)
                            {
                                Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == id_tesina);
                                mesa.Tesinas.Remove(t);
                            }
                        }

                        string[] jurados_ids = hidden_ids_jueces.Value.Split(',');
                        string[] tesinas_ids = hidden_tesinas_seleccionadas.Value.Split(',');

                        //Agrego jueces
                        foreach (string str_jurado_id in jurados_ids)
                        {
                            int jurado_id;
                            if (int.TryParse(str_jurado_id, out jurado_id))
                            {
                                Jurado jurado = cxt.Jueces.FirstOrDefault(jj => jj.juez_id == jurado_id);
                                mesa.Jueces.Add(jurado);
                            }
                        }

                        //agrego tesinas
                        foreach (string str_tesina_id in tesinas_ids)
                        {
                            int tesina_id;
                            if (int.TryParse(str_tesina_id, out tesina_id))
                            {
                                Tesina tesina = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);
                                mesa.Tesinas.Add(tesina);
                            }
                        }

                        mesa.mesa_fecha          = Convert.ToDateTime(tb_fecha_mesa.Value);
                        mesa.mesa_codigo_carrera = Convert.ToInt32(tb_cod_carrera.Text);
                        mesa.mesa_codigo_materia = Convert.ToInt32(tb_cod_materia.Text);
                        mesa.mesa_codigo_plan    = Convert.ToInt32(tb_cod_plan.Text);

                        mesa.mesa_estado = "Generada";

                        /*
                         * Envio_mail em_codirector = new Envio_mail()
                         * {
                         *  persona_id = tesina.Codirector.Persona.persona_id,
                         *  envio_email_destino = tesina.Codirector.Persona.persona_email,
                         *  envio_fecha_hora = DateTime.Now,
                         *  envio_respuesta_clave = "no se usa",
                         *  envio_tipo = MiEmail.tipo_mail.notificacion_eliminacion_tesina_director.ToString()
                         * };
                         * cxt.Envio_mails.Add(em_codirector);
                         * MiEmail me_codirector = new MiEmail(em_codirector, tesina);
                         * me_codirector.Enviar_mail();
                         */

                        foreach (Jurado jurado in mesa.Jueces)
                        {
                            Envio_mail em_jurado = new Envio_mail()
                            {
                                persona_id            = jurado.Persona.persona_id,
                                envio_email_destino   = jurado.Persona.persona_email,
                                envio_fecha_hora      = DateTime.Now,
                                envio_respuesta_clave = "no se usa",
                                envio_tipo            = MiEmail.tipo_mail.notificacion_alta_mesa_jurado.ToString()
                            };
                            cxt.Envio_mails.Add(em_jurado);
                            MiEmail me_jurado = new MiEmail(em_jurado, "Jurado", mesa.mesa_fecha);
                            me_jurado.Enviar_mail();
                        }

                        foreach (Tesina tesina in mesa.Tesinas)
                        {
                            Envio_mail em_tesista = new Envio_mail()
                            {
                                persona_id            = tesina.Tesista.Persona.persona_id,
                                envio_email_destino   = tesina.Tesista.Persona.persona_email,
                                envio_fecha_hora      = DateTime.Now,
                                envio_respuesta_clave = "no se usa",
                                envio_tipo            = MiEmail.tipo_mail.notificacion_alta_mesa_tesista.ToString()
                            };
                            cxt.Envio_mails.Add(em_tesista);
                            MiEmail me_tesista = new MiEmail(em_tesista, "Tesista", mesa.mesa_fecha);
                            me_tesista.Enviar_mail();

                            Envio_mail em_director = new Envio_mail()
                            {
                                persona_id            = tesina.Director.Persona.persona_id,
                                envio_email_destino   = tesina.Director.Persona.persona_email,
                                envio_fecha_hora      = DateTime.Now,
                                envio_respuesta_clave = "no se usa",
                                envio_tipo            = MiEmail.tipo_mail.notificacion_alta_mesa.ToString()
                            };
                            cxt.Envio_mails.Add(em_director);
                            MiEmail me_director = new MiEmail(em_director, "Director", mesa.mesa_fecha);
                            me_director.Enviar_mail();

                            if (tesina.Codirector != null)
                            {
                                Envio_mail em_codirector = new Envio_mail()
                                {
                                    persona_id            = tesina.Codirector.Persona.persona_id,
                                    envio_email_destino   = tesina.Codirector.Persona.persona_email,
                                    envio_fecha_hora      = DateTime.Now,
                                    envio_respuesta_clave = "no se usa",
                                    envio_tipo            = MiEmail.tipo_mail.notificacion_alta_mesa.ToString()
                                };
                                cxt.Envio_mails.Add(em_codirector);
                                MiEmail me_codirector = new MiEmail(em_codirector, tesina);
                                me_codirector.Enviar_mail();
                            }
                        }

                        cxt.SaveChanges();

                        MessageBox.Show(this, "La mesa se creo correctamente", MessageBox.Tipo_MessageBox.Success, "Exito", "../Aplicativo/admin_mesas.aspx");
                    }
                }
                else
                {
                    MessageBox.Show(this, "No se encontro la mesa buscada", MessageBox.Tipo_MessageBox.Danger, "Atención", "../Aplicativo/admin_mesas.aspx");
                }
            }
        }
Пример #6
0
        private void CargarDatosMesa()
        {
            string str_mesa_id = Request.QueryString["m"];

            if (str_mesa_id == null)
            {
                //mesa nueva
                lbl_titulo.Text = "Nueva Mesa de Examen";
                //lbl_small_titulo.Text =
            }
            else
            {
                int mesa_id;
                if (int.TryParse(str_mesa_id, out mesa_id))
                {
                    using (HabProfDBContainer cxt = new HabProfDBContainer())
                    {
                        Mesa mesa = cxt.Mesas.FirstOrDefault(mm => mm.mesa_id == mesa_id);

                        tb_fecha_mesa.Value = mesa.mesa_fecha.ToShortDateString();
                        tb_cod_carrera.Text = mesa.mesa_codigo_carrera.ToString();
                        tb_cod_materia.Text = mesa.mesa_codigo_materia.ToString();
                        tb_cod_plan.Text    = mesa.mesa_codigo_plan.ToString();

                        List <item_jurado> jurados             = new List <Aplicativo.admin_mesa.item_jurado>();
                        string             texto_hidden_jueces = string.Empty;
                        foreach (Jurado jurado in mesa.Jueces)
                        {
                            jurados.Add(new item_jurado()
                            {
                                juez_id             = jurado.juez_id,
                                juez_persona_dni    = jurado.Persona.persona_dni,
                                juez_persona_email  = jurado.Persona.persona_email,
                                juez_persona_nomyap = jurado.Persona.persona_nomyap,
                                seleccionado        = true
                            });

                            texto_hidden_jueces = texto_hidden_jueces + jurado.juez_id + ",";
                        }

                        hidden_ids_jueces.Value = texto_hidden_jueces;

                        if (jurados.Count > 0)
                        {
                            gv_jurados.DataSource = jurados;
                            gv_jurados.DataBind();
                        }
                        else
                        {
                            gv_jurados.DataSource = null;
                            gv_jurados.DataBind();
                        }


                        List <item_tesina> tesinas = new List <item_tesina>();
                        string             texto_hidden_tesinas = string.Empty;
                        foreach (Tesina tesina in mesa.Tesinas)
                        {
                            tesinas.Add(new item_tesina()
                            {
                                tesina_id          = tesina.tesina_id,
                                tesina_tema        = tesina.tesina_tema,
                                tesina_descripcion = tesina.tesina_descripcion,
                                tesina_director    = tesina.Director.Persona.persona_nomyap,
                                tesina_tesista     = tesina.Tesista.Persona.persona_nomyap,
                                seleccionada       = true,
                                nota_tesina        = tesina.tesina_calificacion ?? 0,
                                nota_director      = tesina.tesina_calificacion_director ?? 0
                            });

                            texto_hidden_tesinas = texto_hidden_tesinas + tesina.tesina_id + ",";
                        }

                        hidden_tesinas_seleccionadas.Value = texto_hidden_tesinas;

                        if (tesinas.Count > 0)
                        {
                            gv_tesinas_seleccionadas.DataSource = tesinas;
                            gv_tesinas_seleccionadas.DataBind();
                        }
                        else
                        {
                            gv_tesinas_seleccionadas.DataSource = null;
                            gv_tesinas_seleccionadas.DataBind();
                        }
                    }
                }
            }
        }
Пример #7
0
        protected void btn_imprimir_directores_Click(object sender, EventArgs e)
        {
            int  id_mesa      = Convert.ToInt32(((Button)sender).CommandArgument);
            bool mesa_cerrada = false;

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);

                if (mesa.mesa_estado == "Cerrada")
                {
                    Estado_tesina aprobada = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Aprobada");

                    Reportes.reporte_director ds = new Reportes.reporte_director();

                    foreach (Tesina tesina in mesa.Tesinas)
                    {
                        if (tesina.estado_tesis_id == aprobada.estado_tesina_id)
                        {
                            Reportes.reporte_director.DetalleRow md = ds.Detalle.NewDetalleRow();

                            md.director_nombre           = tesina.Director.Persona.persona_nomyap;
                            md.director_dni              = tesina.Director.Persona.persona_dni.ToString();
                            md.tema_tesina               = tesina.tesina_tema;
                            md.tesina_calificacion       = tesina.tesina_calificacion_director.ToString();
                            md.tesina_calificacion_letra = Calificacion_a_texto(tesina.tesina_calificacion ?? 0);
                            md.tesista_nombre            = tesina.Tesista.Persona.persona_nomyap;
                            md.tesina_fecha_evaluacion   = mesa.mesa_fecha.ToShortDateString();
                            md.licenciatura_nombre       = tesina.Tesista.Persona.Licenciatura.licenciatura_nombre;
                            md.anteco = "";

                            ds.Detalle.Rows.Add(md);

                            if (tesina.Codirector != null)
                            {
                                Reportes.reporte_director.DetalleRow md_co = ds.Detalle.NewDetalleRow();

                                md_co.director_nombre           = tesina.Codirector.Persona.persona_nomyap;
                                md_co.director_dni              = tesina.Codirector.Persona.persona_dni.ToString();
                                md_co.tema_tesina               = tesina.tesina_tema;
                                md_co.tesina_calificacion       = tesina.tesina_calificacion_codirector.ToString();
                                md_co.tesina_calificacion_letra = Calificacion_a_texto(tesina.tesina_calificacion_codirector ?? 0);
                                md_co.tesista_nombre            = tesina.Tesista.Persona.persona_nomyap;
                                md_co.tesina_fecha_evaluacion   = mesa.mesa_fecha.ToShortDateString();
                                md_co.licenciatura_nombre       = tesina.Tesista.Persona.Licenciatura.licenciatura_nombre;
                                md_co.anteco = "co-";

                                ds.Detalle.Rows.Add(md_co);
                            }
                        }
                    }

                    mesa_cerrada             = true;
                    Session["ds_directores"] = ds;
                }
            }

            if (mesa_cerrada)
            {
                RenderReport_directores();
            }
            else
            {
                MessageBox.Show(this, "No se pueden imprimir los certificados mientras la mesa no este cerrada.", MessageBox.Tipo_MessageBox.Warning);
            }
        }
Пример #8
0
        protected void btn_guardar_cerrar_mesa_Click(object sender, EventArgs e)
        {
            Validate("cerrar");
            if (IsValid)
            {
                using (HabProfDBContainer cxt = new HabProfDBContainer())
                {
                    int  mesa_id = Convert.ToInt32(hidden_cerrar_mesa_id.Value);
                    Mesa mesa    = cxt.Mesas.FirstOrDefault(mm => mm.mesa_id == mesa_id);
                    mesa.mesa_estado = "Cerrada";

                    foreach (GridViewRow fila in gv_cerrar_mesa_tesinas.Rows)
                    {
                        TextBox calificacion_tesina            = ((TextBox)fila.Cells[3].Controls[1]);
                        TextBox calificacion_director_tesina   = ((TextBox)fila.Cells[4].Controls[1]);
                        TextBox calificacion_codirector_tesina = ((TextBox)fila.Cells[5].Controls[1]);
                        //DropDownList estado_final_tesina = ((DropDownList)fila.Cells[5].Controls[1]);

                        int tesina_id = Convert.ToInt32(calificacion_tesina.AccessKey);

                        Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);
                        t.tesina_calificacion          = Convert.ToInt16(calificacion_tesina.Text);
                        t.tesina_calificacion_director = Convert.ToInt16(calificacion_director_tesina.Text);
                        if (t.Codirector != null)
                        {
                            t.tesina_calificacion_codirector = Convert.ToInt16(calificacion_codirector_tesina.Text);
                        }
                        string        estado_final = t.tesina_calificacion >= 6 ? "Aprobada" : "Desaprobada";
                        Estado_tesina et           = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == estado_final);
                        t.estado_tesis_id = et.estado_tesina_id;

                        foreach (Jurado jurado in mesa.Jueces)
                        {
                            t.Jueces.Add(jurado);
                        }

                        Historial_estado he = new Historial_estado()
                        {
                            estado_tesina_id             = et.estado_tesina_id,
                            historial_tesina_descripcion = "Estado final de la evaluación",
                            historial_tesina_fecha       = DateTime.Now,
                            tesina_id = t.tesina_id
                        };

                        cxt.Historial_estados.Add(he);
                    }



                    cxt.SaveChanges();

                    ObtenerMesas();

                    MessageBox.Show(this, "Se cerró correctamente la mesa.", MessageBox.Tipo_MessageBox.Success);
                }
            }
            else
            {
                string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#panel_cerrar_mesa').modal('show')});</script>";
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
            }
        }