private void ObtenerTesistas()
        {
            using (HabProfDBContainer cxt = new Aplicativo.HabProfDBContainer())
            {
                Estado_tesina et_vencida     = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Vencida");
                Estado_tesina et_lista       = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Lista para presentar");
                Estado_tesina et_aprobada    = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Aprobada");
                Estado_tesina et_desaprobada = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Desaprobada");

                List <Tesina> tesinas = cxt.Tesinas.Where(tt =>
                                                          tt.estado_tesis_id != et_lista.estado_tesina_id &&
                                                          tt.estado_tesis_id != et_aprobada.estado_tesina_id &&
                                                          tt.estado_tesis_id != et_desaprobada.estado_tesina_id
                                                          ).ToList();

                var tesistas_con_tesinas_de_mas_de_dos_años_de_antiguedad = (from tesina in tesinas
                                                                             where
                                                                             tesina.Historial_estados.Min(he => he.historial_tesina_fecha) <= DateTime.Today.AddYears(-2)
                                                                             select tesina.Tesista).ToList();

                var tesistas = (
                    from t in tesistas_con_tesinas_de_mas_de_dos_años_de_antiguedad
                    where t.tesista_baja_definitiva == null
                    select new
                {
                    tesista_id = t.tesista_id,
                    persona_nomyap = t.Persona.persona_nomyap,
                    persona_dni = t.Persona.persona_dni,
                    persona_email = t.Persona.persona_email,
                    tesista_legajo = t.tesista_legajo,
                    tesista_sede = t.tesista_sede,
                    fecha_baja = t.tesista_fecha_baja
                }).ToList();

                var tesistas_estado_activo_inactivo = (from t in tesistas
                                                       select new
                {
                    tesista_id = t.tesista_id,
                    persona_nomyap = t.persona_nomyap,
                    persona_dni = t.persona_dni,
                    persona_email = t.persona_email,
                    tesista_legajo = t.tesista_legajo,
                    tesista_sede = t.tesista_sede
                }).OrderBy(t => t.persona_nomyap).ToList();

                if (tesistas.Count() > 0)
                {
                    gv_tesistas.DataSource = tesistas_estado_activo_inactivo;
                    gv_tesistas.DataBind();
                    lbl_sin_tesistas.Visible = false;
                }
                else
                {
                    lbl_sin_tesistas.Visible = true;
                    gv_tesistas.DataSource   = null;
                    gv_tesistas.DataBind();
                }
            }
        }
Example #2
0
        private void CargarTesinas()
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                List <string> id_tesinas          = hidden_tesinas_seleccionadas.Value.Split(',').ToList();
                List <int>    items_seleccionados = new List <int>();
                foreach (string id in id_tesinas)
                {
                    int id_tesina;
                    if (int.TryParse(id, out id_tesina))
                    {
                        items_seleccionados.Add(id_tesina);
                    }
                }

                Estado_tesina et = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Lista para presentar");

                var tesinas = (from t in cxt.Tesinas
                               where t.estado_tesis_id == et.estado_tesina_id && t.Tesista.tesista_baja_definitiva == null
                               select t).ToList();

                var tesinas_sin_baja = (from t in tesinas
                                        select new item_tesina
                {
                    tesina_id = t.tesina_id,
                    tesina_tema = t.tesina_tema,
                    tesina_descripcion = t.tesina_descripcion,
                    tesina_director = t.Director.Persona.persona_nomyap,
                    tesina_tesista = t.Tesista.Persona.persona_nomyap,
                    seleccionada = (items_seleccionados.IndexOf(t.tesina_id) > -1)
                }).ToList();

                if (tesinas_sin_baja.Count() > 0)
                {
                    gv_seleccionar_tesinas.DataSource = tesinas_sin_baja;
                    gv_seleccionar_tesinas.DataBind();
                }
                else
                {
                    gv_seleccionar_tesinas.DataSource = null;
                    gv_seleccionar_tesinas.DataBind();
                }
            }
        }
