Пример #1
0
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            int id_tesista = Convert.ToInt32(id_item_por_eliminar.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Tesista tesista = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);
                tesista.tesista_fecha_baja = DateTime.Today;

                if (
                    (tesista.Persona.Administrador == null || tesista.Persona.Administrador.administrador_fecha_baja != null) && //no tiene el perfil o esta dado de baja
                    (tesista.Persona.Director == null || tesista.Persona.Director.director_fecha_baja != null) &&                //no tiene el perfil o esta dado de baja
                    (tesista.Persona.Jurado == null || tesista.Persona.Jurado.juez_fecha_baja != null)                           //no tiene el perfil o esta dado de baja
                    )
                {
                    tesista.Persona.persona_usuario = "";
                    tesista.Persona.persona_clave   = "";
                }

                cxt.SaveChanges();
                MessageBox.Show(this, "Se ha inhabilitado correctamente al tesista " + tesista.Persona.persona_nomyap, MessageBox.Tipo_MessageBox.Success);
            }

            ObtenerTesistas();
        }
Пример #2
0
        protected void btn_habilitar_tesista_ServerClick(object sender, EventArgs e)
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                int     id_tesista = Convert.ToInt32(((HtmlButton)sender).Attributes["data-id"]);
                Tesista tesista    = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);
                if (tesista != null)
                {
                    tesista.tesista_fecha_baja = null;
                    cxt.SaveChanges();
                    MessageBox.Show(this, "Se habilitó correctamente al tesista " + tesista.Persona.persona_nomyap, MessageBox.Tipo_MessageBox.Success);
                }
            }

            ObtenerTesistas();
        }
        protected void btn_ver_ServerClick1(object sender, EventArgs e)
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                int id_tesista = Convert.ToInt32(((HtmlButton)sender).Attributes["data-id"]);

                Tesista tesista = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);
                if (tesista != null)
                {
                    lbl_sin_tesina.Visible         = false;
                    lbl_ver_tesista_dni.Text       = tesista.Persona.persona_dni.ToString();
                    lbl_ver_tesista_domicilio.Text = tesista.Persona.persona_domicilio;
                    lbl_ver_tesista_email.Text     = tesista.Persona.persona_email;
                    lbl_ver_tesista_legajo.Text    = tesista.tesista_legajo;
                    lbl_ver_tesista_nomyap.Text    = tesista.Persona.persona_nomyap;
                    lbl_ver_tesista_sede.Text      = tesista.tesista_sede;
                    lbl_ver_tesista_telefono.Text  = tesista.Persona.persona_telefono;

                    var tesinas             = (from t in tesista.Tesina select t).ToList();
                    var tesinas_para_grilla = (from t in tesinas
                                               select new
                    {
                        tesina_tema = t.tesina_tema,
                        tesina_director = t.Director.Persona.persona_nomyap,
                        tesina_tesista = t.Tesista.Persona.persona_nomyap,
                        tesina_codirector = t.Codirector == null ? "-" : t.Codirector.Persona.persona_nomyap,
                        tesina_nota = t.tesina_calificacion,
                        tesina_nota_director = t.tesina_calificacion_director,
                        tesina_nota_codirector = t.tesina_calificacion_codirector == null ? "-" : t.tesina_calificacion_codirector.ToString()
                    }).ToList();

                    if (tesinas_para_grilla.Count > 0)
                    {
                        gv_tesina.DataSource = tesinas_para_grilla;
                        gv_tesina.DataBind();
                    }
                    else
                    {
                        gv_tesina.DataSource = null;
                        gv_tesina.DataBind();
                    }

                    string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#panel_ver_tesista').modal('show')});</script>";
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
                }
            }
        }
