Пример #1
0
    /// <summary>
    /// metodo que registra el usuario
    /// </summary>
    /// <param name="registro"></param>
    public void registroUsuario(EUsuario registro)
    {
        db.TablaUsuarios.Add(registro);
        try
        {
            db.SaveChanges();
        }
        catch (DbUpdateException ex) // catch DbUpdateException
        {
            // variable que le pasa un metodo para obtener el error dentro de postgres
            var pgsqlException = Reutilizables.GetInnerException <PostgresException>(ex);
            if (pgsqlException != null)
            {
                switch (pgsqlException.SqlState)
                {
                // el error 23505 de postgres clave unica(pk o unique)
                case "23505":
                    if (pgsqlException.ConstraintName.Contains(Constantes.ESTADO_PK))
                    {
                        registro.Estado = Constantes.ESTADO_PK;
                    }
                    else if (pgsqlException.ConstraintName.Contains(Constantes.ESTADO_UNIQUE))
                    {
                        registro.Estado = Constantes.ESTADO_UNIQUE;
                    }
                    break;

                default:
                    throw;
                }
            }
        }
    }
Пример #2
0
    protected void botonEnviarToken_Click(object sender, EventArgs e)
    {
        EUsuario usuarioCambioPass = new DaoLogin().buscarCorreo(campoCorreo.Text + Constantes.CORREO_INSTITUCIONAL);

        if (usuarioCambioPass != null)
        {
            usuarioCambioPass.Estado           = Constantes.ESTADO_CAMBIO_PASS;
            usuarioCambioPass.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuarioCambioPass));
            usuarioCambioPass.VencimientoToken = DateTime.Now.AddHours(8);
            usuarioCambioPass.Session          = usuarioCambioPass.Session = "plataforma";
            new Correo().enviarCorreo(usuarioCambioPass.CorreoInstitucional, usuarioCambioPass.Token,
                                      Constantes.MENSAJE_CAMBIO_PASS, Constantes.URL_CAMBIO_PASS, usuarioCambioPass.Estado);
            Base.Actualizar(usuarioCambioPass);
            LB_Validacion.CssClass = "alert alert-success";
            LB_Validacion.Text     = "Revise la bandeja de su Correo.";
            LB_Validacion.Visible  = true;
        }
        else
        {
            LB_Validacion.CssClass = "alert alert-danger";
            LB_Validacion.Text     = "El correo que has introducido es incorrecto.";
            LB_Validacion.Visible  = true;
            return;
        }
        usuarioCambioPass = null;
    }
    protected void btnRegistrar_Click(object sender, EventArgs e)
    {
        EUsuario usuarioEnRegistro = new EUsuario();

        usuarioEnRegistro.NombreDeUsuario     = cajaNombreUsuario.Text;
        usuarioEnRegistro.Pass                = cajaPass.Text;
        usuarioEnRegistro.PrimerNombre        = cajaPrimerNombre.Text;
        usuarioEnRegistro.SegundoNombre       = cajaSegundoNombre.Text;
        usuarioEnRegistro.PrimerApellido      = cajaPrimerApellido.Text;
        usuarioEnRegistro.SegundoApellido     = cajaSegundoApellido.Text;
        usuarioEnRegistro.FechaCreacion       = DateTime.Now;
        usuarioEnRegistro.CorreoInstitucional = cajaEmail.Text + Constantes.CORREO_INSTITUCIONAL;
        usuarioEnRegistro.Rol              = Constantes.ROL_USER;
        usuarioEnRegistro.Estado           = Constantes.ESTADO_EN_ESPERA;
        usuarioEnRegistro.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuarioEnRegistro));
        usuarioEnRegistro.LastModify       = DateTime.Now;
        usuarioEnRegistro.VencimientoToken = DateTime.Now.AddHours(8);
        new DaoRegister().registroUsuario(usuarioEnRegistro);

        if (usuarioEnRegistro.Estado.Equals(Constantes.ESTADO_PK))
        {
            labelValidar.CssClass = "alert alert-danger";
            labelValidar.Text     = "Ese Nombre de usuario ya está en uso. Prueba con otro.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            return;
        }

        else if (usuarioEnRegistro.Estado.Equals(Constantes.ESTADO_UNIQUE))
        {
            labelValidar.CssClass = "alert alert-danger";
            labelValidar.Text     = "Ese Correo Institucional ya está en uso. Prueba con otro.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            return;
        }

        if (usuarioEnRegistro != null)
        {
            new Correo().enviarCorreo(usuarioEnRegistro.CorreoInstitucional, usuarioEnRegistro.Token,
                                      Constantes.MENSAJE_VALIDAR_CUENTA, Constantes.URL_VALIDAR_CUENTA, usuarioEnRegistro.Estado);
            labelValidar.CssClass = "alert alert-success";
            labelValidar.Text     = "Revise el correo para activar su cuenta.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            CleanControl(this.Controls);
        }
    }
