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"); } }
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_guardar_ServerClick(object sender, EventArgs e) { if (this.IsValid) { bool director_nuevo = false; Persona usuario = Session["UsuarioLogueado"] as Persona; int id_director = Convert.ToInt32(hidden_id_director_editar.Value); Persona p_director = null; Director director = null; using (HabProfDBContainer cxt = new HabProfDBContainer()) { int dni = 0; int.TryParse(tb_dni_director.Value, out dni); if (id_director != 0) { //abrio por editar director y cambio el DNI, obtengo el director a editar director = cxt.Directores.Include("Persona").FirstOrDefault(pp => pp.director_id == id_director); p_director = director.Persona; } else { p_director = cxt.Personas.FirstOrDefault(pp => pp.persona_dni == dni); if (p_director != null) { director = p_director.Director; } } //agrego o actualizo el director if (p_director == null) { p_director = new Persona(); p_director.persona_nomyap = tb_nombre_director.Value; p_director.persona_dni = dni; p_director.licenciatura_id = usuario.licenciatura_id; p_director.persona_email = tb_email.Value; p_director.persona_domicilio = tb_domicilio.Value; p_director.persona_telefono = tb_telefono.Value; p_director.persona_usuario = tb_usuario.Value; p_director.persona_clave = Cripto.Encriptar(tb_dni_director.Value); p_director.persona_estilo = "Slate"; cxt.Personas.Add(p_director); } else { p_director.persona_nomyap = tb_nombre_director.Value; p_director.persona_dni = dni; p_director.persona_email = tb_email.Value; p_director.persona_domicilio = tb_domicilio.Value; p_director.persona_telefono = tb_telefono.Value; p_director.persona_usuario = tb_usuario.Value; if (chk_cambiar_clave.Checked) { p_director.persona_clave = Cripto.Encriptar(tb_contraseña.Value); } } if (director == null) { //no existe hago un insert director = new Director() { Persona = p_director }; cxt.Directores.Add(director); director_nuevo = true; } try { cxt.SaveChanges(); tb_dni_director.Value = string.Empty; tb_domicilio.Value = string.Empty; tb_email.Value = string.Empty; tb_nombre_director.Value = string.Empty; tb_telefono.Value = string.Empty; tb_usuario.Value = string.Empty; tb_contraseña.Value = string.Empty; hidden_id_director_editar.Value = "0"; if (director_nuevo) { Envio_mail registro_envio_mail = new Envio_mail() { persona_id = p_director.persona_id, envio_fecha_hora = DateTime.Now, envio_email_destino = p_director.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_director.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 director!", MessageBox.Tipo_MessageBox.Success, "Exito!"); } 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); } } ObtenerDirectores(); } else { string script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_director').modal('show')});</script>"; ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false); } }
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"); } } }