Пример #4
0
        protected void btn_eliminacion_definitiva_Click(object sender, EventArgs e)
        {
            int id_tesista = Convert.ToInt32(id_item_por_eliminar_definitiva.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                try
                {
                    Tesista tesista = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);

                    if (tesista.Tesina != null)
                    {
                        MessageBox.Show(this, "No se puede eliminar un tesista que posee tesina asociada!");
                    }
                    else
                    {
                        tesista.tesista_baja_definitiva = DateTime.Today;
                        cxt.SaveChanges();
                        MessageBox.Show(this, "Se ha eliminado el tesista", MessageBox.Tipo_MessageBox.Success);
                    }
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }

                    MessageBox.Show(this, raise.Message, MessageBox.Tipo_MessageBox.Danger, "Ups! ocurrio un error al guardar los cambios");
                }
            }

            ObtenerTesistas();
        }
Пример #5
0
        protected void btn_editar_ServerClick(object sender, EventArgs e)
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                int id_tesista = Convert.ToInt32(((HtmlButton)sender).Attributes["data-id"]);

                Tesista tesista = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);
                if (tesista != null)
                {
                    tb_dni_tesista.Value       = tesista.Persona.persona_dni.ToString();
                    tb_domicilio.Value         = tesista.Persona.persona_domicilio;
                    tb_email.Value             = tesista.Persona.persona_email;
                    tb_nombre_tesista.Value    = tesista.Persona.persona_nomyap;
                    tb_telefono.Value          = tesista.Persona.persona_telefono;
                    tb_usuario.Value           = tesista.Persona.persona_usuario;
                    tr_pass_alta.Visible       = false;
                    tr_pass_edit.Visible       = true;
                    chk_cambiar_clave.Checked  = false;
                    tr_chk_change_pass.Visible = false;
                    tb_legajo.Value            = tesista.tesista_legajo;
                    tb_sede.Value = tesista.tesista_sede;
                    lbl_agregar_actualizar_tesista.Text = "Actualizar ";

                    tb_dni_tesista.Disabled  = true;
                    btn_chequear_dni.Visible = false;

                    btn_guardar.Visible = true;

                    tb_tabla_resto_campos.Visible = true;

                    hidden_id_tesista_editar.Value = tesista.tesista_id.ToString();

                    string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#agregar_tesista').modal('show')});</script>";
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
                }
            }
        }