Example #3
0
        public List <Tesina> Obtener_tesinas_por_notificar()
        {
            List <Tesina> ret = new List <Tesina>();

            Verificar_y_marcar_tesinas_vencidas();

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Estado_tesina et_vencida     = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Vencida");
                Estado_tesina et_lista       = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Lista para presentar");
                Estado_tesina et_aprobada    = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Aprobada");
                Estado_tesina et_desaprobada = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Desaprobada");

                DateTime fecha_actual = DateTime.Today;

                List <Tesina> tesinas = cxt.Tesinas.Include("Estado").Include("Tesista").Include("Tesista.Persona").Where(tt =>
                                                                                                                          tt.estado_tesis_id != et_vencida.estado_tesina_id &&
                                                                                                                          tt.estado_tesis_id != et_lista.estado_tesina_id &&
                                                                                                                          tt.estado_tesis_id != et_aprobada.estado_tesina_id &&
                                                                                                                          tt.estado_tesis_id != et_desaprobada.estado_tesina_id
                                                                                                                          ).ToList();

                foreach (Tesina tesina in tesinas)
                {
                    //multiplo de avisos automáticos
                    int multiplo = 0;

                    //al salir de aca el multiplo es uno mas que el necesario es decir, el multiplo por el periodo entre avisos nos da la fecha del proximo envio
                    while (tesina.tesina_plan_fch_presentacion.AddMonths(tesina.tesina_plan_aviso_meses * multiplo) <= fecha_actual)
                    {
                        multiplo++;
                    }

                    //descuento uno para obtener la fecha en la que se tuvo que haber enviado la ultima vez
                    multiplo--;

                    //si multiplo es mayor que cero quiere decir que deberia de enviar el aviso, si es que no se envió todavia
                    if (multiplo > 0)
                    {
                        //busco en el periodo (fecha_presentacion + (multiplo * periodo_aviso)) y fecha_actual si se realizaron envios, de no ser asi tengo que realizar el envio
                        DateTime desde = tesina.tesina_plan_fch_presentacion.AddMonths(multiplo * tesina.tesina_plan_aviso_meses);
                        DateTime hasta = fecha_actual;

                        List <Envio_mail> envios_automaticos = cxt.Envio_mails.Where(eemm => eemm.persona_id == tesina.Tesista.Persona.persona_id &&
                                                                                     eemm.envio_tipo == "notificacion_recordatorio_automatico").ToList();

                        bool enviar = (from ea in envios_automaticos
                                       where
                                       ea.envio_fecha_hora.Date >= desde &&
                                       ea.envio_fecha_hora.Date <= hasta
                                       select ea).Count() == 0;

                        if (enviar)
                        {
                            ret.Add(tesina);
                        }
                    }
                }
            }

            return(ret);
        }
