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(); }
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); } } }
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(); }
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); } } }
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); } }
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; } }
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); } } } } }