Пример #6
0
        protected void btn_guardar_ServerClick(object sender, EventArgs e)
        {
            this.Validate("tesista");
            if (this.IsValid)
            {
                Persona usuario    = Session["UsuarioLogueado"] as Persona;
                int     id_tesista = Convert.ToInt32(hidden_id_tesista_editar.Value);

                int dni = 0;
                int.TryParse(tb_dni_tesista.Value, out dni);

                Persona p_tesista = null;
                Tesista tesista   = null;

                using (HabProfDBContainer cxt = new HabProfDBContainer())
                {
                    if (id_tesista != 0)
                    {
                        //abrio por editar tesista
                        tesista   = cxt.Tesistas.FirstOrDefault(pp => pp.tesista_id == id_tesista);
                        p_tesista = tesista.Persona;
                    }
                    else
                    {
                        p_tesista = cxt.Personas.FirstOrDefault(pp => pp.persona_dni == dni);
                        if (p_tesista != null)
                        {
                            tesista = p_tesista.Tesista;
                        }
                    }

                    //Agrego o actualizo la persona
                    if (p_tesista == null)
                    {
                        p_tesista = new Persona()
                        {
                            licenciatura_id        = usuario.licenciatura_id,
                            persona_nomyap         = tb_nombre_tesista.Value,
                            persona_dni            = dni,
                            persona_email          = tb_email.Value,
                            persona_email_validado = false,
                            persona_domicilio      = tb_domicilio.Value,
                            persona_telefono       = tb_telefono.Value,
                            persona_usuario        = tb_usuario.Value,
                            persona_clave          = Cripto.Encriptar(tb_dni_tesista.Value),
                            persona_estilo         = "Slate"
                        };
                        cxt.Personas.Add(p_tesista);
                    }
                    else
                    {
                        p_tesista.licenciatura_id        = usuario.licenciatura_id;
                        p_tesista.persona_nomyap         = tb_nombre_tesista.Value;
                        p_tesista.persona_dni            = dni;
                        p_tesista.licenciatura_id        = usuario.licenciatura_id;
                        p_tesista.persona_email          = tb_email.Value;
                        p_tesista.persona_email_validado = false;
                        p_tesista.persona_domicilio      = tb_domicilio.Value;
                        p_tesista.persona_telefono       = tb_telefono.Value;
                        p_tesista.persona_usuario        = tb_usuario.Value;
                        if (chk_cambiar_clave.Checked)
                        {
                            p_tesista.persona_clave = Cripto.Encriptar(tb_contraseña.Value);
                        }
                    }

                    bool tesista_nuevo = false;

                    //agrego o actualizo el tesista
                    if (tesista == null)
                    {
                        //no existe hago un insert
                        tesista = new Tesista()
                        {
                            Persona        = p_tesista,
                            tesista_legajo = tb_legajo.Value,
                            tesista_sede   = tb_sede.Value
                        };

                        tesista_nuevo = true;
                        cxt.Tesistas.Add(tesista);
                    }
                    else
                    {
                        //existe el tesista por lo tanto tambien la persona y ya fue editada
                        tesista.tesista_legajo = tb_legajo.Value;
                        tesista.tesista_sede   = tb_sede.Value;
                    }


                    try
                    {
                        cxt.SaveChanges();

                        if (file_tesis.HasFile)
                        {
                            string directorio = Server.MapPath("~/Archivos/Tesistas/" + tesista.tesista_id + "/");

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

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

                            string path_save_file = directorio + "plan" + extencion_origen;

                            file_tesis.SaveAs(path_save_file);
                        }

                        tb_dni_tesista.Value           = string.Empty;
                        tb_domicilio.Value             = string.Empty;
                        tb_email.Value                 = string.Empty;
                        tb_legajo.Value                = string.Empty;
                        tb_nombre_tesista.Value        = string.Empty;
                        tb_sede.Value                  = string.Empty;
                        tb_telefono.Value              = string.Empty;
                        hidden_id_tesista_editar.Value = "0";

                        if (tesista_nuevo)
                        {
                            Envio_mail registro_envio_mail = new Envio_mail()
                            {
                                persona_id            = p_tesista.persona_id,
                                envio_fecha_hora      = DateTime.Now,
                                envio_email_destino   = p_tesista.persona_email, //de haber mas de un destinatario separar por coma Ej: mail + "," + mail2 + "," + mail3
                                envio_respuesta_clave = Guid.NewGuid().ToString(),
                                envio_tipo            = MiEmail.tipo_mail.alta_tesista.ToString()
                            };

                            cxt.Envio_mails.Add(registro_envio_mail);
                            cxt.SaveChanges();

                            MiEmail mail = new MiEmail(registro_envio_mail);

                            mail.Enviar_mail();
                        }

                        MessageBox.Show(this, "Se guardó correctamente el tesista!", MessageBox.Tipo_MessageBox.Success, "Exito!");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(this, ex.Message, MessageBox.Tipo_MessageBox.Danger);
                    }
                }

                ObtenerTesistas();
            }
            else
            {
                string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#agregar_tesista').modal('show')});</script>";
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
            }
        }