Example #4
0
        /// <summary>
        /// Verifico y marco como vencidas las tesinas que no esten en estado vencida, lista para presentar, aprobadas o desaprobadas.
        /// Ver el tema de si vencer o no las que se presentaron para corregir y estan en poder del director o administrador
        /// </summary>
        public void Verificar_y_marcar_tesinas_vencidas()
        {
            using (HabProfDBContainer cxt = new Aplicativo.HabProfDBContainer())
            {
                Estado_tesina et_vencida     = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Vencida");
                Estado_tesina et_lista       = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Lista para presentar");
                Estado_tesina et_aprobada    = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Aprobada");
                Estado_tesina et_desaprobada = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Desaprobada");

                List <Tesina> tesinas = cxt.Tesinas.Where(tt =>
                                                          tt.estado_tesis_id != et_vencida.estado_tesina_id &&
                                                          tt.estado_tesis_id != et_lista.estado_tesina_id &&
                                                          tt.estado_tesis_id != et_aprobada.estado_tesina_id &&
                                                          tt.estado_tesis_id != et_desaprobada.estado_tesina_id
                                                          ).ToList();

                foreach (Tesina tesina in tesinas)
                {
                    DateTime fecha_vencimiento = tesina.tesina_plan_fch_presentacion.AddMonths(tesina.tesina_plan_duracion_meses);
                    if (fecha_vencimiento < DateTime.Today)
                    {
                        tesina.Historial_estados.Add(new Historial_estado()
                        {
                            estado_tesina_id = et_vencida.estado_tesina_id, historial_tesina_fecha = fecha_vencimiento, historial_tesina_descripcion = "Se venció el plazo para presentar una tesina lista para evaluar"
                        });
                        tesina.estado_tesis_id = et_vencida.estado_tesina_id;

                        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_tesina_vencida.ToString()
                        };
                        cxt.Envio_mails.Add(em_director);

                        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_tesina_vencida.ToString()
                        };
                        cxt.Envio_mails.Add(em_tesista);

                        MiEmail me_director = new MiEmail(em_director, tesina);
                        MiEmail me_tesista  = new MiEmail(em_tesista, tesina);

                        me_director.Enviar_mail();
                        me_tesista.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_tesina_vencida.ToString()
                            };
                            cxt.Envio_mails.Add(em_codirector);
                            MiEmail me_codirector = new MiEmail(em_codirector, tesina);
                            me_codirector.Enviar_mail();
                        }

                        cxt.SaveChanges();
                    }
                }
            }
        }
Example #5
0
        protected void btn_prorrogar_Click(object sender, EventArgs e)
        {
            int tesina_id = Convert.ToInt32(hidden_tesina_id.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);

                Estado_tesina et = cxt.Estados_tesinas.FirstOrDefault(ee => ee.estado_tesina_estado == "Prorrogar");

                Historial_estado he = new Historial_estado()
                {
                    estado_tesina_id             = et.estado_tesina_id,
                    tesina_id                    = tesina_id,
                    historial_tesina_fecha       = DateTime.Now,
                    historial_tesina_descripcion = "Se otorgo la prorroga solicitada"
                };

                t.estado_tesis_id = et.estado_tesina_id;
                t.tesina_plan_fch_presentacion = Convert.ToDateTime(tb_fecha_inicio.Value);
                t.tesina_plan_duracion_meses   = Convert.ToInt16(tb_duracion.Value);
                t.tesina_plan_aviso_meses      = Convert.ToInt16(tb_notificacion.Value);
                cxt.Historial_estados.Add(he);

                Envio_mail em_director = new Envio_mail()
                {
                    persona_id            = t.Director.Persona.persona_id,
                    envio_email_destino   = t.Director.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_tesina_prorrogada.ToString()
                };
                cxt.Envio_mails.Add(em_director);

                Envio_mail em_tesista = new Envio_mail()
                {
                    persona_id            = t.Tesista.Persona.persona_id,
                    envio_email_destino   = t.Tesista.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_tesina_prorrogada.ToString()
                };
                cxt.Envio_mails.Add(em_tesista);

                MiEmail me_director = new MiEmail(em_director, t);
                MiEmail me_tesista  = new MiEmail(em_tesista, t);

                me_director.Enviar_mail();
                me_tesista.Enviar_mail();

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

                cxt.SaveChanges();

                tb_fecha_inicio.Value = "";
                tb_duracion.Value     = "";
                tb_notificacion.Value = "";

                ObtenerTesinas();
            }
        }