Пример #4
0
    protected void botonCrearCurso_Click(object sender, EventArgs e)
    {
        if (desplegableArea.SelectedItem.Text != "Área del conocimiento")
        {
            ECurso curso = new ECurso();

            EUsuario usuario = (EUsuario)Session[Constantes.USUARIO_LOGEADO];

            curso.Creador = usuario.NombreDeUsuario;
            curso.Area    = desplegableArea.SelectedItem.Text;

            int dia  = Int32.Parse(cajaFechaInicio.Text.Split('/')[0]);
            int mes  = Int32.Parse(cajaFechaInicio.Text.Split('/')[1]);
            int anio = Int32.Parse(cajaFechaInicio.Text.Split('/')[2]);

            DateTime fechaInicio = new DateTime(anio, mes, dia);

            curso.FechaInicio = fechaInicio;

            DateTime fechaActual = DateTime.Now;

            if (fechaInicio > fechaActual)
            {
                curso.Estado = "en_espera";
            }
            else
            {
                curso.Estado = "activo";
            }

            curso.Nombre = cajaTitulo.Text;

            curso.FechaCreacion = fechaActual;
            curso.Puntuacion    = 0;

            if (cajaDescripcion.Text != "")
            {
                curso.Descripcion = cajaDescripcion.Text;
            }
            if (cursoExistente == null)
            {
                bool   validar;
                string codigo;
                do
                {
                    codigo  = Reutilizables.generarCodigoCurso();
                    validar = new GestionCurso().ExisteCodigoCurso(codigo);
                } while (validar != false);

                curso.CodigoInscripcion = codigo;

                Base.Insertar(curso);
                Session[Constantes.CURSO_SELECCIONADO_PARA_EDITAR_TEMAS] = curso;
                Lb_validacion.Visible = false;
                LB_creado.CssClass    = "alertCursoCreado alert-success";
                LB_creado.Text        = " <strong>¡Satisfactorio!</strong> Su curso se ha creado. Él código de su curso es: " + "<strong>" + codigo + "</strong>";
                LB_creado.Visible     = true;
            }
            else
            {
                cursoExistente.Nombre      = curso.Nombre;
                cursoExistente.Descripcion = curso.Descripcion;
                cursoExistente.FechaInicio = curso.FechaInicio;
                Base.Actualizar(cursoExistente);
                Session["actualizando"] = true;
                Lb_validacion.Visible   = false;
                LB_editado.CssClass     = "alertCursoEditado alert-success";
                LB_editado.Visible      = true;
            }
        }
        else
        {
            Lb_validacion.CssClass = "alert alert-danger";
            Lb_validacion.Visible  = true;
        }
    }
    protected void botonIniciar_Click(object sender, EventArgs e)
    {
        EUsuario usuario = new EUsuario();

        if (campoUsuario.Text.Contains("@"))
        {
            usuario = new DaoLogin().GetUsuarioxCorreo(campoUsuario.Text, campoPass.Text);
        }
        else
        {
            usuario = new DaoLogin().GetUsuarioxApodo(campoUsuario.Text, campoPass.Text);
        }

        Session[Constantes.USUARIO_LOGEADO] = usuario;

        if (usuario != null)
        {
            if (usuario.FechaDesbloqueo < DateTime.Now)
            {
                usuario.Estado = Constantes.ESTADO_ACTIVO;
                Base.Actualizar(usuario);
            }
            if (usuario.Estado.Equals(Constantes.ESTADO_EN_ESPERA))
            {
                usuario.VencimientoToken = DateTime.Now.AddHours(8);
                usuario.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuario));
                Base.Actualizar(usuario);
                new Correo().enviarCorreo(usuario.CorreoInstitucional, usuario.Token,
                                          Constantes.MENSAJE_VALIDAR_CUENTA, Constantes.URL_VALIDAR_CUENTA, usuario.Estado);
                LB_Validacion.CssClass = "alert alert-warning";
                LB_Validacion.Text     = "<Strong>Su cuenta esta por activar</strong>, se le ha vuelto a enviar un correo verifique.";
                LB_Validacion.Visible  = true;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                usuario = null;
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_REPORTADO))
            {
                LB_Validacion.CssClass = "alert alert-danger";
                LB_Validacion.Text     = "Su cuenta esta reportada por: "
                                         + ((TimeSpan)(usuario.FechaDesbloqueo.Value.Date - DateTime.Now.Date)).Days.ToString() + " Días";
                LB_Validacion.Visible = true;
                usuario = null;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_BLOQUEADO))
            {
                LB_Validacion.CssClass = "alert alert-danger";
                LB_Validacion.Text     = "Su cuenta esta bloqueada comuniquese con el administrador via E-mail.";
                LB_Validacion.Visible  = true;
                usuario = null;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_CAMBIO_PASS))
            {
                conexion();
                usuario.Token            = null;
                usuario.Session          = usuario.NombreDeUsuario;
                usuario.VencimientoToken = null;
                usuario.Estado           = Constantes.ESTADO_ACTIVO;
                Base.Actualizar(usuario);
                Response.Redirect("~/Vistas/Home.aspx");
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_ACTIVO))
            {
                conexion();
                Response.Redirect("~/Vistas/Home.aspx");
            }
        }
        else
        {
            LB_Validacion.CssClass = "alert alert-danger";
            LB_Validacion.Text     = "El nombre de la cuenta, correo  y/o la contraseña que has introducido son incorrectos.";
            LB_Validacion.Visible  = true;
            CleanControl(this.Controls);
            return;
        }
    }