Пример #7
0
        private void ObtenerTesinas()
        {
            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                gv_tesinas.Columns[2].Visible = true;
                Persona       usuario_logueado = Session["UsuarioLogueado"] as Persona;
                List <Tesina> tesinas          = new List <Tesina>();

                Automatizacion auto = new Aplicativo.Automatizacion();
                auto.Verificar_y_marcar_tesinas_vencidas();

                if (Session["Perfil"].ToString() == "Administrador")
                {                                                              //administrador: obtengo todas las tesinas
                    tesinas = (from t in cxt.Tesinas
                               where t.Tesista.tesista_baja_definitiva == null //&& (t.tesina_categoria == categoria || categoria == "Todas las categorias")
                               select t
                               ).ToList();
                    lbl_no_existe_tesina.InnerHtml = "<strong> No existen Tesinas!</strong> Pruebe agregar algunos para comenzar.";
                }
                else
                {
                    if (Session["Perfil"].ToString() == "Director")
                    {
                        //director: obtengo las tesinas asociadas al director
                        Director dire = cxt.Personas.FirstOrDefault(pp => pp.persona_id == usuario_logueado.persona_id).Director;
                        tesinas = (from t in cxt.Tesinas
                                   where (t.director_id == dire.director_id || t.codirector_id == dire.director_id) &&
                                   t.Tesista.tesista_baja_definitiva == null
                                   //&& (t.tesina_categoria == categoria || categoria == "Todas las categorias")
                                   select t
                                   ).ToList();

                        btn_agregar_tesina.Visible     = false;
                        lbl_small_titulo.Text          = "Listado de Tesinas bajo su supervisión";
                        lbl_no_existe_tesina.InnerHtml = "<strong> No existen Tesinas!</strong> Aún no tiene tesinas asignadas.";
                    }
                    else
                    {
                        //tesista: obtengo la tesina del tesista
                        Tesista tesista = cxt.Personas.FirstOrDefault(pp => pp.persona_id == usuario_logueado.persona_id).Tesista;
                        tesinas = (from t in cxt.Tesinas
                                   where t.tesista_id == tesista.tesista_id
                                   select t
                                   ).ToList();

                        btn_agregar_tesina.Visible     = false;
                        lbl_small_titulo.Text          = "Tesina presentada";
                        lbl_no_existe_tesina.InnerHtml = "<strong> No existe Tesina!</strong> Aún no se cargo su tesina.";
                    }
                }

                List <itemgrilla_tesina> tesinas_tema_recortado = (from t in tesinas
                                                                   where VerificarTesina(t) == true
                                                                   select new itemgrilla_tesina
                {
                    tesis_id = t.tesina_id,
                    tesista = t.Tesista.Persona.persona_nomyap,
                    director = t.Director.Persona.persona_nomyap,
                    tema_recortado = t.tesina_tema.Length > 20 ? t.tesina_tema.Substring(0, 20) + "..." : t.tesina_tema,
                    tema_completo = t.tesina_tema,
                    categoria = t.tesina_categoria,
                    estado = t.Estado.estado_tesina_estado,
                    prioridad_orden = Obtener_prioridad(t.Estado.estado_tesina_estado)
                }).OrderBy(ii => ii.prioridad_orden).ToList();

                if (tesinas_tema_recortado.Count > 0)
                {
                    gv_tesinas.DataSource = tesinas_tema_recortado;
                    gv_tesinas.DataBind();
                    lbl_sin_tesinas.Visible                       = false;
                    div_filtro_categorias.Visible                 = true;
                    lbl_titulo_filtro_categoria.Visible           = true;
                    lbl_no_existen_tesinas_con_ese_filtro.Visible = false;
                    if ((rb_categoria.Checked && ddl_categorias.SelectedItem.Text != "Todas las categorias"))
                    {
                        gv_tesinas.Columns[2].Visible = false;
                    }
                }
                else
                {
                    gv_tesinas.DataSource = null;
                    gv_tesinas.DataBind();
                    if (tesinas.Count == 0)
                    {
                        lbl_sin_tesinas.Visible             = true;
                        div_filtro_categorias.Visible       = false;
                        lbl_titulo_filtro_categoria.Visible = false;
                    }
                    else
                    {
                        lbl_no_existen_tesinas_con_ese_filtro.Visible = true;
                    }
                }

                //no muestro la columna prioridad
                gv_tesinas.Columns[0].Visible = false;

                //si no es administrador escondo la columna para eliminar o editar la tesina y el baner de que no existen tesinas
                if (Session["Perfil"].ToString() != "Administrador")
                {
                    gv_tesinas.Columns[6].Visible = false;
                    lbl_sin_tesinas.Visible       = false;
                }
            }

            if (rb_grupo.Checked)
            {
                lbl_categoria_seleccionada.InnerHtml = "Mostrando resultados de filtrar por el grupo: <b>" + ddl_grupos.SelectedItem.Text + "</b>.";
                rb_grupo.Checked = true;
            }
            else
            {
                lbl_categoria_seleccionada.InnerHtml = "Mostrando resultados de filtrar por la categoria: <b>" + ddl_categorias.SelectedItem.Text + "</b>.";
                rb_categoria.Checked = true;
            }
        }
