public void Enviar_notificaciones(List <Tesina> tesinas) { using (HabProfDBContainer cxt = new HabProfDBContainer()) { foreach (Tesina tesina in tesinas) { Tesina tesina_cxt = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina.tesina_id); Envio_mail registro_envio_mail_notificacion = new Envio_mail() { persona_id = tesina_cxt.Tesista.Persona.persona_id, envio_fecha_hora = DateTime.Now, envio_email_destino = tesina_cxt.Tesista.Persona.persona_email, envio_respuesta_clave = "no se usa", envio_tipo = MiEmail.tipo_mail.notificacion_recordatorio_automatico.ToString() }; cxt.Envio_mails.Add(registro_envio_mail_notificacion); MiEmail mail = new MiEmail(registro_envio_mail_notificacion, tesina); if (mail.Enviar_mail()) { cxt.SaveChanges(); } } } }
protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e) { int id_mesa = Convert.ToInt32(id_item_por_eliminar.Value); using (HabProfDBContainer cxt = new HabProfDBContainer()) { Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa); if (mesa.mesa_estado == "Generada") { 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); } cxt.Mesas.Remove(mesa); cxt.SaveChanges(); MessageBox.Show(this, "Se ha eliminado correctamente la mesa", MessageBox.Tipo_MessageBox.Success); } else { MessageBox.Show(this, "No se puede eliminar una mesa que tenga estado distinta de Generada", MessageBox.Tipo_MessageBox.Danger); } } ObtenerMesas(); }
public MiEmail(Envio_mail mail, Tesina t) { using (HabProfDBContainer cxt = new Aplicativo.HabProfDBContainer()) { Persona p = cxt.Personas.FirstOrDefault(pp => pp.persona_id == mail.persona_id); Tipo_mail = (tipo_mail)Enum.Parse(typeof(tipo_mail), mail.envio_tipo); Smtp_client = p.Licenciatura.Servidor.servidor_smtp_host; Smtp_puerto = p.Licenciatura.Servidor.servidor_smtp_port; Persona_nombre = p.persona_nomyap; Persona_usuario = p.persona_usuario; Persona_pass = Cripto.Desencriptar(p.persona_clave); Url_respuesta = ConfigurationManager.AppSettings["direccion_localhost_raiz"] + "landing_mail.aspx?tipo_mail=" + mail.envio_tipo + "&clave=" + mail.envio_respuesta_clave; Credenciales_mail = p.Licenciatura.licenciatura_email; Credenciales_contraseña = p.Licenciatura.licenciatura_email_clave; Destinatarios = new List <string>(mail.envio_email_destino.Replace(" ", "").Split(',')); //datos extra para el envio de mails Director_mail = t.Director.Persona.persona_email; Director_nombre = t.Director.Persona.persona_nomyap; Codirector_mail = t.Codirector != null ? t.Codirector.Persona.persona_email : "-"; Codirector_nombre = t.Codirector != null ? t.Codirector.Persona.persona_nomyap : "-"; Tesista_mail = t.Tesista.Persona.persona_email; Tesista_nombre = t.Tesista.Persona.persona_nomyap; Tesis_fecha_limite = t.tesina_plan_fch_presentacion.AddMonths(t.tesina_plan_duracion_meses - 1).ToShortDateString(); Tesis_periodo_notificaciones = t.tesina_plan_aviso_meses.ToString(); Tesis_tema = t.tesina_tema; Tesis_Url_archivo = ConfigurationManager.AppSettings["direccion_localhost_raiz"] + mail.envio_respuesta_clave; Tesis_meses_restantes = Math.Abs((t.tesina_plan_fch_presentacion.AddMonths(t.tesina_plan_duracion_meses).Month - DateTime.Today.Month) + 12 * (t.tesina_plan_fch_presentacion.AddMonths(t.tesina_plan_duracion_meses).Year - DateTime.Today.Year)) - 1; } }
protected void btn_editar_ServerClick(object sender, EventArgs e) { using (var cxt = new HabProfDBContainer()) { string id_tesina = ((HtmlButton)sender).Attributes["data-id"]; int id_tesina_int = Convert.ToInt32(id_tesina); Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == id_tesina_int); if (t.Estado.estado_tesina_estado == "Iniciada") { Response.Redirect("~/Aplicativo/admin_tesina.aspx?t=" + id_tesina); } else { MessageBox.Show(this, "No se puede editar la tesina en un estado distinto a Iniciada", MessageBox.Tipo_MessageBox.Danger); } } }
protected void btn_aceptar_seleccion_tesina_Click(object sender, EventArgs e) { List <item_tesina> items_seleccionados = new List <item_tesina>(); string texto_para_el_hidden = string.Empty; using (HabProfDBContainer cxt = new HabProfDBContainer()) { foreach (GridViewRow fila in gv_seleccionar_tesinas.Rows) { CheckBox chk = ((CheckBox)fila.Cells[3].Controls[1]); if (chk.Checked) { int tesina_id = Convert.ToInt32(chk.AccessKey); Tesina t = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == tesina_id); items_seleccionados.Add(new item_tesina() { tesina_id = t.tesina_id, tesina_tema = t.tesina_tema, tesina_director = t.Director.Persona.persona_nomyap, tesina_tesista = t.Tesista.Persona.persona_nomyap }); texto_para_el_hidden = texto_para_el_hidden + chk.AccessKey + ","; } } } hidden_tesinas_seleccionadas.Value = texto_para_el_hidden; if (items_seleccionados.Count > 0) { gv_tesinas_seleccionadas.DataSource = items_seleccionados; gv_tesinas_seleccionadas.DataBind(); } else { gv_tesinas_seleccionadas.DataSource = null; gv_tesinas_seleccionadas.DataBind(); } }
private bool VerificarTesina(Tesina t) { bool ret = false; if (rb_grupo.Checked) { if (ddl_grupos.SelectedValue == "Todos los grupos") { ret = true; } else { int grupo = Convert.ToInt32(ddl_grupos.SelectedValue.Substring(0, 2)); int categoria_tesina = Convert.ToInt32(t.tesina_categoria.Substring(0, 4)); if (categoria_tesina >= grupo * 100 && categoria_tesina < (grupo + 1) * 100) { ret = true; } } } else { if (ddl_categorias.SelectedValue == "Todas las categorias") { ret = true; } else { if (ddl_categorias.SelectedItem.Text == t.tesina_categoria) { ret = true; } } } return(ret); }
protected void btn_ver_ServerClick(object sender, EventArgs e) { int id_tesina = Convert.ToInt32(((HtmlButton)sender).Attributes["data-id"]); if (id_tesina != 0) { using (HabProfDBContainer cxt = new HabProfDBContainer()) { hidden_tesina_id.Value = id_tesina.ToString(); Tesina tesina = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == id_tesina); lbl_alta.Text = tesina.tesina_plan_fch_presentacion.ToShortDateString(); lbl_calificacion.Text = tesina.tesina_calificacion == null ? "-" : tesina.tesina_calificacion.ToString(); lbl_calificacion_director.Text = tesina.tesina_calificacion_director == null ? "-" : tesina.tesina_calificacion_director.ToString(); lbl_calificacion_codirector.Text = tesina.tesina_calificacion_codirector == null ? "-" : tesina.tesina_calificacion_codirector.ToString(); lbl_descripcion.Text = tesina.tesina_descripcion; lbl_director.Text = tesina.Director.Persona.persona_nomyap; lbl_codirector.Text = tesina.Codirector != null ? tesina.Codirector.Persona.persona_nomyap : " - "; lbl_duracion.Text = tesina.tesina_plan_duracion_meses.ToString() + " meses."; lbl_estado.Text = tesina.Estado.estado_tesina_estado; lbl_observaciones_estado.Text = tesina.Historial_estados.FirstOrDefault(hhee => hhee.historial_tesina_id == tesina.Historial_estados.Max(hist => hist.historial_tesina_id)).historial_tesina_descripcion; lbl_periodo_notificaciones.Text = tesina.tesina_plan_aviso_meses.ToString() + " meses."; lbl_tema.Text = tesina.tesina_tema; lbl_tesista.Text = tesina.Tesista.Persona.persona_nomyap; string archivo = Server.MapPath("~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.pdf"); string archivo1 = Server.MapPath("~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.doc"); string archivo2 = Server.MapPath("~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.docx"); if (File.Exists(archivo)) { lbl_archivo_subido.HRef = "~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.pdf"; lbl_archivo_subido.InnerText = "Archivo presentado"; lbl_archivo_subido.Target = "_blank"; } else { if (File.Exists(archivo1)) { lbl_archivo_subido.HRef = "~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.doc"; lbl_archivo_subido.InnerText = "Archivo presentado"; lbl_archivo_subido.Target = "_blank"; } else { if (File.Exists(archivo2)) { lbl_archivo_subido.HRef = "~/Archivos/Tesinas/" + hidden_tesina_id.Value + "/presentado.docx"; lbl_archivo_subido.InnerText = "Archivo presentado"; lbl_archivo_subido.Target = "_blank"; } else { lbl_archivo_subido.HRef = "#"; lbl_archivo_subido.InnerText = "Sin presentaciones"; lbl_archivo_subido.Target = "_self"; } } } foreach (Jurado jurado in tesina.Jueces) { lbl_jueces_tesina_visualizacion.Text = lbl_jueces_tesina_visualizacion.Text + jurado.Persona.persona_nomyap + "; "; } var historial = (from he in tesina.Historial_estados select new { fecha = he.historial_tesina_fecha, estado = he.Estado.estado_tesina_estado, observacion_completa = he.historial_tesina_descripcion }).OrderByDescending(hhee => hhee.fecha).ToList(); var historial_con_observacion_recortada = (from he in historial select new { fecha = he.fecha, estado = he.estado, observacion_completa = he.observacion_completa, observacion_recortada = he.observacion_completa.Length > 40 ? he.observacion_completa.Substring(0, 40) + "..." : he.observacion_completa }).ToList(); gv_historial.DataSource = historial_con_observacion_recortada; gv_historial.DataBind(); string script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#panel_ver_tesina').modal('show')});</script>"; ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false); } } }
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(); } }
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(); } }
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(); } }
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"); } }
private void Mostrar_botones_segun_estado() { 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); btn_realizar_entrega.Visible = false; btn_devolver_para_corregir.Visible = false; btn_lista_para_presentar.Visible = false; btn_prorroga.Visible = false; switch (t.Estado.estado_tesina_estado) { case "Iniciada": if (Session["Perfil"].ToString() != "Director") { btn_realizar_entrega.Visible = true; } break; case "Entregada": if (Session["Perfil"].ToString() != "Tesista") { btn_devolver_para_corregir.Visible = true; btn_lista_para_presentar.Visible = true; } break; case "Observada": if (Session["Perfil"].ToString() != "Director") { btn_realizar_entrega.Visible = true; } break; case "Lista para presentar": //if (Session["Perfil"].ToString() == "Administrador") //{ // btn_aprobar.Visible = true; // btn_desaprobar.Visible = true; //} break; case "Vencida": if (Session["Perfil"].ToString() == "Administrador") { btn_prorroga.Visible = true; } break; case "Prorrogar": if (Session["Perfil"].ToString() != "Director") { btn_realizar_entrega.Visible = true; } break; case "Aprobada": break; case "Desaprobada": break; default: break; } } }
protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e) { int id_tesina = Convert.ToInt32(id_item_por_eliminar.Value); using (HabProfDBContainer cxt = new HabProfDBContainer()) { Tesina tesina = cxt.Tesinas.FirstOrDefault(tt => tt.tesina_id == id_tesina); if (tesina.Estado.estado_tesina_estado == "Iniciada") { //Enviar correos a tesista y director sobre eliminacion de la tesis Envio_mail em_director = new Envio_mail() { envio_email_destino = tesina.Director.Persona.persona_email, envio_fecha_hora = DateTime.Now, envio_respuesta_clave = "", envio_tipo = MiEmail.tipo_mail.notificacion_eliminacion_tesina_director.ToString(), persona_id = tesina.Director.Persona.persona_id }; cxt.Envio_mails.Add(em_director); Envio_mail em_tesista = new Envio_mail() { envio_email_destino = tesina.Tesista.Persona.persona_email, envio_fecha_hora = DateTime.Now, envio_respuesta_clave = "", envio_tipo = MiEmail.tipo_mail.notificacion_eliminacion_tesina_tesista.ToString(), persona_id = tesina.Tesista.Persona.persona_id }; cxt.Envio_mails.Add(em_tesista); MiEmail mail_director = new MiEmail(em_director, tesina); MiEmail mail_tesista = new MiEmail(em_tesista, tesina); mail_director.Enviar_mail(); mail_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_eliminacion_tesina_director.ToString() }; cxt.Envio_mails.Add(em_codirector); MiEmail me_codirector = new MiEmail(em_codirector, tesina); me_codirector.Enviar_mail(); } cxt.Historial_estados.RemoveRange(tesina.Historial_estados); cxt.Tesinas.Remove(tesina); cxt.SaveChanges(); MessageBox.Show(this, "Se ha eliminado correctamente la tesina.", MessageBox.Tipo_MessageBox.Success); ObtenerTesinas(); } else { MessageBox.Show(this, "No se puede eliminar una tesina cuyo estado sea posterior al de iniciada", MessageBox.Tipo_MessageBox.Danger); } } ObtenerTesinas(); }
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"); } } }
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); } }