protected void btn_cambiar_clave_Click(object sender, EventArgs e)
        {
            Persona admin                  = Session["UsuarioLogueado"] as Persona;
            string  clave_actual_db        = admin.persona_clave;
            string  clave_actual_ingresada = tb_clave_actual.Text;
            string  clave_nueva            = tb_clave_nueva.Text;
            string  clave_nueva_repite     = tb_clave_nueva_repite.Text;


            if (clave_actual_db != Cripto.Encriptar(clave_actual_ingresada) || clave_nueva != clave_nueva_repite)
            {
                MessageBox.Show(this, "Las claves ingresadas no coinciden", MessageBox.Tipo_MessageBox.Danger);
            }
            else
            {
                using (HabProfDBContainer cxt = new Aplicativo.HabProfDBContainer())
                {
                    Persona admin_cxt = cxt.Personas.FirstOrDefault(pp => pp.persona_id == admin.persona_id);
                    admin_cxt.persona_clave = Cripto.Encriptar(clave_nueva);
                    cxt.SaveChanges();
                }
                MessageBox.Show(this, "La clave se actualizó correctamente.-", MessageBox.Tipo_MessageBox.Success);
            }
        }
Esempio n. 2
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();
                    }
                }
            }
        }
Esempio n. 3
0
        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");
                }
            }
        }