Пример #8
0
        protected void btn_importar_Click(object sender, EventArgs e)
        {
            this.Validate("tesista");
            if (this.IsValid)
            {
                Persona usuario = Session["UsuarioLogueado"] as Persona;

                foreach (GridViewRow fila in gv_tesistas.Rows)
                {
                    int dni = Convert.ToInt32(((HtmlInputText)fila.Cells[0].Controls[1]).Value);

                    Persona p_tesista = null;
                    Tesista tesista   = null;

                    using (HabProfDBContainer cxt = new HabProfDBContainer())
                    {
                        p_tesista = cxt.Personas.FirstOrDefault(pp => pp.persona_dni == dni);

                        if (p_tesista != null)
                        {
                            tesista = p_tesista.Tesista;
                        }

                        //Agrego o actualizo la persona
                        if (p_tesista == null)
                        {
                            p_tesista = new Persona()
                            {
                                licenciatura_id        = usuario.licenciatura_id,
                                persona_nomyap         = ((HtmlInputText)fila.Cells[1].Controls[1]).Value,
                                persona_dni            = dni,
                                persona_email          = ((HtmlInputText)fila.Cells[2].Controls[1]).Value,
                                persona_email_validado = false,
                                persona_domicilio      = ((HtmlInputText)fila.Cells[3].Controls[1]).Value,
                                persona_telefono       = ((HtmlInputText)fila.Cells[4].Controls[1]).Value,
                                persona_usuario        = dni.ToString(),
                                persona_clave          = Cripto.Encriptar(dni.ToString()),
                                persona_estilo         = "Slate"
                            };
                            cxt.Personas.Add(p_tesista);
                        }
                        else
                        {
                            p_tesista.licenciatura_id        = usuario.licenciatura_id;
                            p_tesista.persona_nomyap         = ((HtmlInputText)fila.Cells[1].Controls[1]).Value;
                            p_tesista.persona_dni            = dni;
                            p_tesista.licenciatura_id        = usuario.licenciatura_id;
                            p_tesista.persona_email          = ((HtmlInputText)fila.Cells[2].Controls[1]).Value;
                            p_tesista.persona_email_validado = false;
                            p_tesista.persona_domicilio      = ((HtmlInputText)fila.Cells[3].Controls[1]).Value;
                            p_tesista.persona_telefono       = ((HtmlInputText)fila.Cells[4].Controls[1]).Value;
                            p_tesista.persona_usuario        = dni.ToString();
                            p_tesista.persona_clave          = Cripto.Encriptar(dni.ToString());
                        }

                        //agrego o actualizo el tesista
                        if (tesista == null)
                        {
                            //no existe hago un insert
                            tesista = new Tesista()
                            {
                                Persona        = p_tesista,
                                tesista_legajo = ((HtmlInputText)fila.Cells[5].Controls[1]).Value,
                                tesista_sede   = ((HtmlInputText)fila.Cells[6].Controls[1]).Value
                            };

                            cxt.Tesistas.Add(tesista);
                        }
                        else
                        {
                            //existe el tesista por lo tanto tambien la persona y ya fue editada
                            tesista.tesista_legajo = ((HtmlInputText)fila.Cells[5].Controls[1]).Value;
                            tesista.tesista_sede   = ((HtmlInputText)fila.Cells[6].Controls[1]).Value;
                        }


                        try
                        {
                            cxt.SaveChanges();

                            gv_tesistas.DataSource = null;
                            gv_tesistas.DataBind();

                            MessageBox.Show(this, "Se guardaron correctamente los tesistas!", MessageBox.Tipo_MessageBox.Success, "Exito!", "admin_tesistas.aspx");
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(this, ex.Message, MessageBox.Tipo_MessageBox.Danger);
                        }
                    }
                }
            }
        }