Example #6
0
        protected void btn_pasar_a_lista_para_presentar_Click(object sender, EventArgs e)
        {
            int tesina_id = Convert.ToInt32(hidden_tesina_id.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);

                Estado_tesina et = cxt.Estados_tesinas.FirstOrDefault(ee => ee.estado_tesina_estado == "Lista para presentar");

                string descripcion = "Esta lista para presentar";

                Historial_estado he = new Historial_estado()
                {
                    estado_tesina_id             = et.estado_tesina_id,
                    tesina_id                    = tesina_id,
                    historial_tesina_fecha       = DateTime.Now,
                    historial_tesina_descripcion = descripcion
                };

                t.estado_tesis_id = et.estado_tesina_id;
                cxt.Historial_estados.Add(he);

                #region envio de mails
                Envio_mail em_director = new Envio_mail()
                {
                    persona_id            = t.Director.Persona.persona_id,
                    envio_email_destino   = t.Director.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_tesina_lista_para_presentar.ToString()
                };
                cxt.Envio_mails.Add(em_director);
                MiEmail me_director = new MiEmail(em_director, t);
                me_director.Enviar_mail();

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

                Envio_mail em_tesista = new Envio_mail()
                {
                    persona_id            = t.Tesista.Persona.persona_id,
                    envio_email_destino   = t.Tesista.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_tesina_lista_para_presentar_tesista.ToString()
                };
                cxt.Envio_mails.Add(em_tesista);
                MiEmail me_tesista = new MiEmail(em_tesista, t);
                me_tesista.Enviar_mail();

                List <Persona> administradores = t.Tesista.Persona.Licenciatura.Personas.Where(pp => pp.Administrador != null).ToList();
                //tomo el primer administrador para asociar el envio de correo pero el mail al cual mando es el mail asociado a la licenciatura
                Envio_mail em_admin = new Envio_mail()
                {
                    persona_id            = administradores[0].persona_id,
                    envio_email_destino   = t.Tesista.Persona.Licenciatura.licenciatura_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_tesina_lista_para_presentar.ToString()
                };

                cxt.Envio_mails.Add(em_admin);
                MiEmail me_admin = new MiEmail(em_admin, t);
                me_admin.Enviar_mail();


                #endregion

                cxt.SaveChanges();

                ObtenerTesinas();
            }
        }
Example #7
0
        protected void btn_enviar_a_corregir_Click(object sender, EventArgs e)
        {
            int tesina_id = Convert.ToInt32(hidden_tesina_id.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);

                Estado_tesina et = cxt.Estados_tesinas.FirstOrDefault(ee => ee.estado_tesina_estado == "Observada");

                string descripcion = string.Empty;
                descripcion = descripcion + (opcion_1.Checked ? opcion_1.Text : "");
                descripcion = descripcion + (opcion_2.Checked ? opcion_2.Text : "");
                descripcion = descripcion + (opcion_3.Checked ? opcion_3.Text : "");

                Historial_estado he = new Historial_estado()
                {
                    estado_tesina_id             = et.estado_tesina_id,
                    tesina_id                    = tesina_id,
                    historial_tesina_fecha       = DateTime.Now,
                    historial_tesina_descripcion = descripcion//tb_descripcion_rechazo.Value
                };

                t.estado_tesis_id = et.estado_tesina_id;
                cxt.Historial_estados.Add(he);

                Envio_mail em_director = new Envio_mail()
                {
                    persona_id            = t.Director.Persona.persona_id,
                    envio_email_destino   = t.Director.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_correcciones_tesina.ToString()
                };
                cxt.Envio_mails.Add(em_director);

                Envio_mail em_tesista = new Envio_mail()
                {
                    persona_id            = t.Tesista.Persona.persona_id,
                    envio_email_destino   = t.Tesista.Persona.persona_email,
                    envio_fecha_hora      = DateTime.Now,
                    envio_respuesta_clave = "no se usa",
                    envio_tipo            = MiEmail.tipo_mail.notificacion_correcciones_tesina.ToString()
                };
                cxt.Envio_mails.Add(em_tesista);

                MiEmail me_director = new MiEmail(em_director, t);
                MiEmail me_tesista  = new MiEmail(em_tesista, t);

                me_director.Enviar_mail();
                me_tesista.Enviar_mail();

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

                cxt.SaveChanges();

                //tb_descripcion_rechazo.Value = "";

                ObtenerTesinas();
            }
        }
