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