Example #8
0
        protected void btn_subir_archivo_Click(object sender, EventArgs e)
        {
            if (file_tesis.HasFile)
            {
                try
                {
                    string directorio = Server.MapPath("~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/");

                    if (!Directory.Exists(directorio))
                    {
                        Directory.CreateDirectory(directorio);
                    }

                    string extencion_origen = Path.GetExtension(file_tesis.FileName);

                    string path_save_file = directorio + "presentado" + extencion_origen;

                    file_tesis.SaveAs(path_save_file);

                    using (HabProfDBContainer cxt = new HabProfDBContainer())
                    {
                        int           tesina_id = Convert.ToInt32(hidden_tesina_id.Value);
                        Tesina        t         = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id);
                        Estado_tesina et        = cxt.Estados_tesinas.FirstOrDefault(ee => ee.estado_tesina_estado == "Entregada");

                        Historial_estado he = new Historial_estado()
                        {
                            estado_tesina_id             = et.estado_tesina_id,
                            tesina_id                    = tesina_id,
                            historial_tesina_fecha       = DateTime.Now,
                            historial_tesina_descripcion = "Se entregó satisfactoriamente la tesina para ser evaluada por el director."
                        };

                        t.estado_tesis_id = et.estado_tesina_id;
                        cxt.Historial_estados.Add(he);

                        Envio_mail em_director = new Envio_mail()
                        {
                            persona_id            = t.Director.Persona.persona_id,
                            envio_email_destino   = t.Director.Persona.persona_email,
                            envio_fecha_hora      = DateTime.Now,
                            envio_respuesta_clave = "Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado" + extencion_origen,
                            envio_tipo            = MiEmail.tipo_mail.notificacion_entrega_archivo_tesina.ToString()
                        };
                        cxt.Envio_mails.Add(em_director);

                        Envio_mail em_tesista = new Envio_mail()
                        {
                            persona_id            = t.Tesista.Persona.persona_id,
                            envio_email_destino   = t.Tesista.Persona.persona_email,
                            envio_fecha_hora      = DateTime.Now,
                            envio_respuesta_clave = "Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado" + extencion_origen,
                            envio_tipo            = MiEmail.tipo_mail.notificacion_entrega_archivo_tesina.ToString()
                        };
                        cxt.Envio_mails.Add(em_tesista);

                        MiEmail me_director = new MiEmail(em_director, t);
                        MiEmail me_tesista  = new MiEmail(em_tesista, t);

                        me_director.Enviar_mail();
                        me_tesista.Enviar_mail();

                        if (t.Codirector != null)
                        {
                            Envio_mail em_codirector = new Envio_mail()
                            {
                                persona_id            = t.Codirector.Persona.persona_id,
                                envio_email_destino   = t.Codirector.Persona.persona_email,
                                envio_fecha_hora      = DateTime.Now,
                                envio_respuesta_clave = "Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado" + extencion_origen,
                                envio_tipo            = MiEmail.tipo_mail.notificacion_entrega_archivo_tesina.ToString()
                            };
                            cxt.Envio_mails.Add(em_codirector);
                            MiEmail me_codirector = new MiEmail(em_codirector, t);
                            me_codirector.Enviar_mail();
                        }

                        cxt.SaveChanges();

                        ObtenerTesinas();
                    }
                }
                catch (Exception ex)
                {
                    //    status_label.Text = "Ocurrio un error y no se pudo subir el archivo. Error: " + ex.Message;
                    //    div_status_file.Attributes.Add("class", "alert alert-danger");
                }
            }
            else
            {
                //status_label.Text = "Debe seleccionar un archivo!";
                //div_status_file.Attributes.Add("class", "alert alert-danger");
            }
        }
Example #9
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);
            }
        }
Example #10
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);
            }
        }